Acquia Site Studio · antigo Cohesion

    Site Studio é governança de design system. Ou vira um depósito de componentes.

    Os dois resultados vêm do mesmo produto. O que decide não é a ferramenta, é quem tem autoridade para criar componente e o que acontece quando alguém quer um novo.

    A stack

    Site Studio não roda sozinho.

    Três peças, três responsabilidades distintas. Operamos as três.

    • CMS

      Drupal

      A base. Conteúdo, permissões, workflow e a camada de cache.

    • Plataforma

      Acquia

      Site Studio e a hospedagem gerenciada. Somos parceiros.

    • Busca

      SearchStax

      Solr gerenciado. A busca que o Site Studio não resolve.

    O que é

    Uma camada de construção visual em que o componente é configuração, não desenho.

    Uma biblioteca de componentes definida pela engenharia, da qual o time de conteúdo monta as páginas. Cada componente é configuração versionada: vive no repositório, passa por revisão, viaja entre ambientes como código.

    O que não está na biblioteca não pode ser usado. Essa restrição não é limitação do produto. É o produto.

    Figma/Design system · biblioteca

    Camadas

    CardDeOfertacomponent
    Auto layoutvertical · gap 24
    Mediafill · 16:9
    Títulodisplay/md
    Resumobody/sm
    Açãoinstance

    Variantes

    densidadeconfortável · compacta
    mídiaimagem · vídeo · nenhuma

    Propriedades

    paddingspace/lg
    gapspace/md
    superfíciesurface/raised
    raio0
    Acquia Site Studio/Definição do componente

    Árvore de elementos

    Card de ofertacomponent
    Containercolumn · gap token
    Imagefield: mídia
    Headingfield: título
    Rich textfield: resumo
    Linkfield: ação

    O que o editor preenche

    Títulotext
    Operação que não para
    Mídiaselect
    imagem
    Densidadeselect
    confortável
    Espaçamentotoken
    space/lg

    O mesmo componente, duas vezes. À esquerda o que o designer define; à direita o que o editor recebe para usar. Entre os dois não há uma linha de código, e é exatamente isso que se compra quando se compra Site Studio.

    Repare no token: space/lg tem o mesmo nome nas duas telas. Não é coincidência de nomenclatura, é governança. Quando ele muda no Figma e não muda aqui, o design system virou o depósito de componentes de que esta página fala.

    O erro que custa caro

    Tratar Site Studio como page builder.

    Começa parecendo agilidade, e o padrão é sempre o mesmo:

    1. 01Uma campanha precisa de um bloco diferente e ganha um componente novo
    2. 02O componente novo não é revisado, porque não é código aos olhos de ninguém
    3. 03Seis meses depois a biblioteca tem três versões do mesmo card
    4. 04O design system deixa de ser verificável: ninguém sabe qual versão é a certa

    O sintoma é a biblioteca crescendo. A causa é não haver resposta para quem decide que um componente novo é necessário.

    A camada de engenharia

    O produto compila dado de editor dentro do código do template.

    Esse único fato explica quase tudo o que dá errado em base grande. O template gerado não é um arquivo que lê dados: é um arquivo onde o valor digitado por quem edita vira parte do fonte compilado.

    A consequência prática: um campo declarado como texto que apenas PARECE numérico é emitido sem aspas. Um telefone com um ponto sobrando no fim vira literal inválido, o Twig não compila, e o canvas passa a responder erro em toda renderização. Salvo com sucesso, quebrado para sempre.

    As quatro respostas

    Quatro defesas para o mesmo fato.

    Não são quatro problemas. É um problema e uma progressão: conter, consertar, garantir no deploy e, se o custo continuar, assumir a geração.

    1. 01CONTER. No save, o Twig compilado é validado e o save é abortado se não compilar. Vale no presave da entidade, onde o template já chega compilado, e parseando do mesmo jeito que a renderização parsearia.
    2. 02CONSERTAR. Uma rotina confere o que já existe: se compila, não toca; se não compila, corrige e recompila para conferir; se continua quebrado, troca por um stub válido e registra. A página perde um bloco em vez de perder tudo.
    3. 03GARANTIR NO DEPLOY. Template compilado é artefato gerado, e qualquer regeneração o sobrescreve. A rotina roda dentro do deploy, no passo seguinte ao da regeneração. Conserto feito à mão some no próximo rebuild, em silêncio.
    4. 04ASSUMIR A GERAÇÃO. Gerar o template você mesmo, com o fonte carregando só estrutura e o valor viajando no contexto. Não é configuração: é decisão de arquitetura, e é o que torna o fonte inerte por construção.

    Correção verificada, nunca presumida. Ao trocar o gerador do fornecedor por um próprio, a validação é comparar o HTML renderizado: ler o código gerado e achar que está igual não é prova.

    O que o produto não faz

    O que você vai escrever, queira ou não.

    • Invalidação de componente compartilhado. Alterar um bloco reaproveitado não invalida as páginas que o renderizam, nem a borda. Exige descobrir quais páginas o usam, inclusive aninhado, e purgar cada uma fora do save, porque a busca é cara e faz o editor esperar.
    • Preview do que ainda não foi salvo. O produto não mostra a página real com as alterações pendentes. Exige renderizar por subrequest, aplicando os valores não salvos, sem gravar em nó, layout ou revisão.
    • Deploy de pacote de componente. Não anda no export e import de configuração padrão: exige rebuild no ambiente de destino. Errar essa etapa derruba o layout do site inteiro.

    A solução

    Tradução declarada.

    O designer entrega uma tela e alguém recompõe aquela tela à mão dentro do CMS. É nesse trajeto que a biblioteca vira depósito: usa-se o componente parecido em vez do certo, e espaçamento e cor são digitados em vez de referenciados.

    São duas camadas com donos diferentes: o Site Studio governa a composição, o design system governa a aparência e o comportamento. O ponto de contato é o componente do Site Studio emitir a tag do design system em vez de desenhar markup próprio.

    Nada disso aparece em revisão, porque o resultado parece com o Figma. A recomposição manual é a causa. Uma tabela declara, por componente, o que ele emite no design system e o que ele vira no canvas, e a composição deixa de ser recomposta: passa a ser publicada.

    O que ela ainda não garante

    A arquitetura sustenta a garantia. A implementação ainda a entrega como preferência.

    Quando um nó do Figma não casa com nenhuma entrada da tabela, o transformador não recusa: infere uma estrutura genérica a partir do tipo do nó, do nome, da direção do auto-layout e do preenchimento. O design perde o componente do design system e sobrevive como estrutura. E o casamento não é exato: o nome é normalizado e comparado por substring nos dois sentidos, então "Button Group" casa com a entrada "Button".

    O desvio é contado quando o componente existe no Figma e não existe na tabela. Nos outros dois casos ele não aparece: um componente casado com a entrada errada é contado sob o nome errado, como se estivesse certo, e um sósia desenhado à mão nunca entra na contagem. O relatório mostra a ausência, não a divergência.

    A tabela é o lugar do portão: recusar em vez de inferir, e casar exato em vez de por substring. São duas mudanças pequenas e conhecidas. Ainda não estão lá, e dizer o contrário seria o único trecho desta página que não se sustenta sob pergunta.

    O que não está na biblioteca não pode ser usado.

    Essa restrição não é limitação do produto. É o produto, e é ela que impede a biblioteca de virar depósito.

    A decisão

    Quando Site Studio vale, e quando não.

    Vale quando

    • Há muita gente publicando, com responsabilidades diferentes
    • O design system existe e precisa sobreviver à pressa de quem publica
    • A operação é multi-marca, multi-país ou multi-site
    • Engenharia é gargalo para publicar, e isso está custando campanha

    Não vale quando

    • O site tem poucas páginas e um time pequeno publicando
    • Não existe design system para proteger, e o Site Studio viraria o lugar onde ele deveria ter nascido
    • A expectativa é de que a ferramenta substitua a decisão sobre governança

    A pergunta útil não é se o Site Studio é bom. É se a sua operação tem o problema que ele resolve.

    Perguntas de quem já opera

    Dá para migrar de Cohesion para Site Studio sem reconstruir o site?
    Na maioria dos casos, sim: é a mesma linhagem de produto e a migração é de versão, não de plataforma. O trabalho real raramente está na atualização em si, está em decidir o que fazer com os componentes que a base acumulou. Migrar carregando uma biblioteca inchada é pagar duas vezes pelo mesmo problema.
    Site Studio deixa o Drupal mais lento?
    Não por si. O que pesa é a quantidade de componentes distintos renderizando na mesma página e a granularidade das tags de cache que eles declaram. Biblioteca enxuta com cache bem declarado tem desempenho indistinguível de template escrito à mão; biblioteca inchada é lenta pelo mesmo motivo que qualquer página com componentes demais.
    Quem deve poder criar componente?
    Quem responde pela consistência do design system, e isso costuma ser engenharia junto de design, nunca quem está fechando uma campanha. Não é questão de confiança: quem está sob prazo escolhe sempre o caminho mais curto, e o caminho mais curto é criar um componente novo em vez de descobrir se já existe um parecido.
    Como saber se a nossa biblioteca já está grande demais?
    Um indicador prático: peça a duas pessoas do time de conteúdo que montem a mesma página, separadamente. Se escolherem componentes diferentes para o mesmo bloco, a biblioteca já tem duplicata e o design system já não está sendo imposto por ela.
    Site Studio substitui um design system?
    Não. Ele impõe um design system que já exista, e isso é diferente. Sem decisões de design tomadas antes, a biblioteca vira o lugar onde cada decisão é tomada de novo, uma campanha por vez, sem ninguém revisando o conjunto.
    Uma plataforma que a casa opera

    Design system de verdade tem número. Biblioteca de componentes tem catálogo.

    479
    componentes no design system
    675
    templates construídos sobre eles
    3.172
    canvas montados em produção
    49
    módulos sob medida em produção, de 79 construídos
    18
    editores publicando sem abrir chamado, em 90 dias
    9.028
    revisões de conteúdo nos mesmos 90 dias

    Medidos no banco de uma plataforma corporativa de grande escala que operamos. Sem nome de cliente e sem setor: escala de design system não identifica empresa, e é por isso que estes números podem ser publicados enquanto outros, desse mesmo projeto, não podem e não são.

    Conte como a sua biblioteca está hoje.

    Quantos componentes existem, quem pode criar um novo, e o que já quebrou por causa disso.

    Engenharia não é decoração. É direção.

    Onde isto já rodou

    A oferta acima tem prova, e ela tem endereço.

    Antes de contratar

    O que está dando certo no log e errado no destino?

    Cinco dias olhando o seu sistema por dentro, com acesso de leitura, e três achados reproduzidos no seu próprio ambiente. Você leva o documento e decide depois.