Funambol synchronisatie

Funambol wordt gebruikt om Daantje, Sjaantje, Boromir, Merry en (nu nog) Truus te synchroniseren. Het is een java web-applicatie, en draait bij ons onder Tomcat. Funambol is zowel proprietary als open source verkrijgbaar, wij gebruiken uiteraard de open source versie, te vinden op http://www.funambol.com/opensource/. Er is een Syn4J wiki: . De source code is te bekijken via viewcvs. Er staat wat documentatie op samwise in /usr/share/doc/funambol.

Installatie

Server

Er staat een nette handleiding online. Vervelend genoeg gaat de handleiding er van uit dat Tomcat nergens anders voor gebruikt wordt, dus we moeten ondweg wat rommelen.

cd /usr/local
mkdir funambol
cd funambol
wget http://download.forge.objectweb.org/sync4j/funambol-ds-server-5.0.10.zip
unzip funambol-ds-server-5.0.10.zip
mv Funambol/ds-server .
apt-get install libmysql-java #is waarschijnlijk al geïnstalleerd
rmdir Funambol
cd ds-server
joe install.properties

Pas install.properties als volgt aan:

dbms=mysql
 
#en verderop de instellingen voor mysql aanpassen en de commentaar tekens weghalen
jdbc.classpath=/usr/share/java/mysql-connector-java.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/funambol
jdbc.user=funambol
jdbc.password=thhg2tg

Maak met MySQL administrator een funambol database en user aan. Geef de user de benodigde rechten. Daarna de installer uitvoeren:

export J2EE_HOME=/usr/share/tomcat5
export JAVA_HOME=/usr/lib/j2se/1.4/jre
sh bin/install.sh tomcat50

Zeg maar overal ja op. Nu wordt het tijd om te hacken. We willen tomcat5 niet opstarten met de funambol start.sh. Om funambol toch te laten werken passen we het opstartscript van Tomcat, catalina.sh aan.

joe /usr/share/tomcat5/bin/catalina.sh

Voeg de volgende regels toe ergens aan het begin van het script

#Funambol stuff
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8 -Dfunambol.ds.home=/usr/local/funambol/ds-server"

Zet nu de rechten goed voor de bestanden die moeten kunnen worden gewijzigd door Tomcat:

chown -R tomcat5:nogroup /usr/local/funambol/ds-server/config
chown -R tomcat5:nogroup /usr/local/funambol/ds-server/db

Nu kan Tomcat opnieuw worden gestart, en als het goed is draait Funambol: /etc/init.d/tomcat5 restart. Na enkele minuten kun je kijken of alles werkt: http://www.vdmeulen.net:8180/funambol.

Administration Tool

Om de server remote te beheren. We downloaden dus een windows versie: http://download.forge.objectweb.org/sync4j/funambol-admin-3.0.9.exe. Log daarmee in op de funambol server. Parameters:

Host www.vdmeulen.net
port 8180
user admin
password sa

Als www.vdmeulen.net niet werkt eventueel het ip adres proberen (10.10.0.2). Het schijnt dat java en funambol in sommige gevallen problemen hebben met dns (?). Zodar het werkt:

  • Logfile wijzigen in /var/log/tomcat5/funambol_ds.log.
  • Users pieter (user+admin) en carola (user) toevoegen.
  • User admin verwijderen.
  • Calendar en tasks op multi-user zetten

Outlook plugin

De device ID die wordt gebruikt door de outlook plugin is in te stellen via registry setting \HKEY_LOCAL_MACHINE\SOFTWARE\Funambol\SyncClientOutlook\spds\syncml. One user has reported that the Funambol Outlook client wouldn't work for him unless he made this change to the registry:

  [HKEY_LOCAL_MACHINE\SOFTWARE\Funambol\SyncClientOutlook\spds\syncml]
  "maxModPerMsg"="50" instead of 150. 

Stond op Boromir ingesteld op 100. Gewijzigd in 150. Was overigens niet het probleem; dat waren de rechet op de configurartie bestanden en de database.

