-
Notifications
You must be signed in to change notification settings - Fork 2
Processo de atualização do Redu Bootstrap (WIP)
O objetivo deste documento é descrever os passos que devem ser seguidos quando há a necessidade de atualizar a versão do projeto de componentes, o Redu Bootstrap, dentro de outra aplicação Rails como, por exemplo, o OpenRedu.
O Redu Bootstrap foi criado para implementar os novos componentes de interface do Redu. Ele foi desenvolvido em um repositório próprio, à parte do desenvolvimento da aplicação Rails da plataforma Redu. Os componentes são desenvolvidos simplesmente usando HTML, SCSS e JS. O resultado final do Redu Bootstrap são:
- Um único arquivo CSS com o estilo de todos os componentes;
- Um arquivo JS com todo os scripts necessários para o funcionamento de alguns componentes;
- Outras bibliotecas JS externas necessárias para funcionalidades extras;
- Arquivos de imagens usados pelos componentes, como sprites de ícones, entre outros.
Com estes arquivos, os componentes podem ser usados em outras aplicações além da plataforma Redu, como os Portal de Aplicativos ou Central de Ajuda. Cada aplicação inclui manualmente os arquivos necessários do Bootstrap.
Devido a esta estrutura escolhida para desenvolver o projeto de componentes, quando uma atualização ocorre no Bootstrap e esta atualização também é desejada pelas aplicações, é necessário para os desenvolvedores destas aplicações atualizarem manualmente a dependência do Bootstrap.
Eu fazia este processo manual toda vez que precisava atualizar o Bootstrap no Redu, mas os passos nunca foram documentados até o momento. O objetivo deste documento é explicar estes passos e pensar em alternativas para melhorar este processo.
To do: está sessão será detalhada futuramente.
- Fazer as modificações necessárias no repositório do Bootstrap e gerar os arquivos finais.
- Copiar os arquivos finais e usá-los na aplicação Rails, fazendo as devidas modificações necessárias, como referências para arquivos de imagens ou outros.
To do: está sessão será detalhada futuramente.
Para melhorar este processo de atualização poderíamos pensar em algumas alternativas, como:
- Encapsular a biblioteca em uma gem. As aplicações Rails não mais precisariam copiar as modificações manualmente. Elas precisariam apenas atualizar a versão da gem.