Pular para o conteúdo

Como a publicação funciona

Publicar é enviar o resultado da compilação da sua modelagem para a plataforma, para que outras pessoas leiam os diagramas por um link, sem clonar nada e sem instalar nada.

Publicar é opcional. O cfour serve funciona sem conta nenhuma.

1. a ferramenta compila cada modelagem `status: active`
2. valida — qualquer ERRO interrompe tudo, e nada é enviado
3. resolve a chave de publicação, e diz o destino
4. pede à plataforma autorização para enviar
5. envia os arquivos compilados
6. avisa a plataforma de que terminou

O passo 2 é o que evita meio repositório publicado: tudo é compilado e validado antes de qualquer byte subir. Um site descrevendo um estado que nunca existiu seria pior que um push que falha.

Cada modelagem vira um arquivo comprimido contendo:

  • o modelo inteiro — caixas, setas, diagramas, fluxos, notas, projetos;
  • a configuração de aparência já resolvida;
  • a arrumação das caixas que está em .layout/;
  • de onde ele veio: organização, repositório, ref e o commit.

O caminho absoluto dos arquivos da sua máquina não viaja: cada item carrega o caminho relativo à raiz da modelagem.

  1. Crie uma conta em app.cfourdev.com.br.
  2. Você já tem uma organização pessoal. Para trabalho em equipe, crie uma organização de empresa — veja Organizações.
  3. Crie um repositório dentro dela. Ele é o destino do push, e o nome dele entra na URL pública.
  4. Gere uma chave de publicação para aquele repositório — veja Chaves de publicação.
Terminal window
cfour login --key c4_xxxxxxxx_yyyyyyyyyyyy

Isso grava a chave em $XDG_CONFIG_HOME/cfour/credentials (modo 0600) e liga este repositório a ela. A ligação importa porque uma máquina pode guardar várias chaves, cada uma publicando num repositório diferente:

Terminal window
cfour keys # as chaves guardadas, e qual vale aqui
cfour use outra # troca a deste repositório
Terminal window
cfour push --dry-run # diz o destino e não envia nada
cfour push
Reserva de Salas (reservas) · 11 elementos · 3 layouts · 8.4 KB
publicado em o-a1b2c3d4e5f6/arquitetura · ref main

O que é publicado: todas as modelagens do registro cujo status é active. As demais são puladas, com o motivo dito na saída. --all inclui as puladas por status.

Uma modelagem cujo path aponta para fora do repositório nunca é publicada, com ou sem --all.

Uma ref é o nome sob o qual a publicação vive. Por padrão é a branch do Git em que você está; --ref <nome> escolhe outra.

a ref padrão do repositórioé o que um link sem parâmetro abre. Publicar nela exige papel de admin
qualquer outra refé um preview, que qualquer membro publica, e que expira sozinho em 30 dias

A regra é a mesma que a equipe já tem no Git: qualquer um abre uma branch, e o que vai para a principal passa por quem responde pelo repositório.

Um repositório aceita 10 refs vivas. Como o preview expira sozinho, esse número só aperta se você publicar mais de dez em trinta dias.

https://app.cfourdev.com.br/<organizacao>/<repositorio>/
https://app.cfourdev.com.br/<organizacao>/<repositorio>/#/<modelagem>/<projeto>/<visao>

Um preview é lido acrescentando a ref como parâmetro de busca. Veja Ler os diagramas publicados.

Terminal window
cfour status # o que está publicado neste repositório, ref por ref
RecusaRazão
o modelo tem erronada é enviado; a saída lista cada erro com o arquivo
a chave venceutoda chave vence em 30, 90 ou 365 dias. O push avisa 14 dias antes
publicar na ref padrão sem ser admina mensagem diz para publicar noutra ref, ou pedir a um admin
a ref foi publicada por outra pessoaum admin passa; outro membro publica em outra ref
o repositório é privado e você não é admintornar um repositório privado revoga a escrita de quem não é admin
a modelagem passou de 2 MB comprimidosé o teto por modelagem
o repositório passaria de 10 MB publicadosremova uma ref antiga
o repositório já tem 10 refs vivasespere um preview expirar, ou remova uma
mais de 25 modelagens num pushé o teto por push

Os números estão todos em Limites.

O papel de quem é dono da chave é consultado no momento do push, e não congelado quando a chave foi criada. Rebaixar ou remover alguém tira o alcance da chave dela no mesmo instante, sem ninguém precisar lembrar de revogá-la.