changes.
| | {zone-template-instance:ZFPROP:Proposal Zone Template} |
| | |
| | {zone-data:component-name} |
| | Zend_Calendar |
| | {zone-data} |
| | |
| | {zone-data:proposer-list} |
| | | [Ramses Paiva|mailto:ramses@sourcebits.com] - Sourcebits Technologies |
| | | [Ramses Paiva|http://framework.zend.com/wiki/display/~rpaiva] - Sourcebits Technologies |
| | {zone-data} |
| | |
| | {zone-data:liaison} |
| | TBD |
| | {zone-data} |
| | |
| | {zone-data:revision} |
| | 1.0 - March 23th, 2009: Initial Draft. |
| | {zone-data} |
| | |
| | {zone-data:overview} |
| | 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: |
| | "Calendars can include computerized systems, which can be set to remind the user of upcoming events and appointments". |
| | |
| | And the definition on Wiktionary: |
| | "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" |
| | |
| | Once one of the purpose is handling events, it will also support iCalendar events for generating vCards with scheduled events. |
| | {zone-data} |
| | |
| | {zone-data:references} |
| | * [Zend_Calendar - Thomas Weidner|http://framework.zend.com/wiki/display/ZFPROP/Zend_Calendar+-+Thomas+Weidner] (Archived). |
| | * [Wikipedia - Calendar|http://en.wikipedia.org/wiki/Calendar]. |
| | * [RFC 2445 - iCalendar Core Object Specification|http://tools.ietf.org/html/rfc2445] |
| | * [RFC 2739 - Calendar Attributes for vCard and LDAP|http://tools.ietf.org/html/rfc2739] |
| | {zone-data} |
| | |
| | {zone-data:requirements} |
| | * 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. |
| | {zone-data} |
| | |
| | {zone-data:dependencies} |
| | * Zend_Exception. |
| | * [Zend_Config|http://framework.zend.com/manual/en/zend.config.html]. |
| | * [Zend_Date|http://framework.zend.com/manual/en/zend.date.html]. |
| | * [Zend_Loader|http://framework.zend.com/manual/en/zend.loader.html]. |
| | * [Zend_Locale|http://framework.zend.com/manual/en/zend.locale.html]. |
| | * [Zend_Registry|http://framework.zend.com/manual/en/zend.registry.html]. |
| | |
| | {info:title=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 ;). Testing with a simpler Date object, it works gracefully. |
| | {info} |
| | {zone-data} |
| | |
| | {zone-data:operation} |
| | The component is a singleton object, which will handle a set of periods and events belonging to this periods. |
| | {zone-data} |
| | |
| | {zone-data:milestones} |
| | * 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. |
| | {zone-data} |
| | |
| | {zone-data:class-list} |
| | * 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 |
| | {zone-data} |
| | |
| | {zone-data:use-cases} |
| | {composition-setup} |
| | {deck:id=UseCases1} |
| | {card:label="UC-01"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-02"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-03"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-04"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-05"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-06"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-07"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-08"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-09"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label="UC-10"} |
| | Description. |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | {deck} |
| | {zone-data} |
| | |
| | {zone-data:skeletons} |
| | {deck:id=Skeletons1} |
| | {card:label=Zend_Calendar} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Date} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Adapter} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Adapter_Gregorian} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Adapter_Interface} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | {deck} |
| | |
| | {deck:id=Skeletons2} |
| | {card:label=Zend_Calendar_Event} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_EventsList} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Period} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Period_Interface} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Period_Day} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | {deck} |
| | |
| | {deck:id=Skeletons3} |
| | {card:label=Zend_Calendar_Period_Week} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Period_Month} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Period_Year} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | |
| | {card:label=Zend_Calendar_Shift} |
| | {code} |
| | // @todo Implementation |
| | {code} |
| | {card} |
| | {deck} |
| | {zone-data} |
| | |
| | {zone-template-instance} |