Instal·lació Mondrian
Segueixo les indicacions de:
http://adr-martinez.blogspot.com/2008/06/instalar-mondrian-en-ubuntu-804.html
El mondrian es descarrega de http://mondrian.pentaho.org/ -> download, i és un projecte que està a Sourceforge
descarrego el fitxer mondrian-3.0.3.11016.zip
és un zip que és platform-independent (basat en Java)
Per tant, és el mateix que m'havia descarregat per a windows.
Primer: descomprimir mondrian a /usr/local
Segon: descomprimir l'altre mondrian que queda dins.
Tercer: per simplicitat, renombrar mondrian-3.0.3.11016 a mondrian. Ficar-se dins de testsrc
Ara l'objrectiu és importar la base de dades Foodmart per tal d'utilitzar l'aplicació d'exemple.
La importació es fa amb l'aplicació MondrianFoodMartLoader, i això és el que ve a continuació
A diferència de la guia, importaré les dades a Postgres.
El primer que he de fer és descarregar i localitzar les llibreries que necessito.
a) crear la ruta /usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/ i ficar-hi mondrian.jar
$ cp /home/joan/mondrian-3.0.3.11016/lib/mondrian.jar ./ $ cp /home/joan/mondrian-3.0.3.11016/mondrian/lib/log4j-1.2.9.jar ./ $ cp /home/joan/mondrian-3.0.3.11016/mondrian/lib/eigenbase-xom.jar ./ $ cp /home/joan/mondrian-3.0.3.11016/mondrian/lib/eigenbase-resgen.jar ./ $ cp /home/joan/mondrian-3.0.3.11016/mondrian/lib/eigenbase-properties.jar ./
em baixo el driver jdbc de postgres:
http://jdbc.postgresql.org/ com que utilitzo java1.6, m'he de descarregar JDBC4 Postgresql Driver, Version 8.3-603: postgresql-8.3-603.jdbc4.jar
$ cp /home/joan/postgresql-8.3-603.jdbc4.jar ./ $ cp /home/joan/postgresql-8.3-603.jdbc3.jar ./
he de crear la base de dades foodmart al Postgres:
$ psql -h localhost -p 5432 postgres -U postgres postgres> create database foodmart; postgres> \l -> per comprovar que s'ha creat (per defecte es crea amb codificacio UTF8) $ psql -h localhost -p 5432 foodmart -U postgres
i dins de testsrc executo l'aplicació MondrianFoodMartLoader tot fent:
$ java -cp "/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/mondrian.jar:/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/log4j-1.2.9.jar:/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/eigenbase-xom.jar:/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/eigenbase-resgen.jar:/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/eigenbase-properties.jar:/usr/share/tomcat6/webapps/mondrian/WEB-INF/lib/postgresql-8.3-603.jdbc4.jar" mondrian.test.loader.MondrianFoodMartLoader -verbose -tables -data -indexes -jdbcDrivers="org.postgresql.Driver" -inputFile=/home/joan/mondrian-3.0.3.11016/demo/FoodMartCreateData.sql -outputJdbcURL="jdbc:postgresql://localhost/foodmart?user=postgres&password=xxxx"
funciona!! i es crea tota l'estructura i s'importen les dades.
Quart.
Fer el desplegament (deploy) de Mondrian
1. stop Tomcat
sudo /usr/share/tomcat6/bin/shutdown.sh
2. esborrar el desplegament actual, si és que existeix:
rm -r /usr/share/tomcat6/webapps/mondrian
3. copiar el mondrian.war a /usr/share/tomcat6/webapps
cp /home/joan/mondrian-3.0.3.11016/lib/mondrian.war /usr/share/tomcat6/webapps/
4. engegar Tomcat
sudo /usr/share/tomcat6/bin/startup.sh
ara sí! http://localhost:8080/mondrian/index.html
ara s'han de fer els canvis per tal de connectar-nos correctament a la base de dades Foodmart del Postgres, tal com havia fet a Windows.
Tocar els següents fitxers:
dins del directori mondrian,
$ nano WEB-INF/mondrian.properties
canvio
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver;Catalog=/WEB-INF/queries/FoodMart.xml;
per
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:postgresql://localhost/foodmart?user=postgres&password=xxxx;JdbcDrivers=org.postgresql.Driver;Catalog=/WEB-INF/queries/FoodMart.xml;
per a la query testpage.jsp?query=mondrian he de canviar el fitxer mondrian.jsp
$ nano WEB-INF/queries/mondrian.jsp
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver" jdbcUrl="jdbc:odbc:MondrianFoodMart" catalogUri="/WEB-INF/queries/FoodMart.xml">
per
<jp:mondrianQuery id="query01" jdbcDriver="org.postgresql.Driver" jdbcUrl="jdbc:postgresql://localhost/foodmart?user=postgres&password=xxxx" catalogUri="/WEB-INF/queries/FoodMart.xml">
Cinquè
diu que no troba org.postgresql.Driver, i és que encara m'he descuidat una altra cosa, que és ficar el jdbc driver de Postgres dins la carpeta /usr/share/tomcat6/lib
$ cp /home/joan/postgresql-8.3-603.jdbc4.jar ./