MDL-54934 workshop: ensure "Current phase" is always separated
[moodle.git] / lib / bennu / README.txt
blob0754eeb3919c8da88484935ccd4414fad18be212
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 =======================================================================
7     TABLE OF CONTENTS
8 =======================================================================
10 1. About Bennu
11     1.1. What is Bennu?
12     1.2. What is iCalendar?
13     1.3. Bennu license
15 2. Using Bennu
16     2.1. Integrating Bennu in your application
17     2.2. Usage examples
19 3. Bugs and limitations
20     3.1. Known limitations
22 4. Contact information
24 =======================================================================
26 -----------------------------------------------------------------------
27 1. About Bennu
28 -----------------------------------------------------------------------
30 1.1. What is Bennu?
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.
53     
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:
57     
58     * Microsoft Outlook
59     * Apple iCal
60     * Mozilla Calendar (and Mozilla Sunbird)
61     * Mulberry
62     * Korganizer
63     * Ximian Evolution
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.
72 1.3. Bennu license
74     Bennu is released under the GNU Lesser General Public License 
75     (LGPL). In short, this means that:
76     
77     * You are allowed to distribute and/or modify the source code of 
78       Bennu
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
82       Bennu
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, 
91       Ioannis Papaioannou.
93     ##################
94     ##  DISCLAIMER  ##
95     ##################
96     
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 -----------------------------------------------------------------------
109 2. Using Bennu
110 -----------------------------------------------------------------------
112 2.1. Integrating Bennu in your application
114     To include Bennu in your application, you only need to include one 
115     PHP file, like this:
116     
117     <?php
118        include($path_to_bennu.'/library/lib/bennu.inc.php');
119        
120        // the rest of your code goes here
121     ?>
123 2.2. Usage examples
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 
129     that will be).
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.
145     
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.