Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Calendar Component Proposal

Proposed Component Name Zend_Calendar
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Calendar
Proposers Ben Scholzen
Revision 1.1 - 22 September 2007: Initial proposal
1.2 - 03 March 2007: Proposal rewrite (wiki revision: 21)

Table of Contents

1. Overview

Zend_Calendar is a component to manage events, alarms and todos in calendar objects. It will support multiple backends, of which the first one will be the iCalender ICS file format. Future backends will include database support.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will support multiple backends
  • This component will handle ICS files (v2.0 only) from different data sources (Filesystem, FTP and HTTP (webDAV for writing)).
  • This component will allow searching through calendar data
  • This component must validate any input before writing them to a backend

4. Dependencies on Other Framework Components

  • Zend_Exception
  • Zend_Date
  • Zend_Uri

5. Theory of Operation

Zend_Calendar will take an instance from Zend_Calendar_Backend_Interface as argument for the constructor method. Zend_Calendar will then ask the backend for data and build up an internal data structure. In case of Zend_Calendar_Backend_Ical it will parse the ICS file through a LALR parsing mode. All time values within the ICS data will be converted to the local time zone.

After the parsing you can call different methods to gather data from the calendar or add additional data to it. You can also iterate through the calendar object to get all data available.

At the time of writing, Zend_Calendar_Backend_Ical will only support the iCalender 2.0 format.

6. Milestones / Tasks

  • Milestone 1: Proposal finished
  • Milestone 2: Proposal approved
  • Milestone 3: Working prototype checked into the incubator.
  • Milestone 4: Unit tests exist, work, and are checked into SVN.
  • Milestone 5: Documentation exists.

7. Class Index

  • Zend_Calendar
  • Zend_Calendar_Exception
  • Zend_Calendar_Backend_Interface
  • Zend_Calendar_Backend_Ical

8. Use Cases

UC-01

Open a ICS calendar file

UC-02

Fetching specific events

UC-03

Iterating through all events

9. Class Skeletons

]]></ac:plain-text-body></ac:macro>

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.