[CalendarServer-changes] [4655] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 28 16:22:50 PDT 2009


Revision: 4655
          http://trac.macosforge.org/projects/calendarserver/changeset/4655
Author:   wsanchez at apple.com
Date:     2009-10-28 16:22:49 -0700 (Wed, 28 Oct 2009)
Log Message:
-----------
More doc cleanup

Modified Paths:
--------------
    CalendarServer/trunk/HACKING
    CalendarServer/trunk/README

Property Changed:
----------------
    CalendarServer/trunk/HACKING
    CalendarServer/trunk/README

Modified: CalendarServer/trunk/HACKING
===================================================================
--- CalendarServer/trunk/HACKING	2009-10-28 22:18:06 UTC (rev 4654)
+++ CalendarServer/trunk/HACKING	2009-10-28 23:22:49 UTC (rev 4655)
@@ -1,3 +1,7 @@
+:Date: $Date$
+:Version: $Revision$
+
+
 Developer's Guide to Hacking the Calendar Server
 ================================================
 


Property changes on: CalendarServer/trunk/HACKING
___________________________________________________________________
Added: svn:keywords
   + Date Revision

Modified: CalendarServer/trunk/README
===================================================================
--- CalendarServer/trunk/README	2009-10-28 22:18:06 UTC (rev 4654)
+++ CalendarServer/trunk/README	2009-10-28 23:22:49 UTC (rev 4655)
@@ -1,183 +1,100 @@
-This is the core code base for a CalDAV/WebDAV/HTTP server.
+:Date: $Date$
+:Version: $Revision$
 
+
+Getting Started
+===============
+
+This is the core code base for Darwin Calendar Server, which is a
+CalDAV, WebDAV, and HTTP server.
+
 For general information about the server, see:
 
-    http://www.calendarserver.org/
+  http://www.calendarserver.org/
 
 
-COPYRIGHT AND LICENSE
+Copyright and License
 =====================
 
-This software is copyright (c) 2005-2007 Apple Inc.  All
-rights reserved and is licensed under the Apache License, Version
-2.0.  The Apache License is a well-established open source license,
-providing reliable and long-lived software products through
+Copyright (c) 2005-2007 Apple Inc.  All rights reserved.
+
+This software is licensed under the Apache License, Version 2.0.  The
+Apache License is a well-established open source license, enabling
 collaborative open source software development.
 
-See the 'LICENSE' file for the full text of the license terms.
+See the "LICENSE" file for the full text of the license terms.
 
 
-QUICK START
+Quick Start
 ===========
 
-Place this source directory into an empty development directory, such
-as '~/Developer/Collaboration/CalendarServer/'.  The server requires a
-number of libraries in order to operate.  The 'run' script in the
-sources will automatically download or check out the appropriate
-libraries and build them for you:
+**WARNING:** these instructions are for running a server from the
+source tree, which is useful for development and you edit the source
+code. These are not the correct steps for running the server in
+deployment or as part of an OS install. You should **not** be using
+the ``run`` script in system startup files (eg. ``/etc/init.d``); it
+does things (like download software) that you don't want to happen in
+that context.
 
+Create an empty development directory, such as
+``~/Developer/CalendarServer/``.  Then check out or copy this source
+project into this directory.  The server requires a number of
+libraries in order to operate, which will need to be places as peers
+of the source directory.  The ``run`` script in the sources will
+automatically download or check out the appropriate libraries and
+build them for you:
+
+  ::
+
     ./run -s
 
+The result will be a set of directories, including the CalendarServer
+source directory in your original empty directory:
+
+  ::
+
+    % ls -1 ~/Developer/CalendarServer
+    CalendarServer
+    Twisted
+    ...
+
 Before you can run the server, you need to set up a configuration file
 for development.  There is a provided test configuration that you can
-use to start with:
+use to start with, called ``caldavd-test.plist``. Copy this to
+``caldavd-dev.plist``, which the server will use in development:
 
+ ::
+
     cp ./conf/caldavd-test.plist ./conf/caldavd-dev.plist
 
 You will need to choose a "directory service" to use to populate your
-server's principals (users, groups and resources).  A directory service
-provides the calendar server with information about these principals.
-Some of the directory services which are supported by the calendar
-server include:
+server's principals (users, groups and resources).  A directory
+service provides the calendar server with information about these
+principals.  Some of the directory services which are supported by the
+calendar server include:
 
- * XMLDirectoryService: this service is configurable via an XML file
-   that contains principal information.  The file
-   'conf/auth/accounts.xml' provides an example principals
+ * ``XMLDirectoryService``: this service is configurable via an XML
+   file that contains principal information.  The file
+   ``conf/auth/accounts.xml`` provides an example principals
    configuration.
 
- * OpenDirectoryService: this service uses OpenDirectory (which in
-   turn uses LDAP, Active Directory, etc.) to obtain principal
-   information.
+ * ``OpenDirectoryService``: this service uses Apple's OpenDirectory
+   client (which in turn uses LDAP, Active Directory, etc.) to obtain
+   principal information.
 
