<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_Ical is a component to manage events, alarms and todos in calendar objects.Zend Framework: Zend_Ical Component Proposal
Proposed Component Name
Zend_Ical
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Ical
Proposers
Revision
1.1 - 22 September 2007: Initial proposal
1.2 - 03 March 2008: Proposal rewrite
1.3 - 19 May 2008: Proposal update (wiki revision: 28)Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_Exception
- Zend_Date
- Zend_Uri
5. Theory of Operation
Zend_Ical will take an URI (String or Zend_Uri) as argument for the constructor method. Zend_Ical will then 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_Ical will only support the iCalender 2.0 format.
6. Milestones / Tasks
- Milestone 1: [done] Proposal finished
- Milestone 2: [done] Development of prototype started and checked into http://zend.svn.dasprids.de/
- Milestone 3: Proposal approved
- Milestone 4: Working prototype checked into the incubator.
- Milestone 5: Unit tests exist, work, and are checked into SVN.
- Milestone 6: Documentation exists.
7. Class Index
- Zend_Ical
- Zend_Ical_Exception
- Zend_Ical_Parser
- Zend_Ical_Source_Exception
- Zend_Ical_Source_Abstract
- Zend_Ical_Source_Filesystem
- Zend_Ical_Source_Ftp
- Zend_Ical_Source_Http
8. Use Cases
| UC-01 |
|---|
Open a ICS calendar file
| UC-02 |
|---|
Fetching specific events
| UC-03 |
|---|
17 Comments
comments.show.hideSep 23, 2007
Sebastian Krebs
<p>As discussed somewhere else, here are my hints for the interface. That are ideas, which may be useful, but dont has to be, as some might be very special <ac:emoticon ac:name="wink" /></p>
<p>1. default methods like add, set, get, ...<br />
2. getByDateDuration($startDate,$endDate), .... Maybe with the possibility only to get only all items, which are fully in, or their start-/endtimes are in<br />
3. getByDate($date) at the other hand can maybe return the items, which duration overspan the specified time<br />
4. hasByDate($date)/hasByDateDuration($startDate,$endDate), if there are items. I think very useful to specify, if there is free time to plan with <ac:emoticon ac:name="wink" /><br />
5. *byType. Maybe is more useful not to provide a method for this, than provides a option to use with the other methods to filter by Type.<br />
6. getNext, getLast (maybe with parameters). First one seems to by very useful for something like "next meeting at ...", getCurrent as a alias for "getByDate ('now')" (something like that)<br />
7. load, store to file. maybe a kind of file locking possible? (Ive no idea)<br />
8. Merge?<br />
9. Export,Import?!? Seems to be quite special, properly not used very much</p>
Feb 22, 2008
Ziyad Saeed
<p>Will this allow generation of repeat events based on RRULE part of the iCal specification.<br />
for eg a sample RRULE like </p>
<p>DTSTART;TZID=US-Eastern:19970902T090000<br />
RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH</p>
<p>should return this<br />
(1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2</p>
Mar 03, 2008
Ben Scholzen
<p>Yes, the entire Ical v2.0 RFC features will be supported.</p>
Mar 17, 2008
Justin Plock
<p>I'm really looking forward to using this on a project I'm working on.</p>
Apr 04, 2008
Daniele Princiotta
<p>This is going to be very useful.</p>
<p>Are there any plans to add also iCal creation functionality or will this component only parse existing ones?</p>
Apr 16, 2008
Ben Scholzen
<p>It will also be able to create new files, yes.</p>
Jun 02, 2008
Alexander Veremyev
<ac:macro ac:name="note"><ac:parameter ac:name="title">Zend Comments</ac:parameter><ac:rich-text-body>
<p>This proposal has been approved for laboratory development with the following suggestions:</p>
<ul>
<li>define API in more details;</li>
<li>think about integration with Zend_Mail to send and recieve ICAL objects.</li>
</ul>
</ac:rich-text-body></ac:macro>
Sep 08, 2008
Jaka Jancar
<p>Wouldn't this be more properly called iCalendar and not iCal? I know iCal is also used for the format, but in the RFC it's always called iCalendar. Also, iCal is the name of Apple's calendar program.</p>
Sep 08, 2008
Jurrien Stutterheim
<p>Your reasoning is absolutely right, however... Zend_Icalendar is a very long name compared to Zend_Ical. Personally, I'd rather type less than be more correct in this case <ac:emoticon ac:name="smile" /></p>
Sep 17, 2008
Ben Scholzen
<p>Correct, keep it simple <ac:emoticon ac:name="smile" /></p>
Mar 23, 2009
Ben Scholzen
<p>Postponed to 1.9.</p>
Aug 08, 2009
Tomasz Kuter
<p>Hi,<br />
Any progress in this project?<br />
Now, version 1.9 is available, but iCalendar is not included..<br />
Could you provide some more information about this project future plans?</p>
Nov 20, 2009
Matt Simpson
<p>I am also just checking in to see if there has or <em>will be</em> any progress on this component.</p>
Jan 08, 2010
Marcus Stöhr
<p>Is this proposal still being worked on?</p>
Sep 18, 2010
Ben Scholzen
<p>I'm currently working on Zend\Ical for ZF2 again.</p>
Apr 20, 2011
Adrien Crivelli
<p>Are you still working on that ? I had look in <a class="external-link" href="http://framework.zend.com/svn/framework/laboratory/Zend_Ical/library/Zend/">http://framework.zend.com/svn/framework/laboratory/Zend_Ical/library/Zend/</a> but it looks very incomplete. Do you have another repository ?</p>
<p>I would be interested in creating .ics files, so I could contribute for "export" feature, but I feel like the code in repository is not up to date at all, so I'm not sure if it's worth working on that...</p>
Aug 24, 2011
Ben Scholzen
<p>Check my GitHub account.</p>