OrgApp

OrgApp OrgApp è una libreria Java per gestire e disegnare degli organigrammi.

La libreria include un'applet e un'applicazione Swing in grado di disegnare l'organigramma in base a una definizione letta da un file XML, da un file di testo o da un file che segue lo standard sitemap.xml.

La libreria supporta grafici con differenti layout e box con hyperlink, colori, dimensioni definiti dall'utente… ed è molto facile da includere all'interno di una pagina HTML.

Esempi

Per vedere gli organigrammi è necessario un browser con il supporto al Plug-in Java.

Requisiti

Sistemi operativi supportati: 100% Java

Scarica!

SourceForge Logo La distribuzione completa dell'applicativo, incluso il codice sorgente, è disponibile qui.

Informazioni e risorse addizionali si possono trovare presso Source Forge.

OrgApp è anche supportato da:

Documentazione

Organigram Applet

OrgApplet.jar è l'applet per visualizzare l'organigramma e richiede un browser che supporti i Java Plug-in (e una versione i Java superiori alla 1.5). La sintassi è la seguente:

<applet name="Organigram" code="OrganigramApplet.class" archive="URLTO_OrgApplet.jar">
  <param name="DataSource" value="URLTO_organigram.xml" />
  <param name="Target" value="_blank" />
  <param name="Data" value="embedded organization chart definition" />
  <param name="DataType" value="type of the definition" />
</applet>

Il significato dei parametri è il seguente:

  • DataSource è l'URL della risorsa che contiene la definizione del orgnanigram in uno dei formati supportati.
  • Target è il target usato nei link (a meno di uno più specifico presente nella definizione nei nodi dell'organigramma).
  • Data, se DataSource non è presente in questo campo occorre inserire la definizione del organigramma in uno dei formati supportati.
  • DataType è il tipo di formato usato nella definizione dell'organigramma fornita nel campo data (0=SOF, 1=TXT, 2=sitemap).

Controllare il sorgente della pagina per visualizzare un esempio reale.

L'applicazione

OrgApp.jar è un applicazione Java per riprodurre sul video gli organigrammi e deve essere lanciata con la seguente sintassi:

java -jar OrgApp.jar path_to_organigram.xml

dove path_to_organigram.xml è il path dell'organigrama in uno dei formati supportati (il formato viene riconosciuto automaticamente).

Il convertitore

Convert.jar è un tool per convertire un organigramma da un formato ad un altro, si deve lanciare con:

java -jar Convert.jar input_file output_type

input_file è il file di che contiene l'organigramma da convertire

output_type è il formato in cui convertirlo con la seguente convenzione: 0 SOF (simple organigram format), 1 formato test, 2 sitemap.

L'output vieme mostrato a video, ma può essere salvato su un file aggiungendo (> path_to_output) al comando.

La conversione dal formato SOF verso gli altri può produrre perdite di informazioni…

Formati file degli organigrammi

OrgApp supporta tre formati di file.

  • SOF, Simple Organigram Format è un formato basato su XML
  • Text Format, è un formato testuale in cui ogni riga rappresenta un nodo dell'organigramma
  • Sitemap format, formato standard sitemap (http://www.sitemaps.org)

Controlla i file di definizione del primo organigramma e quello del secondo per ulteriori informazioni.

Integrazioni con applicazioni server side

La distribuizione di OrgApp contiene anche una libreria per agevolare l'integrazione dell'applet in una applicazione server side.

OrgApp.inc è una libreria PHP che genera il codice HTML necessario alla visualizzazione dell'organigramma. Ecco il codice di esempio per il suo utilizzo:

require_once("lib\OrgApp.inc");
$OC = new OrgApp();
//Set the dimension of the chats $OC->width=400;
$OC->height=300;
//Generate a chart, the data is a URL
$OC->emitRef('data.xml');
//Generate a chart, the data is read from a file and embedded in the html page
$OC->emitFile('data.xml', 0);
//Generate a chart with the data given
$OC->emitData('<organigram><unit name="Doe, John" department="CEO" role="H"/></organigram>', 0);

Dokuwiki

E' anche disponibile un plugin per Dokuwiki al seguente url.

Schermate

Informazioni sullo sviluppo

To Do

  • Hyperlinks sulle linee di collegamento
  • Offscreen (?)
  • Effetto MouseOver
  • Ricerca
  • Editor (?)
  • Immagini nei nodi e più in generale la possibilità di cambiarne il layout
  • Box a Staff
  • Dipendenze a matrice
           B
           |-S
        -----------
        |     |   |
        B     B.. |
        |-O     ..M
        |-O......

Ultimi cambiamenti

Versione 0.4.0

  • Script PHP per la generazione del codice HTML per mostrare l'organigramma
  • Nuovi layout: TOP (es. orgnanigrammi), LEFT (es. struttura ad albero), BOTTOM (es. albero genealogico), RIGHT (es. torneo ad eliminazione diretta)
  • E' possibile specificare il tipo di linee (dritte o connettori) e usare nomi al posto dei numeri negli attributi (es. mode=“grow” al posto di mode=“2”)
  • L'applet può usare i parametri “Data” a “DataType” per generare l'organigramma (non occorre più un file esterno)
  • Nodi collassati
  • Gestione di aperture/chiusure dei nodi (tasto destro del mouse)
  • I colori possono essere espressi con la sintassi HTML

Versione 0.3.0

  • Allinemento compatto degli organigrammi
  • mport/Export organigrammi in formato sitemap.xml
  • Possibilità di specificare il target dei link
  • Correzione di alcuni bug

Versione 0.2.0

  • Refactory formato file XML
  • Funzionalità scrittura organigrammi in XML
  • Import/Export organigrammi in formato testo
  • Aggiunta possibilità di disegno orizzontale o verticale
  • Introdotto il concetto di box mode introduce nella dispozione dei box in modo da controllare lo spazio da essi occupato. Le modalità sono:
    • MAX, tutti i box hanno la stessa dimensione
    • MIN, tutti i box hanno la dimensione minima possibile (ma con la garanzia the tutti i box sulla stessa riga/colonna abbiano la stessa dimensione)
    • GROW, che garantisce che i box “manager” siano non inferiori alla dimensione dei box degli operativi
  • Gestione dei Metadata, incluso il tipo di box (es. evidenziare i “manager”)
  • Gestione del colore a livello di box
  • Gestione del font a livello di linea
  • Visualizzazione compatta

Versione 0.1.0

  • 2005/11/20 - Miglirata la gestione delle scrollbars management.
  • 2005/11/20 - Miglirata la gestione del layout e relativo refactoring.
  • 2005/11/20 - Implementato la gestione dei font a livello di linea e l'allineamento.
  • 2005/11/20 - Implementato tooltip.
  • 2005/11/13 - Implementati gli hyperlinks nei box.
  • 2005/11/06 - Implementato gestione del colore, dei font e dello stile delle linee dei box.
  • 2005/11/06 - Introdotte le scrollbars.

Stato progetto

Statot: Release

Linguaggio: Java

Metriche software di questa applicazione.

Licenza & Copyright

Copyright © 2005-2010 Frédéric Bergeron & eIrOcA (eNrIcO Croce & sImOnA Burzio)

Questo programma è software libero, è possibile ridistribuirlo e/o modificarlo secondo i termini della GNU Lesser General Public License pubblicata dalla Free Software Foundation; nella versione 3 o (a propria scelta) qualunque versione successiva.

Questo programma è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA implicita o esplicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU Lesser General Public License per maggiori dettagli.

Insieme al programma ci dovrebbe essere una copia della GNU Lesser General Public License, se no, scaricala da http://www.gnu.org/licenses/.