Talvez esse seja um Add-On legal para colocar no TWiki.org. Vou ver depois de faço isso, por enquanto tá por aqui.
Download:
http://wiki.softwarelivre.org/pub/Foswikibr/InstallPluginScript/InstallPlugin
--
AntonioTerceiro - 14 May 2004
Se você instalou o TWiki no Debian via apt-get
(meus parabéns) use esse script:
http://wiki.softwarelivre.org/pub/Foswikibr/InstallPluginScript/InstallPluginDebian (é mais fácil! vai tudo pro lugar certo de primeira)
--
AurelioAHeckert - 21 Jul 2004
Cara! Estamos pensando na mesma coisa! Eu tb tava fazendo um script pra instalar plugins...
Tive a idéia pq instalei o TWiki via apt-get lá na Nexos e o pacote respeita a estrutura Debian, o que é interessante, mas como ainda não tem suporte pra instalar os plugins, eu tive que ir na mão colocar cada parte do pacote de plugin no seu lugar devido. Não é muito estresse, mas vi que dava pra automatizar...
Porem... a idéia cresceu e imaginei que poderia fazer um pluguin para instalar plugins. Veja se bate com a sua idéia!
AutoInstallPlugin
Como seria...
Depois de termos
certeza do padrão genérico de instalação de um plugin podemos fazer com que num determinado tópico a pessoa possa ver os plugins existentes numa lista simplificada selecionar o que lhe interessa e instala-lo via navegador. Acho que só os usuários do grupo
TWikiAdminGroup poderiam executar a instalação e acredito que seria fácil validar o usuário com as APIs do TWiki.
Para funcionar...
A lista de pluguins deve vir diretamente do
TWiki.org ou de outro sítio especificado pelo usuário. Isso consegue-se no
TWiki Cliente (onde ocorrerá a instalação) com um simples
%INCLUDE{http://url/Plugins.AutoInstallPluginList}%.
A lista poderia ser criada no
TWiki Servidor (o que provê os plugins) com um
%SEARCH{...}% que buscará por tópicos contendo o
TWikiForm que especifica os plugins. Esse
TWikiForm deve informar o nome do plugin, descrição curta, endereço para download, pré-requisitos do sistema, e a compatibilidade com a auto instalação. Os valores de compatibilidade devem ser:
- Totalmente Compativel : o administrador não terá nenum trabalho extra, apenas clicar em install.
- Parcialmente compativel - Funcional : o pluguin pode ser instalado automaticamente, mas certas funções ou configurações só serão habilitadas após algumas ações em baixo nível do administrador.
- Parcialmente compativel - Não Funcional : o plugin está fora dos padrões e exige ações em baixo nível para ter alguma funcionalidade. A auto instalação é só um facilitador.
- Incompatível : O plugin não deve ser instalado automaticamente. Ele nem será listado pelo tópico de auto instalação.
- Não sei : o criador do plugin não conhece o simples funcionameto do instalador e preferiu não responder, portanto esse plugin também não entra na lista, mas fica a espera de que algum usuário com os conhecimentos necessários responda essa questão.
Funcionando...
O tópico de auto instalação do
TWiki Cliente mostra uma tabela gerada no
TWiki Servidor com os pluguins e seus dados e cada um desses com o botão instalar. Esse botão simplesmente envia o usuário pro modo de visualização autenticado ("viewauth", como o
TWiki:Plugins.EditTablePlugin) recebendo uma váriavel via get com o endereço do pacote contendo o plugin a ser instalado, como
http://URL?AutoInstallPlugin=URL_em_UF8. O usuário será validado (testa se faz parte de
TWikiAdminGroup) e se for, baixa usando wget ou alguma função do gênero das libs Perl (acredito que o wget seria mais fácil e robusto - já estou pensando em barras de progresso...), descompacta o pacote e então inicia o processo de instalação.
Processo de Instalação...
Como os pacotes já criam uma estutura de diretório compativel com a instalação padrão do TWiki será fácil saber onde cada arquivo deverá ser colocado mesmo que a instalação tenha caracteristicas especiáis, como a instalação via apt-get no Debian, então o plugin deve apenas mover os arquivos para os diretórios da instalação. O pluguin saberá quais são os diretórios pelas configuraçãoes presentes no tópico do AutoInstallPlugin do
TWiki Cliente (é claro). Para isso é preciso adquirir permissão de super usuário, já que certos diretórios não são manipuláveis pelo servidor web. Após a instalação deve ser apresentada uma mensagem com orientações do mantenedor do plugin (num arquivo texto colocado na raiz da estrutura de diretórios do pacote), como o que deve ser instalado na máquina para que o plugin funciona apropriadamente ou configurações necessárias.
Idéias...
Automatizar configurações
Acho que podemos automatizar certas configurações dos plugins, mas claro que isso não deve ser feito por um script anexado ao pacote, mas por um
config simples talvez mesclado naquele mesmo arquivo que contem a mensagem... mas... ainda não sei o que (genérico) podemos automatizar além da colocação dos arquivos. Idéias virão...
Desinstalar
O AutoInstallPlugin deve manter um registro das suas ações para poder desisntalar plugins, como a ferramenta apt o faz.
--
AurelioAHeckert - 14 May 2004