Question: anyone here for a vObject lib?

Andre Garzia soapdog at mac.com
Wed Mar 30 10:25:56 EST 2005


Hi Folks,

I finished a library which I think is pretty usefull, I did it to use 
on a groupware contract of mine but I think it has more uses. It's a 
vObject library that supports generation of vObjects and 
parsing/inspecting such objects. The most well known vObject objects 
are vCards and iCalendar files, vCard is the standard way of sharing 
contact data and can carry more than CSV files. Almost all the 
state-of-the-art apps dealing with contacts understand vCards, Apple 
AddressBook is based on vCard, Microsoft Outlook also understands it, 
enterprize apps like the Lotus suite does it too. You can start sharing 
and querying data from and for this apps with vObject/vCard lib.

The other famous one is iCalendar which is a standard way to store and 
share calendar data, this is more wide spread than vCard, I think 
almost all calendar apps are iCalendar based (iCalendar = vCalendar 
2.0), Apple iCal is iCalendar based and so is lot's of other groupware 
based clients and servers (all linux ones are, like Kalendar). My 
implementation of iCalendar spec is complete for generation of 
iCalendar data and parsing is a little Raw but it works fine.

With this lib you can also create your own object files based on the 
vObject standard, I for one, am creating a vChart file standard to 
store data and metadata about charts, I think this is needed by our 
community. Let me show you some examples of the vCard routines by 
creating a simple vCard:

vCardBegind  vCard
vCardAddCommonName vCard, "Andre", "Alves", "Garzia"
vCardAddNickName vCard, "soapdog"
vCardAddEMail vCard, "soapdog at mac.com"
vObjectAddParameter vCard, "email", "type", "pref"   -- Set the email 
as prefered eMail.
vCardEnd vCard
vCardSerialize vCard

good, now you have the variable vCard with content that you can upload, 
save to file or whatever you want to do...
An iCalendar Example.

iCalendarBegin iCal
icEventBegin iCal
put the short date into tDate
icAddDateTimeStart iCal, icConvertDate(tDate)
icAddDateTimeEnd iCal, icDateOffset(tDate, "+30 minutes")  -- Set the 
end date to half an hour later
icAddSumary iCal, "a simple test event."
icAddDescription iCal, "the event description."
iCalendarAddOrganizer iCal, "soapdog at mac.com"
iCalendarAddAtendee iCal, "use-revolution at www.runrev.com"
vObjectAddParameter iCal, "atendee", "type", "group"
icEventEnd iCal
iCalendarEnd iCal
iCalendarSerialize iCal

You could import this in Apple iCal with no problem, even pipe it thru 
applescript...

The library has dozens (hundred?) functions and handlers dealing with 
everything and I am finishing documenting it and creating examples. I 
planned to release it on a shareware manner for USD 30, all funds would 
go to pay my stay in RevConWest.

Anyone here interested?
Andre

-- 
Andre Alves Garzia ð 2004 ð BRAZIL
http://studio.soapdog.org



More information about the use-livecode mailing list