Componente “informazioni utente”

21-10-2009 15-29-50

E’ stato creato un nuovo componente per la visualizzazione delle informazioni di un determinato utente.

Il componente si chiama

org.sf.bee.wiki.gui.components.membership.user.info.CMPauthorinfo

Alla classe si possono passare alcuni parametri per modificarne le informazioni ed eventualmente il layout.

Le proprietà sono le seguenti

setUser(User user) = vuole l’istanza di un utente da cui prelevare le informazioni

setShowName(boolean showName) = visualizza o meno il nome dell’utente (il default è false)

21-10-2009 11-41-25

setShowImage(boolean showImage) = visualizza o meno l’immagine dell’utente (il default è true)

21-10-2009 11-46-06

setHorizontalLayout(boolean horizontalLayout) = visualizza il layout in orizzontale  se true o verticale se false (il default è true). Questa proprietà si applica solamente al nome utente

21-10-2009 11-41-25

21-10-2009 11-47-20

setShowExtraInfo(boolean showExtraInfo) = visualizza o meno l’etichetta con le informazioni extra

setExtraInfo(final String extraInfo) = setta il contenuto delle informazioni extra

21-10-2009 11-49-37

setStyleClass(final String styleClass) = assegna uno stile alle etichette ed all’immagine, passando il nome di una classe di stili

21-10-2009 11-55-40

Il componente prevede altri due parametri di configurazione per il settaggio dell’utente

setUserById(final long userId) = assegna l’utente passando l’id

setUserByUid(final String userUid) = assegna l’utente passando l’uid

tuttavia, qualora si disponesse già di un utente, è meglio usare il metodo setUser al fine di risparmiare un accesso al database.

Come installare BEEing

Impostazioni BEEingBEEing richiede, per funzionare, un Application Server compatibile con le specifiche Java EE 5 o superiori ed un Database.

Glassfish e MySQL

