Add description for libmapiadmin
[jelmer/openchange-proposed.git/.git] / README
1 This is the README file for OpenChange
2
3 ABOUT OPENCHANGE
4
5 The OpenChange Project aims to provide a portable Open Source
6 implementation of Microsoft Exchange Server and Exchange
7 protocols. Exchange is a groupware server designed to work with
8 Microsoft Outlook, and providing features such as a messaging server,
9 shared calendars, contact databases, public folders, notes and tasks. 
10
11
12 The OpenChange project has three goals:
13 * To provide a library for interoperability with Exchange protocols, and
14 to assist implementors to use this to create groupware that
15 interoperates with both Exchange and other OpenChange-based software. 
16
17 * To provide an alternative to Microsoft Exchange Server which uses
18 native Exchange protocols and provides exactly equivalent
19 functionality when viewed from Microsoft Outlook clients. 
20
21 * To develop a body of knowledge about the most popular groupware
22 protocols in use commercially today in order to promote development of
23 a documented and unencumbered standard, with all the benefits that
24 standards bring. 
25
26
27 DOCUMENTATION
28
29 There are two sources of documentation - text files in the doc/
30 directory, and API documentation generated from the source files using
31 doxygen. You can create the API documentation yourself (using "make
32 doxygen" at the top level) or you can refer to the copy on the
33 OpenChange web site at
34 http://apidocs.openchange.org/overview/index.html
35
36 doc/howto.txt contains instructions on how to install and set up
37 client libraries, client utilities and the server / proxy parts of
38 OpenChange.
39 doc/man/ contains man(1) pages for several OpenChange utilities. Note
40 that man pages for programming (i.e. the parts that would appear in
41 man3) are generated by doxygen, and will be found in apidocs/ if you
42 generate the documentation yourself.
43 doc/doxygen/ provides static content used as part of the doxygen API
44 documentation generation process.
45 doc/examples/ provides programming examples for libmapi.
46
47
48 STRUCTURE
49 [TODO: add description of each directory]
50 - bin/  This directory is created during the build process. It
51 contains the binaries (executable programs) that are compiled during
52 the "make" step. The source for most of these is in the utils/
53 directory, described below.
54
55 - doc/  This directory contains documentation - see description above
56 (in DOCUMENTATION) for the various contents of this directory.
57
58 - gen_ndr/
59
60 - libmapi/  This directory contains the main client-side library,
61 called libmapi. libmapi closely reflects the underlying protocol
62 operations (Exchange RPC) being performed between the client and the
63 server. For more information, consult the API documentation (either
64 build yourself, or online at
65 http://apidocs.openchange.org/libmapi/index.html)
66
67 - libmapi++/  This directory contains C++ bindings for libmapi. It is
68 not a replacement for libmapi, but is intended to provide easier
69 access to many libmapi functions for C++ programmers. For more
70 information, consult the API documentation (either build yourself, or
71 online at http://apidocs.openchange.org/libmapi++/index.html)
72
73 - libmapiadmin/  This directory contains client-side library functions
74 for administering OpenChange or Exchange servers. For more
75 information, consult the API documentation (either build yourself, or
76 online at http://apidocs.openchange.org/libmapiadmin/index.html). If
77 you are looking for a program you can run, instead of library
78 functions to write your own program, "openchangeclient" might be of
79 interest.
80
81 - libocpf/
82
83 - mapiproxy/
84
85 - pymapi/
86
87 - python/
88
89 - samba4/  This directory will be created during the build process if
90 you call "make samba" or execute the ./script/installsamba4.sh
91 script. It is used to build samba4, if required.
92
93 - script/
94
95 - setup/
96
97 - swig/
98
99 - testprogs/
100
101 - torture/
102
103 - utils/