Extra modules

  • De exchange connector gebruikt eventueel een exchande server als back-end voor funambol. Vooralsnog niet interessant.
  • De email connector is te gebruiken om email te syncen. Wel interessant.
    cd /usr/local/funambol
    wget http://download.forge.objectweb.org/sync4j/funambol-email-3.0.15.zip
    unzip funambol-email-3.0.15.zip
    mv Funambol/inbox-listener .
    mv Funambol/connectors/email/funambol-email-3.0.15.s4j ds-server/modules
    mv Funambol/connectors/email /usr/share/doc/funambol
    joe ds-server/install.properties #voeg email-3.0.15 toe aan de lijst van te installeren modules
  • De email gateway?
  • De LDAP connector?

Na het installeren van extra modules opnieuw de rechten van db en config goed zetten, en de instelling voor logfiles goed zetten. Waarschijnlijk is het handig om een backup te maken van db en config.

Inbox listener

Implementeren nadat de email connector is geinstalleerd.

wget 

Kopieer /etc/init.d/skeleton naar /etc/init.d/funambol-inbox-listener. Pas het begin van het script aan:

#! /bin/sh
# Start/stop script for funambol inbox listener
# Author: Pieter van der Meulen <pieter@vdmeulen.net>
#
 
#Funambol inbox listener settings
JAVA_HOME=/usr/lib/j2se/1.4
JDBC_JAR=/usr/share/java/mysql-connector-java.jar
INBOXLISTENER_HOME=/usr/local/funambol/inbox-listener
JAVA_OPTS="-Dinboxlistener.config=$INBOXLISTENER_HOME/config -Djava.util.logging.config.file=$INBOXLISTENER_HOME/bin/inboxlistenerlog.properties"
IL_LIB="$INBOXLISTENER_HOME/lib/funambol-framework.jar:$INBOXLISTENER_HOME/lib/funambol-server.jar:$INBOXLISTENER_HOME/lib/funambol-ext-3.0.4.jar:$INBOXLISTENER_HOME/lib/axis.jar:$INBOXLISTENER_HOME/lib/commons-discovery.jar:$INBOXLISTENER_HOME/lib/commons-lang-2.0.jar:$INBOXLISTENER_HOME/lib/commons-logging-1.0.4.jar:$INBOXLISTENER_HOME/lib/jaxrpc.jar:$INBOXLISTENER_HOME/lib/log4j.jar:$INBOXLISTENER_HOME/lib/saaj.jar:$INBOXLISTENER_HOME/lib/wsdl4j-1.5.1.jar:$INBOXLISTENER_HOME/lib/mail.jar:$INBOXLISTENER_HOME/lib/activation.jar"
IL_JAR="$INBOXLISTENER_HOME/lib/funambol-inboxlistener-3.0.15.jar"
CLASSPATH="-classpath $JDBC_JAR:$IL_LIB:$IL_JAR"
JAVA_EXEC="$JAVA_HOME/bin/java"
JAVA_ARGS="$JAVA_OPTS $CLASSPATH com.funambol.email.inboxlistener.engine.InboxListener"
 
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Funambol synchronisation server inbox listener"
NAME="(java)"
#DAEMON=/usr/local/funambol/inbox-listener/bin/startlistener.sh
DAEMON=$JAVA_EXEC
DAEMON_ARGS="--name $NAME --chdir $INBOXLISTENER_HOME/bin --background --make-pidfile -- $JAVA_ARGS"
PIDFILE=/var/run/funambol-inbox-listener.pid
SCRIPTNAME=/etc/init.d/$NAME
 
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

Maak het shell scipt executable: chmod a+x funambolinbox-listener.

Logs

  • /var/log/tomcat5/localhost_funambol_log.????-??-??.txt
  • /var/log/tomcat5/localhost_pimweb_log.????-??-??.txt
  • /var/log/tomcat5/funambol_ds.log oorspronkelijk in /usr/local/funambol/ds-server/logs
  • /var/log/tomcat5/catalina_????-??-??.log

Problemen/todo

  • Taken worden niet gesynchroniseerd
  • Naam in HTC heeft slechts voor- en achternaam (geen tussenvoegsels)
  • “All day event” bitje verdwijnt bij synchronisatie. Dit is een “feature” :-?. Zie de tracker.
  • PNO agenda synchroniseren. Kijk eens naar http://www.scheduleworld.com/tg/syncmlInfo.jsp.
  • Email en push email configureren, liefst gefilterd voor spam.
  • Multi-user aanzetten!
/share/Web/dokuwiki/data/pages/beheer/funambol.txt · Laatst gewijzigd: 2013/12/23 13:45 door pieter
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5