== IGWiki - Uso avanzato == Si è voluto dividere l'uso consueto che normalmente si fa di un sistema Wiki da quelle che sono le caratteristiche avanzate di IGWiki. Le feature spiegate nel presente documento distinguono IGWiki da molti sistemi Wiki presenti sulla rete, e ne aumentano la flessibilità e il numero di risposte che offre a molteplici problemi di gestione documentale. === Pagine innestate - Come inserire elementi di altre pagine === Una delle caratteristiche particolari di IGWiki è la possibilità di inserire nella pagina che si sta creando, elementi di altre pagine preesistenti. Ad esempio si puo far riferimento ad un collegamento di una pagina, ed inserire nello stesso tempo la data di ultima modifica della pagina stessa attraverso la seguente sintassi: questa [pagina esistente] è stata modificata il [pagina esistente]{lastedit} Come si comprende dall'esempio, per ottenere tale risultato è sufficente far seguire al link della pagina il nome del campo che si vuole inserire racchiuso tra parentesi graffe. Si consideri che sono disponibili i seguenti campi: '''text, date, expire, lastedit, lasteditor, approvedby, revision''' Questo meccanismo offre molteplici possibilità, ma senza dubbio la più importante e notevole, è quella che permette di inserire nella propria pagina "il contenuto" di un'altra pagina. Immaginate una pagina che contenga una tabella, dove in ogni cella si riporta il contenuto di altre pagine. In questo modo potrette impaginare contenuti diversi lasciando ad altri utenti la responsabilità di editare tali contenuti. Immaginate per esempio una pagina con il seguente contenuto {| | [articolo1]{text} || [articolo2]{text} |- | [articolo3]{text} || [articolo4]{text} |} Con questo esempio riusciremmo a visualizzare il contenuto di 4 articoli in una sola pagina, impaginato su 2 colonne e 2 righe! potremmo inoltre delegare l'editing di ognuno dei 4 articoli a 4 diversi utenti del sistema. === Il sistema dei Template === In IGWiki tra le altre cose è possibile per una singola pagina, definire quale è il suo 'involucro', quali cioè gli elementi da visualizzare insieme al contenuto della pagina richiesta. La particolarità di questa feature sta nel fatto che gli 'involucri' sono in realtà ulteriori pagine scritte in linguaggio wiki, che si differenziano dalle pagine normali per il fatto che hanno al loro interno il tag %%PAGE%% vale a dire il tag che indica in fase di pharsing quale posizione deve assumere la pagina da visualizzare all'interno del template. In questo modo è possibile definire dei template 'tipo', che offrono un ottimo sistema di fattorizzazione. Immaginate ad esempio un template (cioè una pagina wiki) che definisce l'involucro di tutte le pagine che fanno parte della categoria 'HOWTO'. Immaginate poi che un giorno occorra riscrivere tutti gli howto e si vuole sospenderne la visualizzazione. Basterà cambiare il contenuto del template sostituendo il tag %%PAGE%% con qualcosa tipo 'Stiamo lavorando per voi...' e il gioco è fatto. ==== I TAG Speciali ==== Grazie ai tag "speciali" è possibile in fase di creazione dei template, inserire features o strumenti presenti all'interno di IGWiki definendone la posizione. * %%WIKILOGO%% - Inserisce all'interno della pagina il logo aziendale * %%SITEMAP%% - Inserisce il contenuto della pagina [sitemap] * %%FINDER%% - Inserisce il piccolo form (motore di ricerca) per le ricerche all'interno del sito * %%LOGIN%% - Inserisce il form per effettuare il login nel sistema * %%TOC%% - Elabora un indice degli argomenti ricavato dalla pagina che si vuole visualizzare * %%RELATEDDOCS%% - Mostra un task con l'elenco di tutte le pagine che contengono un collegamento alla pagina attuale * %%LASTDOCS%% - Mostra un task con l'elenco delle ultime pagine modificate * %%MINICALENDAR%% - Mostra un minicalendario contenente gli 'eventi' definiti dagli utenti === Pagine codificate - Come aumentare la sicurezza dei contenuti === Una delle caratteristiche esclusive di IgWiki è la possibilità da parte degli utenti che hanno permessi di scrittura sulle pagine, di poter codificare con protocollo DES il testo delle pagine all'interno del database. Infatti selezionando la voce 'Codifica contenuto nel database' all'interno delle proprietà di una determinata pagina, si codifica il record all'interno del database, lasciando inalterato e trasparente l'uso della pagina all'utente. All'utente è anche possibile tornare sui propri passi e decodificare una pagina in modo che sul database torni ad essere scritta in plain text. Ovviamente tale features ha ragione di esistere nei casi in cui l'accesso in lettura della pagina è ristretto ad un certo numero di utenti piuttosto che altri. === Esportare pagine in altri formati === Nella versione attuale di IGWiki è possibile esportare qualsiasi pagina in 2 formati: * Stampabile in HTML - semplicemente IGWiki libera la pagina dell'involucro (template) e modifica qualche parametro del CSS. Tale esportazione si ottiene cliccando sull'icona della stampante presente su ogni pagina. * Plain Text - Questa esportazione è degna di nota in quanto IGWiki riformatta tutta la pagina in formato testo a 80 colonne rispettando: pagine innestate, inserimento di elementi da pagine esterne; e creando in automatico un indice dei contenuti della pagina basandosi sulle varie intestazioni in essa contenute. Tale esportazione risulta molto utile quando si vuole creare file di documentazione portabili. E' in progetto la possibilità di esportare i contenuti in POD e PDF.