Galleon, un forum in Coldfusion

Si avete letto bene Coldfusion; benchè esso sia tecnologia proprietaria realizzata da Adobe, esistono diverse implementazioni libere e tra queste troviamo Railo.

Railo, come Adobe Coldfusion, è una applicazione Java che compila il codice coldfusion in classi java, la cui ultima versione 3.1 è rilasciata con licenza LGPL 2 come progetto di Jboss.

Railo può essere scaricato per i diversi sistemi operativi (Windows, Max, Linux), con Jetty o Resin o senza come un war file che deve essere copiato in un application server.

Io ho scaricato la versione 3.1.2 con Jetty per prova il che significa che dovete semplicemente eseguire il file start e recarvi all’indirizzo localhost:8888.

Una volta cambiata la password per motivi di sicurezza vi ritroverete nel pannello di amministrazione. Per installare Galleon dovete:

  1. creare un database MySQL che potete fare velocemente da Xampp
  2. andare nel pannello di amministrazione di Railo e sotto la voce Services -> Datasources creare un datasource di tipo mysql che si collega al database creato (utente e password sono quellli di MySQL)
  3. andare nel pannello di amministrazione di Railo e sotto la voce Extension – Applications spuntare la voce Galleon (forum hostato su RiaForge e creato da Raymond Camden) e cliccare sul pulsante install, il quale (dopo aver accettato la licenza Apache) vi redirige ad un form che dovete riempire (inserite il campo email che si trova nel mezzo del form anche se non richiesto altrimenti avrete una eccezione) e poi potete accedere al login di Galleon.

Una volta inseriti username/password (admin/admin) vi ritroverete di fronte al front-end, per il backend dovete andare su: http://localhost:8888/forum/admin/

Nel pannello di amministrazione di Galleon troverete un menu a sinistra dove potete:

  • creare Conferences, Forum, Thread, Messages
  • modificare i valori che avete inserito nella fase di installazione
  • gestire gruppi e utenti
  • consultare statistiche; se non avete configurato un server SMTP avrete un errore coldfusion per le statistiche generali, sono interessanti le stastitiche sulle parole cercate (magari si potrebbe connettere con Solr..)

Buona esplorazione !

Advertisements

Webclient for SVN, Hudson e Artifactory

Salve a tutti, in questi giorni mi sono addentrato ancora nel mondo del continuous integration perchè sto lavorando su un progetto in Java, gestito in outsourcing, dove aiuto un gruppo di sviluppatori ad utilizzare strumenti di sviluppo che facilitano il lavoro quali un sistema di continuos integration.

Sono partito da un progetto con subversion installato su una macchina e so che nel progetto usano Jboss con JDK 1.5 (ancora non so perchè)

Su un’altra macchina remota vado e installo JDK 1.5.0.22, Ant 1.7.1, Maven 2.2.1 (fino ad ora (2 mesi di progetto) hanno usato solo Ant e vorrebbero passare a Maven), Jboss 5.1.0, Webclient for SVN 3.1.0 e Artifactory 2.1.2.

Piccola nota: volevo usare Sventon ma l’ultima versione aveva problemi con le librerie e le precedenti mi davano anch’esse problemi.

Non sapete cosa è Artifactory ??? Allora è possibile che siete ancora freschi su Maven (non è che io non lo sia :-) )

Artifactory è una applicazione web che permette di gestire repository Maven, sviluppata in Java e rilasciata con licenza LGPL 3.0. L’applicazione è realizzata da JFrog Ltd, una società privata isreliana.

Strutturalmente si poggia su Apache Jackrabbit per l’implemetazione delle specifiche JSR 170 per il cosiddetto Java Content Repository (anche altri content manager come Nuxeo si appoggiano su Jackrabbit).

Piccola nota: la JSR 170 (rilasciata nel 2005) è seguita dalla JSR 283 da poco rilasciata (25 Settempre 2009) ed entrambe sono condotte da David Nuescheler, CTO della società svizzera Day Software.

Inoltre Artifactory si basa su Apache Lucene per indicizzare i file e Apache Wicket per l’interfaccia utente.

Ora l’applicazione è rilasciata come standalone ma esiste la versione war che può essere deployata su un application server e quindi l’ho messa su Jboss insieme ad Hudson e Webclient for SVN (questi 2 li ho poi legati con il plugin di hudson per Polarion che permette di linkare la lista di file modificati ai file presenti sul webclient e si possono anche vedere le differenze con le versioni precedenti).

