ejemplo aplicacion maven

40
CAMPUS- FASE1 Desarrollo de un sistema de formación virtual en software libre MANUAL DEL ENTORNO DESARROLLO DE SAKAI 1.0 13 de enero de 2009 Versión Autor Notas 0.1 Antoni Bertran Primer borrador 0.2 Antoni Bertran Modificaciones de estructura y correcciones 0.3 Roberto Marrodán Añadido classpath: a las variables de entorno del Okibus

Transcript of ejemplo aplicacion maven

Page 1: ejemplo aplicacion maven

CAMPUS- FASE1

Desarrollo de un sistema de formación virtual en software libre

MANUAL DEL ENTORNO DESARROLLO DE SAKAI 1.0 13 de enero de 2009

Versión Autor Notas

0.1 Antoni Bertran Primer borrador

0.2 Antoni Bertran Modificaciones de estructura y correcciones

0.3 Roberto Marrodán Añadido classpath: a las variables de entorno del Okibus

Page 2: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página2 de40

Índice de contenido

1. Introducción ............................................................................................................. 3

2. Pasos instalación ...................................................................................................... 4

2.1. Material necesario............................................................................................................4

2.2. Sakai..................................................................................................................................4 2.2.1. Pasos previos...........................................................................................................................4

2.2.2. Compilación de código fuente Sakai con Maven 1.02 ............................................................5

2.2.2.1. Configuración de Sakai ...................................................................................................7

2.3. Gateway Sakai..................................................................................................................8 2.3.1. Instalación plugin Maven ........................................................................................................8

2.3.2. Instalación del Gateway ..........................................................................................................8

2.3.3. Instalación del CampusTool..................................................................................................10

2.4. OkiBus ............................................................................................................................12 2.4.1. Introducción ..........................................................................................................................12

2.4.2. OkiBus Servidor....................................................................................................................16

2.4.3. OkiBus Cliente ......................................................................................................................16

2.4.3.1. Crear aplicaciones Oki ..................................................................................................22

3. Persistencia............................................................................................................. 23

4. IDE.......................................................................................................................... 23

4.1. Selección IDE..................................................................................................................23

4.2. Debugger.........................................................................................................................25

5. Test .......................................................................................................................... 26

5.1. Prueba de herramienta de test de instalación de Sakai..............................................26

5.2. Prueba de WelcomeJavaApp........................................................................................29 5.2.1. Introducción ..........................................................................................................................29

5.2.2. Configuración........................................................................................................................29

5.2.3. Test........................................................................................................................................30

Page 3: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página3 de40

1. Introducción

Este documento se ha creado para poder montar un entorno de desarrollo del proyecto Campus para Sakai. Se dan las instrucciones para poder crear el entorno con las versiones y los URL de descarga necesarios. Las pruebas se han llevado a cabo en los siguientes equipos:

● Sistema operativo: Windows-XP, Linux ● Procesador: Pentium 2 Ghz ● Memoria: 1 GB (recomendado 2 GB) ● Software: Java 1.5 y Jakarta Maven, Apache Tomcat 5.5.17 y Eclipse

Para poder realizar las pruebas necesitaréis dos servidores diferentes en la misma máquina, cada uno funcionando en un puerto diferente. El escenario será el siguiente:

• Un servidor tiene instalada una implementación de los OSID. Es una pasarela (gateway) desarrollada para poder acceder a otra herramienta (Sakai en Java o Moodle en PHP).

• Otro servidor que actúa como cliente; tiene que poder usar la implementación de los OSID que hay en el servidor anterior.

• El OkiBus permite la comunicación entre los dos servidores anteriores de forma transparente.

Page 4: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página4 de40

2. Pasos para la instalación

2.1. Material necesario

� Jdk 1.5 o superior � Apache Tomcat 5.5.17 o superior

