z-push - ActiveSync mit PHP
        PHP Unconference

           13.09.2009

          Ingo Reinhart




                 ...
Ingo Reinhart & PHP
• Erster Kontakt 2001, phpBB hacks
• Ausbildung zum Fachinformatiker
  (2002-2004) bei Ontrex GmbH,
  ...
Agenda

• z-push Background + Community
• Installation
• verfügbare Backends
• Backend erstellen
• Ressourcen
            ...
z-push

• freie ActiveSync Implementierung
• Lizenz: GNU GPL Version 2
• in PHP programmiert
• Erweiterbar durch Backend‘s...
ActiveSync

• Microsoft ActiveSync Protokoll
• HTTP basiert, WBXML (WAP Binary XML)
• Serverunterstützung: Exchange (vor z...
Aufbau von z-push
                       z-push Frontend

                       WBXML Codec

                       Backe...
Community



• Froum: http://z-push.sourceforge.net/phpbb/
• SVN: http://svn.berlios.de/svnroot/repos/z-push/
• contributi...
Installation
• Download:
  group_id=8963
                     https://developer.berlios.de/project/showfiles.php?



• Ausp...
Backends & Struktur

• Standard:
 • IMAP/POP3, vCard Dir, Maildir
• Sonst bekannte:
 • Google Calendar
 • GW: DeskNow, Kol...
Backend Entwicklung
class BackendMyEnd extends BackendDiff {
    Logon($username, $domain, $password)
    Logoff()
}
Debug...
Backend Entwicklung
class BackendMyEnd extends BackendDiff {
   GetFolderList()
   GetFolder($id)
   GetMessageList($folde...
Backend Entwicklung
switch($this->folders[$folderid]['type']) {
    case SYNC_FOLDER_TYPE_CONTACT:
    case SYNC_FOLDER_TY...
Message Typen
•   $message = new SyncContact();
•   $message = new SyncAppointment();
•   $message = new SyncTask();
•   $...
z-push Ressourcen

• http://z-push.sourceforge.net
• https://developer.berlios.de/projects/z-push/
• http://z-push.sourcef...
Vielen Dank!


 Fragen?
           Ingo Reinhart <i.reinhart@kirsh.it>


                      Software, Hosting & IT-Serv...
Upcoming SlideShare
Loading in …5
×

z-push PHPUnconference 2009

1,113 views
1,058 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,113
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • z-push PHPUnconference 2009

    1. 1. z-push - ActiveSync mit PHP PHP Unconference 13.09.2009 Ingo Reinhart Software, Hosting & IT-Services
    2. 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. 3. Agenda • z-push Background + Community • Installation • verfügbare Backends • Backend erstellen • Ressourcen Software, Hosting & IT-Services
    4. 4. z-push • freie ActiveSync Implementierung • Lizenz: GNU GPL Version 2 • in PHP programmiert • Erweiterbar durch Backend‘s Software, Hosting & IT-Services
    5. 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. 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
    7. 7. Community • Froum: http://z-push.sourceforge.net/phpbb/ • SVN: http://svn.berlios.de/svnroot/repos/z-push/ • contribution agreement • Hautpentwickler: Zarafa Deutschland GmbH Software, Hosting & IT-Services
    8. 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. 9. Backends & Struktur • Standard: • IMAP/POP3, vCard Dir, Maildir • Sonst bekannte: • Google Calendar • GW: DeskNow, Kolab, Zimbra, ... Software, Hosting & IT-Services
    10. 10. Backend Entwicklung class BackendMyEnd extends BackendDiff { Logon($username, $domain, $password) Logoff() } Debuggen: debugLog(); Software, Hosting & IT-Services
    11. 11. Backend Entwicklung class BackendMyEnd extends BackendDiff { GetFolderList() GetFolder($id) GetMessageList($folderid, $cutoffdate) GetMessage($folderid, $id, $truncsize) ... Software, Hosting & IT-Services
    12. 12. Backend Entwicklung switch($this->folders[$folderid]['type']) { case SYNC_FOLDER_TYPE_CONTACT: case SYNC_FOLDER_TYPE_TASK: case SYNC_FOLDER_TYPE_APPOINTMENT: default: // sind E-Mailfolder } Software, Hosting & IT-Services
    13. 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
    14. 14. z-push Ressourcen • http://z-push.sourceforge.net • https://developer.berlios.de/projects/z-push/ • http://z-push.sourceforge.net/phpbb • http://msdn.microsoft.com/en-us/library/ cc425499.aspx Software, Hosting & IT-Services
    15. 15. Vielen Dank! Fragen? Ingo Reinhart <i.reinhart@kirsh.it> Software, Hosting & IT-Services

    ×