Alfresco

Introducción

Una muy buena fuente de información y de introducción a la programación del Alfresco está en [2].

Cómo iniciar el servidor

Primero hay que bajarlo del la página de Alfresco [1], yo descargué el alfresco-community-3.4.d-installer-linux-x32.bin que es el ejecutable para Linux del instalador, es un instalador bien sui géneris. Y básicamente la instalación es muy estilo windows, pues pregunta más bien puertos que básicamente están predefinidos los que usa, yo no los cambié, luego enter a todo.

Para iniciar el servidor en el directorio del alfresco-community está el script alfresco.sh:

cd alfresco-3.4.d
./alfresco.sh start

El servidor tiene los comandos: start, stop, restart, help, y status.

Una vez iniciado el servidor, puede ingresar a la página: http://localhost:8080/alfresco, o en dónde lo haya instalado.

Si ya está corriendo puede reiniciarlo con:

./alfresco.sh restart

O includeo lo puede detener si gusta con:

./alfresco.sh stop

Instalando el Web Content Management

Alfresco Web Content Management es el manejador de contenidos y la máguina virtual de Java, para esta máquina virtual de java, toca bajar el paquete alfresco-community-avm-3.4.d.zip, y seguir las instrucciones de Installing AVM to an existing instance of Alfresco en [2], el directorio <extension> al que se refiere está en tomcat/shared/classes/alfresco/extension/ luego de esto hay que instalar los ejemplos como dice en System requirements and prerequisites en [2]

cURL

Para ejecutar un web script que se haya realizado, se puede hacer con curl así:

curl -uadmin:1234 "http://localhost:8080/alfresco/service/hellouser"

Con usuario admin y password 1234.

Para evitar poner siempre el usuario y el password, se puede pedir un ticket al servidor con:

$ curl "http://localhost:8080/alfresco/service/api/login?u=admin&pw=1234"
<?xml version="1.0" encoding="UTF-8"?>
<ticket>TICKET_4c649cf89a6e3a42c2efcdbe621c5429c010b924</ticket>

Ese ticket se puede exportar a una variable del sistema, y se vuelve a usar con la variable de forma más sencilla:

export TICKET=TICKET_4c649cf89a6e3a42c2efcdbe621c5429c010b924

Cada vez que se quiera hacer una consulta se pasa el ticket a la variable alf_ticket así:

curl "http://localhost:8080/alfresco/service/hellouser.json?alf_ticket=$TICKET"

o

curl -H "Accept: text/html" "http://localhost:8080/alfresco/s/hellouser?alf_ticket=$TICKET"

o

curl "http://localhost:8080/alfresco/s/cmis/p/Data%20Dictionary/children?types=documents&alf_$TICKET"

Callback

Los callback están explicados en [4], y en el libro de Professional Alfresco, hay que configurar el sistema para que permita hacer las llamadas de callback. Cree el archivo installLocation/tomcat/shared/classes/alfresco/web-extension/custom-web-framework-application-context.xml, el archivo puede tener cualquier nombre desde que termine con el prefijo -context.xml.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="webscripts.container" parent="webscripts.abstractcontainer"
  class="org.springframework.extensions.webscripts.PresentationContainer">
  <property name="name"><value>Spring Web Scripts Container</value></property>
  <property name="allowCallbacks"><value>true</value></property>
</bean>
</beans>

Errores y soluciones

La segunta vez que inicié el servidor de alfresco, me generó el siguiente error:

~/alfresco-3.4.d$ ./alfresco.sh start
110905 11:23:26 mysqld_safe Logging to '/home/juanfe/alfresco-3.4.d/mysql/data/mysqld.log'.
110905 11:23:27 mysqld_safe Starting mysqld.bin daemon with databases from /home/juanfe/alfresco-3.4.d/mysql/data
/home/juanfe/alfresco-3.4.d/mysql/scripts/ctl.sh : mysql  started at port 3306
Using CATALINA_BASE:   /home/juanfe/alfresco-3.4.d/tomcat
Using CATALINA_HOME:   /home/juanfe/alfresco-3.4.d/tomcat
Using CATALINA_TMPDIR: /home/juanfe/alfresco-3.4.d/tomcat/temp
Using JRE_HOME:        /home/juanfe/alfresco-3.4.d/java
Using CLASSPATH:       /home/juanfe/alfresco-3.4.d/tomcat/bin/bootstrap.jar
PID file (/home/juanfe/alfresco-3.4.d/tomcat/temp/catalina.pid) found. Is Tomcat still running? Start aborted.

Simplemente borré el archivo tomcat/temp/catalina.pid y de nuevo lo inicié sin problemas.

[1] http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco

[2] http://www.alfresco.com/help/34/community/all/

[3] http://code.google.com/p/alfresco-developer-guide/

[4] http://wiki.alfresco.com/wiki/Web_Scripts#JSON_Callbacks

OpTrWiki: Alfresco (last edited 2011-09-09 22:11:01 by JuanfJaramillo)