ical4j vcard => what rfc does it impl...

jon
2012-08-05
2013-06-05
  • jon
    jon
    2012-08-05

    The web site says that it implements the draft of vCard 4.0 (draft-ietf-vcarddav-vcardrev-06) however it seems to be rfc6350
    I noticed the UTC offset parser is using the format +/-hhmm which is rfc6350 (rather then +/-hh:mm) which is the draft.   If it does rfc6350 thats fine, but I'd like to confirm that its one or the other.

     
  • Ben Fortuna
    Ben Fortuna
    2012-08-07

    Hi jon,

    The initial plan was to primarily support vCard 4.0, however there have been some requests to also support vCard 3.0. I haven't managed to keep up with the vCard 4.0 changes, but the goal is to support it in full, and where possible also support vCard 3 (no support for anything earlier than 3.0 tho).

    But as I said there are quite a few gaps in the implementation right now, so if you see anything that needs fixing urgently let me know.

    regards,
    ben

     
  • jon
    jon
    2012-08-07

    One thing I've seen missing from the vcard 3 spec is the Mailer property.  That was dropped in vcard 4 I believe.

     
  • jon
    jon
    2012-08-07

    Oh as well,  the UtcOffset.  The vcard 3 spec uses the format +/-hh:mm where was vcard 4/ical uses +/-hhmm  (COLON in 3, no COLON in 4).

      I slightly modified the UtcOffset class to handle parsing of both formats, although that is poor design on my parts but it works as a cludge for now.

       offset = 0;
            offset += Integer.parseInt(value.substring(HOUR_START_INDEX, HOUR_END_INDEX))
                                        * Dates.MILLIS_PER_HOUR;
           
    //cludge to handle Utcffset of vcard 3
            if ( value.contains(":")){
            offset += Integer.parseInt(value.substring(MINUTE_START_INDEX +1, MINUTE_END_INDEX +1))
                        * Dates.MILLIS_PER_MINUTE;
            } else {
            offset += Integer.parseInt(value.substring(MINUTE_START_INDEX, MINUTE_END_INDEX))
                                         * Dates.MILLIS_PER_MINUTE;
            }

     
  • Ben Fortuna
    Ben Fortuna
    2012-08-08

    Hi jon,

    Thanks for the feedback. I have just added the Mailer property to ical4j-vcard and added your UtcOffset 'cludge' to ical4j 2.0. If you want to try them out you can get snapshot builds from here:

    https://oss.sonatype.org/content/repositories/snapshots/org/mnode/ical4j/

    regards,
    ben

     
  • jon
    jon
    2012-08-11

    Thanks I'll definitely check it out.