La struttura è basata anche su database, di default Apache Derby ma che può essere cambiato (vedi anche qui).

A parte il fatto che Artifactory permette di base una autenticazione LDAP, quello che lascia senza parole è la semplicità di uso (andrebbe confrontato con Nexus ma non ne ho tempo, di sicuro nella versione base manca LDAP (anche se ho scoperto di recente che esiste un plugin di terze parti) e di sicuro gli sviluppatori hanno realizzato una bella guida a maven e un plugin per Eclipse). Una volta andato su

http://localhost:8080/artifactory

e loggato, sono andato sul pannello amministrativo e nella sezione repository ho creato un repository locale dove fare il deploy dei propri jar file e un repository virtuale in cui aggiungo quello locale più tutti i remoti quali quello di Maven, Jboss ecc ecc. Fatto ! Ora potete generare anche la sezione del file settings.xml da aggiungere nel vostro progetto Maven.

Per una vecchia guida vi rimando qui. Per un confronto con Nexus e Archiva vi rimando a questo link (attenzione è scritto dallo stesso autore della guida su Artifactory ma sembra serio)

Buon maven a tutti !

Nota: Webclient for SVN si basa su Subversion 1.4 (con versioni successive ho avuto problemi perchè usa un SVNKit vecchio che non posso aggiornare perchè c’è una particolare classe non più presente nelle ultime versioni), potete trovare Subversion 1.4 qui:

http://downloads-guests.open.collab.net/servlets/ProjectDocumentList?folderID=6

Glassfish 2.1, Quercus 3.2.1 e WordPress 2.7.1

Talvolta avevo pensato di migrare da PHP a JSP poichè Tomcat supporta nativamente JSP ma Tomcat non è un application server.

Ultimamente sto valutando di usare Glassfish o Jboss come application server per usarli come base per Hudson un continuous integration engine (vedete articolo precedente) invece di usare Winstone integrato al suo interno.

In particolar modo, siccome quelli di Glassifish con Metro affermano l’interoperabilità con .NET per i web service (a partire da Jax-WS più le implementazione degli stessi standard con .NET cosa che Axis2 fa ma più lentamente a mio parere), ho pensato di concentrarmi su Glassfish.

Per caso ho scoperto che esiste Quercus che è una libreria java che è una implementazione java di PHP, in pratica il codice PHP viene trasformato in Java, in pratica potete far girare le vostre applicazioni PHP.

Quercus viene rilasciato con licenza GPL 2 da Caucho Technology una azienda che ha realizzato Resin un java/php application server e Hessian un protocollo binario per web services che avevo già sentito nominare quando lavoravo sui web services.

Quelli di Caucho affermano che le prestazioni si vedono.

Presto detto quello che avete bisogno quindi è GlassFish, Quercus e i driver JDBC che dovete installare nel vostro application server e che Quercus farà uso e la vostra applicazione PHP ovviamente.

Ho scelto WordPress perchè ho trovato un tutorial e di conseguenza ho installato i driver JDBC per Mysql e Mysql stesso.

I tutorial che ho seguito sono:

  • http://blogs.steeplesoft.com/glassfish-php-and-wordpress/ (ma non spiega che bisogna creare un connection pool su glassfish ovvero la connessione tramite i driver JDBC). Dovete prima di tutto estrarre i 3 file (quercus.jar, resin-util.jar, javamail-141.jar) che si trovano nel file war di Quercus nella cartella lib di Glassfish o nella cartella di lib del vostro dominio (domain1 nel mio caso)  a seconda della visibilità che volete dare. Poi in pratica nella cartella del vostro dominio trovate il file config/default-web.xml e dovete inserirci la seguente configurazione:

<servlet>
<servlet-name>Quercus Servlet</servlet-name>
<servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Quercus Servlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>

Dovete poi estrarre WordPress nella cartella docroot del vostro dominio.

Poi oggi rivedendo Quercus ho visto che la procedura è spiegata nel file readme :-) che trovate nel pacchetto e che vi consiglio a questo punto di leggere per prima.

Ora mi concentro anche su Jboss e vedo per qualche applicazione in PostGres.

Nota: vedere anche Php-Java bridge.