AutorÃa | Ultima modificación | Ver Log |
Bennu - An object-oriented iCalendar (RFC2445) implementation in PHPhttp://bennu.sourceforge.netBennu is copyright (C) 2005 by Ioannis Papaioannou (pj@moodle.org).=======================================================================TABLE OF CONTENTS=======================================================================1. About Bennu1.1. What is Bennu?1.2. What is iCalendar?1.3. Bennu license2. Using Bennu2.1. Integrating Bennu in your application2.2. Usage examples3. Bugs and limitations3.1. Known limitations4. Contact information=======================================================================-----------------------------------------------------------------------1. About Bennu-----------------------------------------------------------------------1.1. What is Bennu?Bennu is a software library written in PHP that implements thefunctionality of the IETF iCalendar 2.0 specification (RFC 2445).Its purpose is to enable applications which have an interest inthis format (e.g. calendaring, scheduler and organizer programs)to support iCalendar in an easy, powerful, and extensible way.In other words, Bennu exists so that developers working on suchapplications don't have to waste painful hours going through thestandard and writing the code to implement it. Instead, they caninclude this library in their application and get to the fun partalready: coding THEIR program.1.2. What is iCalendar?The iCalendar specification is a result of the work of the IETF(Internet Engineering Task Force), Calendaring and SchedulingWorking Group. It was authored by Frank Dawson of LotusDevelopment Corporation and Derik Stenerson of MicrosoftCorporation. iCalendar is heavily based on the earlier vCalendarindustry specification by the Internet Mail Consortium (IMC),which it extends and seeks to replace.In practical terms, iCalendar is the number one format used todayby calendaring and scheduler applications to import and exportdata. Applications which provide support for iCalendar include:* Microsoft Outlook* Apple iCal* Mozilla Calendar (and Mozilla Sunbird)* Mulberry* Korganizer* Ximian EvolutionEffectively, this means that iCalendar is akin to a "commonlanguage" which all these applications speak. If you are writingan application which includes scheduling or calendaring elements,and you want it to be able to synchronize with other suchprograms, you need to support iCalendar. Bennu is an easy way todo exactly that, as long as you are coding in PHP.1.3. Bennu licenseBennu is released under the GNU Lesser General Public License(LGPL). In short, this means that:* You are allowed to distribute and/or modify the source code ofBennu* You are allowed to use Bennu or any modified version of it in acommercial application* You do not have to pay any fees to use, modify, or distributeBennu* You can charge others for distributing Bennu or derived versions* However, in ALL OF THE ABOVE CASES, you MUST provide the sourcecode for Bennu (or any modified version you may have produced),and that source code MUST be provided under the GNU GPL -or- theGNU LGPL license. Furthermore, you MUST include the originalcopyright notices and credits that you received the source codewith when you distribute it INTACT.* In any case, the copyright to Bennu is retained by me,Ioannis Papaioannou.#################### DISCLAIMER ####################Please be advised that the above is a very short and to the pointexplanation of the GNU LGPL terms, as I understand it, and it isonly my personal opinion. IT IS NOT THE ACTUAL LICENSE UNDER WHICHBENNU IS RELEASED. It is STRONGLY RECOMMENDED that you read thefull text of the LGPL in order to avoid any misunderstandingswhich may be caused by reading my interpretation of it. You canfind the full text of the LGPL in the file LICENSE.TXT, which youmust have received as part of the Bennu distribution. If you havenot received such a file, please email me mentioning where youobtained your copy of Bennu.-----------------------------------------------------------------------2. Using Bennu-----------------------------------------------------------------------2.1. Integrating Bennu in your applicationTo include Bennu in your application, you only need to include onePHP file, like this:<?phpinclude($path_to_bennu.'/library/lib/bennu.inc.php');// the rest of your code goes here?>2.2. Usage examplesPlease look at the /examples/ directory for ready-to-run examplesillustrating how Bennu is to be used. This section will berevisited and properly written when the source code reaches anacceptable level of features and meturity (no, I don't know whenthat will be).-----------------------------------------------------------------------3. Bugs and limitations-----------------------------------------------------------------------3.1. Known limitations* LANGUAGE property parameters aren't semantically checked.-----------------------------------------------------------------------4. Contact information-----------------------------------------------------------------------You can contact me at the email address pj@moodle.org for anysuggestions, ideas, or bug reports regarding Bennu.At some point there will also be a site which you can use to doanything related to Bennu, but sadly not today. If you want tovolunteer and give a hand, I 'll be happy to collaborate.