• Immutable Page
  • Info
  • Attachments

Introdução

Alguma vez se questionou sobre o porquê de tantas páginas na distribuição principal? O motivo principal prende-se com o facto de não termos um formato para distribuir as páginas de ajuda num único ficheiro. Ou por que motivo instalar um tema não é fácil, por não saber bem onde colocar os ficheiros?

O instalador de pacotes é uma framework de scripts para o MoinMoin, que simplifica muito a instalação e a distribuição de extensões para o MoinMoin.

Pode utilizar este sistema juntar modelos específicos que, por exemplo, desenvolvessem o seu MoinMoin para ser um sistema CRM. Ou pode criar os seus plugins/temas instaláveis mais facilmente.

Instalar um pacote

Um super utilizador (ou seja, um nome de utilizador que pertença à lista cfg.superuser na configuração) do wiki descarregará o seu ficheiro de pacotes de algum sítio e irá enviá-lo para o wiki e clicará em instalar na apresentação dos ficheiros anexados. Adicionalmente, ele podia instalar o pacote utilizando a linha de comando (MoinMoin/packages.py i package.zip).

Criar pacotes

Existem várias formas de criar um pacote. Pode utilizar a acção PackagePages para criar um pacote automaticamente.

Ou pode fazê-lo manualmente: cria um ficheiro zip que contenha os seus ficheiros e um ficheiro especial MOIN_PACKAGE, o script de instalação. O script contém um comando (parece complicado mas na verdade não é; veja os exemplos em baixo) por linha e é executado de cima para baixo.

Script de exemplo:

MoinMoinPackage|1
ReplaceUnderlay|aminhapágina.txt|ConteúdosDeAjuda
AddRevision|aminhapágina2.txt|PáginaPrincipal
InstallPlugin|omeuparser.py|global|parser|omeuparser.py
  • A primeira linha marca o ficheiro como um ficheiro de script e define a versão do idioma utilizado. Por agora, será 1.
  • A segunda linha substitui a sub-camada da versão da página ConteúdosDeAjuda com o ficheiro aminhapágina.txt.

  • A terceira linha adiciona uma nova versão à página PáginaPrincipal, ou seja, altera-a.

  • A quarta linha instala um novo parser.

Comandos implementados

Tenha em consideração que os comandos não são sensíveis a maiúsculas/minúsculas.

  • Print|texto

    • Imprime o texto no resultado do script, o utilizador irá vê-lo depois.
  • IgnoreExceptions|booleano

    • Activa a configuração Ignorar Excepções. Se as excepções são ignoradas, o script não parará se uma for encontrada.
  • SetThemeName|nome de tema

    • Define o nome do tema a ser alterado a seguir.
  • CopyThemeFile|nome de ficheiro|tipo|destino

    • Copia o ficheiro relacionado a um tema (CSS, PNG, etc.) para uma directoria do tema actual.
    • Actualmente é apenas suportando em servidores do tipo standalone.
    • Exemplo: CopyThemeFile|screen.css|css|screen.css

  • InstallPlugin|nome de ficheiro|visibilidade|tipo de plugin|destino

    • Copia o ficheiro de um plugin a partir do nome de ficheiro até ao destino. A visibilidade pode ser local que selecciona a pasta de plugins do wiki actual ou global que selecciona a pasta do pacote de python do MoinMoin. O tipo de plugin pode ser um parser, uma macro, etc.

    • Exemplo InstallPlugin|omeuparser.py|global|parser|omeuparser.py

  • AddRevision|nome de ficheiro|nome de página|autor|comentário|trivial

    • Adiciona uma versão (lida a partir do ficheiro nome de ficheiro) à página nome de página. O autor especifica o nome do editor e é opcional. O comentário especifica o comentário da versão e é opcional. O trivial especifica se a versão é uma edição mínima e é opcional.

    • Exemplo (instala novos ficheiros de modelos):

      AddRevision|cliente.tpl|ModeloDeCliente
      AddRevision|contacto.tpl|ModeloDeContacto
  • DeletePage|nome de página|comentário

    • Elimina a página nome de página, definindo um comentário opcionalmente.

    • Exemplo: DeletePage|PáginaPrincipal

  • ReplaceUnderlay|nome de ficheiro|nome de página

    • Substitui a sub-camada da versão da página. Pode ser utilizada para instalar ou actualizar páginas de sub-camadas.
  • EnsureVersion|versão|linhas

    • Cancela o script ou salta linhas se os critérios da versão não forem satisfeitos e se linhas for especificado.

    • Este exemplo fornece parsers diferentes e instala o correcto:

      EnsureVersion|1.3.3|2
      InstallPlugin|omeuparser.py_3|global|parser|omeuparser.py
      Exit
      EnsureVersion|1.3.2
      InstallPlugin|omeuparser.py_2|global|parser|omeuparser.py
  • Exit

    • Pára o script.
  • InstallPackage|Nome de página|Nome de ficheiro

    • Instala outro pacote que tem de ser um anexo chamado Nome de ficheiro da página Nome de página.

    • Exemplo: InstallPackage|PáginaPrincipal|MeuPluginFixe.zip

  • AddAttachment|nome de ficheiro no ficheiro zip|nome de ficheiro|nome de página|autor|comentário

    • Exemplo: AddAttachment|2_anexo|música.wav|PáginaPrincipal|HansMustermann|é uma música de exemplo.

  • DelAttachment|nome de ficheiro|nome de página|autor|comentário

    • Exemplo: DelAttachment|música.wav|PáginaPrincipal|HansMustermann|teste

  • RenamePage|nome de página|novo nome de página|autor|comentário

    • Renomeia um nome de página com um novo nome de página