- * BasicDirectoryService and DigestDirectoryService: these services
-   are configurable using configuration files in the same formats as
-   used by the Apache HTTP server, allowing you to use the same
-   user/group setup as a separately-running Apache server.
+The ``caldavd-test.plist`` configuration uses ``XMLDirectoryService``
+by default, set up to use ``conf/auth/accounts-test.xml``.  This is a
+generally useful configuration for development and testing.
 
-   Note that the current implementation does not allow for
-   configuring resources, since Apache doesn't have resource
-   principals.
+This file contains a user principal, named ``admin``, with password
+``admin``, which is set up (in ``caldavd-test.plist``) to have
+administrative permissions on the server.
 
-The 'caldavd-test.plist' configuration uses XMLDirectoryService by
-default, set up to use 'conf/auth/accounts-test.xml'.
-
-This file contains a user principal, named "admin", with password
-"admin", which is set up with administrative permissions on the server.
-
 You can then run the server as follows:
 
-    ./run
+    ``./run``
 
-This should start up and bind to port 8008 for HTTP and 8443 for
-HTTPS.  You should then be able to connect to the server using your
-web browser (eg. Safari, Firefox) or with a CalDAV client (eg. iCal,
-Chandler).
-
-
-DAV Functionality
-====================
-
-The server implements the following specifications:
-
- * HTTP/1.1, RFC 2616
- * HTTP Authentication, RFC 2617
- * WebDAV level 1, RFC 2518
- * WebDAV Access Control Protocol, RFC 3744
- * WebDAV Quota and Size Properties, RFC 4331
- * CalDAV, draft-dusseault-caldav-15
- * CalDAV Scheduling Extensions, draft-desruisseaux-caldav-sched-02
-
-Note that while the server does support WebDAV, it does not support
-WebDAV level 2, which means it does not implement the LOCK and UNLOCK
-methods.
-
-
-PORTABILITY
-===========
-
-Portability may be limited in this release.
-
-The server requires:
- * Python 2.5
- * Zope Interface 3.1.0c1
- * PyXML 0.8.4
- * pyOpenSSL 0.6
- * python-dateutil-1.0
- * xattr 0.2 (Bob Ippolito's implementation)
- * Twisted
- * vObject
- * PyKerberos
- * PyOpenDirectory
-
-It also requires, naturally, anything these components depend on.  For
-example, pyOpenSSL requires the OpenSSL library.
-
-The server is most actively developed on Mac OS 10.5 Leopard, which is
-presently only available to Apple developers in a preview release.  (See
-http://developer.apple.com/ for more information.)  However, it is not
-intended to run solely on that platform; that just happens to be what
-the current developers are using (because we work at Apple, and are
-building it as a feature of Mac OS X Server).
-
-If you are using Tiger (Mac OS 10.4), you will need to install Python
-2.5.  See http://pythonmac.org/packages/ for installable packages.
-
-If you are using other operating systems, there may be additional
-coding work required before you can get started.
-
-WEBDAV PROPERTY STORAGE
------------------------
-
-For starters, twisted.web2.dav requires Bob Ippolito's xattr library
-to access file system extended attributes, which are used to store
-WebDAV properties.  File system extended attributes are available
-on all file systems in Mac OS X, and on some file systems on Linux
-and FreeBSD.  Another alternative is to implement a new property store
-class which does not use extended attributes. The Apache HTTP Server, for
-example, uses a database to keep track of properties on files, and this
-method works on many more platforms and file systems.
-
-Linux and FreeBSD users have had some success running our calendar
-server.  Check our bug tracker for status:
-
-    http://trac.calendarserver.org/projects/calendarserver/report/1
-
-PYTHON 2.5
-----------
-
-The Calendar Server was implemented using Python 2.5. Backporting to
-earlier Python releases might be possible, however we use a number of
-language constructs specific to 2.5 that might make that hard.
-
-GETTING INVOLVED
-================
-
-If you are interested in getting involved with development, be sure to
-visit our home page for more information:
-
-    http://www.calendarserver.org/
-
-Bug reports are welcome, and contributions such as code patches and
-documentation are appreciated.  Visit our bug tracker:
-
-    http://trac.calendarserver.org/projects/calendarserver/report/
-
-You can chat with other users and developers on IRC on channel
-#calendarserver on the irc.freenode.net server network.
-
-You can also subscribe to our mailing lists for users and developers:
-
- * calendarserver-users is for users of the Calendar Server. It's the
-   main forum for asking questions about installing, configuring and
-   administering a Calendar Server.
- 
- * calendarserver-dev is for developers. It's for engineering
-   discussions, including design directions, ways of extending the
-   server, and reviewing code.
-
- * calendarserver-changes is for change notifications to the source
-   repository.
-
-Register for mailing lists on our mailing lists page:
-
-    http://lists.macosforge.org/mailman/listinfo/
+The server should then start up and bind to port 8008 for HTTP and
+8443 for HTTPS.  You should then be able to connect to the server
+using your web browser (eg. Safari, Firefox) or with a CalDAV client
+(eg. iCal).


Property changes on: CalendarServer/trunk/README
___________________________________________________________________
Added: svn:keywords
   + Date Revision
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091028/c71927be/attachment-0001.html>


More information about the calendarserver-changes mailing list