(http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.23/bin/). � Sakai 2.4.1 (http://cvs.sakaiproject.org/release/2.4.1/),

descargad el código fuente (source). � Maven 1.0.2

(http://archive.apache.org/dist/maven/binaries/maven-1.0.2.tar.gz)

2.2. Sakai

Podéis encontrar información en la web de Sakai: http://wiki.sakaiproject.org/confluence/display/BOOT/Development+Environment+Setup+Walkthrough++(2.2.x-2.4.x) Debéis seguir todos los pasos sin saltaros ni uno.

2.2.1. Pasos previos

1. Comprobad la versión de Java (java -version).

$ java -version java version "1.5.0_09" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09- b05) Java HotSpot(TM) Server VM (build 1.5.0_09-b05, mixed mode) Si el resultado no es éste

Windows Estableced o cread variable de entorno JAVA_HOME/jdk1.5.0_15 Añadidlo al PATH %JAVA_HOME%\bin Linux/Unix/Mac $export JAVA_HOME=$DIR_TREBALL/jdk1.5.0_15 $export PATH=$JAVA_HOME/bin:$PATH (sólo Linux/Unix)

2. Descomprimid Tomcat del SAKAI.

Windows #Es necesario que lo instaléis como un servicio

$CATALINA_HOME\tomcat\bin> service.bat install

Linux/Unix/Mac $ tar xvfz apache-tomcat-5.5.23.tar.gz #si está en zip $ unzip apache-tomcat-5.5.23.zip

3. Para hacerlo más claro renombrad el directorio en "apache-tomcat-

5.5.23-SAKAI".

Page 5: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página5 de40

4. Configurad Tomcat, modificad el

$CATALINA_HOME/conf/server.xml para funcionar con codificación universal.

Añadid URIEncoding="UTF-8" al elemento Conector <CoNnector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

5. Ejecutad Tomcat.

Windows #resulta mejor iniciar el servicio

cd apache-tomcat-5.5.23-SAKAI/bin startup.bat

Linux/Unix/Mac $ cd apache-tomcat-5.5.23-SAKAI/bin $ ./startup.sh

6. Probad Tomcat accediendo a http://localhost:8080.

7. En caso de que sea la única aplicación que correrá sobre este

Tomcat (standalone) se recomienda que creéis el fichero $CATALINA_HOME/webapps/ROOT/index.html con el contenido

<Html> <Head> <Meta http-equiv="refresh" content="0;url=/portal"> </Head> <Body> redirecting to /portal ... </Body> </Html>

2.2.2. Compilación de código fuente Sakai con Maven 1.0.2

8. Descomprimid el Maven 1.0.2 (con otra versión no funciona).

$ tar xvfz maven-1.0.2.tar.gz #si está en zip $ unzip maven-1.0.2.zip

9. Incluid el Maven en el camino (path).

Windows Estableced o cread variable de entorno

MAVEN_HOME=$DIR_TREBALL/maven-1.0.2 Añadidlo al PATH %MAVEN_HOME%\bin Estableced o cread variable de entorno MAVEN_OPTS="-Xmx384m -XX:PermSize=48m"

Linux/Unix/Mac $export MAVEN_HOME=$DIR_TREBALL/maven-1.0.2 $export PATH=$MAVEN_HOME/bin:$PATH (no hace

Page 6: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página6 de40

falta para Mac) $export MAVEN_OPTS="-Xmx384m -XX:PermSize=48m"

10. Cread fichero de propiedades (properties) en el directorio $HOME

(en Linux /home/nombreUsuario y el Windows c:\Documents and Settings\nombreUsuario) con el nombre "build.properties", que definirá los parámetros de configuración del Sakai. El fichero tiene que contener:

maven.repo.remote = http://source.sakaiproject.org/maven/,http://repo1.maven.org/maven/ #En windows indicar las barras "/" y no "\" quedará c:/windows/tomcat/ maven.tomcat.home = /$CATALINA_HOME/tomcat/

NOTA: atención a los espacios entre la llave, el espacio y el valor; también es necesario que os fijéis en el uso de "/" y no "\". El maven.tomcat.home tiene que acabar con "/".

11. Descomprimid el código fuente de Sakai.

$ tar xvfz sakai-src_2.4.1.tgz #si está en zip $ unzip sakai-src_2.4.1.zip

12. Entrad en el código fuente y ejecutad Maven indicando que no

haga los tests.

$ cd sakai-src #en caso de no querer correr los tests unitarios simplemente tenéis que añadir el argumento '-Dmaven.test.skip=true' a la hora de compilar con el pedido 'maven'. No uséis el pedido maven sakai la primera vez. #La primera vez que compiléis haréis $ maven bld -Dmaven.test.skip=true # O ejecutando los tests $ maven bld (puede fallar los tests)

La primera vez crea un directorio donde almacena la memoria caché y el depósito necesarios para compilar Sakai. Éste se creará en:

Windows c:\Documents and settings\nombreUsuario\.maven

Linux/Unix/Mac /home/nombreUsuario/.maven

13. Haced el despliegue (deploy) en el Tomcat.

$ maven dpl #Para recompilar otras veces escribid esta orden; eso ejecuta maven cln bld dpl, es decir, borra, hace el buil y el despliegue (nunca lo hagáis la primera vez) $ maven sakai -Dmaven.test.skip=true

14. Estableced los límites para poder ejecutar Sakai en el Tomcat.

Page 7: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página7 de40

Windows #Mejor hacedlo a escala de servicio

set JAVA_OPTS=-server -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m

Linux/Unix/Mac $ export JAVA_OPTS="-server -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m"

2.2.2.1. Configuración de Sakai

15. El fichero de configuración del Sakai se llama "sakai.properties". Se

puede crear de cero u obtener uno que ya funcione. Un ejemplo del mismo lo podemos encontrar en el código fuente del Sakai (sakai-src/reference/docs/sakai.properties). En éste tenéis comentadas las líneas más importantes y podréis configurar la base de datos, el URL, el nombre del , configurar el correo... Para aprender más sobre el sakai.properties se puede consultar en el punto 4 http://bugs.sakaiproject.org/confluence/display/DOC/Install+Guide+(2.4). Por defecto está configurado para funcionar con una base de datos HSQLDB; consultad el punto 5 del URL anterior para obtener más información. Si queréis usar MySQL, se recomienda el controlador (driver) http://dev.mysql.com/downloads/connector/j/5.1.html.

# Si se marca auto.ddl=true creará la base de datos de cero, por lo que sólo lo pondréis en true la primera vez, y después en false (si no queréis que os vuelva a crear la base de datos de cero) # Once the tables are created you should set this to false and restart. #auto.ddl=true auto.ddl=false

16. Poned el fichero sakai.properties en $CATALINA_HOME/sakai. Si

queréis cambiar la ubicación por defecto en el momento de exportar las JAVA_OPTS, hará falta que indiquéis:

Windows #Mejor hacedlo a escala de servicio set JAVA_OPTS=-server -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m -Dsakai.home=/directorio/deseado/por/sakai/home/

Linux/Unix/Mac $ export JAVA_OPTS="-server -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m -Dsakai.home=/directorio/deseado/por/sakai/home/"

17. Arrancad el Tomcat y probad que funcione correctamente el Sakai

instalado. 18. Parad el Tomcat.

Page 8: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página8 de40

2.3. Gateway Sakai (pasarela)

2.3.1. Instalación del conector Maven

19. Añadid el conector de Maven para poder hacer compilaciones

parciales del Sakai. Éste elimina, si hace falta, el despliegue anterior, lo vuelve a compilar y lo despliega.

# Se tiene que ejecutar en la carpeta raíz del código fuente del sakai $maven plugin:download -DartifactId=sakai -DgroupId=sakaiproject -Dversion=2.2

#Ahora ya podéis ejecutar "maven sakai -Dmaven.test.skip=true" desde cualquier subdirectorio y construir sólo este código

20. Añadid la pasarela. Aquí están todos los ficheros, aunque se ponen

los enlaces directos. Para hacerlo, primero hay que instalar la extensión osid 2.0.1. https://projectes.lafarga.cat/projects/campusokisakai/downloads

2.3.2. Instalación de la pasarela

21. Descargad la extensión OSID (disponible en

https://projectes.lafarga.cat/frs/download.php/1888/osid-extension-2.0.1.tar.gz). Descomprimidla y copiad el contenido de la carpeta "osid" dentro de la carpeta "sakai-src/osid".

22. Configurad los directorios. La extensión utiliza una serie de directorios para almacenar ficheros de registro, diccionarios y propiedades. Si queréis ejecutar los tests durante la compilación hace falta que creéis, en el directorio por defecto del Sakai (en linux /usr/local/sakai), los directorios: "dictionaries", "logs" y "osid_config". Esta implementación OSID utiliza estos ficheros dos veces, la primera cuando compila y ejecuta los tests unitarios, y la otra cuando se ejecuta la herramienta de ejemplo TestTool dentro de Sakai.

En el Tomcat de destino será necesario que creéis estos tres directorios:

Los directorios que hay que crear en la fase test

$CATALINA_HOME/sakai/dictionaries $CATALINA_HOME/sakai/logs $CATALINA_HOME/sakai/osid_config

#Configuración del nombre del fichero de registros que hay en la carpeta logs. Éste es un fichero de Spring, configurad la propiedad "loggingFileName"

$CATALINA_HOME/components/sakai-osid-pack/WEB-INF/components.xml

<Bean id = "org.campusproject.component.osid.logging.LoadPropertiesLogging"

Page 9: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página9 de40

class = "org.campusproject.component.osid.logging.LoadPropertiesLogging" singleton="false">

<Property name="properties"> <Props> <Prop key="loggingFormaType">Plain</prop> <Prop key="loggingFileName">osid.log</prop>

<Prop key="implementationName"> org.campusproject.component.osid.logging

</Prop> </Props> </Property>

#Para superar el test de Logging del TestTool se debe comentar <!--property name= "osidContext" > <bean factory-bean="org.osid.shared.osidContext" factory-method ="createOsidContext" > <Constructor-arg value="true"/> </Bean> </Property--> </Bean>

En el Maven, fase de compilación, si queréis ejecutar los tests es posible cambiar el PATH donde va a buscar por defecto los directorios con el argumento '-Dsakai.home=NOU_PATH'.

23. Para poder configurar la herramienta de test tenéis que crear los

ficheros de configuración dentro del directorio 'osid_config' de $CATALINA_HOME/sakai/osid_config:

- cat.campus.tool.test.TestTool_app.properties - cat.campus.tool.test.TestTool_inst.properties

24. El fichero de app debe contener todas las parejas clave valor: "nombre_clave1 = valor1". El fichero inst tiene que contener sólo claves: 'nombre_clave1'.

NOTA: evitad los saltos de línea al final del fichero. Para hacer funcionar el TestTool hace falta que pongáis la propiedad "propietat_instancia_1"

25. Copiad el jar oki-config.jar. (https://projectes.lafarga.cat/frs/download.php/1757/oki-config-1.0.jar) en el directorio ".maven/repository/OKI/jars".

#Para evitar el siguiente error al ejecutar el paso build: Attempting to download oki-config-1.0.jar. WARNING: Failed to download oki-config-1.0.jar. BUILD FAILED File ... ... /home/user/.maven/cache/sakai-2.2/plugin.jelly Elemento ... maven:reactor Line ... ... 34 Column. ... 6 The build cannot continue because of the following unsatisfied dependency: oki-config-1.0.jar

#Copiad el fichero oki-config-1.0.jar en el .maven/repository/OKI/jars

Windows %HOMEDRIVE%%HOMEPATH%\.maven\repository\OKI\jars

Linux/Unix/Mac $HOME/.maven/repository/OKI/jars

Page 10: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página10 de40

#Se puede descargar desde: https://projectes.lafarga.cat/frs/download.php/1757/oki-config-1.0.jar

26. Pasad a recompilar, tenéis que utilizar el conector de Maven.

Ahora ya podéis hacer la recompilación del módulo nuevo. Para eso:

#El Tomcat tiene que estar parado $ cd sakai-src/osid $ maven sakai -Dmaven.test.skip=true

27. Arrancad el Tomcat.

28. Cread un espacio mediante la herramienta de administración de

espacios de la plataforma y añadid la herramienta TestTool. Para eso cread un espacio (site), una página y añadid la herramienta del tipo "Herramienta test Campus (cat.campus.tool.test.TestTool)". Ver Test en el punto 3.1.

2.3.3. Instalación del CampusTool

29. Una vez probado y ejecutado con éxito el TestTool vais a instalar el

módulo campustool. El campustool permite la instalación de aplicaciones haciendo de intermediario (proxy) entre las diferentes aplicaciones. Para eso hace falta que descarguéis el campustool en: https://projectes.lafarga.cat/frs/download.php/1889/campustool-1.0rc2.tar.gz.

Hay que descomprimirlo en el directorio donde tenéis el código fuente del Sakai

sakai-src/ Se crearán las carpetas

sakai-src/campustool/campustool Ahora ya podéis hacer la recompilación del módulo nuevo. Para eso: $ Detened el tomcat $ cd sakai-src/campustool $ maven sakai -Dmaven.test.skip=true

30. Definid los parámetros de contexto que servirán para pasar valores

en todo el sistema, cread el fichero $CATALINA_HOME/sakai/sakai.campusproxytool.properties con el contenido:

contextParams = sessionId, instanceId, ip, httpagent, dictionaryDir, remote_ip, app_properties, instance_properties, currentagent

31. Ahora cread, en la carpeta "sakai" del Tomcat, una subcarpeta que

se llame "tools" con el fichero $CATALINA_HOME/sakai/tools/campustool.xml, con el contenido:

<?xml version="1.0" encoding="UTF-8"?> <Registration></registration>

Page 11: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página11 de40

NOTA: para hacer que haya más parámetros de configuración de tipo aplicación se tiene que modificar la clase por defecto. Lo que tenéis que hacer es editar cat.udl.asic.tool.Installer y en el método addAppTool. public Document addAppTool (Document doc,String name,String executeUrl, ,HttpServletRequest req){ (...)

//Element para el osidconfigdir Element surl = doc.createElement ("configuration"); surl.setAttribute ("name","surl"); surl.setAttribute ("value","url mantenimiento sesion"); tool.appendChild (surl);

En este caso se ha añadido el parámetro de configuración surl con valor por defecto "url mantenimiento sesion".

32. Arrancad el Tomcat. 33. Para ejecutar la aplicación remota necesitáis instalar en el servidor

el OkiBus y otro servidor para ejecutar las aplicaciones cliente. La explicación de cómo desplegar estas aplicaciones remotas en Sakai está en el punto 5.2.

Page 12: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página12 de40

2.4. OkiBus

2.4.1. Introducción

34. Está definido en varios proyectos:

Java_OSID_2.0a https://svn.projectes.lafarga.org/svn/campus/okibus/

okibusJava/trunk/OKI_OSID_2.0

OkiBusJava, crear jar

https://svn.projectes.lafarga.org/svn/campus/okibus/okibusJava/trunk/OkiBusJava

OkiBusJavaWebAppServer, necesita OkiBus

https://svn.projectes.lafarga.org/svn/campus/okibus/okibusJava/trunk/OkiBusJavaWebAppServer

OkiBusXmlSchemas

https://svn.projectes.lafarga.org/svn/campus/okibus/okibusJava/trunk/OkiBusXmlSchemas

CampusComponentsJava

https://svn.projectes.lafarga.org/svn/campus/components/componentsJava/trunk

OSID_Test https://svn.projectes.lafarga.org/svn/campus/OSID-Tests/OSID-TestJava/trunk

CampusLauncherJava

https://svn.projectes.lafarga.org/svn/campus/launcher/launcherJava/trunk

35. Montad todos los proyectos en Eclipse.

Descargando del SVN

Se puede instalar el conector de Subversion en el Eclipse

Importando el proyecto

Una vez descargado el proyecto del Subversion podéis importar el proyecto con el Eclipse. Seleccionad File -> importe -> Existing Projects into Workspace

Indicad el camino completo en el directorio del proyecto a importar

36. Configuración del OkiBus, mediante variables de entorno. Con el fin

de facilitarla hará falta que indiquéis las variables de entorno OkiBusProviderConfigFile y ComponentsConfigFile.

OkiBusProviderConfigFile Para indicar en la parte servidor del OkiBus dónde está la implementación.

ComponentsConfigFile Para indicar en la parte cliente del OkiBus dónde atacan los componentes (tiene que estar en el OkiBus Cliente en producción)

Page 13: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página13 de40

Para conseguir establecer estas variables de entorno podéis hacer:

Windows set ComponentsConfigFile=classpath:/config/configuration.okibus.bin set OkiBusProviderConfigFile=classpath:/oki_operations_manager.gatewaysakai.properties

Linux/Mac export ComponentsConfigFile=classpath:/config/configuration.okibus.bin export OkiBusProviderConfigFile=classpath:/oki_operations_manager.gatewaysakai.properties

En el código que encontramos en lafarga.cat tenéis:

CampusComponentsJava

configuration.dummy.bin -> Componentes vs dummy configuration.gateway.bin -> Componentes vs Gateway campus de la UOC configuration.okibus.bin -> Componentes vs OkiBus Cliente

OkiBusProviderConfigFile

oki_operations_manager.dummy.properties -> OkiBus Server vs Dummy oki_operations_manager.gateway.properties -> OkiBus Server vs Gateway campus de la UOC oki_operations_manager.gatewaysakai.properties ->OkiBus Server vs Gateway Sakai oki_operations_manager.okibus.properties -> OkiBus Server vs OkiBus Cliente (provocando ciclo)

Pero si queréis ejecutarlo desde Eclipse debéis seguir las instrucciones:

Page 14: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página14 de40

La definición de las librerías que hay que utilizar se encuentra en la pestaña Classpath.

La localización de los ficheros de configuración se indica en la pestaña Environment.

NOTA para usuarios de Windows: se pueden establecer las variables a escala global del sistema o del usuario, tenéis que clicar con el botón derecho sobre "MI PC":

Page 15: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página15 de40

Clicad sobre "Variables de entorno":

Page 16: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página16 de40

2.4.2. OkiBus Servidor

37. Ficheros de configuración

Los archivos siguientes que se tienen que modificar son parte del Proyecto OkiBusJavaWebAppServer.

- OkibusProviderConfigFile, Implementaciones OSID: la implementación que tiene que usar cada OSID se indica con la varible de entorno OkiBusProviderConfigFile:

o WebContent\WEB-INF\classes\

oki_operations_manager.gatewaysakai.sakai.proper

ties. Cada manager se configura con la clave ‘'Implementation.<fullQualifiedOsidInterfaceName>', y como valor el fullQualified Package Name de la clase implementadora. Ejemplo de configuración con la pasarela:

Implementation.org.osid.agent.AgentManager=org.campusproject.component.osid.agent Implementation.org.osid.authentication.AuthenticationManager=org.campusproject.component.osid.authentication Implementation.org.osid.authorization.AuthorizationManager=org.campusproject.component.osid.authz Implementation.org.osid.id.IdManager=org.campusproject.component.osid.id Implementation.org.osid.logging.LoggingManager=org.campusproject.component.osid.logging Implementation.org.osid.dictionary.DictionaryManager=org.campusproject.component.osid.locale

- OsidContextParams: permite indicar los parámetros de

contexto contextParams = sessionId,instanceId,ip,httpagent,dictionaryDir,remote_ip, app_properties, instance_properties, currentagent

El fichero se puede encontrar en OkiBusJava/config/OsidContextParams.properties. Recomendamos copiarlo en el shared/clases del Tomcat

- log4java: se puede modificar la configuración del log4java en el siguiente fichero:

o WebContent\WEB-INF\classes\log4j.properties

38. Instalación OkiBus Servidor, es necesario que despleguéis el war

OkiBusJavaWebAppServer en apache-tomcat-5.5.23-SAKAI/webapps.

2.4.3. OkiBus Cliente

39. Instalación del Tomcat para el cliente

Windows #Hay que instalarlo como un servicio

$CATALINA_HOME\tomcat\bin> service.bat install

Linux/Unix/Mac $ tar xvfz apache-tomcat-5.5.23.tar.gz #si está en zip $ unzip apache-tomcat-5.5.23.zip

Page 17: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página17 de40

40. Para hacerlo más claro mbraréis al directorio en apache-tomcat-

5.5.23-Client. 41. Configurad Tomcat, modificad el

$CATALINA_HOME/conf/server.xml para modificar el puerto.

Añadir URIEncoding="UTF-8" al elemento Conector <CoNnector port="8081" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>

42. Configuración del OkiBus Cliente.

Los ficheros siguientes que se tienen que modificar son de OkiBusJava.

Ubicación de los servicios. El cliente tiene que conocer los URL para acceder a los servicios del lado servidor. Eso se parametriza en:

o El mecanismo consulta el fichero WebContent\WEB-

INF\classes\oki_service_locator.properties, que tiene una entrada para cada servicio.

DispatcherAgent=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAgent

DispatcherAuthentication=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAuthentication

DispatcherAuthorization=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAuthorization

DispatcherConfiguration=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherConfiguration

DispatcherIdentifier=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherIdentifier

DispatcherLocale=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherLocale

DispatcherLogging=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherLogging

Configuración de los componentes. Ésta la indica el ComponentsConfigFile:

- WebContent\WEB-INF\classes\config\configuration.okibus.bin

Este fichero indica: � La implementación del OSID que se tiene que utilizar

(osid_20_<OSID>_Implementation). No tiene que cambiarse, porque en el lado del cliente tiene que trabajar con la implementación de los OSID del OkiBus.

osid_20_Logging_Implementation=org.campusproject.okibus.cons.logging osid_20_Configuration_Implementation=org.campusproject.okibus.cons.configuration osid_20_Id_Implementation=org.campusproject.okibus.cons.id osid_20_Authentication_Implementation=org.campusproject.okibus.cons.authentication osid_20_Agent_Implementation=org.campusproject.okibus.cons.agent osid_20_Locale_Implementation=org.campusproject.okibus.cons.dictionary osid_20_Dictionary_Implementation=org.campusproject.okibus.cons.dictionary osid_20_Authorization_Implementation=org.campusproject.okibus.cons.authorization

� Indica algunos parámetros para el LoggingComponent.

log_filename=c:\\config\\logging.obj loggingFormatType_keyword=PLAIN

� También indica los tipos. type.authority=CAMPUSPROJECT.ORG type.domain.agent=Agent type.domain.authentication=Authentication type.domain.authorization=Authorization type.domain.function=Function type.domain.logging=Logging

Configuración de los componentes. Ésta la indica el ComponentsConfigFile: Instalación OkiBus Cliente, es necesario que

Page 18: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página18 de40

despleguéis el war OkiBusJavaWebAppClient en apache-tomcat-5.5.27-Client/webapps

Datos que se esperan en el OsidContext

El fichero de configuración WebContent\WEB- INF\classes\OsidContextParams.properties se encuentra en el servidor como en el cliente. Éste se usa desde 3 puntos: - Desplegado en el cliente:

o Para que el ejecutor (launcher) sepa qué argumentos del URL tiene que guardar en la sesión de la solicitud (request) HTTP. Esta solicitud es guardada por los componentes en el OsidContext al crear los gestores (managers) mediante el OsidLoader.

o Para que cuando se envía al servidor un mensaje por el bus, sepamos qué datos sacar de la sesión de la solicitud HTTP que tiene el OsidContext, y estos datos se envíen (no es posible pasar la solicitud).

- Desplegado en el servidor: o Para que cuando el servidor pregunta alguna cosa en la

pasarela y obtiene un OsidContext de retorno, sepa qué propiedades tiene que preguntar el OsidContext para volverle al cliente.

Page 19: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página19 de40

43. Cread el jar del Osid; para hacerlo clicad el botón derecho sobre

"okiOSID-2.0.jardesc".

44. Repetid la misma operación con el proyecto

CampusComponentsJava; ahora se tiene que clicar sobre "CampusComponents.jardesc", y se crea "campusComponents.jar". También lo haréis en el proyecto OkiBusJava sobre "OkiBusJava.jardesc" y obtendréis "OkiBusJava.jar".

45. Con XMLBeans cread las clases a partir de los esquemas (Schemas); para eso recomendamos usar el Eclipse Lomboz (existen conectores para otras versiones de Eclipse, pero hasta la fecha no funcionan correctamente). Abriréis el proyecto OkiBusXmlSchemas y allí se creará el okiBusXmlSchemas.jar.

NOTA: la compilación de OkiBusXmlSchemas cambia la orden de las librerías en el fichero .classpath, y aparece como cambiado a la hora de subirlo al Subversion. No hagáis caso. NOTA: la compilación de esquemas en el proyecto OkiBusXmlSchemas se ejecuta con frecuencia aunque los ficheros no hayan cambiado, y eso consume bastante tiempo. Para desactivarlo seleccionad el proyecto y en Project > Properties > Project Facets > Modify Project... > deseleccionar Apache XMLBeans. No subáis este cambio al control de versiones, si lo hacéis no se generarán los ficheros la primera vez que los usuarios lo descarguen.

46. Generación de los WAR de las aplicaciones.

Page 20: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página20 de40

OkiBusJavaWebAppServer

Desplegado en el Tomcat-Sakai

CampusLauncherJava Desplegado en el Tomcat-Cliente

Aplicación Oki Desplegada en el Tomcat-Cliente

47. Una vez configurado y generados los jars necesarios deberéis tener

la siguiente estructura:

Tomcat-5.5.23-SAKAI desplegado: � Ya lo habéis desplegado con el Maven. � OkiBusWebAppServer, necesita los jars (ver punto

"2.4.3.1 Crear Aplicaciones Oki" para hacerlo desde Eclipse). Si no se indica lo contrario se pueden encontrar en la carpeta "lib" del proyecto OkiBusJava � axis.jar � commons-discovery-0.2.jar � commons-logging.jar � jaxrpc.jar � jsr173_1.0_api.jar � log4j-1.2.14.jar � saaj.jar � wsdl4j-1.5.1.jar � xbean.jar � OkiBusJava.jar (montado antes) � okiBusXmlSchemas.jar (creado antes a partir del

xmlbeans) NOTA importante para evitar problemas de seguridad: no debe añadir el jar OkiOSID-2.0.jar, ya que éste está en la carpeta shared/lib del Tomcat y tiene que interactuar con la implementación de la pasarela sakai-osid-impl-2.4.1.jar.

Tomcat-5.5.23-Cliente desplegado de las aplicaciones. Si seguís las instrucciones del punto "2.4.1 Crear Aplicaciones Oki" podéis exportar como Wars los proyectos en el Tomcat cliente con sus dependencias, que mostramos aquí:

� CampusLauncherJava � CampusComponents.jar (creado antes) � okiOsid-2.0.jar (creado antes)

� Aplicació Oki (si no se indica lo contrario se pueden encontrar en la carpeta "lib" del proyecto OkiBusJava) � CampusComponents.jar (creado antes) � okiOsid-2.0.jar (creado antes) � axis.jar � commons-discovery-0.2.jar � commons-logging.jar � jaxrpc.jar � jsr173_1.0_api.jar � log4j-1.2.14.jar � saaj.jar � wsdl4j-1.5.1.jar � xbean.jar � OkiBusJava.jar (montado antes)

Page 21: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página21 de40

� okiBusXmlSchemas.jar (creado antes a partir del xmlbeans)

NOTA: La estructura creada por los pasos anteriores genera jars repetidos a nivel de lib de webapp; sería recomendable centralizarlo en el shared/lib, que es visible para todas las aplicaciones web. Del mismo modo, los ficheros de configuración tendrían que estar centralizados en el shared/clases del Tomcat.

48. Esquema de configuración final:

Como hemos visto más arriba, los ficheros de configuración se encuentran en los jars y por lo tanto su modificación es muy pesada. Se pueden colocar en el shared/clases y quedarán centralizados de la manera siguiente:

� Tomcat Sakai: � oki_operations_manager.gatewaysakai.properties

(OkiBusProviderConfigFile que está en OkiBusJavaWebAppServer/config) � OsidContextParams.properties

(parámetros de contexto del jar OkiBusJava.jar)

OkiBusWebAppServer axis.jar commons-discovery-0.2.jar commons-logging.jar jaxrpc.jar jsr173_1.0_api.jar log4j-1.2.14.jar saaj.jar wsdl4j-1.5.1.jar xbean.jar OkiBusJava.jar okiBusXmlSchemas.jar

SAKAI shared/lib/OkiOSID-2.0

Tomcat-Sakai

Applicació Oki axis.jar commons-discovery-0.2.jar commons-logging.jar jaxrpc.jar jsr173_1.0_api.jar log4j-1.2.14.jar saaj.jar wsdl4j-1.5.1.jar xbean.jar OkiBusJava.jar okiBusXmlSchemas.jar CampusComponents.jar okiOsid-2.0.jar

Tomcat-Cliente

CampusLauncherJava CampusComponents.jar okiOsid-2.0.jar

Esquema despliegue

OkiBusWebAppServer 1-OkibusProviderConfigFile (oki_operations_manager_xxx.bin Implementación del Gateway) 2-OsidContextParams (OsidContextParams.properties Indicamos los parámetros de contexto)

Tomcat-Sakai

1-ConponentsConfigFile (configuration.okibus.bin Implementación de los componentes) 2-OsidContextParams (OsidContextParams.properties Indicamos los parámetros de contexto) 3-Localització de los WebServices (oki_service_locator. properties indica dónde están los diferentes dispatxers)

Tomcat-Cliente

Esquema configuración

Page 22: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página22 de40

� Tomcat Cliente: � config/configuration.okibus.bin

(ComponentsConfigFile, en el CampusComponentsJava/config) � OsidContextParams.properties

(parámetros de contexto del jar OkiBusJava.jar) � oki_service_locator.properties

(en el jar OkiBusJava.jar)

2.4.3.1. Crear aplicaciones Oki

Con el fin de poder Okizar una aplicación remota lo que hacemos en Eclipse es:

1. Desde proyecto. botón derecho->Properties 2. J2EE Module Dependencies añadimos JARS de los proyectos del

Workspace

Proyecto Carpeta

OkiBusJava OkiBusJava.jar

OkiBusJava lib/axis.jar

OkiBusJava lib/commons-discovery-0.2.jar

OkiBusJava lib/commons-logging.jar

OkiBusJava lib/jaxrpc.jar

OkiBusJava lib/jsr173_1.0_api.jar

OkiBusJava lib/log4j-1.2.14.jar

OkiBusJava lib/saaj.jar

OkiBusJava lib/wsdl4j-1.5.1.jar

OkiBusJava lib/xbean.jar

OkiBusXmlSchemas okiBusXmlSchemas.jar

Java_OSID_2.0a okiOSID-2.0.jar

CampusComponentsJava CampusComponentsJava.jar

3. Java Build Path->Order and Export. Aseguraos de que está

marcada la "Web App Libraries" NOTA: para crear el WAR del ejecutor (launcher) se recomienda marcar a Module Dependencies; añadid JARS de los proyectos del Workspace

Proyecto Carpeta

Java_OSID_2.0a okiOSID-2.0.jar

CampusComponentsJava CampusComponentsJava.jar

Page 23: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página23 de40

Si lo que queréis es desplegarlo en producción, de momento, a falta de un Ant o Maven que gestione el despliegue, recomendamos poner en el shared/lib:

Tomcat Cliente

OkiBusJava.jar

lib/axis.jar

lib/commons-discovery-0.2.jar

lib/commons-logging.jar

lib/jaxrpc.jar

lib/jsr173_1.0_api.jar

lib/log4j-1.2.14.jar

lib/saaj.jar

lib/wsdl4j-1.5.1.jar

lib/xbean.jar

okiBusXmlSchemas.jar

okiOSID-2.0.jar

CampusComponentsJava.jar

Tomcat Servidor

OkiBusJava.jar

okiBusXmlSchemas.jar

3. Persistencia

SAKAI, la persistencia en entorno de desarrollo se ha mantenido con HSQL Database. En el caso de entorno de producción haría falta poner un MySQL, y en el caso de tener más de 2000 se recomienda una base de datos Oracle. Para configurar el acceso a la base de datos hará falta que modifiquéis el fichero $CATALINA_HOME/sakai/sakai.properties. Si se indica MySQL o Oracle hace falta que incorporéis el JDBC correspondiente.

4. IDE

4.1. Selección IDE

Como IDE recomendamos Eclipse, disponible en: http://www.eclipse.org/downloads Con el fin de poder montar el proyecto en Eclipse se recomienda que sigáis las instrucciones que hay en:

Page 24: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página24 de40

http://wiki.sakaiproject.org/confluence/pages/viewpage.action?pageId=17028 Con el fin de poder cargar Sakai hará falta que indiquéis, en el eclipse.ini que encontraréis en la carpeta donde se ha instalado:

#Contenido por defecto es -vmargs -Xms40m -Xmx256m

#Canviad a --launcher.XXMaxPermSize 256M -vmargs -Xms128m -Xmx1024m -XX:+UseParallelGC

Los usuarios de Windows no podéis usar "Bloc de Notas", se tiene que utilizar el "edit" o "Wordpad". Es recomendable escoger la JVM actual; para hacerlo hace falta que abráis Eclipse y Window -> Preferences -> Java -> Installed JREs y escogéis el actual. Para poder importar los proyectos en Eclipse debéis seguir la guía:

1. Encended Eclipse. 2. Cread un nuevo workspace para Sakai:

1. Clicad en File -> Switch Workspace 2. Introducid el nombre, por ejemplo WS-sakai" 3. Clicad Ok

3. Añadid las librerías del repositorio de Maven al classpath: 1. Seleccionad Window -> Preferences -> Java -> Build Path -> Classpath

Variables. 2. Añadid la variable MAVEN_REPO en el classpath con el camino del

repositorio local. ($HOME/.maven) 4. Cambiad a la perspectiva de Java (Window -> Open Perspective -> Java).

Aseguraos de que estáis en Package Explorer. 5. Desactivad "Automatic builds", seleccionando Project -> desmarcad Build

automatically. 6. Seleccionad File -> importe -> Existing Projects into Workspace

Indicad el camino completo al directorio del código fuente Sakai (sakai-src).

7. Clicad Deselect All para deseleccionar todos los proyectos. 8. Seleccionad los proyectos siguientes (básicamente necesitamos la mayoría de

API, algunas utilidades y todos los referentes en la base de datos). alias-api announcement-api archive-api authz-api * componente-api * content-api courier-api cm-api db-api db-impl db-util entity-api *

Page 25: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página25 de40

email-api event-api * jsf message-api master site-api * site-manage-api tool-api * user-api * user-util * util-api * util-util velocity

* tiene que estar relacionado con proyecto "osid"

9. Seleccionad los propios de la pasarela. osid authz-impl * entity-impl * memory-api * site-impl * tool-impl * tool-util * test-harness * archive-api * * tiene que estar relacionado con proyecto "osid"

10. Clicad Finish para importar los proyectos (puede tardar 5 minutos).

4.2. Debugger (depurador)

Con el fin de poder depurar el proyecto con el Tomcat instalado y evitar un consumo excesivo de recursos proponemos la depuración remota.

1. Estableced el puerto de conexión en el Tomcat. Cread el fichero de ejecución siguiente:

set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket catalina jpda start

2. Enlazad con Eclipse.

Page 26: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página26 de40

5. Test

5.1. Prueba de la herramienta de test de instalación de Sakai

1. Acceded a la zona de administrador, por defecto usuario="admin" y

password="admin". Para poder configurar la herramienta de test tenéis que crear los ficheros de configuración dentro del directorio 'osid_config' de $CATALINA_HOME/sakai/osid_config:

- cat.campus.tool.test.TestTool_app.properties - cat.campus.tool.test.TestTool_inst.properties

2. El fichero de app tiene que contener la pareja clave valor: "propietat_instancia_1 = prop1". El fichero inst tiene que contener sólo claves: 'propietat_instancia_1'

3. Cread un sitio nuevo.

4. Id a las páginas del sitio (site).

Page 27: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página27 de40

5. Cread una página nueva.

6. Id a las herramientas de la página.

Page 28: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página28 de40

7. Cread la nueva herramienta del tipo "Herramienta test Campus"

(cat.campus.tool.test. Tool).

Page 29: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página29 de40

8. Guardad e id al sitio (clicad home y saldrá en la barra superior) y ved el resultado: se tiene que obtener el nombre del usuario actual (admin).

5.2. Prueba de WelcomeJavaApp

5.2.1. Introducción

Con esta prueba conseguiréis ver el funcionamiento correcto del escenario planteado al principio:

• En un servidor está instalado el Sakai con la implementación de los OSID.

Con el OkiBus Servidor instalado y configurado correctamente para usar la pasarela de Sakai.

Este servidor supondremos que está en http://localhost:8080

• Otro servidor, que actúa como Cliente, tiene que poder usar la implementación de los OSID que hay en el servidor anterior teniendo desplegado el CampusLauncherJava, OkiBusClient y Aplicación Oki (WelcomeJavaApp).

Este servidor supondremos que está en http://localhost:8081

5.2.2. Configuración

SERVIDOR

Page 30: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página30 de40

Pasarela Comprobad que se han hecho los pasos 30 y 31 con los valores que se han establecido en aquel punto

OkiBusServidor Comprobad que se ha configurado correctamente el punto 47

shared/clases Poned el fichero oki_operations_manager.gatewaysakai.properties OsidContextParams.properties

shared/lib Deberéis tener oki-config-1.0.jar OkiOSID-2.0.jaroki-config-1.0.jar sakai-osid-impl-2.4.1.jar

Variable de entorno Estableced la variable de entorno OkiBusProviderConfigFile=/oki_operations_manager.gatewaysakai.properties

CLIENTE

CampusLauncherJava

Comprobad que está desplegado con todos los jars necesarios

shared/clases Deberéis tener OsidContextParams.properties oki_service_locator.properties config/configuration.okibus.bin

shared/lib CampusComponentsJava.jar okiOSID-2.0.jar OkiBusJava.jar okiBusXmlSchemas.jar axis.jar commons-discovery-0.2.jar commons-logging.jar jaxrpc.jar jsr173_1.0_api.jar saaj.jar wsdl4j-1.5.1.jar xbean.jar

WelcomeJavaApp Se puede descargar de: https://svn.projectes.lafarga.org/svn/campus/App-sample/welcomeJApp

Configuración de oki_service_locator; donde pone urlSakai habrá que poner localhost:8080. Como ejemplo mostramos: DispatcherAgent= http://localhost:8080/OkiBusJavaWebAppServer/services/DispatcherAgent

5.2.3. Test

1. Lo primero que tenéis que hacer es usar el instalador del CampusTool,

que tiene que estar instalado en un sitio. Por lo tanto, como habéis hecho anteriormente:

a. Crearéis un sitio nuevo. b. Crearéis una página nueva que nombraréis "Installer".

Page 31: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página31 de40

c. Clicaréis sobre el botón "Tools" para acceder a las herramientas y crearéis una herramienta nueva ("New Tool") del tipo "Campus installer tool (campus.installer)".

d. Clicad sobre el botón "Save". e. Os dirigís a la página que acabáis de crear.

Page 32: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página32 de40

Donde: � Application Name es el nombre de la herramienta nueva que se creará � Version representa la versión de la herramienta (que también formará parte

del nombre de la herramienta) � Url instalación es http://localhost:8081/welcomeApp/install.jsp � Url ejecución es http://localhost:8081/welcomeApp/index.jsp � Launcher Relative Url - es necesario tener una webapps en el servidor cliente

(en este caso el servidor cliente está escuchando http://localhost:8081de, por lo tanto el URL relativo será /CampusLauncherJava/launcher/launcher.jsp)

f. Apretad el botón "Install".

2. Proceded a reinicar el Tomcat. Ahora ya podréis utilizar esta

herramienta en un curso. 3. Id a "Worksite Setup" y vais a crear un curso nuevo; para hacerlo

clicad en la zona superior, donde pone "New".

Page 33: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página33 de40

4. Seleccionad el tipo "Course sitio web" y seleccionáis un "Trimestre académico". En la versión 2.4.1 no existe la manera de gestionar los "Trimestres académicos" desde la zona de administración y se tendrán que dar de alta directamente en la base de datos, en la tabla "cm_academic_session_t".

NOTA: si se está utilizando la base de datos de prueba (hsqldb) hace falta que paréis el Sakai, accedéis con algún cliente en esta base de datos y desde allí modificáis la tabla. Aunque resulta más cómodo trabajar con una base de datos como MySQL, para hacerlo habrá que modificar el fichero "sakai.properties" de la carpeta "sakai" del Tomcat.

## HSQLDB settings – on by default #Comentem la configuración de hsqldb #[email protected]=hsqldb

#[email protected]=org.hsqldb.jdbcDriver #hibernate.dialect=org.hibernate.dialect.HSQLDialect

#[email protected]=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS

# two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based #[email protected]=jdbc:hsqldb:mem:sakai

#[email protected]=jdbc:hsqldb:file:${sakai.home}db/sakai.db

# The username and password. The defaults are for the out-of-the-box HSQLDB. Change to match your setup. [email protected]=sakaiuser [email protected]=sakaipassword

## MySQL settings - make sure to alter as appropriate [email protected]=mysql

[email protected]=com.mysql.jdbc.Driver hibernate.dialect=org.hibernate.dialect.MySQLDialect

[email protected]=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8

[email protected]=select 1 from DUAL

[email protected]=TRANSACTION_READ_COMMITTED

5. Añadid el curso haciendo clic en "Add a course(s) and/or section(s) not

listed above...".

Page 34: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página34 de40

Si no se han creado cursos antes, tendréis que ir a "Still cannot find your course/section?".

6. En la pantalla siguiente se tiene que llenar la información del curso.

7. Acabad de llenar los datos del curso.

Page 35: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página35 de40

8. Continuáis los pasos que indica el asistente y ya podéis acceder al curso. Para configurarlo id a "Sites" y seleccionad el curso.

Page 36: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página36 de40

9. Editando el curso id a "Pages". Entonces veréis la lista de páginas y podréis añadir la herramienta en una de las páginas ya creadas o crear una nueva.

10. Si creáis una página nueva, tendréis que ir a "New Page", donde

podréis indicar el título, la estructura de la página y podréis añadir las herramientas. Para crear herramientas nuevas pulsad el botón "Tools".

11. Como es una página nueva no tendréis ninguna herramienta, por lo tanto clicad sobre "New Tool" y añadid la herramienta que se ha instalado antes.

Page 37: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página37 de40

Donde tenéis los parámetros: 1) url: URL de ejecución indicado en el Campus Tool Installer. 2) surl: se utiliza para tener la sesión del sistema central (Sakai).

Por eso tendrá que ser un URL de Sakai que nos haga de "sessionKeeper". Para hacer este sistema abre una ventana emergente (pop-up) con un marco incorporado (iframe) que refresca cada X segundo donde carga este URL (por defecto es $urlTomcat/sakai-campustool/sessionKeeper/session_keeper.jsp).

Ventana emergente con iframe

apuntando a Sakai.

3) dictionaryDir: es el directorio donde están los diccionarios, por defecto "dictionaries/"; hace falta que creéis la carpeta en $CATALINA_HOME/sakai/nom_carpeta_configurada.

12. Reiniciad el Tomcat (este paso de momento es necesario, pero se eliminará en versiones nuevas). Una vez reiniciado aparece la aplicación intermediario (proxy-application) como una herramienta nueva para ser añadida.

13. Añadid, mediante el resto de herramientas de administración, usuarios al espacio.

14. Entrad en el espacio con este usuario. 15. Entonces ya tenéis configurado el instalador de aplicaciones remotas

para poder ejecutarlo. Hará falta que lo instaléis como se indica en el Test 5.1, pero esta vez la herramienta que se tiene que instalar es del tipo "Campus installer tool (campus.installer)". Se tiene que crear un espacio, una página y añadir la herramienta del tipo 'Campus installer tool (campus.installer)'.

16. Dirigíos a la herramienta que acabáis de instalar, y llenad los campos:

Nombre Aplicación:

< El identificador que deseáis para la aplicación> (ASCII)

Versión:

<Versión de la aplicación remota>

Url instalación:

<URL donde está la parte de instalación de la herramienta remota> En nuestro caso http://localhost:8080/sakai-osid-unit-test/install.jsp

Url <URL donde está la parte de ejecución de la herramienta

Page 38: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página38 de40

ejecución: remota> En nuestro caso http://localhost:8080/sakai-osid-unit-test/execute.jsp

17. Apretad el botón 'Instala'. 18. Si todo ha ido correctamente tendríais que ver un mensaje por

pantalla donde se anuncia que ya podéis configurar la herramienta. Entonces se ha creado una aplicación intermediario que hace de representante de la aplicación remota.

19. Id a la administración de espacios de "SakaiWorksite Setup". 20. Ahora ya está preparada para ser utilizada. Esta herramienta muestra

un mensaje segundos si el usuario validado es de un grupo o de otro. Para gestionarlo desde Sakai acceded al Realm.

21. Como es una página nueva no tendréis ninguno. Seleccionad el lugar o

curso donde se ha instalado la herramienta:

Page 39: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página39 de40

22. Para acabar, asignad que el rol Instructor (que forma parte del usuario admin) tenga permiso para ver el mensaje.

Page 40: ejemplo aplicacion maven

MANUAL ENTORNO DESARROLLO SAKAI Versión: 1.0 Página40 de40

23. Ahora podéis ir a ejecutar la herramienta instalada.