1 Bennu - An object-oriented iCalendar (RFC2445) implementation in PHP
2 http://bennu.sourceforge.net
4 Bennu is copyright (C) 2005 by Ioannis Papaioannou (pj@moodle.org).
6 =======================================================================
8 =======================================================================
12 1.2. What is iCalendar?
16 2.1. Integrating Bennu in your application
19 3. Bugs and limitations
20 3.1. Known limitations
22 4. Contact information
24 =======================================================================
26 -----------------------------------------------------------------------
28 -----------------------------------------------------------------------
32 Bennu is a software library written in PHP that implements the
33 functionality of the IETF iCalendar 2.0 specification (RFC 2445).
34 Its purpose is to enable applications which have an interest in
35 this format (e.g. calendaring, scheduler and organizer programs)
36 to support iCalendar in an easy, powerful, and extensible way.
38 In other words, Bennu exists so that developers working on such
39 applications don't have to waste painful hours going through the
40 standard and writing the code to implement it. Instead, they can
41 include this library in their application and get to the fun part
42 already: coding THEIR program.
44 1.2. What is iCalendar?
46 The iCalendar specification is a result of the work of the IETF
47 (Internet Engineering Task Force), Calendaring and Scheduling
48 Working Group. It was authored by Frank Dawson of Lotus
49 Development Corporation and Derik Stenerson of Microsoft
50 Corporation. iCalendar is heavily based on the earlier vCalendar
51 industry specification by the Internet Mail Consortium (IMC),
52 which it extends and seeks to replace.
54 In practical terms, iCalendar is the number one format used today
55 by calendaring and scheduler applications to import and export
56 data. Applications which provide support for iCalendar include:
60 * Mozilla Calendar (and Mozilla Sunbird)
65 Effectively, this means that iCalendar is akin to a "common
66 language" which all these applications speak. If you are writing
67 an application which includes scheduling or calendaring elements,
68 and you want it to be able to synchronize with other such
69 programs, you need to support iCalendar. Bennu is an easy way to
70 do exactly that, as long as you are coding in PHP.
74 Bennu is released under the GNU Lesser General Public License
75 (LGPL). In short, this means that:
77 * You are allowed to distribute and/or modify the source code of
79 * You are allowed to use Bennu or any modified version of it in a
80 commercial application
81 * You do not have to pay any fees to use, modify, or distribute
83 * You can charge others for distributing Bennu or derived versions
84 * However, in ALL OF THE ABOVE CASES, you MUST provide the source
85 code for Bennu (or any modified version you may have produced),
86 and that source code MUST be provided under the GNU GPL -or- the
87 GNU LGPL license. Furthermore, you MUST include the original
88 copyright notices and credits that you received the source code
89 with when you distribute it INTACT.
90 * In any case, the copyright to Bennu is retained by me,
97 Please be advised that the above is a very short and to the point
98 explanation of the GNU LGPL terms, as I understand it, and it is
99 only my personal opinion. IT IS NOT THE ACTUAL LICENSE UNDER WHICH
100 BENNU IS RELEASED. It is STRONGLY RECOMMENDED that you read the
101 full text of the LGPL in order to avoid any misunderstandings
102 which may be caused by reading my interpretation of it. You can
103 find the full text of the LGPL in the file LICENSE.TXT, which you
104 must have received as part of the Bennu distribution. If you have
105 not received such a file, please email me mentioning where you
106 obtained your copy of Bennu.
108 -----------------------------------------------------------------------
110 -----------------------------------------------------------------------
112 2.1. Integrating Bennu in your application
114 To include Bennu in your application, you only need to include one
118 include($path_to_bennu.'/library/lib/bennu.inc.php');
120 // the rest of your code goes here
125 Please look at the /examples/ directory for ready-to-run examples
126 illustrating how Bennu is to be used. This section will be
127 revisited and properly written when the source code reaches an
128 acceptable level of features and meturity (no, I don't know when
131 -----------------------------------------------------------------------
132 3. Bugs and limitations
133 -----------------------------------------------------------------------
135 3.1. Known limitations
137 * LANGUAGE property parameters aren't semantically checked.
139 -----------------------------------------------------------------------
140 4. Contact information
141 -----------------------------------------------------------------------
143 You can contact me at the email address pj@moodle.org for any
144 suggestions, ideas, or bug reports regarding Bennu.
146 At some point there will also be a site which you can use to do
147 anything related to Bennu, but sadly not today. If you want to
148 volunteer and give a hand, I 'll be happy to collaborate.