liber. Manuais

Arquivos no GitHub

O mesmo porteiro, na estante onde a produção versiona os originais: um repositório vira pasta, cada envio vira commit, cada revisão tem SHA — e o link compartilhado, pela primeira vez, não fura o portão.

Visão geral

Este app é um corpo do chassi Cloud Files — o mesmo do Dropbox e do Drive. A disciplina é herdada e idêntica: acesso por grupos pasta a pasta, multiempresa, espelho de metadados, tags e vínculos, mapear é de administrador, escrever exige grupo de escrita. O que muda é o vocabulário, traduzido do Git:

No LiberNo GitHub
PastaUm repositório (ID externo = dono/repositório), com subpasta opcional no campo Caminho (/ sozinho = a raiz) e Branch (vazio = a padrão).
EnviarUm commit liber: arquivo.pdf na branch da pasta — um por arquivo: mandou cinco de uma vez, são cinco commits. Nunca sobrescreve: nome repetido vira arquivo (1).ext.
RevisãoO SHA do blob — versionamento de graça, mudou o conteúdo, mudou o SHA.
Link compartilhadoA página do arquivo no GitHub — só abre para quem enxerga o repositório. Por isso não expira: a ficha registra honestamente "sem validade".
Formulário de um repositório mapeado, com dono/repositório no ID externo, a branch e os grupos de leitura e escrita.
O repositório como pasta: dono/repositório, branch, e a mesma decisão de sempre — quem lê, quem escreve.

Configuração

  1. Gere um fine-grained personal access token. Ele não nasce na organização — o Developer settings dela só tem OAuth Apps, GitHub Apps e Publisher Verification. Nasce na conta pessoal de um membro da organização: foto do perfilSettingsfim da barra lateralDeveloper settingsPersonal access tokensFine-grained tokens (atalho: github.com/settings/personal-access-tokens/new).
  2. No formulário do token, aponte a empresa: Resource owner = a organização (não a conta pessoal), Repository access nos repositórios que serão mapeados e Contents: Read and write nas permissões. Anote a validade — token vencido para sync e envio até que se cole um novo na Conta. Se a organização aparecer bloqueada ou o token ficar pendente, um owner libera em OrganizaçãoSettingsThird-party AccessPersonal access tokens (roteiro completo no NOTES.md do módulo).
  3. Preencha GitHubConfiguraçãoConta e use Testar conexão. Uma conta por empresa.
  4. Como administrador, mapeie em GitHubConfiguraçãoRepositórios: o ID externo como dono/repositório, a subpasta (Caminho, / para a raiz), a branch e os grupos.

O dia a dia

Sincronizar espelha a árvore da branch (a subpasta mapeada, recursiva ou não); baixar desce pelo Odoo com o portão conferido; enviar commita pelo menu GitHubEnviar. Tags e vínculos com contatos e produtos são os mesmos da casa — um contrato no Dropbox e seus originais no GitHub apontam para o mesmo autor e o mesmo título.

O envio vai de braçada: o campo de arquivos do assistente aceita um ou muitos de uma vez — escolhidos no seletor do sistema ou arrastados para dentro dele —, e cada arquivo vira o seu próprio commit na branch da pasta. O Odoo não guarda cópia depois do envio e o espelho sincroniza na hora, já com os SHAs novos.

Lista de arquivos de um repositório espelhado, com o SHA na coluna de revisão.
O espelho do repositório: cada arquivo com seu SHA — mudou o conteúdo, o sync denuncia.

Limitações conhecidas

  • Sem miniaturas — baixar cada imagem só para encolher não vale a banda num host de código.
  • Sem data de modificação por arquivo no espelho (seria uma chamada de API por arquivo; o SHA já denuncia mudança).
  • Arquivos em LFS aparecem com o tamanho do ponteiro, não do conteúdo.
Ver também

Glossário

Todo documento do sistema carrega um prefixo na numeração — CO/2026/00001 é um acerto, AT/2026/00042 é um chamado. A lista é a mesma em todos os manuais:

PrefixoO que é
CPedido de consignação: o pedido que põe livros na prateleira do cliente — C00001, no lugar do S da venda comum.
CO/Consignação, o documento do acerto: registra o que o cliente vendeu e vira venda — CO/2026/00001.
CR/Retorno de consignação: o documento que pede a devolução dos exemplares da prateleira — CR/2026/00001.
CAAuditoria de consignação: reconstrói o saldo da prateleira do cliente pelas notas fiscais e registra o ajuste — CA00001.
CP/Campanha de consignação: o sortimento-alvo por canal — quantos exemplares de cada título as prateleiras devem ter — CP/2026/0001.
AC/Acordo de Consignação: o contrato com a livraria, dono da prateleira — AC/2026/00001.
COM/OUT/A série da remessa de consignação ao cliente, do armazém à livraria — COM/OUT/2026/00001, no espelho do WH/OUT.
MP/OUT/A série das entregas de marketplace (Olist): o pacote de pessoa física, na caixa de despacho própria do depósito — MP/OUT/2026/00001.
COM/MOV/A série dos fluxos internos de prateleira da consignação — COM/MOV/2026/00001.
COM/IN/A série do retorno de consignação, da prateleira ao armazém — COM/IN/2026/00001, no espelho do WH/IN.
REM/Remessa: a nota de simples remessa, sem cobrança — a numeração vem do diário fiscal REM.
COL/Coleta: o lote do pedido de coleta às transportadoras — COL/2026/00001.
AT/Atendimento: o chamado nascido do e-mail comercial — AT/2026/00001.
MBX/O lote de envio de metadados à Metabooks — MBX/2026/00001.
Impostos de Direitos Autorais/O lote da fatura acumuladora do IRRF retido dos autores no mês.
Royalties entre Empresas/O lote da fatura acumuladora de royalties entre as empresas da casa.
Do próprio Odoo
SPedido de venda comum — S00001; o pedido de consignação usa o C no lugar.
WH/OUTEntrega comum do armazém: a transferência de saída padrão do Odoo.
WH/INRecebimento do armazém: a transferência de entrada padrão do Odoo.

Bases antigas guardam transferências nas séries COM/ e RET/, de antes da separação por direção — o histórico não é renumerado.