Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: cd2e1c3b08
Fetching contributors…

Cannot retrieve contributors at this time

file 303 lines (169 sloc) 7.464 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
== Sources

- Review l.vpim previous to this:
Subject: [Vpim-talk] differentiating dates and times in dtstart/dtend?
From: Sanjay Vakil <svakil@gmail.com>
Date: Thu, 25 May 2006 00:12:35 -0400

- Review icalendar mailing list...

Read code:

  http://calterm.rubyforge.org/svn/trunk/lib/



== BUGS & User-Requests

- > Secondly, is there a way to distinguish between events which are
> fundamentally "day" events and those which have a time component?

I have the changes locally to make dtstart/... return Date or Time,
depending on what the start is. The change breaks other things. :-(

- can't export if there is a Vtodo?

- EXDATE, etc.

- Icalendar::Get::Common missing

I am brand new to vpim, so I tried to use the example cmd-itip.sh. But it
fails on the code:

if e.comments
with the error message:
./cmd-itip.txt.sh:113: undefined method `comment' for
  #<Vpim::Icalendar::Vevent:0x101899c> (NoMethodError)

In the rdoc it says there should be Icalendar::Get::Common#comment

But there is no module Get in Vpim:Icalendar. There is the module Set...

Am I missing something?

- photos and vPim and addressbook

From: Magnus Mager <magnus-m@gmx.net>
Date: Fri, 13 Jul 2007 23:36:57 +0200

- something about line folding?

Subject: Re: [Vpim-talk] VPIM - outlook contact failed to parse
From: "Tijn Schuurmans - Soocial.com" <tijn@soocial.com>
Date: Mon, 1 Oct 2007 13:46:37 +0200


- RDATE support for Cosmin Andriescu <cosmin@speakeasy.net>

- http://rubyforge.org/pipermail/icalendar-devel/2007-February/000061.html

- a way to do icalendar as SQL...

- event.rrule

was used by reminder!

-= http://209.85.173.104/search?q=cache:hQRadCEdph8J:www.lightning-tree.net/2005/08/vpim-vs-icalendar.html+ruby+vpim&hl=en&ct=clnk&cd=29&client=safari


- gem problem

http://objectmix.com/ruby/211902-ical-ics-parser-ruby.html

- add to vpim

http://ragnarson.blogspot.com/2005/10/importing-vcard-contacts-to.html

- ccummer

remindr utility working on OS 10.5

- http://groups.google.com/group/phoenix-ruby/browse_thread/thread/ec3e7df198d6ca05

Post here and point out that it works with vPim.

- Magnus Mager <magnus-m@gmx.net>

Vpim photos to Addressbook.app, example.

Needs vcard.encode(0)?

- Brandon Taylor <btaylordesign@gmail.com>

How to create an ORG and TITLE field for vCard

- Bram Whillock <bramski@gmail.com>

Silently convert Fixnum and nil during field encoding??

- "Thomas R. Koll" <tomk32@gmx.de>

Use capitals when encoding cards and calendars? Its how everybody else seems to
do it.

- Florian Weber <florian@oaklandcutlery.com>

charset and encoding for vCards

do an example of latin1

- bug: deal with "round down" that Date does when you add a month, and the dofmonth is not
  in valid range -> if you have jan31 repeating monthly with iCal, you shouldn't get an
  occurence in Feb

ensemble:~/p/ruby/vpim % ./rrule.rb --start '20050131T000000Z' 'FREQ=MONTHLY' | head
Start: Mon Jan 31 00:00:00 EST 2005
Rrule: FREQ=MONTHLY
count= 0 Mon Jan 31 00:00:00 EST 2005
count= 1 Mon Feb 28 00:00:00 EST 2005
count= 2 Mon Mar 28 00:00:00 EST 2005
count= 3 Thu Apr 28 00:00:00 EDT 2005
count= 4 Sat May 28 00:00:00 EDT 2005
count= 5 Tue Jun 28 00:00:00 EDT 2005
count= 6 Thu Jul 28 00:00:00 EDT 2005
count= 7 Sun Aug 28 00:00:00 EDT 2005

I need to keep my own date/time, and not use Time as the basic object in my iteration.

Then, I can eliminate non-existent times before yielding them.




== UNSORTED

Is there a way to see if a vCard field is preferred, using the high-level APIs?

Output a graph of the connections in address book, spouses, etc.

http://serveringhaus.org/projects/icv - ical validator

http://wiki.mozilla.org/Calendar:QA_Test_Servers

ical2 support
ical3 support

http://www.kanzaki.com/docs/ical/

vpim rrule encoding APIs

tzinfo.rubyforge.org

cal.protocol =

def note=() - removes all the current notes and replaces with this one?

Change to major.minor.buildno?

Use standard Enumerator instead of mine.

Move stuff out of Vpim, so you can do "include Vpim" and not overly pollute
your namespace.

Reorganize Property => Get, add Set

  lib/vpim/ics/set/
  lib/vpim/ics/get/

Adjust CSS stylesheet so that modules show up on single lines?

rename examples:

  ex_ics_...
  ex_vcf_...

vcf example on web page:

  create
  change
  access

ditto for ics

sync vCard encoding types with decoding, and create EVERY field combo,
is value set/not set correctly?

Put Apple comments to:

   http://microformats.org/wiki/icalendar-implementations

http://www3.ietf.org/proceedings/06mar/minutes/calsify.txt

svn co http://opensource.reevoo.com/repos/uformats/trunk

== PACKAGING

Check packaging guidelines:

  http://www.rubygarden.org/ruby?QuickGuideToPackaging

- ri docs during install?

- html docs during install?


== FEATURES

- conversion to/from hcard/hevent

- don't encode TYPE= if there are no values

- complete RRULE support

- valarms

  - like ones that open apps: http://docs.info.apple.com/article.html?artnum=300368

- add way to delete a param from a Field, maybe assign nil to it? done?


== Future Development

- streaming decoder?

- streaming encoder?


== QUESTIONS

- What does Time.local do with the isdst, and tz arguments?

- Time.local()/gm() don't raise errors for out-of-range day-of-month (Feb 31st,
  anyone?)!

- Ask about Date extensions?

- Ask about Time extensions?

+ Ask on ietf-icalendar:

  Errors in examples?

  RFC error - CATEGORY is used in an example, it should be CATEGORIES


== CLEANUPS

- perfect round trip decode/encode - make Field take the entire line, with
embedded newlines?

- when encoding a Date or Time, set value=date/value=date-time parameter?

- allow preferred to be set to false/nil in vcard/maker

- Need to deal with Date and Time comparisons, see note in time_from_rfc2425. I
  might need to extend the date time comparisons so Date and Time can be
  compared.

- Vevent has @fields, and @properties, but @properties has @fields, too.
  Duplication necessary?

- I could do this entirely differently, by adding a to_rfc2445 method to Date,
  Time, DateTime, etc. that return string values, then anybody could add their
  own values, and we'd handle it. But then, what about setting the value type?
  Maybe some kind of table of handlers, per class?

- Time#plusmonth/day should ask itself if it is in utc, then call Time.utc or Time.local
  as appropriate.

- do coverage testing: http://rubyforge.org/project/showfiles.php?group_id=18&release_id=360

- deal with timezones correctly, iCalendar wants:

     DTSTART:19970714T133000 ;Local time
     DTSTART:19970714T173000Z ;UTC time
     DTSTART;TZID=US-Eastern:19970714T133000 ;Local time and time zone reference

  Done?

- don't allow quoted-printable encodings if version is 3.0

- encoding values with a \n in it will break

  --> generally, make sure not to generate invalid encodings

- return self for true, and for methods that don't have other return values?

- preserve whitespace in a Field?

- value=text
  in this value, newlines are \n or \N, deal with this when decoding
  (as are ; and ,)

- freeze everything? -> Need to test this.

== VCARD VERSION INTEROP

- Confirm Address Book bugs: PHOTO uses version 2 encoding field, and has too many spaces.

- Examine vCard 2.1 interop, and possible trans-encoding.

  - ; can show up in a parameter value, if escaped

  - quoted-printable can be used to encode values with line breaks
Something went wrong with that request. Please try again.