#9374: People GUI should support vCard contacts ---------------------------+----------------------------------------------- Reporter: heidi | Owner: stippi Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: User | Version: R1/alpha4.1 Interface | Keywords: People, contacts, GUI, vCard, GCI Resolution: | Blocking: Blocked By: | Platform: All Has a Patch: 0 | ---------------------------+----------------------------------------------- Comment (by Barrett): Just to let you know i've not abandoned my gsoc project, i've continued to develop it during the last 2 years. While i think useful for the actual People the possibility to edit fields from filetypes, i think it's a completely bad approach for a VCard based Person format. VCard is a lot complex, and besides that some fields are just "as is", the format already specify a way to define custom fields. Basically any field put with the X- prefix is an extension, i don't think there's any control on it. So if for example people add an attribute for every field we easily end up with a messy attribute list. In my actual implementation, low level things are all handed by the translators, so i think the best approach is to split the formats, making the actual person format behave as stippi defined it, just for compatibility reasons. The "new" Person format that i would call "vPerson" should behave differently. You have a basic set of fields (such as MAIL or FN), which the user can't modify, and some extensions which the user should be able to configure in some way. I think the best approach is another tab, named maybe "Additional data" or something similar, where the user is able to define an extension by just clicking a button "Add a custom field". Those will result into a low level X-WHATEVER field, where you named it in high level "WHATEVER". Another option is to let the user select from People itself which fields will be turned into file attributes. This is just an option, from another point of view, People could just don't care about extensions, and just let them show in the app, leaving to expert users the work to edit the vCard file and add the extensions they want. Obviously some common extensions are already supported out-of-the- box by my own version of People, X-GENDER is the first extensions that comes to mind, for extensions like it, the treatment will be just as the other standard fields, i think there are no doubts about it. About attributes, i would just stop with the idea of making them the container of informations, as said one just should not edit the attribute informations, which in my opinion are provided to make easy to search not to edit the contacts in Tracker, in any case a translator for the actual format is provided, and one could just trade the new complete format with the old simple customizable format. Also i'm not sure that every vcard field should be turned into an attribute, just because it could easily become messy. In any case, to configure attributes from FileTypes is not so easy and transparent for the user. So from my vision of all that, the vcard translator, will just overwrite attributes without any care of the content in it, since it's just a simplified representation of the vCard fields. Talking about my actual implementation, i just got lost with the idea of making the People GUI simple, and that's why i wanted a new mockup, i think the tab-columnlistview approach is ok, and it would take a few hours for me to implement it. About the BContact format, it's just actually a lot similar to vCard, since it's a from scratch work, i just feel convenient to adhere to vCard where we can. Let me show you an example : in vcard you have the N field that contains name and surname separated by semicolon (N:John;Doe) and it's represented as a B_CONTACT_NAME (a BStringContactField specifically) field containing the same string. -- Ticket URL: <http://dev.haiku-os.org/ticket/9374#comment:5> Haiku <http://dev.haiku-os.org> Haiku - the operating system.