NAME

Meta::Info::Vcard - encapsulate VCARD type data manipulation.

COPYRIGHT

Copyright (C) 2001, 2002 Mark Veltzer; All rights reserved.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.

DETAILS

MANIFEST: Vcard.pm
PROJECT: meta
VERSION: 0.04

SYNOPSIS

package foo;
use Meta::Info::Vcard qw();
my($object)=Meta::Info::Vcard->new();
my($result)=$object->method();

DESCRIPTION

This object is here to encapsulate Vcard type data. It is still not complete in that it only contains stuff that I know about that is present in Vcard.

Here is how I got to know the Vcard status: I filled out a full cards in netscape and evolution and saved them as Vcards and got the format from there.

Services that this class provides: 0. parsing of text of a vcard and populating the object. 1. direct manipulatio of the objects fields. 2. writing of the object in VCARD type format. 3. reading and writing of the object in my own XML/DTD type format. 4. sending the object via sms to GSM type phones using GSM::SMS and others. 5. conversion of this object to various other formats.

Here is an example of a full VCARD taken from evolution version 1.0.8: BEGIN:VCARD X-EVOLUTION-FILE-AS:field_fileas FN:field_title field_first field_middle field_last field_suffix N:field_last;field_first;field_middle;field_title;field_suffix ADR;WORK:field_business_po_box;field_business_address_2;field_business_address;field_business_city;field_business_state_province;field_business_zipcode;field_business_country ADR;HOME:field_home_pobox;field_home_address_2;field_home_address;field_home_city;field_home_state/province;field_home_zipcode;field_home_country ADR;POSTAL:field_other_pobox;field_other_address_2;field_other_address;field_other_city;field_other_state/province;field_other_zipcode;field_other_country LABEL;QUOTED-PRINTABLE;WORK:field_business_po_box field_business_address=0Afield_business_address_2=0A= field_business_city, field_business_state_province field_business_zipcode=0A= field_business_country LABEL;QUOTED-PRINTABLE;HOME:field_home_pobox field_home_address=0Afield_home_address_2=0Afield_home_ci= ty, field_home_state/province field_home_zipcode=0Afield_home_country LABEL;QUOTED-PRINTABLE;POSTAL:field_other_pobox field_other_address=0Afield_other_address_2=0Afield_othe= r_city, field_other_state/province field_other_zipcode=0Afield_other_count= ry TEL;X-EVOLUTION-ASSISTANT:field_assistant TEL;WORK;VOICE:field_business TEL;WORK;VOICE:field_business_2 TEL;WORK;FAX:field_business_fax TEL;X-EVOLUTION-CALLBACK:field_callback TEL;CAR:field_car TEL;WORK:field_company TEL;HOME:field_home TEL;HOME:field_home_2 TEL;HOME;FAX:field_home_fax TEL;ISDN:field_ISDN TEL;CELL:field_mobile TEL;VOICE:field_other TEL;FAX:field_other_fax TEL;PAGER:field_pager TEL;PREF:field_primary TEL;X-EVOLUTION-RADIO:field_radio TEL;X-EVOLUTION-TELEX:field_telex TEL;X-EVOLUTION-TTYTDD:field_tty/tdd EMAIL;INTERNET:field_primary_email EMAIL;INTERNET:field_email2 EMAIL;INTERNET:field_email3 URL:field_web_page_address ORG:field_organization;field_department X-EVOLUTION-OFFICE:field_office TITLE:field_job_title ROLE:field_profession X-EVOLUTION-MANAGER:field_managers_name X-EVOLUTION-ASSISTANT:field_assistants_name NICKNAME:field_nickname X-EVOLUTION-SPOUSE:field_spouse CALURI:field_public_calendar_url FBURL:field_free/budy_url NOTE:field_notes X-EVOLUTION-RELATED_CONTACTS:<?xml version="1.0"?><destinations><destination html_mail="no"><email>field_contacts</email></destination></destinations> CATEGORIES:field_categories UID:pas-id-3DCDA17B00000000 END:VCARD

All fields here are full and this is the base reference for deriving the actual info. As evolution progresses though this standard will tend to expand (evolution has already strained this too much in my opinion (xml would have done better)).

FUNCTIONS

new($)
TEST($)

FUNCTION DOCUMENTATION

new($)

This is a constructor for the Meta::Info::Vcard object.

TEST($)

Test suite for this module.

SUPER CLASSES

None.

BUGS

None.

AUTHOR

Name: Mark Veltzer
Email: mailto:veltzer@cpan.org
WWW: http://www.veltzer.org
CPAN id: VELTZER

HISTORY

0.00 MV web site development
0.01 MV web site automation
0.02 MV SEE ALSO section fix
0.03 MV more pdmt stuff
0.04 MV md5 issues

SEE ALSO

strict(3)

TODO

-get references to Vcards from the net and work to comply with the entire standard.