Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien...
Transcript of Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien...
![Page 2: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/2.jpg)
2 of 4215/05/14
OpenChange The World www.openchange.org
Contents
● About me
● Introduction
● Yesterday: since SambaXP 2013
● Today
● Tomorrow
![Page 3: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/3.jpg)
3 of 4215/05/14
OpenChange The World www.openchange.org
Julien Kerihuel - Zentyal CTO
@jkerihuel
OpenChange Project Founder> 10 years of my life
Free Software foundations:wireshark, samba
December 2003 – February 2005: OpenChange - End of Study Project
![Page 4: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/4.jpg)
4 of 42
15/07/2013OpenChange The World www.openchange.org
Introduction
![Page 5: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/5.jpg)
5 of 4215/05/14
OpenChange The World www.openchange.org
What is OpenChange?
● Started in 2004
● Free Software released under GPLv3 or later
● Portable Implementation of Microsoft Exchange Server and Exchange protocols
● Complete solution to interoperate with Microsoft Outlook clients and Microsoft Exchange Servers
● Plugin for Samba4
NO OUTLOOK PLUGIN REQUIRED
![Page 6: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/6.jpg)
6 of 4215/05/14
OpenChange The World www.openchange.org
Interoperability and coverage
● OpenChange server works with:
● OpenChange client stack works with:
MICROSOFTOUTLOOK 2013
MICROSOFTOUTLOOK 2007
MICROSOFTOUTLOOK 2003
MICROSOFTOUTLOOK 2010
EXCHANGE 5.5 EXCHANGE 2000 EXCHANGE 2003 EXCHANGE 2007
EXCHANGE 2010 EXCHANGE 2013SBS 2003 SBS 2007 SBS 2010
![Page 7: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/7.jpg)
7 of 4215/05/14
OpenChange The World www.openchange.org
Server Architecture Overview
![Page 8: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/8.jpg)
8 of 42
15/07/2013OpenChange The World www.openchange.org
YesterdaySince SambaXP 2013
![Page 9: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/9.jpg)
9 of 4215/05/14
OpenChange The World www.openchange.org
The nightmare
● Full OpenChange deployment required:
MINIMUM OF 3 HOURS TO COMPLETE
DovecotCourier-IMAP
PostfixExim4
MySQL or PostgreSQL
SOGo
Samba4 (sometimes
specific build/version)
Samba dependencies
(bundled libraries)
DNS SOGo MAPIStore backend
Apache mod_wsgi ocsmanager rpcproxy
![Page 10: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/10.jpg)
10 of 4215/05/14
OpenChange The World www.openchange.org
The nightmare continues
● Extremely complex to setup
● rare
MANY TRIED … FEW SUCCEEDED
source: www.reddit.com
![Page 11: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/11.jpg)
11 of 4215/05/14
OpenChange The World www.openchange.org
The nightmare ends?
WINNERS WERE ACCLAIMED EVERYWHERE
source: www.reddit.com
![Page 12: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/12.jpg)
12 of 4215/05/14
OpenChange The World www.openchange.org
Workarounds
● ZEG (Zero Effort Groupware)
● Virtualization image (vmdk, vdi)
● Pre-defined environment
● Lacks flexibility and customization
● OpenChange cookbook
● Step by Step deployment guide
● 3 hours required
● not suitable for mass adoption
![Page 13: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/13.jpg)
13 of 4215/05/14
OpenChange The World www.openchange.org
The promise
● 6 months after SambaXP 2013
● OpenChange integration into Zentyal Server
● Leverage existing infrastructure and community
● 400K bootstrap users potential target
FROM 3 HOURS TO 3 MINUTES DEPLOYMENT
![Page 14: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/14.jpg)
14 of 4215/05/14
OpenChange The World www.openchange.org
The truth
PEOPLE DID NOT KNOW OPENCHANGE EXISTED
![Page 15: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/15.jpg)
15 of 4215/05/14
OpenChange The World www.openchange.org
Moreover ...
PEOPLE DID NOT BELIEVE IT WAS WORKING ...
source: www.reddit.com
![Page 16: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/16.jpg)
16 of 4215/05/14
OpenChange The World www.openchange.org
Welcome to the real world
● Began to be tested … like never before
● Began to get bug reports … like never before
● Classical bug reporting not enough:
● Tracker tickets
● Forum posts describing the issues
● Emails
NEEDED TO ADDRESS THE SITUATION GLOBALLY
![Page 17: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/17.jpg)
17 of 4215/05/14
OpenChange The World www.openchange.org
Chaining paradox
● OpenChange is a Samba DSO
● SOGo is an OpenChange DSO
● If SOGo backend abort(), OpenChange dies
● If SOGo backend SIGSEGV, Samba dies
![Page 18: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/18.jpg)
18 of 4215/05/14
OpenChange The World www.openchange.org
Addressing bugfixing plan
FINAL USER DEVELOPER QA
APPORT SYSTEM
INTEGRATED TO DASHBOARD
CRASH REPORT SUBMISSION PLATFORM
DEBUGGING SCRIPT MANUAL TESTING
AUTOMATIC TESTING
CONTINUOUS INTEGRATION
![Page 19: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/19.jpg)
19 of 4215/05/14
OpenChange The World www.openchange.org
Final User: Apport system
● Samba4 added to apport list
● Submission button available from Zentyal dashboard
● Crash report platform on Zentyal Servers
● “Foire aux crash report”
● apport-retrace -g <crash_file>
● Extremely powerful but:
● Simple repository
● No management of duplicate
● Not anonymous enough – Not personalized enough
![Page 20: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/20.jpg)
20 of 4215/05/14
OpenChange The World www.openchange.org
Developer bugfixing
● Post-process vs live-process analysis
● single mode not working
● SOGo backend is doing reentrant LDAP calls
● event loop issue not addressed in OpenChange
● multi-forked model debugging
● attach to the correct process BEFORE it crashes
![Page 21: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/21.jpg)
21 of 4215/05/14
OpenChange The World www.openchange.org
Developer bugfixing
● Go through samba processes
● Read maps file
● Locate OpenChange libraries mapped in process address space
● Launch gdb instance
DEBUGOC.PY SCRIPT
![Page 22: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/22.jpg)
22 of 4215/05/14
OpenChange The World www.openchange.org
Quality Assurance
● Early bug detection
● Prevent regression
● Anticipate problems
● Two methodologies:
● Automated testing
● Sikuli, OpenStack, ANSTE
● Manual testing
● Find what you are not looking for
● Very valuable because of the entropy
![Page 23: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/23.jpg)
23 of 4215/05/14
OpenChange The World www.openchange.org
Quality Assurance
Wintest - Framework for testing Zentyal against Windows virtual machines
![Page 24: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/24.jpg)
24 of 42
15/07/2013OpenChange The World www.openchange.org
Today
![Page 25: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/25.jpg)
25 of 4215/05/14
OpenChange The World www.openchange.org
In a nutshell
WE KNOW WHAT IS WORKING WE KNOW WHAT IS NOTNOT WORKING
WE DO ANTICIPATE GROWING DEVELOPMENT TEAM
![Page 26: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/26.jpg)
26 of 4215/05/14
OpenChange The World www.openchange.org
In a nutshell
WE HAVE NEW FEATURESWE HAVE NEW DESIGN &
ARCHITECTURE POSSIBILITIES
WE HAVE NEW PROCESSES &INFRASTRUCTURE
![Page 27: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/27.jpg)
27 of 4215/05/14
OpenChange The World www.openchange.org
New Features
● Extends OpenChange client stack coverage:
● Microsoft Exchange 2013
● Office 365
● Hosted Provider with Outlook anywhere support
● Work available on github branch
RPC OVER HTTP/HTTPS FOR SAMBA DCERPC CLIENT LIBRARIES
![Page 28: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/28.jpg)
28 of 4215/05/14
OpenChange The World www.openchange.org
New Features
● OpenChange can use existing Microsoft Exchange schema
● Mailboxes can be migrated from Exchange to OpenChange
PROVISION AS ADDITIONAL EXCHANGE SERVER
![Page 29: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/29.jpg)
29 of 4215/05/14
OpenChange The World www.openchange.org
New Features-Architecture
● OpenChange a synchronous process
● No way to notify Outlook a new mail has arrived
● Situation addressed with:
● Dovecot plugin to trigger notification
● RabbitMQ to transport notifications
● Python worker to process notifications
● Make use of Outlook idle loop to update client
NEWMAIL NOTIFICATION AND RABBITMQ
![Page 30: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/30.jpg)
30 of 4215/05/14
OpenChange The World www.openchange.org
![Page 31: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/31.jpg)
31 of 4215/05/14
OpenChange The World www.openchange.org
New Design and Architecture
● OpenChange deployed in containers:
● openchange/mysql: indexing, mailbox structure and everything but mail data
● openchange/mta: postfix/dovecot
● openchange/sogo: sogo server
● Launcher script available
● $ git clone https://github.com/openchange/docker
OPENCHANGE IN DOCKER
![Page 32: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/32.jpg)
32 of 4215/05/14
OpenChange The World www.openchange.org
New Design and Architecture
● Decomposable, ideal for orchestration:
● rpcproxy:
● Handle MAPI over HTTP/HTTPS flow
● Turn it into regular MAPI
● samba4:
● Dummy DC
● MAPI processing
● mysql:
● Data storage (but email)
● samba4 “real” AD
OPENCHANGE IN THE CLOUD
![Page 33: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/33.jpg)
33 of 4215/05/14
OpenChange The World www.openchange.org
New Design and Architecture
● multi-tenancy (multi-company support)
● provisioned AD different from samba workers – containers
● unified storage in MySQL but email
● Load-Balancing and scalability
OPENCHANGE IN THE CLOUD
![Page 34: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/34.jpg)
34 of 4215/05/14
OpenChange The World www.openchange.org
New Infrastructure
● Every OpenChange commits triggers travis-ci build
● We bridge the gap with unit testing's lack of coverage
INTEGRATION WITH TRAVIS-CI
![Page 35: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/35.jpg)
35 of 42
15/07/2013OpenChange The World www.openchange.org
Tomorrow
![Page 36: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/36.jpg)
36 of 4215/05/14
OpenChange The World www.openchange.org
Work in Progress
● Improve apport usefulness
● Handle duplicates (detection, database)
● Order crash reports based on code path
APPORT DATA MINING TOOL
![Page 37: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/37.jpg)
37 of 4215/05/14
OpenChange The World www.openchange.org
Work in Progress
● Developing OpenChange backend takes time
● C developers are rare
● Objective: Be able to write a backend in 2-3 days
● C to Python gateway
● Slower than C backend but acceptable compromise
● Exchange is not realtime, therefore speed is not the issue
MAPISTORE PYTHON BACKENDS
![Page 38: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/38.jpg)
38 of 4215/05/14
OpenChange The World www.openchange.org
Possibility
● Dissociate OpenChange/MAPIStore from backends
● JSON communication between OpenChange and backends
● Make Samba/OpenChange more robust and fault tolerant to backend implementors code
● Suits modern object store models
MAPISTORE WEB SERVICE BACKENDS
![Page 39: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/39.jpg)
39 of 4215/05/14
OpenChange The World www.openchange.org
Possibility
● CIFS backend
● Immediate access
● Storage unified
● Advanced ACLs
● Zentyal Cloud backend
● Revision history
● Point in time recovery
PUBLIC FOLDERS
![Page 40: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/40.jpg)
40 of 4215/05/14
OpenChange The World www.openchange.org
Possibility
● We currently support:
● autodiscovery
● free/busy
● out of office
INCREASE SUPPORT OF EXCHANGE WEB SERVICES
![Page 41: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/41.jpg)
41 of 4215/05/14
OpenChange The World www.openchange.org
Possibility
● MAPI is not NDR encoded
● NDR generated code is too low-level in some cases
● MAPIROPS compiler pack/unpack MAPI as a buffer
● Add more Exchange processing logic at compiler level
● Auto-generate unit tests
MAPIROPS COMPILER
![Page 42: Beyond Technical Fulfillment - sambaXP Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org. 2 of 42 ... Submission button available from Zentyal](https://reader031.fdocuments.us/reader031/viewer/2022022011/5b0c7c137f8b9a952f8c1424/html5/thumbnails/42.jpg)
42 of 4215/05/14
OpenChange The World www.openchange.org
Julien Kerihuel,
OpenChange Founder
www.openchange.org
Questions?
@OpenChangeProj@jkerihuel