##master-page:HelpOnPackageInstaller
##master-date:2007-09-16 22:19:44
#acl -All:write Default
#format wiki
#language it
= Introduzione =
Vi siete mai chiesti come mai ci sono così tante pagine? È dovuto al fatto che non c'è un metodo per fornire tutte le pagina di aiuto in un unico file. O perché installare un tema non è facile dato che non si sa mai dove mettere i file?

L'installatore di pacchetto è un framework per script per !MoinMoin che semplifica l'installazione di estensioni per !MoinMoin.

È possibile usare questo sistema per creare "pacchetti" di modelli specifici per rendere !MoinMoin un sistema CRM, oppure è possibile rendere i propri plug-in/temi più facili da installare.

== Installare un pacchetto ==

I ''super-utenti'' (quelli contenuti nella lista superuser della configurazione) scaricheranno il pacchetto, lo caricheranno sul wiki e quindi installeranno il pacchetto direttamente nella pagina degli allegati. Inoltre, possono installare il pacchetto usando la riga di comando (`MoinMoin/packages.py i pacchetto.zip`).

== Creare pacchetti ==

È possibile creare un pacchetto in diversi modi, come usare l'azione !PackagePages per crearne uno automaticamente, oppure è possibile farlo a mano. Basta creare un file zip contenente i file e un file speciale chiamato `MOIN_PACKAGE`, lo script di installazione. Questo script contiene un comando per ogni riga e viene eseguito dall'alto verso il basso. Consultare l'esempio:
{{{
MoinMoinPackage|1
ReplaceUnderlay|miapagina.txt|AiutoContenuti
AddRevision|miapagina2.txt|PaginaPrincipale
InstallPlugin|mioparser.py|global|parser|mioparser.py
}}}
 * La prima riga indica che il file è uno script e imposta la revisione, per ora è a 1.
 * La seconda riga sostituisce la versione ''underlay'' della pagina AiutoContenuti con il file `miapagina.txt`.
 * La terza riga aggiunge una revisione alla pagina PaginaPrincipale, per esempio la cambia.
 * La quarta riga installa un nuovo processore.

=== Comandi implementati ===

I comandi non fanno distinzione tra maiuscolo e minuscolo.

 * `Print|testo`
  * Stampa il testo come output, l'utente lo vedrò successivamente.
 * `IgnoreExceptions|booleano`
  * Imposta l'eccezione `ignore`. Se le eccezioni vengono ignorate, lo script non si ferma quando ne viene incontrata una.
 * `SetThemeName|nometema`
  * Imposta il nome del tema che verrà modificato in seguito.
 * `CopyThemeFile|nomefile|tipo|obiettivo`
  * Copia un file di un tema (CSS, PNG, etc.) nella directory del tema corrente.
  * Attualmente è solo supportato sui server tipo standalone.
  * Esempio: `CopyThemeFile|screen.css|css|screen.css`
 * `InstallPlugin|nomefile|visibilità|tipoplugin|obiettivo`
  * Copia un plugin da ''nomefile'' a ''obiettivo''. ''Visibilità'' può essere `local` in cui viene selezionata la cartella dei plug-in del wiki corrente o `global` che seleziona la cartella del pacchetto python di !MoinMoin; ''tipoplugin'' può essere `parser`, `macro`, etc. 
  * Esempio: `InstallPlugin|mioparser.py|global|parser|mioparser.py`
 * `AddRevision|nomefile|nomepagina|autore|commento|banale`
  * Aggiunge una revisione (letta dal file ''nomefile'') alla pagina ''nomepagina''. ''autore'' specifica il nome di chi fa la modifica ed è facoltativo. ''commento'' specifica il commento per la revisione ed è facoltativo, ''banale'' indica se la modifica è da considerarsi banale ed è facoltativo.
  * Esempio (installa un nuovo modello):{{{
AddRevision|cust.tpl|AcquirenteModello
AddRevision|phone.tpl|TelefonoModello
}}}
 * `DeletePage|nomepagina|commento`
  * Cancella la pagina ''nomepagina'', opzionalmente impostando anche un ''commento''.
  * Esempio: `DeletePage|PaginaPrincipale`
 * `ReplaceUnderlay|nomefile|nomepagina`
  * Sostituisce la versione ''underlay'' della pagina. Può essere utilizzato per installare pagine ''underlay'' o per aggiornarle.
 * `EnsureVersion|versione|righe`
  * Termina lo script o salta righe se il criterio della versione non corrisponde e ''righe'' è specificato.
  * Il seguente esempio fornisce due parser e installa quello corretto: {{{
EnsureVersion|1.3.3|2
InstallPlugin|mioparser.py_3|global|parser|mioparser.py
Exit
EnsureVersion|1.3.2
InstallPlugin|mioparser.py_2|global|parser|mioparser.py
}}}
 * `Exit`
  * Ferma lo script.
 * `InstallPackage|Nomepagina|Nomefile`
  * Installa un altro pacchetto che deve essere un allegato chiamato ''Nomefile'' della pagina ''Nomepagina''.
  * Esempio: `InstallPackage|PaginaPrincipale|IlMioPlugin.zip`
 * `AddAttachment|nome file nel file zip|nomefile|nomepagina|autore|commento`
  * Esempio: `AddAttachment|2_attachment|song.wav|PaginaPrincipale|PincoPallino|una canzone di esempio.`
 * `DelAttachment|nomefile|nomepagina|autore|commento`
  * Esempio: `DelAttachment|canzone.wav|PaginaPrincipale|PincoPallino|prova`
 * `RenamePage|nomepagina|nuovo nome|autore|commento`
  * Rinomina una pagina.
