Weitere ähnliche Inhalte
Ähnlich wie z-push PHPUnconference 2009
Ähnlich wie z-push PHPUnconference 2009 (20)
z-push PHPUnconference 2009
- 1. z-push - ActiveSync mit PHP
PHP Unconference
13.09.2009
Ingo Reinhart
Software, Hosting & IT-Services
- 2. Ingo Reinhart & PHP
• Erster Kontakt 2001, phpBB hacks
• Ausbildung zum Fachinformatiker
(2002-2004) bei Ontrex GmbH,
online Hotelbuchung
• Mitarbeiter, Dung Marketing GmbH
(2004-2008), pdflib + CRM/Groupware
• Seit 2009, Selbständig
Software, Hosting & IT-Services
- 3. Agenda
• z-push Background + Community
• Installation
• verfügbare Backends
• Backend erstellen
• Ressourcen
Software, Hosting & IT-Services
- 4. z-push
• freie ActiveSync Implementierung
• Lizenz: GNU GPL Version 2
• in PHP programmiert
• Erweiterbar durch Backend‘s
Software, Hosting & IT-Services
- 5. ActiveSync
• Microsoft ActiveSync Protokoll
• HTTP basiert, WBXML (WAP Binary XML)
• Serverunterstützung: Exchange (vor z-push)
• Geräte: Windows Mobile, iPhone/iPod
touch, Nokia, Sony Ericsson, ...
Software, Hosting & IT-Services
- 6. Aufbau von z-push
z-push Frontend
WBXML Codec
Backend Request
Processor
- IMAP/POP3
- vCard
Differential Zarafa
- own
Engine Engine
Software, Hosting & IT-Services
- 8. Installation
• Download:
group_id=8963
https://developer.berlios.de/project/showfiles.php?
• Auspacken: tar -xzvf z-push-<version>.tar.gz -C /var/www
• Verzeichnis anpassen: chmod 777 /var/www/z-push/state
• Konfiguration von Apache anpassen:
Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
• z-push konfigurieren /z-push/config.php
Software, Hosting & IT-Services
- 9. Backends & Struktur
• Standard:
• IMAP/POP3, vCard Dir, Maildir
• Sonst bekannte:
• Google Calendar
• GW: DeskNow, Kolab, Zimbra, ...
Software, Hosting & IT-Services
- 11. Backend Entwicklung
class BackendMyEnd extends BackendDiff {
GetFolderList()
GetFolder($id)
GetMessageList($folderid, $cutoffdate)
GetMessage($folderid, $id, $truncsize)
...
Software, Hosting & IT-Services
- 13. Message Typen
• $message = new SyncContact();
• $message = new SyncAppointment();
• $message = new SyncTask();
• $message = new Mail_mimeDecode($mail);
• /z-push/proto.php Klassendefinition
Software, Hosting & IT-Services