Noi abbiamo scelto Glassfish come Application Server, che potete scaricare dal sito ufficiale (https://glassfish.dev.java.net/public/downloadsindex.html#top).

Glassfish è un eccezionale application server ed ha una community molto vasta (https://glassfish.dev.java.net/public/users.html). Questo garantisce continuità nello sviluppo, supporto e documentazione sempre aggiornata.

Per l’installazione e la configurazione di Glassfish potete far riferimento al sito: https://glassfish.dev.java.net/public/getstarted.html

MySQL (http://dev.mysql.com/downloads/mysql/5.1.html) è un ottimo database adatto anche ad un utilizzo enterprise. Benchè BEEing supporti diversi database, MySQL è quello che preferiamo e che offre la migliore integrazione con la piattaforma.

Prima di partire con BEEing

Una volta completata l’installazione di Glassfish dovreste essere in grado di accedere alla console di amministrazione (vedi immagine seguente).
L’indirizzo dovrebbe essere simile a questo: http://localhost:4848/

glassfish console

Dalla console sarete in grado di identificare la cartella di installazione di Glassfish e quella che contiene i files di configurazione  (nel mio caso /opt/glassfish/domains/domain1/config). La radice del percorso potrebbe cambiare a seconda delle versioni e del Sistema Operativo utilizzato. L’immagine riporta il percorso per una macchina Linux.

domain1

Aprite la cartella contenente i files di configurazione e copiatevi all’interno il file login.config, sovrascrivendo la versione esistente,
Ora riavviate Glassfish. Siete quasi pronti per installare BEEing.

Installazione di MySQL

Se avete installato MySQL, ora potete creare l’utente database di sistema.
Aggiungete al database un utente beeing con password beeing (che potrete cambiare in seguito).
In questo modo BEEing è in grado di creare tutti i database e le tabelle necessarie automaticamente.
Inoltre, a fronte di un aggiornamento o dell’installazione di un nuovo plug-in, il sistema è in grado di effettuare i dovuti aggiornamenti ai database.

Installazione ed avvio di BEEing.

Scaricate i file binari da sourceforge (BEEing.war).
Aprite la console di amministrazione di Glassfish (http://localhost:4848/) e attivate la voce “Web Applications” dal menu ad albero presente sulla sinistra.
deploy

Cliccate su “Scegli file”, selezionate il file BEEing.war, e poi cliccate su “OK”.
A questo punto BEEing viene installato per la prima volta.
L’avvio di BEEing può richiedere anche alcuni minuti, a seconda della potenza di calcolo della macchina che lo ospita.
Non preoccupatevi anche se dovessero passare due o tre minuti.
Ad ogni avvio BEEing controlla l’integrità delle tabelle, provvede ad aggiornare gli schema se necessario, distribuisce o aggiorna i contenuti di sistema (utenti, ruoli, pagine, templates, ecc..), installa o aggiorna i temi grafici.

Al termine del caricamento dovreste visualizzare una videata simile a questa.
launch

Cliccate su “Launch”, oppure digitate nel browser l’indirizzo http://localhost:8080/BEEing

login

Potete effettuare il primo login utilizzando l’utente amministratore di sistema administrator con password administrator (la password potete cambiarla quando volete).

Note:

Per ulteriori informazioni su come installare BEEing 3.x su Glassfish 3.x, fate riferimento al post “Come installare la versione 3.x di BEEing” .

Cos’è BEEing?

BEEing loginLa piattaforma

BEEing è una piattaforma java per lo sviluppo di soluzioni Enterprise 2.0, intranet ed extranet.
Lo sviluppo delle funzionalità base è molto dinamico e ad ogni release è possibile trovare nuove applicazioni (wiki, blog, microblogging, project management, crm, ecc..).
In futuro è possibile che alcuni moduli siano distribuiti come plug-in, e quindi non vengano integrati nel pacchetto base (es: il modulo di configurazione prodotto).
La distribuzione separata di alcuni plug-in specifici consente al modulo “CORE” di mantenere un peso ridotto e un minor numero di parametri di sistema.
Tutti i moduli ed i plug-in sono distribuiti completi di codice sorgente, compresi quelli di integrazione a sistemi proprietari (es: modulo per SAP/R3).
I moduli di integrazione a sistemi proprietari possono richiedere, per un corretto funzionamento,  la presenza di librerie di terze parti e delle relative licenze d’uso (non distribuite coi moduli BEEing)

Il framework di sviluppo è stato progettato con un’architettura modulare e basata sul concetto di plug-in.
La stratificazione del codice e dei package secondo una logica a “layer funzionali” consente una miglior manutenzione anche nel lungo periodo e favorisce lo sviluppo in team grazie ad una chiara e semplice suddivisione dei compiti.

I Moduli

Attualmente BEEing è composto da:

  • CORE: Contiene le classi base del framework e l’integrazione con alcune librerie open source (es: rome, Json, ZK, OpenJpa);
  • WEBAPP: E’ il cuore dell’application server e raggruppa in se il modulo wiki, il blog, la gestione utenti, la gestione dei profili, il datastore ed i componenti base per la gestione delle dashboard e dei widgets;
  • LIB_ADMIN: E’ un plug-in di sistema e contiene tutte le maschere e le logiche di amministrazione (variazione dei parametri di configurazione, definizione delle costanti di sitema, gestione delle lingue, gestione delle localizzazioni);
  • LIB_KNOL: Contiene l’interfaccia grafica del modulo wiki, del modulo gestione conoscenza e del modulo di gestione del datastore (per l’archiviazione dei file allegati);
  • LIB_BLOG: Contiene l’interfaccia grafica del modulo blog;
  • LIB_RSS: Contiene le logiche di conversione dei contenuti in formato RSS;
  • LIB_TRACKBACK: Modulo di gestione dei trackback;
  • PLG_CUSTOMER: Plug-in per il CRM (in fase alpha)
  • PLG_FLASHGATEWAY: Plug-in di integrazione con librerie Flash Remoting (Adobe Flash) per l’integrazione con Flash;
  • PLG_SAP/R3: Plug-in per l’integrazione con SAP/R3 (richiede librerie proprietarie SAP che non vengono distribuite con BEEing)

Come si sviluppa con BEEing

BEEing non è un’applicazione, ma un framework di sviluppo modulare.
Benchè le molte funzionalità base lo rendano del tutto simile ad una applicazione, ed in futuro lo sarà sempre piu’, BEEing nasce per essere integrato o per integrare sistemi esistenti. Grazie a BEEing potrete implementare soluzioni extranet/inranet molto avanzate, estendere l’interfaccia del vostro sistema ERP o integrarlo con sistemi di e-commerce o social networking, potete realizzare CRM o sistemi di configurazione prodotto facilmente integrabili con sistemi esistenti, così come estendere la vostra archiviazione documentale o implementarla partendo da zero (il datastore interno è compatibile JSR-000170).

Su BEEing si sviluppa in Java, Scripting Java, Scripting Velocity, XML, XUL.
Ma principalmente in Java.
L’architettura del sistema consente lo sviluppo di plug-in che possono essere vere e proprie applicazioni complete di database, maschere e menù, semplicemente integrabili alla WEBAPP.
Il deploy dei plug-in è completamente automatico ed il sistema integra i moduli esterni esattamente come accade per quelli nativi.
Non tutti i plug-in devono contenere obbligatoriamente elementi di interfaccia utente o database. E’ possibile integrare oggetti che il sistema caricherà come task schedulati o thread “one shot”, per compiere le piu’ disparate attività (backup, sincronizzazione database, controllo risorse di sistema, monitoraggio e alert, ecc..) .