<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Calendar is a component for handling dates and events in a given interval of time. It can easily fetch events from a database, as well as it startup settings. It provides a simple and straightforward interface for handling the periods in this interval, rendering them in the views and provide links for navigation.
On this Calendar component, my approach is on the usage as an Object Date where I can place and manage events ocurring on that particular interval of time. As stated on Wikipedia: And the definition on Wiktionary: Once one of the purpose is handling events, it will also support iCalendar events for generating vCards with scheduled events.Zend Framework: Zend_Calendar Component Proposal
Proposed Component Name
Zend_Calendar
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Calendar
Proposers
Ramses Paiva - Sourcebits Technologies
Zend Liaison
TBD
Revision
1.0 - March 23th, 2009: Initial Draft. (wiki revision: 26)
Table of Contents
1. Overview
"Calendars can include computerized systems, which can be set to remind the user of upcoming events and appointments".
"Any system by which time is divided into days, weeks, months, and years; A means to determine the date consisting of a document containing dates and other temporal information; A list of planned events; To set a date for a proceeding in court, usually done by a judge at a calendar call"2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This component will provide a collection of period objects, which will represent a particular date.
- Each period object that represents a DAY will provide a collection of event objects.
- This event objects will be compliant with the RFC 2445 and RFC 2739 - iCalendar Core Object Specification and Calendar Attributes for vCard and LDAP - for events schedulling and external synchronization.
- This component will support magic configuration using Zend_Registry
- This component will support Zend_Config
- This component will be locale aware
- This component will provide a common interface for extensibility for supporting different calendar types, such as Gregorian (default and included), Chinese, Arabian, etc.
- This component will provide a simple interface for being populated with events from the database.
4. Dependencies on Other Framework Components
- Zend_Exception.
- Zend_Config.
- Zend_Date.
- Zend_Loader.
- Zend_Locale.
- Zend_Registry.
| Notes Currently, the performance of Zend_Calendar is very poor due to the Zend_Date component performance and perhaps I'll decouple it from that or hope Thomas can work on an improvement |
5. Theory of Operation
The component is a singleton object, which will handle a set of periods and events belonging to this periods.
6. Milestones / Tasks
- Milestone 1: [IN PROGRESS] Acceptance of this Proposal.
- Milestone 1: [IN PROGRESS] Design Notes.
- Milestone 2: Planning Documentation.
- Milestone 3: Implementation code.
- Milestone 4: Unit tests.
- Milestone 6: Improvements and prototype commited to SVN supporting the mentioned use cases.
- Milestone 7: Reference Guide Documentation.
- Milestone 8: Final release.
7. Class Index
- Zend_Date_Calendar (an intermediate object, which extends Zend_Date and can have further functionalities in future - like calendar date conversion from one calendar type to another).
- Zend_Calendar (Singleton class).
- Zend_Calendar_Exception
- Zend_Calendar_Adapter.
- Zend_Calendar_Adapter_Exception.
- Zend_Calendar_Adapter_Gregorian (different adapters can be created, but as of now the Gregorian will be the only one available).
- Zend_Calendar_Adapter_Interface.
- Zend_Calendar_Event
- Zend_Calendar_Event_Exception
- Zend_Calendar_EventsList
- Zend_Calendar_Period (extends Zend_Date_Calendar)
- Zend_Calendar_Period_Day
- Zend_Calendar_Period_Exception
- Zend_Calendar_Period_Interface
- Zend_Calendar_Period_Month
- Zend_Calendar_Period_Week
- Zend_Calendar_Period_Year
- Zend_Calendar_Shift
8. Use Cases
1 Comment
comments.show.hideFeb 05, 2011
Dolf Schimmel (Freeaqingme)
<p>Archiving this proposal, feel free to recover it when you want to work on it again. For more details see <a href="http://framework.zend.com/wiki/display/ZFDEV/Archiving+of+abandoned+proposals+(Feb+5+2011)">this email</a>.</p>