<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DUMFQ3k8cSp7ImA9WhVXEks.&quot;"><id>tag:blogger.com,1999:blog-24762658</id><updated>2012-04-12T14:50:12.779-07:00</updated><category term="xml" /><category term="xsl" /><category term="LDIF" /><category term="CRM" /><category term="vcard" /><category term="security" /><category term="skype" /><category term="name" /><category term="COM" /><category term="privacy" /><category term="dialer" /><category term="phone" /><category term="Plan B" /><category term="outlook" /><category term="portable" /><category term="social networking" /><category term="pda" /><category term="categories" /><category term="mozilla thunderbird" /><category term="open contacts" /><category term="address book" /><category term="wallet" /><category term="custom actions" /><category term="power" /><category term="contact management" /><category term="email" /><category term="relationship management" /><category term="mobile phone" /><category term="PIM" /><category term="database" /><category term="backup" /><category term="telephone" /><title>Open Contacts Blog</title><subtitle type="html">This blog is maintained by Fonlow IT.
This blog includes news, announcements, and tips about Open Contacts.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://opencontacts.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/OpenContacts" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="opencontacts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">OpenContacts</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CkANQH06fCp7ImA9WxdXFEU.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-7567753017452302910</id><published>2008-06-26T04:45:00.000-07:00</published><updated>2008-06-26T04:46:31.314-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-26T04:46:31.314-07:00</app:edited><title>Birthday Reminder Programs</title><content type="html">You may have a handful of buddies for whom birthdays you would celebrate yearly through sending gifts or greetings. If you use computer often, you would immediately want to get assistant from computer programs. So, there are actually quite a load of such programs around, free or commercial, they could be found easily through searching "Birthday Reminder" in Google search.&lt;br /&gt;&lt;br /&gt;They fall into two categories:&lt;br /&gt;1. Web service.&lt;br /&gt;2. Desktop program running on PC, Mac, PDA or mobile phone.&lt;br /&gt;&lt;br /&gt;Here's a list of popular programs of birthday reminder:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;www.birthdayalarm.com&lt;/li&gt;&lt;li&gt;www.happybirthday.com&lt;/li&gt;&lt;li&gt;www.birthdaytime.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mozilla Sunbird&lt;/li&gt;&lt;li&gt;MS Outlook&lt;/li&gt;&lt;li&gt;iCal&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scheduleworld.com/tg/cal/day.jsp"&gt;Google Calendar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scheduleworld.com/tg/cal/day.jsp"&gt;ScheduleWorld.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://calendar.live.com/"&gt;Windows Live Calendar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/thunderbird/addon/3680"&gt;Birthday Reminder::Thunderbird Addon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zhornsoftware.co.uk/bday/index.html"&gt;Birthday Reminder from Zhorn Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cweiske.de/birthday3.htm"&gt;Birthday Reminder&lt;/a&gt; from  Christian Weiske&lt;/li&gt;&lt;li&gt;&lt;a href="http://widgets.yahoo.com/widgets/birthday-reminder-1"&gt;Birthday Reminder::Yahoo Widget&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://apps.facebook.com/birthday_calendar/calendar.php"&gt;Birthday Calendar::Facebook App&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;There are so many of them, you would ask which one to choose.&lt;br /&gt;&lt;br /&gt;First, you are going to ask yourself what you want and need.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do you use computer programs only for reminding you about your buddies' birthdays, not anything else such as appointments?&lt;/li&gt;&lt;li&gt;Are you often online?&lt;/li&gt;&lt;li&gt; Do you have a cell phone?&lt;/li&gt;&lt;li&gt;Do you want to be reminded through popup, Emal or SMS?&lt;/li&gt;&lt;li&gt;Do you mind paying a small fee?&lt;/li&gt;&lt;li&gt;Do you use computer to store contact information?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; Actually, any calendar program can take care of the job of birthday reminding. A birthday reminder can be simply a whole day event plus an alarm in advance. However, if you don't use any calendar program to remind you about appointments and meetings etc., and just want to be reminded about birthday, a dedicated birthday reminder program might be more appealing to you.&lt;br /&gt;&lt;br /&gt;If you are often online, obviously an online service can be helpful in timely manner. In addition to alarms of popup, Email or SMS, some online services can even do gift sending for you. However, there might be some catches which I will discuss later.&lt;br /&gt;&lt;br /&gt;If you have a cell phone, SMS is very handy to notify you. Such service generally can only be provided by an online service, such as Google Calendar and BirthdayAlarm.com.&lt;br /&gt;&lt;br /&gt;If you have already used computer (PC, PDA or online address book) to store contact info, it will be good that the birthday reminder program may get the birthday info from the address book program to save you from redundant keyboarding.&lt;br /&gt;&lt;br /&gt;Have you make up your mind for which ones to choose?&lt;br /&gt;&lt;br /&gt;...?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If not, I would pick up a few apparently popular ones to evaluate (excluding those on PDA and mobile phones).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MS Outlook&lt;/span&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Popular in Windows, de facto standard of personal information manager, available in most cooperate Windows PCs and at home. &lt;/li&gt;&lt;li&gt;The calendar function is very good.&lt;/li&gt;&lt;li&gt;Great sync features with PDA and cell phones.&lt;/li&gt;&lt;li&gt;There might be add-on programs that can generate birthday events from Contacts. I haven't found out.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Cons&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Searching calendar is poor.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Mozilla Sunbird&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fast&lt;/li&gt;&lt;li&gt;The UI is elegant, though less luxury than MS Outlook's UI.&lt;/li&gt;&lt;li&gt;Available in Windows, Linux and Mac etc.&lt;/li&gt;&lt;li&gt;Portable through portable drives such as USB flash disk, with Portable Sunbird.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Searching calendar is excellent.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you consider close integration between address book and calendar is critical, Sunbird won't be a candidate.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;BirthdayAlarm.com&lt;/span&gt;&lt;br /&gt;This long standing online service is popular in North America.&lt;br /&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Alarm through Email and SMS. (SMS is a paid service with an annual fee)&lt;/li&gt;&lt;li&gt;Gift sending.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Need to spam to buddies for inputting birthday info for you, and implicit invitation for joining the BirthdayAlarm.com.&lt;/li&gt;&lt;li&gt;Does not support iCalendar import which should be the basic feature of any calendar program.&lt;/li&gt;&lt;li&gt;If your friend was born on 1984-02-29, BirthdayAlarm considers the birthday is on the 1st of March in a normal year. If you consider 28th is a more reasonable day to celebrate, you get a catch.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Birthday Calendar::Facebook App&lt;/span&gt;&lt;br /&gt;It was claimed there was 2 millions subscribers within the first month.&lt;br /&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Close integration with Facebook, thus birthday info of your Facebook buddies will be available for reminding you.&lt;/li&gt;&lt;li&gt;Gift sending&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If your social circle is not limited to Facebook community, this Facebook app is not so appealing.&lt;/li&gt;&lt;li&gt;Though the app may import CSV from MS Outlook contacts, but if the day format is not US date format, the program will fail to recognize the date info of the birthday field. And because the CSV has to be in DOS CSV format, non-English characters will be screwed up. You don't want your Spanish friends to get greetings from you with wrong spelling of their names.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Google Calendar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Elegant UI and fast, among the best online calendar programs.&lt;/li&gt;&lt;li&gt;Alarm through popup, Email and SMS. Best of all, the SMS notification service is basically FREE, as long as Google provides such service in your country.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The searching calendar function is not so stable, sometimes it endless keeps retrieving info from the web. I am not sure whether this is a temp bug, or long standing problem.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The winners are:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: 130%;"&gt;Mozilla Sunbird&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 130%;"&gt;MS Outlook&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 130%;"&gt;Google Calendar&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Companion Tools &lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gcaldaemon.sourceforge.net/index.html"&gt;GCALDaemon&lt;/a&gt; offers two-way synchronization between Google Calendar and various iCalendar compatible calendar applications. GCALDaemon is primarily designed as a calendar synchronizer but it can also be used as a Gmail notifier, Address Book importer, Gmail terminal and RSS feed converter.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/thunderbird/addon/4631"&gt;Sunbird Addon for Google Calendar &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=89955"&gt;&lt;br /&gt;Google Calendar Sync for MS Outlook&lt;/a&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7567753017452302910?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7567753017452302910?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/06/birthday-reminder-programs.html" title="Birthday Reminder Programs" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkEBQXoyeip7ImA9WxdXFEU.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-1269873230063563154</id><published>2008-06-26T04:39:00.001-07:00</published><updated>2008-06-26T04:44:10.492-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-26T04:44:10.492-07:00</app:edited><title>Open Contacts v5.2.4.593 is released</title><content type="html">Version &lt;span lang="en-us"&gt;5.2.4&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;span lang="en-us"&gt;Face lifting. The command bar in the edit window is&lt;br /&gt; moved to the top.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;span lang="en-us"&gt;Font name of edit boxes, categories and contact list&lt;br /&gt; can be configurated.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Version &lt;span lang="en-us"&gt;5.2.3&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;span lang="en-us"&gt;Create iCalendar file which may generate birthday&lt;br /&gt; reminders in any calendar program running on PC, Web or PDA. The new&lt;br /&gt; function is located in [Main menu -&amp;gt; Output -&amp;gt; Export to Birthday Reminder].&lt;/span&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;span lang="en-us"&gt;Some minor face lifts to the program UI.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Version &lt;span lang="en-us"&gt;5.2.2&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;span lang="en-us"&gt;Improve synchronizing for organizational contacts,&lt;br /&gt; along with SyncML Client for Open Contacts v1.0.3.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/1269873230063563154?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/1269873230063563154?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/06/open-contacts-v524593-is-released.html" title="Open Contacts v5.2.4.593 is released" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;AkEMSXg5cSp7ImA9WxdWFUs.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-5745876510773721812</id><published>2008-06-04T17:01:00.000-07:00</published><updated>2008-07-08T18:58:08.629-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-08T18:58:08.629-07:00</app:edited><title>What Open Contacts is and not?</title><content type="html">You might have used a few different address book or PIM programs before. While MS Outlook has become a de facto standard of PIM, there are still a variety PIM program targeting different markets.  Most of them can be comparable with MS Outlook.&lt;br /&gt;&lt;br /&gt;Open Contacts is an advanced address book program; Outlook is a PIM with advanced address book functions. However, interfaces are provided in Open Contacts to communicate with other PIM programs such as Mozilla Sunbird and Google Calendar.&lt;br /&gt;&lt;br /&gt;Open Contacts was designed for interacting with contacts you personally know; Outlook address book was designed for general purpose, including CRM. Though there are users using Open Contacts to manage business contacts for marketing activities, the functions and GUI were optimized with the assumptions that you personally know all contacts.&lt;br /&gt;&lt;br /&gt;Open Contacts was designed to be open to evolution of communication methods with people, through unlimited dynamic data fields; Outlook is a typically traditional address book with static  and limited data fields.&lt;br /&gt;&lt;br /&gt;Open Contacts distinguishes between personal contacts and organizational contacts, and provide relationship links between contacts; Outlook with Small Business add-on may provide separated management for organizational contacts, however, navigating between contacts with relationships is still difficult.&lt;br /&gt;&lt;br /&gt;Open Contacts was designed to be portable; Outlook can only be used as an installed program.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5745876510773721812?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5745876510773721812?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/06/what-open-contacts-is-and-not.html" title="What Open Contacts is and not?" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkUBQHYyfSp7ImA9WxdSEkk.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-4229609433551292575</id><published>2008-05-19T16:35:00.000-07:00</published><updated>2008-05-19T16:37:31.895-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-19T16:37:31.895-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>Sync contact info between Open Contacts, PDA, smart phones and Web applications</title><content type="html">The SyncML Client for Open Contacts is for synchronizing contact info&lt;br /&gt;between Open Contacts and a SyncML server which collaborates&lt;br /&gt;synchronizations between different devices such as smart phone, PDA,&lt;br /&gt;computer programs and Web-base address books like Yahoo Mail, Gmail&lt;br /&gt;and Facebook etc.&lt;br /&gt;&lt;br /&gt;The recommended SyncML server is Funambol,  which can be installed in&lt;br /&gt;a PC, a LAN server, or a Web server. In addition, there are variety of&lt;br /&gt;SyncML web sites based on Funambol as listed in the Resources.&lt;br /&gt;&lt;br /&gt;According to your own privacy policy, you may decide to use either a&lt;br /&gt;locally hosted Funambol server, or a public SyncML Web service.&lt;br /&gt;&lt;br /&gt;SyncML Client for Open Contacts is distributed as FREEWARE.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a target="_blank" rel="nofollow" href="http://www.fonlow.com/opencontacts/SyncMLClient/"&gt;http://www.fonlow.com/opencontacts/SyncMLClient/&lt;/a&gt;&lt;br /&gt;  &lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/4229609433551292575?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/4229609433551292575?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/05/sync-contact-info-between-open-contacts.html" title="Sync contact info between Open Contacts, PDA, smart phones and Web applications" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;A08NQXszcSp7ImA9WxdSEk4.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-5961873264709823962</id><published>2008-05-19T16:25:00.000-07:00</published><updated>2008-05-19T16:31:30.589-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-19T16:31:30.589-07:00</app:edited><title>So many options</title><content type="html">&lt;p&gt;While Open Contacts is an advanced address book program, we don't want too many feature flooding the GUI and confusing you. Obviously not all users need all features, we tried out best to keep balance.&lt;/p&gt;&lt;br /&gt;If you check &lt;b&gt;&lt;a href="http://www.fonlow.com/opencontacts/Overview/chronicles_of_open_contacts.htm"&gt;Chronicles&lt;/a&gt; &lt;/b&gt;of Open Contacts, you will find the GUI remain very much the same from early versions, and has even become simpler. Most of the new features are optional. It is these options that make the use of Open Contacts enjoyable to a diverse range of people.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5961873264709823962?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5961873264709823962?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/05/so-many-options.html" title="So many options" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkMHRXg9fip7ImA9WxZQGUw.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-7250599136738042868</id><published>2008-02-24T19:31:00.000-08:00</published><updated>2008-02-24T19:33:54.666-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-24T19:33:54.666-08:00</app:edited><title>Categories in Contact Management</title><content type="html">The following content is from Peter Gordon's post. I think the use case illustrated the use of the category system of Open Contacts quite well.&lt;br /&gt;&lt;br /&gt;===========================&lt;br /&gt;It is easier to think of it in terms of &lt;b style="color: black; background-color: rgb(160, 255, 255);"&gt;categories&lt;/b&gt;, than as keywords.&lt;br /&gt;Have a play with the contact manager: &lt;b style="color: black; background-color: rgb(255, 255, 102);"&gt;Open Contacts&lt;/b&gt;.&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="http://www.fonlow.com/OpenContacts/"&gt;http://www.fonlow.com/&lt;b style="color: black; background-color: rgb(153, 255, 153);"&gt;OpenContacts&lt;/b&gt;/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You could fit a complete company structure into it.&lt;br /&gt;&lt;br /&gt;I use it for other purposes.  Lets say I went to school with&lt;br /&gt;Fred and we are best mates.  Since leaving school, he has become&lt;br /&gt;my plumber and we belong to the same social tennis group.&lt;br /&gt;Fred would be stored under People|Friends, People|Class Of 1990,&lt;br /&gt;Trades|Plumber, People|Tennis.  Now suppose Fred shifts house,&lt;br /&gt;so his contact details change.  As he is entered in a database,&lt;br /&gt;changing the database entry once will be reflected in all the&lt;br /&gt;links to Fred.&lt;br /&gt;&lt;br /&gt;A search for Fred can be done on his name or more easily by&lt;br /&gt;working down through the tree to a small subset which contains&lt;br /&gt;his name.  I use this feature frequently.  If my washing machine&lt;br /&gt;breaks I can't remember the name of the service people, but I can&lt;br /&gt;quickly work through Home Maintenance|White Goods|Repairs to find&lt;br /&gt;the info I require.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7250599136738042868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7250599136738042868?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2008/02/categories-in-contact-management.html" title="Categories in Contact Management" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;DU8DQXwzcCp7ImA9WB5bGEg.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6153007570234403894</id><published>2007-09-03T14:59:00.000-07:00</published><updated>2007-09-03T15:17:50.288-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-03T15:17:50.288-07:00</app:edited><title>Sharing the database accorss Local Area Network</title><content type="html">&lt;p&gt;Open Contacts uses Firebird database server as database engine. By default,  OC uses Firebird embedded which is installed implicitly. Open Contacts is very  much self-contained.&lt;/p&gt; &lt;p&gt;If you prefer using OC in office environment where people using multiple  copies of OC will share the same set of info of business contacts, a standalone  Firebird database server should be installed. &lt;/p&gt; &lt;p&gt;Assuming that you have installed Open Contacts on computer "MyClient1" and  are going to use computer "MyHost" to host the database and linked files, here  are the steps:&lt;/p&gt; &lt;blockquote&gt;  &lt;h2&gt;1. Download and install Firebird database server.&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Download Firebird for Windows&lt;/p&gt;   &lt;blockquote&gt;    &lt;p&gt;Firebird is an open source FREEWARE program that can run on Windows, Linux  and Unix. Please visit&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.firebirdsql.org/"&gt;http://www.firebirdsql.org&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;for general info about Firebird. It is recommended that you use the latest  production version of Firebird.&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p&gt;2. Install Firebird&lt;/p&gt;   &lt;blockquote&gt;    &lt;p&gt;Generally, the host machine is  a server machine in your Local Area Network. For example, you may install     Firebird on computer "MyHost".&lt;/p&gt;    &lt;p&gt;During the installation, the installation program will ask you whether you  want the database sever to run as a Windows service or Windows application. In  general, you should make it run as a Windows service.&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p&gt;&lt;b&gt;3. Copy "udfoc.dll" in computer MyClient1 to directory "udf" of the program    directory of Firebird which is installed in computer MyHost. &lt;/b&gt;    &lt;/p&gt;   &lt;blockquote&gt;    &lt;p&gt;And "udfoc.dll"  comes with Open Contacts, it is located in directory "udf" of the program     directory of  Open Contacts. In the host computer MyHost, you should place "udfoc.dll" in     directory "udf" of Firebird program directory.&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p&gt;&lt;b&gt;4. Make sure that any firewall program     or antivirus program on the host machine allow   Firebird to listen to client requests.&lt;/b&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;h2&gt;2. Prepare database files on the server&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;Assuming the server machine is "MyHost".&lt;/p&gt;   &lt;p&gt;1. Create a secured directory (for example "D:\SecuredData\OC") not   accessible across the network but the Firebird database server only.&lt;/p&gt;   &lt;p&gt;2. Move database file "Default.gdb" from MyClient1 to "D:\SecuredData\OC".    Thus, no client computer should be able to access the database file    directly through networking file sharing, but through Firebird database    server only.&lt;/p&gt;   &lt;p&gt;3. Create a working directory (for example "D:\WorkData\OCData") shareable by some   users across the network according your local security policy, and move file   "main.ini", directory "templates" and directory "files" to the      working directory      from MyClient1. Please make the files directory   writable by these users. The working directory may be accessed through   something like "\\myhost\SharedOCWorking"   which points to D:\WorkData\OCData.&lt;/p&gt;   &lt;p&gt;4. Modify main.ini to make the database settings point to the server   machine as described below. &lt;/p&gt;   &lt;p&gt;The INI file contains pointers to to the address book database, as    shown in the example below.&lt;/p&gt;   &lt;blockquote&gt;    &lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;[General]&lt;br /&gt;  &lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;User=SYSDBA&lt;br /&gt;Password=masterkey&lt;br /&gt;Protocol=firebird-2.0&lt;br /&gt;Database=myhost:d:\secureddata\ocdata\default.GDB&lt;br /&gt;DemoDatabase=myhost:d:\secureddata\ocdata\demo.gdb&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p&gt;The user name/password pair is used for authentication to the Firebird  databases "default.GDB" and "demo.gdb". Both files are located in "&lt;a href="file:///d:/secureddata/ocdata/"&gt;d:\secureddata\ocdata\&lt;/a&gt;"  of the host machine "myhost". Thus, Open Contacts knows it should connect to  server "myhost" and talk to the Firebird database server there. Then the  database will process the database file in the host machine's D drive and  authenticate the user name/password pair.&lt;/p&gt;   &lt;p&gt;Though file "main.ini" sits as a shareable file on computer "MyHost",    the settings are used by Open Contacts running on computer "MyClient1".    Thus the settings need to tell Open Contacts the host name "myhost".&lt;/p&gt;   &lt;p&gt;5. Test. Create a program shortcut on computer "MyClient1" with the    Target directory pointing to the program directory of Open Contacts, and    the Start-in directory pointing to the working directory located in "\\myhost\SharedOCWorking"    . Run Open Contacts via the shortcut.&lt;/p&gt;  &lt;/blockquote&gt;  &lt;h2&gt;3. Install Open Contacts on each of the workstations (client machines)&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;After positive result of the test, you may start clone the program    and shortcut on every workstations.&lt;/p&gt;   &lt;ol&gt;&lt;li&gt;Run setup.exe.&lt;/li&gt;&lt;li&gt;After finishing the installation, double click on shortcut "New Open   Contacts Book".&lt;/li&gt;&lt;li&gt;In the "Locate Working Directory" dialog, select "Locate working   directory and create shortcuts".&lt;/li&gt;&lt;li&gt;In the Folder Browser Dialog, select "\\myhost\SharedOCWorking".&lt;/li&gt;&lt;/ol&gt;  &lt;/blockquote&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;Notes:&lt;/b&gt;&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;It is perfectly fine to install Open Contacts in a network share   directory, so all client machines may use the same copy of Open Contacts   program files. So you just then need to create shortcuts on each   workstation.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;&lt;br /&gt;A common error was to set the database path to a network path, for example&lt;br /&gt;database=\\SomewhereInNetwork\MyDatabase.gdb&lt;br /&gt;or&lt;br /&gt;database=Z:\here\MyDAtabase.gdb&lt;br /&gt;where Z is a mapped network drive. This won't work.&lt;br /&gt;&lt;/blockquote&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6153007570234403894?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6153007570234403894?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/09/sharing-database-accorss-local-area.html" title="Sharing the database accorss Local Area Network" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;D08CQ3k4fCp7ImA9WB5UGU4.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-7507688234826933199</id><published>2007-08-23T23:06:00.000-07:00</published><updated>2007-08-23T23:11:02.734-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-23T23:11:02.734-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>Conversations between users and support</title><content type="html">&lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;When I invoke the newly downloaded and installed   OpenContacts I get the message:&lt;br /&gt; &lt;br /&gt; "Can not find working directory.  Please specify one."&lt;br /&gt; &lt;br /&gt; Then it goes to the "Located Working Directory" panel which gives three   options with radio buttons.  I leave it to the default which is "Located   Working Directory" and then click on "Proceed".&lt;br /&gt; &lt;br /&gt; I then locate the working directory and a panel comes up saying:&lt;br /&gt; &lt;br /&gt; "The working directory of Open Contacts is X:\home\pavneet\share\OpenContacts"  &lt;br /&gt; &lt;br /&gt; When I click on OK I get the error:&lt;br /&gt; &lt;br /&gt; "EZSQLException--Requested database driver was not found while connecting to   db server X:\home\pavneet\share\OpenContacts\DEFAULT.GDB"&lt;br /&gt; &lt;br /&gt; Is it possible that the older GDB doesn't work with the new Open Contacts?  &lt;br /&gt; &lt;br /&gt; Many thanks.&lt;br /&gt; &lt;br /&gt; Support wrote:&lt;br /&gt;　&lt;/span&gt;&lt;blockquote type="cite"&gt;   &lt;span style="color:#800000;"&gt;Open Contacts works on a working directory    generally indicated by the shortcut. Please refer to the Installation    manual for details.&lt;br /&gt;  The latest version is v4.1.7.&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt;  &lt;br /&gt;　&lt;/blockquote&gt; I guess drive X is a network mapped drive. If so, embedded Firebird does not  support accessing database in network drive. Though db engine like MS Access can  access network drive, however, accessing network shared database file is never a  reliable solution. If you desire to share the database across local area  network, you should refer to the Networking charter of the user manual.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;br /&gt; &lt;span style="color:#800000;"&gt;I find a little bug in open contacts version 4.1.3.515   and oldest versions. I am french and so use accentued characters and special   like this ç.&lt;br /&gt; &lt;br /&gt; The bug is with some of search functions.&lt;br /&gt; &lt;br /&gt; In fact, with action search (F2), there is no problem, if i type any   accentued characters in case name, the result give whole items with this   characters. It is very well. With action quick search any field, there is no   problem too, if i type one accentued character in the two first letters of   query, i obtain whole fields with this two letters. It is very well. (nota :   i have observed that quick search any field mind quick searh any field   except contact name).&lt;br /&gt; &lt;br /&gt; But with the two other search functions is no good.&lt;br /&gt; &lt;br /&gt; Quick search by contact name. I have recorded in data base one person with   name who have one accentued character like initial. When i type in quick   search by contact name window this accentued character, none name is   proposed (the list is blank). When i type this accentued character and the   second letter of the name, the list is update with the good person. On   windows i can read the name with the accentued character. I have recorded in   data base persons with given name françois. When i type in quick search by   contact name window the character ç, none name is proposed (the list is   blank). When i type this character and the second letter of the given name   (the o), the list is update with the good persons with françois as given   name. When i type in quick search by contact name window the letter before   the character ç (the letter n), the list is update with persons who have   character n as name's initial. When i type this character n and just after   the character ç, the list is update with the good persons with françois as   given name. In fact quick search by name function seem unable to read only   one accentued character or special character.&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; In the quick search windows, it is by design that you need to input the second  character to get result. The search is not to search the initial characters  only, but the entire string.&lt;br /&gt;　&lt;blockquote type="cite"&gt;  &lt;br /&gt; &lt;span style="color:#800000;"&gt;In predefined sections, for predefined fields with   action person (F9) or org (F9) when i use for person or company a name with   accentuated character, the action person (f9) or org (f9) don't find   something in the database. If the name of person or company is writted   without accentued or special character, the action (f9) find the good item   in the database.&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;　&lt;/blockquote&gt;&lt;br /&gt;This was a newly introduced bug, and was just fixed. Please download v4.1.5 on  Friday.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;I have 2 bugs to report:&lt;br /&gt; 1. If I'm trying to sent an email to more than 100 people, I get an error   message "too_many_recipients" (see also attached   OpenContacts-error-too_many_recipients.JPG). I'm using the latest version of   Thunderbird - version 2.0.0.6 (20070728).&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; As the message is from MAPI of Windows, apparently there is limitation of mapi  for sending Email, say, not more than 100? recipients. I think this has nothing  to do with Thunderbird or any other Email client. MAPI is a Windows standard way  of communication between caller like Open Contacts and any Email program  conforming MAPI.  I think this might be a Microsoft way of limiting spam mails.&lt;br /&gt;&lt;br /&gt;To work around, you may set Options -&gt; Applications -&gt; Default Email -&gt; Email  Launcher. When sending Email, select Thunderbird.&lt;br /&gt;　&lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;2. I have also problem with diacritic marks in "Quick   View" window. My native language is Czech and of course lots of people are   having names with diacritic marks. Everything is shown properly in "Edit   Person" window as well as in "People" list, but the diacritic is bad in   "Quick View" window (see attached OpenContacts-error-bad_diacritic_marks.jpg).  &lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; Right click on the Quick View window, select Encoding -&gt; UTF8. After refreshing,  things will be displayed well. You need to do this only once generally.&lt;br /&gt;　&lt;blockquote type="cite"&gt;  &lt;br /&gt; &lt;span style="color:#800000;"&gt;Because I like your program I can offer you   translation to Czech for free.&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; Thanks, that's very kind of you.&lt;br /&gt;&lt;br /&gt;Please refer to this first&lt;br /&gt;&lt;a class="moz-txt-link-freetext" href="http://www.fonlow.com/opencontacts/Developer/translate.htm"&gt; http://www.fonlow.com/opencontacts/Developer/translate.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you are ready, please give me a yo and I will send you the most recent PO  file.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;To Fonlow Support: Another added feature that you may   want to consider is the ability to use an external third party report   writer. I have used Crystal Reports in several Federal Government projects   here in Canada and it saved me a great deal of time since I did not need to   write the actual code, just the background query. The ability to select a   group of contacts from Open Contacts and then to click on a "Custom Report"   button would greatly enhance the utility of Open Contacts. I have browsed   the Source Forge website for report writers and got numerous hits, not all   suitable for use with Open Contacts but there were several that showed   promise. By implementing this interface to an Open Source product you would   add functionality without needing to actual program the report writer.&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; Using CSV or Excel files exported is a common way of using 3rd party report  writers. While the example illustrated in the user manual is Avery Design Pro  which is free, you may use similar programs supporting CSV or Excel. I am pretty  sure you can figure out how to use, and likely, I hope you would share your  experiences with fellows.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;To Fonlow Support: I am continuing to use Open   Contacts for a few different volunteer projects and have encouraged others   to use it as well. There are 2 features that would be quite useful to me and   others.&lt;br /&gt; 1.   When printing a standard report allow the use of standard letter paper   (8.5 inches by 11 inches) in addition to                 A4 size. In Canada,   even though we are metric, our paper comes from the U.S.A. which is not   metric and A4               paper is extremely difficult to find.&lt;br /&gt; 2.   The ability to have nested categories is a valuable feature but it   would be good to be able to show only the                  highest level   categories in the Categories window as a default at start up.&lt;br /&gt; &lt;br /&gt; Thanks, Ed Philpott&lt;br /&gt; &lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; Both are already there.&lt;br /&gt;&lt;br /&gt;For printing on different paper sizes and formats, check user manual -&gt; Print -&gt;  Use 3rd party label printing program. It is common to delegate this kind of jobs  to dedicated label printing programs.&lt;br /&gt;&lt;br /&gt;If you want to show all at startup (with highest level category), in options  window, make sure "Remember Category" unchecked (by default).&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;blockquote type="cite"&gt;   &lt;span style="color:#800000;"&gt;&gt; Hello,&lt;br /&gt;  &gt;&lt;br /&gt;  &gt; I expected by pressing &lt;strg&gt; &lt;n&gt; an empty new section 'personal' as   &lt;br /&gt;  &gt; the section 'work' is completely empty.&lt;br /&gt;  &gt; I get like in the screenshot everytime in the first 4 lines prefilled   &lt;br /&gt;  &gt; informations I do not want.&lt;br /&gt;  &gt;&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; &lt;/blockquote&gt;&lt;br /&gt;I just analyze your database file. Though I know how to remove some garbages  using database tools, however, it might be easier for you to do the following  steps:&lt;br /&gt;1. Using OC v4.1.2, run Search, select Both People and Companies, select all of  them.&lt;br /&gt;2. run Export to XML with Options, check these: Categories, Links to other  contacts, Settings. And save them to an XML file.&lt;br /&gt;3. Get a fresh copy of default.gdb. A lazy way is just to install OC again and  overwrite default.gdb.&lt;br /&gt;4. Import the XML file.&lt;br /&gt;&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite" cite="mid:003f01c7c218$7ba5b710$e000000a@Chris"&gt;  &lt;div class="Section1"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:black;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt;We are running Open    Contacts (v.3.9.5) and would like to duplicate the entire database (i.e.    everything on it) so that we have two versions with the same information    running. The reason we would like to do this is that we would like to    try reorganizing our categories on one version to see if we can make it    more efficient, but still need the old version running for day-to-day    business. &lt;u5:p&gt;&lt;/u5:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;u5:p&gt; &lt;/u5:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt;I have referred to the    user manual -&gt; Multiple databases. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt;I do not understand    how to copy an existing personal folder to a specific folder as a new    personal folder. I know where the “start-in” folder and  “target” folder    are but do not know what the personal folder is nor what is meant by    copying ALL files to it. What then is the “data folder” in the “personal    folder” and how do I need to change the “main.INI” ? &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt;How then do I launch    the two different versions? Unfortunately we do not have a system    administrator so I do not know about LUA concepts.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;   &lt;span style="font-size: 10pt; font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt; &lt;p&gt;The latest version is v4.1 and the user manual got update. Please refer to  it. By the way, a local admin, full time, part time or contract is good for the  health of local computer networks.&lt;/p&gt; &lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;Foremost I need to tell you I find your program really   great. Exactly what I was looking for.&lt;br /&gt; &lt;br /&gt; I’d like to use OC for my company and share the contact database on our UNIX   host. However, according to our network engineer, your program admits only   Firebird in its Windows version. What should I do to use OC on Windows   clients from a database host on UNIX?&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;br /&gt; &lt;br /&gt;　&lt;/blockquote&gt; We don't have an UNIX server for testing. However, according to general  client/server SQL engine, the client should not be aware of the OS of the host  machine. All the client care about is network protocol. The latest version uses  firebird 2.0 protocol. Please make sure you have Firebird 2.0 server running on  the host machine regardless of the OS. Please check relevant newsgroup for  further support of how to install and use firebird.&lt;br /&gt;&lt;br /&gt;By the way, the latest version is v4.1.1.498 Beta.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;I installed Open contacts version 4.0 on Windows   Vista.&lt;br /&gt; Immediately after the installation, the program open normally. After I   closed the program and have tried to reopen the program, it haven't worked.     &lt;br /&gt; I can open the program. I have always received the same error message:&lt;br /&gt;  &lt;br /&gt; EZSQL Exception -- SQL Error: operating system directive CreateFileMapping   failed Access is denied.  Error Code -- 902. Unsuccesfull execution caused   by a system error that precludes successful execution od subsequent   statements while connecting to db server.&lt;br /&gt;  &lt;br /&gt; Though the file DEfault.GDB is at the good place.&lt;br /&gt;  &lt;br /&gt; I checked the securiy, but I saw nothing who can interfere with your   program.&lt;br /&gt;  &lt;br /&gt; Do you have a solution.&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;This is related to a bug in Firebird Embedded v.20.1 for handling&lt;br /&gt;stricter access control of Vista with CreateFileMapping call. The&lt;br /&gt;solution is to replace v2.0.1.12855 with v2.0.0.12748, until Firdbird&lt;br /&gt;has come up with a bug fixing release in the future.&lt;br /&gt;&lt;br /&gt;Please download Open Contacts v4.1.1.498, with firebird embedded driver&lt;br /&gt;v2.0.0.12748. This should be working well in Vista.&lt;br /&gt;&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;br /&gt; &lt;span style="color:#800000;"&gt;I am investigating to use OC for our prayers-members   in the Netherlands and perhaps abroad.&lt;br /&gt; &lt;br /&gt; Your program seems to suite very well.&lt;br /&gt; &lt;br /&gt; To complete other fields in an existing record: do we have to indicate the   field(s) to be&lt;br /&gt;  filled-in, since the Edit-screen "only" shows fields that were filled   before?&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; You can add fields to any sections later.&lt;br /&gt;　&lt;blockquote type="cite"&gt;  &lt;br /&gt; &lt;span style="color:#800000;"&gt;Or is there an option to display always a "full   section" (with all fields), even some fields&lt;br /&gt; (for that moment)  are NULL / EMPTY ?&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt; There are also ways of add multiple fields to a section. For example, the first  time you input phone number to section Personal, thus you have only one field in  the section after saving the record. Later, you might want to input fax, email  and address etc., you may just add section Personal, fields of the section will  all be added.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite" cite="mid:3b696ab30705290020o358d7e42idf0a4752b42ecf93@mail.gmail.com"&gt;  &lt;span style="color:#800000;"&gt;I am a very happy user of Open Contacts and use it for   a number of purposes - not just to store contacts!&lt;br /&gt; &lt;br /&gt; Recently, I also downloaded QuickSearch - but have not been able to use it.&lt;br /&gt; &lt;br /&gt; I am using OC as a 'portable app' on my USB hard-disk. The database [   DEFAULT.GDB] is in a directory 'data' within the OC directory (so the   main.ini file has been edited to reflect this).&lt;br /&gt; But on using the QuickSearch box, I get the following sequence of error   windows:&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;The Quick Search program communicate with Open Contacts through COM (Common  Object Model), which require local registry. Generally OC is an out-of-process  COM server, however, when running as portable application, by default, it  becomes not a COM server as this is a basic requirement of pure portable.&lt;br /&gt;&lt;br /&gt;If you really desire to use, you may change Main.in, and make DisableCOM=0. Then  OC will write something to the registry to remember the last database it used.&lt;br /&gt;&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite" cite="mid:000801c79a07$bc1d64c0$23f3ecdc@p428"&gt;  &lt;div&gt;   &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;I am using the "Demo Data"    part of Open Contacts to set up a second separate database. Are there    any limitations on using this? Any limit on record numbers, sections,    fields, note lengths etc? I do not want to put half of my database in    and then hit a roadblock.&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;   &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt; &lt;/blockquote&gt; Demo Data is only for new users to evaluate features with some data. It is not  recommended to use the Demo data link as a secondary address book, and actually  you may disable this link in Options. Please also refer to the charter of   Multiple address books in the manual.&lt;hr /&gt; &lt;blockquote type="cite" cite="mid:9010216B9FD153478AF172692925256BBA3319@EXBVMAIL01.swic.campus"&gt;  &lt;div id="idOWAReplyText61577" dir="ltr"&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;Apparently, the current     version of open contacts is not compatible with either firebird     1.5.3 or 1.5.4, i have tried both.  It gives the following error     trying to connect to the server machine:&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;"EZSQLException--SQL     Error:  unsupported on-disk structure for file c:\mydatabases\oc\default.gdb;     found 32779.10, support 1242556.2097152.  Error Code: -820, wrong or     obsolete version while connecting to db server&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;10.51.11.15:c:\mydatabases\oc\default.gdb"&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;same error with either     the ip address or machine name of the server.  udfoc.dll is resident     in the firebird udf folder, main.ini is edited for the above     database location.  Same error running open contact on the server,     or on a different machine connecting to the server.&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;XP SP2 currently     patched.  Some services are disabled, but none that should affect     firebird.&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="font-family:Arial;font-size:85%;color:#800000;"&gt;Any idea what's wrong?&lt;/span&gt;&lt;/div&gt;   &lt;div dir="ltr"&gt;    &lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;/div&gt;  &lt;/div&gt;  &lt;div id="idSignature48445" dir="ltr"&gt;   &lt;div&gt;    &lt;span style="font-family:Verdana;font-size:85%;color:#000000;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;  &lt;/div&gt; &lt;/blockquote&gt; What you found is right. Please use firebird 2.0 or above.&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;blockquote type="cite"&gt;   &lt;blockquote type="cite"&gt;    &lt;span style="color:#800000;"&gt;Im trying to export a contact to  vcard file.     The problem is that only the name of the contact is exported when i     open the vard file. How do i do to get the adress and all the other     information to the vcard file?&lt;br /&gt;   &lt;br /&gt;   /Anders&lt;br /&gt;       &lt;/span&gt;   &lt;/blockquote&gt;  &lt;/blockquote&gt; &lt;/blockquote&gt; While OC support flexible data field management, it is good to keep consistent  practices of using section names and field names, in order to exchange info with  other system, in this case, vCard. As you might guess, there's should be a  mapping between OC fields and vCard fields. Such mapping is defined in  ExportVCard.xml in the templates folder close to your address book database. You  may use any text editor to modify the mapping. I have to assume you have some  basic knowledges of XML and vCard.&lt;br /&gt;&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;I love OpenContacts!  It has worked very well since I   started using it several months ago.  However last night I had a major   failure of my database that occurred in a matter of minutes.  All of my   precious data has been lost, and (much to my embarrassment) the last time I   did a backup was April 19th.&lt;br /&gt; &lt;br /&gt; My question then: Is anyone there willing to attempt a recovery of my   database?  I can't tell you how devastated I will be if I've lost four weeks   worth of work.  The error message I get pops up after 95% of the "loading   graph" has displayed, which says:&lt;br /&gt; &lt;br /&gt; Object: TRmMain--EAccessViolation~Access violation at address 00711E36 in   module 'OpenContacts.exe'. Read of address 000000C&lt;br /&gt; &lt;br /&gt; I'm not sure how the database became corrupted, but I closed the database   and tried to reopen it minutes later without success.  I'm a programmer of   35 years, so I know there MAY be some way to peel back the source code to   know exactly what is happening, unfortunately I don't have the time or   resources to do that right now.  If anyone is willing to help me, I'd be   happy to send (what's left) of the database as an eMail attachment.  The   database is currently 2,552Kb in size.&lt;br /&gt; &lt;br /&gt; Eagerly (and desperately) hoping to hear from you,&lt;br /&gt; &lt;/span&gt;&lt;br /&gt; &lt;br /&gt;　&lt;/blockquote&gt; You may try GFIX, which come from the Firebird SQL package. Gfix.exe is located  in the bin folder. You may download either the embedded firebird or the normal  one from firebirdsql.org. It is a commandline program, and running "gfix.exe /?"  you will get hints of parameters.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;thank you very much for your excellent program. I'm   still undecided on using it, but am considering strongly.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; THE BUG:&lt;br /&gt; I found that the quick view window does not display some special characters   correctly, for example, german umlauts (ü, ö, ä, etc.)&lt;br /&gt; &lt;br /&gt; Thank you for considering this.&lt;br /&gt; &lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;　&lt;/blockquote&gt; Right click on the quick view, and select encoding utf8. This is an one off  operation.&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt; I look in your XSL and try change it. I can get age   from birthday. I read more about XSL and can change XSL for my. But I get   error, when I try work with CSS. Because I like do simply your XSL and   format color via CSS.&lt;br /&gt; From web I read, that this will be make. But not in your XML stream and XSL   template.&lt;br /&gt; Why?&lt;br /&gt;　&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Though we provide open architectures for customizing Open Contacts, we don't do  technical support to technical questions of XSL and XML etc. I hope you find  this is reasonable. You might be able to get advices from some XML/XSL gurus  through wrapping and postings your questions to appropriate news groups.&lt;br /&gt;&lt;br /&gt;　&lt;hr /&gt; &lt;blockquote type="cite"&gt;  &lt;span style="color:#800000;"&gt;I download Open Contacts today and I have a question   about relationships.&lt;br /&gt; When you link two people under "Contacts" tab, you can specify non-working   relationship. For example "Linda Lee is Spouse of Andy Will".&lt;br /&gt; When you link two people under "Associated" tab, you can specify working   relationship. For example "Linda Lee is Boss of Carla Fieldhouse".&lt;br /&gt; &lt;br /&gt; First question: I'm right?&lt;br /&gt; &lt;br /&gt; If the answer is yes, Why an "Associated" A-B in A's card, is shown as   "Contacts" association in B's card?&lt;br /&gt; &lt;br /&gt; I hope my english was good enough to transmit my dudes.&lt;br /&gt; Greetings.&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;　&lt;/blockquote&gt; Yes, these are designed features. The Associated tab is the other way of view  upon the Contacts tab.&lt;br /&gt;　&lt;p&gt;&lt;br /&gt;　&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7507688234826933199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7507688234826933199?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/08/conversations-between-users-and-support.html" title="Conversations between users and support" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkYARnY8eyp7ImA9WxZQGUw.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-5748384850209174210</id><published>2007-07-29T15:38:00.001-07:00</published><updated>2008-02-24T19:29:07.873-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-24T19:29:07.873-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>Where is the recycle bin of Open Contacts?</title><content type="html">&lt;p&gt;Where is the recycle bin of Open Contacts?&lt;/p&gt; &lt;p&gt;It is by design that Open Contacts does not provide Recycle Bin functions.  When you delete contacts, you should know what you are doing.&lt;/p&gt; &lt;p&gt;If you don't want the contacts to be too crowed with never contacted contacts  and want to re-access the info of deleted contacts in the future, you have a few  options:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;1. Before making deletion, backup the database, and name it after a   naming convention reminding you the purpose of the backup.&lt;/p&gt;  &lt;p&gt;2. Export selected contacts to an XML file first then delete contacts.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;The second option may be more handy as the XML files are text files which  can be searched. So you can &lt;/p&gt; &lt;p&gt;easily locate legacy contacts, and reinstate the info of these contacts by  importing the XML files.&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5748384850209174210?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5748384850209174210?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/07/where-is-recycle-bin-of-open-contacts.html" title="Where is the recycle bin of Open Contacts?" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CUYFRXoycCp7ImA9WB5WFkg.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-5658658829240818465</id><published>2007-07-28T13:01:00.000-07:00</published><updated>2007-07-28T13:05:14.498-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-28T13:05:14.498-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="portable" /><title>Making Open Contacts portable</title><content type="html">&lt;p&gt;It is easy to make &lt;a href="http://www.fonlow.com/opencontacts"&gt;Open Contacts&lt;/a&gt;  be accessible through &lt;a href="http://www.portableapps.com/"&gt;PortableApps&lt;/a&gt;  Start Menu by copying program files and data files under [PortableAppsRoot]\PortableApps\OpenContacts.  Open Contacts by default will use the program (target) directory as working  directory if working directory is not specified. However, PortableApps somehow  would list fbclient.dll in the start menu. As this visual effect is obviously  undesirable, we had made a &lt;a href="http://www.fonlow.com/opencontacts/ocportable.zip"&gt;distribution package  optimized for PortableApps&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;When being launched from a portable device, the INI file has better to have  setting "DisableCOM=1", then Open Contacts will not respond to COM client call,  as in general practices, a portable program has better not to be a COM server.  And actually the memory footprint is around 250KB less with this condition.&lt;/p&gt; &lt;p&gt;The proxy program "Open Contacts.exe" basically have only one statement:&lt;/p&gt; &lt;p&gt; &lt;span style="font-family:Courier New;font-size:85%;"&gt;ShellExecute(0, PChar('open'), PChar(  ExePath+'app\program\OpenContacts.exe'), '', PChar(ExePath+'data'), 1);&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5658658829240818465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/5658658829240818465?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/07/making-open-contacts-portable.html" title="Making Open Contacts portable" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;D0EGQHYyfCp7ImA9WB5XFk4.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-9046182206896138904</id><published>2007-07-16T16:58:00.000-07:00</published><updated>2007-07-16T18:27:01.894-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-16T18:27:01.894-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="backup" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>Backup address book</title><content type="html">No matter how you store your contact info, on paper, PC, PDA or Web, you may have realized the importance of backing up data. If you store contact info electronically, you may sync data between PC, PDa and Web.  So if you lost data on one of the platform, you may restore the data from the redundant storages of other platforms. However, synchronization sometimes still stuff things up,  resulting corrupted  data on all platforms.&lt;br /&gt;&lt;br /&gt;Therefore, don't be lazy, and just backup your data regularly.&lt;br /&gt;&lt;br /&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Use the built-in backup function of OC&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This function will use the default mechanism of backup of Firebrid database to make a backup file of the GDB file which store all your essential contact info. The backup file is generally 1/10 of the size of the GDB file. You may then copy the file to external medias.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To restore, run Open Contacts, and run command "Restore" and locate the backup file, then the backup file will be restored and current GDB file will be overwritten with the restored one.&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;Copy data files&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;After closing Open Contacts, locate the GDB file of your address book, and copy it to an external media such as CD-ROM-R, as you will do for backing up other important data. If you have contacts with linked files and some custom templates, you may want to backup all content of the user data directory. A recommend practice is to store all these data files into a zip file.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To restore, make sure OC is close, and copy the backup files to overwrite files in the user data directory.&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;Export to XML&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;With version 4.1.1 or above, you may "Export selected contacts to XML with options". With the combination of "Categories", "Linked Contacts", and "Settings", you may export contacts, predefined fields, predefined sections and settings into a single XML file.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To restore, open OC and import the XML file. As the XML file preserve all contact info and settings, you may use feed it to other high end information management systems as you expand your business.&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/9046182206896138904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/9046182206896138904?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/07/backup-address-book.html" title="Backup address book" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CUcMRnw-eCp7ImA9WB5QF08.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6813481306149131599</id><published>2007-07-06T04:55:00.000-07:00</published><updated>2007-07-06T04:58:07.250-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-06T04:58:07.250-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><title>The Hidden Powers of Open Contacts</title><content type="html">One of the design principles of Open Contacts is: adding more features  without crowding or complicating the user interfaces. &lt;p&gt;Comparing with the main windows of version 1 and version 4.1, they look very  similar. And actually the higher versions look simpler. &lt;/p&gt; &lt;p&gt;As the program is used by large varieties of audiences, we generally let the  users decide whether to turn on new features provided, when they feel they need  something more. Many of the new features may be activated only when appropriate  checkboxes get checked in the Options window.&lt;/p&gt; &lt;p&gt;Though the default features of Open Contacts have already suppress many other  address book programs, if you are feeling that you want more from Open Contacts,  it is time to evaluate those settings in the &lt;a href="http://www.fonlow.com/opencontacts/Manual/Edit_Options.htm"&gt;Options&lt;/a&gt;  windows after reading "&lt;a href="http://www.fonlow.com/opencontacts/NewFeatures.htm"&gt;What's  New&lt;/a&gt;".  &lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6813481306149131599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6813481306149131599?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/07/hidden-powers-of-open-contacts.html" title="The Hidden Powers of Open Contacts" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;C0YHRH45fip7ImA9WB5RFUg.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-365404338437914249</id><published>2007-06-22T14:59:00.000-07:00</published><updated>2007-06-22T15:25:35.026-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-06-22T15:25:35.026-07:00</app:edited><title>Roadmap of version 4</title><content type="html">&lt;div class="moz-text-html" lang="x-western"&gt; &lt;p&gt;Since the release of version 4, the development based on version 4 began.&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Action Plugin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;An Open Contacts action plugin works upon the data of current dynamic data field,  providing the Action button with extra menu items. Each of such menu items may  trigger a program which take the field data as parameter.&lt;/p&gt; &lt;p&gt;Each plug-in for a custom field is contained in a folder, and all plug-ins  are stored under a parent folder called "ActionPlugin". Each plug-in may contain  one or many programs that take one parameter for execution. Folder "ActionPlugin"  is located under the program folder&lt;/p&gt;  &lt;p&gt; This feature was implemented in version 4.1.&lt;br /&gt;&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Plugin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;While writing a standalone program of interacting with Open Contacts is good, in some use cases it is more desirable to have the program running in process with Open Contacts.  For example, for additional functions of importing and exporting, it may be good to add buttons to Open Contacts and the users may press the buttons to call related functions.&lt;/p&gt;&lt;p&gt;The buttons will appeared in a floating command bar accommodating commands handled by these programs.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The structure for such features is plugin. The implementation of the structure will be similar to the Action Plugin.&lt;br /&gt;&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Data exchange with Microsoft Live Contacts, as plugin or standalone program&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Yahoo Map services&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Distributed Social Networking&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/365404338437914249?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/365404338437914249?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/06/roadmap-of-version-4.html" title="Roadmap of version 4" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;A0cMQXY4eyp7ImA9WB5RFUk.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6274067961684338756</id><published>2007-06-22T14:44:00.000-07:00</published><updated>2007-06-22T14:51:20.833-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-06-22T14:51:20.833-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom actions" /><title>Plugin of custom actions</title><content type="html">&lt;p&gt;Open Contacts v4.1 Beta is released to introduce extensibility. Open Contacts  will allow the end users of different programming skills and professional  software houses to develop plugin programs in order to utilize contact data with  other programs. &lt;/p&gt; &lt;p&gt;The designs of the interfaces of the action plugin considered the follow  factors:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Simplicity. The programming interfaces must be simple and easy to   maintain. The interface functions should be limited, and the plugin will not   change the overall user interfaces too much.&lt;/li&gt;&lt;li&gt;Easiness. The development of the plugin program does not necessarily   require professional development tools like Delphi or Visual Studio. The programming   interfaces address the needs of users of different programming skills. From   computer literates to programmers, they are going to find a suitable form of   development.&lt;/li&gt;&lt;li&gt;Extensibility. The infrastructure of the plug-in will allow the   developers to construct the development through simple delegations.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;As results, now the end users can construct plugin programs using URL  queries, vbscript, executable program and dll program.&lt;/p&gt;&lt;p&gt;For more details, please refer to the &lt;a href="http://www.fonlow.com/opencontacts/developer/"&gt;Developer section&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6274067961684338756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6274067961684338756?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/06/plugin-of-custom-actions.html" title="Plugin of custom actions" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;AkECSH48eyp7ImA9WB5RFUk.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6384033522202649550</id><published>2007-06-22T14:38:00.000-07:00</published><updated>2007-06-22T14:44:29.073-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-06-22T14:44:29.073-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COM" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>COM Interface Reference</title><content type="html">&lt;h1 style="text-align: center;"&gt;COM Interface Reference&lt;/h1&gt; &lt;p&gt;COM Functions by Group:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="#Load_a_set_of_IDs_of_contacts_"&gt;&lt;b&gt;Get listed contacts&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Search_contacts_"&gt;Search contacts&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Access_contacts_in_Contacts_Buffer_"&gt;Access contacts in   Contacts Buffer&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Visual_control_"&gt;Visual control&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Search_and_get_info_directly_"&gt;Search and get info directly&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Statistic_"&gt;Statistic&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="#Misc._"&gt;Misc.&lt;/a&gt;&lt;br /&gt; &lt;/b&gt;&lt;br /&gt; &lt;b&gt;&lt;a href="#Purposing_COM_API_functions_"&gt;Purposing COM functions&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;a name="Load_a_set_of_IDs_of_contacts_"&gt;Load a set of IDs of contacts&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;These functions will access listed contacts in Open Contacts windows, and  load a set of IDs of the contacts into the Contacts Buffer and return the count.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetSelectedPeopleCount([out, retval] int * v ); &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset the Contacts Buffer with selected contacts in the People List window  and return the count of selected contacts. That is, the Contacts Buffer will  have IDs of selected contacts.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Output the count of selected contacts. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetPeopleCount([out, retval] int * x );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset the Contacts Buffer with all personal contacts, and return the count.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;x -- Output the count of all personal contacts. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetListedPeopleCount([out, retval] int * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset Contacts Buffer with all listed contacts in the People List window.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Output the the count of listed contacts. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetCompaniesCount([out, retval] int * v );&lt;br /&gt; &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset the Contacts Buffer with all organizational contacts and return the  count. &lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Output the count of selected contacts. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetSelectedCompaniesCount([out, retval] int * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset the Contacts Buffer with selected contacts in the Companies List window  and return the count of selected contacts. &lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Output the count of selected contacts. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetListedCompaniesCount([out, retval] int * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Reset the Contacts Buffer with listed contacts in the Companies List window  and return the count of listed contacts. &lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Output the count of listed contacts. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;h2&gt;&lt;a name="Search_contacts_"&gt;Search contacts&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;These functions may search contacts with a set of criteria, and reset the  Contacts Buffer with the IDs of returned results.&lt;/p&gt; &lt;p&gt;&lt;b&gt; HRESULT _stdcall FindName([in] BSTR n, [out, retval] VARIANT_BOOL *  ID );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search a contact by the full name, and reset the Contacts Buffer with an ID  of the contact. The operation will search companies if the call is within a  BeginCompanies/EndCompanies block, otherwise, search people. &lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;n -- Full value of full name of the contact. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ID -- Return true if successful.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;See Also: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;BeginCompanies, EndCompanies &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByField([in] BSTR FieldName, [in] BSTR  FieldValue, [out, retval] int * Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts with a pair of field name and field value, and reset the  Contacts Buffer. The field name may be in the form of "SectionName\FieldName".&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldName -- Dynamic field name of any section or a particular section.   To search by a field name of a particular section, the field name is in the   form of "SectionName\FieldName". For example, to search by the Phone fields   of the Personal section, the FieldName is "Personal\Phone". The FieldName is   case sensitive.&lt;/p&gt;  &lt;p&gt;FieldValue -- Partial field value of a field, case-insensitive. For   example, search by phone number "9987" may be matched with "99878903",   "2399-8732" or "32339987".&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;The ID of a contact might appear in the results more than once, if   multiple fields of the contact match the search criteria. Because of the   syntax of defining the section name, if you have field names or section   names containing character "\", the search result might be confusing.   Anyway, having a "\" in a field name is not recommended.  &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByName([in] BSTR AName, [out, retval] int *  Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search by full name of contacts.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;AName --Partial value of full name of contacts, case insensitive.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt; The results may be of people or companies.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByPhone([in] BSTR Phone, [out, retval] int *  Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by a phone number. The operation will search all fields of  action type "phone", therefore, fields like "Phone" and "Mobile" will be looked  through.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Phone -- Partial phone number, case insensitive.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt; A contact might appear in the results more than once if multiple   fields match the search criteria.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByEmail([in] BSTR Email, [out, retval] int *  Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by Email address. The operation will search fields of action  type "email", therefore, fields like "Email" and "Primary Email" will be taken  care of.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Email -- Partial value of Email address.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByDate([in] BSTR FieldName, [in] DATE  DateBegin, [in] DATE DateEnd, [out, retval] int * Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by a date field with value within a period.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldName -- Field name of a date field, such as "Birthday" or   "Anniversary". &lt;/p&gt;  &lt;p&gt;DateBegin -- Begin date of the period.&lt;/p&gt;  &lt;p&gt;DateEnd -- End date of the period.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByFieldType([in] BSTR FieldType, [in] BSTR  FieldValue, [out, retval] int * Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by fields of the same field type For example, search the  "phone" type will eventually involve field "Phone", "Mobile" and "Fax" as both  fields by default share the same field type "phone".&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldType -- Field type of fields to search, such as "phone" and "bday".   Case sensitive.&lt;/p&gt;  &lt;p&gt;FieldValue -- Partial value of field values of contacts.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall FindContactsByFieldAction([in] BSTR FieldAction, [in]  BSTR FieldValue, [out, retval] int * Count );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by fields of the same action type. &lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldAction -- Action type of fields to search, such as "phone" and   "map". Case sensitive.&lt;/p&gt;  &lt;p&gt;FieldValue -- Partial value of field values of contacts.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Count -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;&lt;a name="Manage_Contacts_Buffer_"&gt;Manage Contacts Buffer&lt;/a&gt; and retrieve  info&lt;/h2&gt; &lt;p&gt;The functions manage the Contacts Buffer to reset or read some statuses. &lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetIds([out, retval] BSTR * ids );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Return IDs of contacts in the Contacts Buffer.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ids -- A list of IDs of contacts, as a comma separated string.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall LocatePeople([in] int Idx );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Change current item of the Contacts Buffer by changing current item index.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Idx -- New index value. The index is 0 base.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;This function works for both personal contacts and organizational   contacts, despite of the function name.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetContactID([in] int Idx, [out, retval] int * ID );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get the contact ID of a contact in the buffer by the item index.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Idx -- Item index value. The index is 0 base.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ID -- Contact ID.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;&lt;a name="Access_contacts_in_Contacts_Buffer_"&gt;Access contacts in Contacts  Buffer&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Read and write upon current item of contacts in the Buffer.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetName([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get the full name of current item of contacts in the Buffer.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Full name of current item of contacts.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall BeginCompanies( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Signal that the following functions will be for handling organizational  contacts: CreateContact, FindName, BeginCategories, EndCategries. Other  functions can work for both personal contacts and organizational contacts.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall EndCompanies( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Mark the end of a section for organizational contacts.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetField([in] BSTR Field, [out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get field value.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Field -- Field name of any section or a particular section. To access a   field of a particular section, the search criteria is like "SectionName\FieldName".&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Field value. If not found, the value will be empty.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt; If there are multiple fields with the same field name, only the   value of the first one found will be return.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall SetField([in] BSTR FieldName, [in] BSTR FieldValue );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Set a field value of current item of contacts in the Buffer. The form of  FieldName must be "SectionName\FieldName". If the field does not exist, the  field will be created. If there are multiple fields with the same field name in  the section, the first one found will be updated.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldName -- Field name of the field to set.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;FieldValue -- Field value of the field to set.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetNotes([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get the value of the notes field of the primary section.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Field value of the notes field.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall SetNotes([in] BSTR v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Set the value of the notes field of the primary section.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;v -- Value of the notes field to set.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall CreateContact([in] BSTR n, [out, retval] int * r );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Create a contact, and reset the Contacts buffer. If successful, the contact  will become the current item in the Contacts Buffer.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;n -- Full name of new contact.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;r -- 0, if successful; 1, if contact with the same name exist; 2, fail.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;By default, this function will create a person, and Open Contacts will   analyze the full name into surname, given name and middle name. To create a   company, contain the call inside in a BeginCompanies/EndCompanies block.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;h2&gt;&lt;a name="Visual_control_"&gt;Visual control&lt;/a&gt;&lt;/h2&gt; &lt;p&gt; Control some visual behaviors of Open Contacts&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall ShowOC( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Display Open Contacts. &lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall RestoreOC( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Restore Open Contacts if minimized, and bring it to the front.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall MinimizeOC( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Minimize Open Contacts.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall RefreshOCNav( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Refresh the initial grids and the contact lists. This function is generally  called after updating the database.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall ClearPeopleEdit( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Clear the Edit Person window for new record.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall ClearCompanyEdit( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Clear the Edit Company window for new record.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall ShowContact([in] int Idx );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Show a contact of the Contacts Buffer, either in the Edit Person window or  the Edit Company window.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Idx -- Item index of the contact.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall ViewContact([in] int ID );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Show a contact , either in the Edit Person window or the Edit Company window.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ID -- Contact ID of the contact.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall QuickViewContact([in] int ID );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Show a contact in the Quick View window.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ID -- Contact ID.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall SearchBirthdays([in] BSTR command, [out, retval] int * r  );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by birthday within a time frame. The birthday field is  defined in the General tab of the Options. The call will bring up the Search  Birthday window and list the results.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;command -- Command that represents a time frame. Possible values are   thismonth, nextmonth, thisweek, nextweek, today, and tomorrow.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;r -- The count of the search results.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall SearchBirthdaysBetween([in] int m1, [in] int d1, [in] int  m2, [in] int d2, [out, retval] int * r );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Search contacts by birthday within a period of any year. &lt;/p&gt; &lt;p&gt;The birthday field is defined in the General tab of the Options. The call  will bring up the Search Birthday window and list the results.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;m1 --  Start month.&lt;/p&gt;  &lt;p&gt;d1 -- Day of the start month.&lt;/p&gt;  &lt;p&gt;m2 -- End month.&lt;/p&gt;  &lt;p&gt;d2 -- Day of the end month.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;r -- The count of the search results.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;h2&gt;&lt;a name="Search_and_get_info_directly_"&gt;Search and get info directly&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Search contacts and return results directly without UI change.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetSelectedContactsEmails([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get Email addresses of selected contacts in a contact list window such as the  People List window and the Search window.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;A list of Email addresses separated by semicolon, presented in form "Contact   Name&lt;email@address&gt;". &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Note:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;If a contact has multiple Email addresses, the primary Email address of   field type "aemail", or the first one found if no primary Email address is   defined, will be returned.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetListedContactsEmails([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get Email addresses of listed contacts in a contact list window such as the  People List window and the Search window.&lt;/p&gt; &lt;p&gt;Parameters:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;A list of Email addresses separated by semicolon, presented in form   "Contact Name&lt;email@address&gt;". &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;&lt;a name="Statistic_"&gt;Statistic&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Get some statistical data and settings of Open Contacts.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetPredefinedFields([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get predefined field names in a comma separated string.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetExistingFields([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get distinguish field names of all contacts.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetPredefinedSectionNames([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get names of predefined sections.&lt;/p&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetExistingSectionNames([out, retval] BSTR * v );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Get distinguish section names of all contacts.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;&lt;a name="Misc._"&gt;Misc.&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall GetContactHTML([in] int ID, [out, retval] BSTR * html );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Return contact info in HTML format. The HTML content is generated though  rendering the XML of the contacts with the default XSLT used in the Quick View  window.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;ID -- Contact ID.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;html -- HTML content.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall DoAction([in] BSTR Action, [in] BSTR Value );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Call a built-in function of action of Open Contacts. Each action type of  dynamic fields is generally associated with a built-in function or program which  can be triggered in Open Contacts by pressing F9. This function make Open  Contacts become an action proxy.&lt;/p&gt; &lt;p&gt;Parameters: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Action -- Action type, case sensitive.&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt;  &lt;p&gt;Value -- Value which the action will act on.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Return Values: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;None.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;br /&gt;&lt;b&gt;HRESULT _stdcall BeginCategories( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Popup the Define Categories window, and all following new contacts will be  assigned checked categories.&lt;/p&gt; &lt;p&gt;Note:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Within a BeginCompanies/EndCompanies, the Define Categories window brings   up the category tree for companies.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;HRESULT _stdcall Test( void );&lt;/b&gt;&lt;/p&gt; &lt;p&gt;A dummy function to test the existence of the COM server.&lt;br /&gt;&lt;br /&gt; &lt;/p&gt; &lt;h1&gt;&lt;a name="Purposing_COM_API_functions_"&gt;Purposing COM API functions&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;To better communicate with other programs and to make to programming job for  client programs easier, some new API functions may will be published in the  future. &lt;/p&gt; &lt;ol&gt;&lt;li&gt;Return XML of a contact by contact ID. This will be handy the render the   contact info into other formats.&lt;/li&gt;&lt;li&gt;Return XML of contacts in the Contacts Buffer.&lt;/li&gt;&lt;li&gt;Return vCard stream of contacts in the Contacts Buffer.&lt;/li&gt;&lt;li&gt;Event: When a contact is added, return the contact ID.&lt;/li&gt;&lt;li&gt;Event: When a contact is deleted, return the contact ID.&lt;/li&gt;&lt;li&gt;Interface for address: is composed of Street, City, State and Geo etc,   and section name as well.&lt;/li&gt;&lt;li&gt;Return the address of a section of a contact.&lt;/li&gt;&lt;li&gt;Return the addresses of a contact.&lt;/li&gt;&lt;li&gt;Interface of settings: While Open Contacts stored almost all settings in   the address book database, the interface provides a subset of the settings.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt; &lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6384033522202649550?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6384033522202649550?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/06/com-interface-reference.html" title="COM Interface Reference" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;A0cFQHw6eSp7ImA9WB5TE0g.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-1277311815131705909</id><published>2007-05-28T06:29:00.000-07:00</published><updated>2007-05-28T06:30:11.211-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-28T06:30:11.211-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open contacts" /><title>Open Contacts and FOAF</title><content type="html">&lt;p&gt;Open Contacts and FOAF&lt;/p&gt; &lt;p&gt;It is assumed you have some basic knowledge of following services:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Social networking web services of MySpace and Linkedln.&lt;/li&gt;&lt;li&gt;Distributed social networking like FOAF and Microformats.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Please also read the following web pages&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;&lt;a href="http://vocab.org/relationship/"&gt;RELATIONSHIP: A vocabulary for   describing relationships between people&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.gmpg.org/xfn/11"&gt;XFN 1.1 relationships meta data   profile&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.foaf-project.org/"&gt;The Friend of a Friend (FOAF)   project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://xmlns.com/foaf/spec/"&gt;FOAF Vocabulary Specification 0.9&lt;/a&gt;&lt;/p&gt;  &lt;h3 class="post-title"&gt;  &lt;a href="http://webandlife.blogspot.com/2007/04/is-web-20-address-book-silver-bullet.html"&gt;  &lt;span style="font-size:100%;"&gt;Is Web 2.0 Address Book a silver bullet?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;h3 class="post-title"&gt;  &lt;a href="http://webandlife.blogspot.com/2007/03/open-contacts-and-distributed-social.html"&gt;  &lt;span style="font-size:100%;"&gt;Open Contacts and distributed social networking, Part 1&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;h3 class="post-title"&gt;  &lt;a href="http://webandlife.blogspot.com/2007/03/open-contacts-and-distributed-social_17.html"&gt;  &lt;span style="font-size:100%;"&gt;Open Contacts and distributed social networking, Part 2&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;p class="post-title"&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Open Contacts natively supports XML. Contact details, categories and  relationships can all be exported into a single XML file, thus, such info can be  converted into other formats using XSL files or simple programs. So, FOAF or  Microformats .....&lt;/p&gt; &lt;p&gt;Open Contacts provides explicit functions of managing relationships between  your contacts. Do you see how you are managing the relationships between you and  your contacts?&lt;/p&gt; &lt;p&gt;Yes, the category system. Though a category system is not exclusively  designed for categorizing contacts of different relationships, however, it is  natural that you create a few category nodes like "Friend", "Classmate" and  "Relative" etc along with other categories like "Government", "Business" etc.&lt;/p&gt; &lt;p&gt;It is very straightforward to map the "Classmate" category to the "Classmate"  relationship. However, you might have a few sub-categories to store "Primary  School", "High School" and "University" etc. It is neither conventional nor  necessary to present such level of info to social networking, because generally  you just need to mark relationship "Classmate".  The solution is to mark  these categories with property "Classmate". Thus, you may have multiple  categories sharing the same relationship property.&lt;/p&gt; &lt;p&gt;In version 4.x, when editing categories of People, you may assign some  categories with relationship properties. Open Contacts will show a sibling top  category "Relationship", below which there's one level of categories such as  "Classmate", "Sibling", "Co-worker" and "Friend" etc., which are created  automatically according to what relationship properties were assigned to  categories under top category "All". When clicking on property category  "Classmate", all contacts under categories with property "Classmate" will be  listed.&lt;/p&gt; &lt;p&gt;To improve the visual effects of managing relationships, each property of  relationship is associated with a background color which will apply with  relevant categories.&lt;/p&gt; &lt;p&gt;As you have seen the example of RDF files of FOAF, it is straightforward to  translate Open Contacts' XML into RDF of FOAF. In addition, it should be also  easy to convert RDF of FOAF to Open Contacts' XML which can be imported into  Open Contacts. Therefore, Open Contacts and FOAF can support each other.&lt;/p&gt; &lt;p&gt;Can you see the protentials?&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/1277311815131705909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/1277311815131705909?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/05/open-contacts-and-foaf.html" title="Open Contacts and FOAF" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkMHQns8fSp7ImA9WBFaGEk.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-511406167721677350</id><published>2007-05-22T06:13:00.000-07:00</published><updated>2007-05-22T06:27:13.575-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-22T06:27:13.575-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="backup" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><category scheme="http://www.blogger.com/atom/ns#" term="xsl" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>Multiple databases for only you or multiple users</title><content type="html">&lt;p&gt;Your address book consists of the following components:&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;Core data -- A database file with extension name "GDB" contain essential   part of your address book, including contact names, sections, fields,   relationships and categories as well as almost all settings.&lt;/p&gt;  &lt;p&gt;External files -- While the data fields can store names of external   resources like web page addresses and file names, the files pointed by the   file names are general stored in local computers or local area network. By   default, file names without file path point to files stored in the Files   directory of the user directory.&lt;/p&gt;  &lt;p&gt;Template files -- While the whole design of Open Contact is very flexible   for all users, some users with advanced knowledge of XML/XSL/HTML can modify   some template files used by Open Contacts. Please read  &lt;a href="http://www.fonlow.com/opencontacts/developer/xml_explained.htm"&gt;XML   Explained&lt;/a&gt; for more details.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;The &lt;a href="http://www.fonlow.com/opencontacts/Manual/Edit_backup.htm"&gt;built-in backup function&lt;/a&gt; backups the core  database only. If you want to backup all components of your address book, you  may just simply close the program, and copy all files of the user directory to  an external storage.&lt;/p&gt; &lt;p&gt;Sometimes you might want an address book database for all your close  contacts, and the other for business customers only. Or, there might be a few  users sharing the same PC, each of them may want a personal database located in  each personal folder under the "Documents and Settings" folder.&lt;/p&gt; &lt;p&gt;To support multiple databases, technically there can be a lot solutions.  Because Open Contacts supports green mode which does not write things into  Windows registry, we decided to use the Start-in folder as the location of the  data files.&lt;/p&gt; &lt;p&gt;The operations described below might require knowledge of computer literate.  If you are uncertain what to do, please ask your close contacts who understand  system administration for assistant.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.fonlow.com/opencontacts/Manual/images/programFiles.gif" border="0" height="98" width="276" /&gt;&lt;/p&gt; &lt;p&gt;A windows program shortcut includes two paths: one for the target folder  where the executable file is located, and the other for the "Start-in" folder  where the program is started. If the "Start-in" folder is not defined, the  folder is the same as the target folder. For example, checking the properties of  the Open Contacts shortcut, you will see the target folder is inside "C:\Program  Files\..." and the "Start-in" folder is inside "C:\Documents and Settings\All  Users\Documents\Shared Contacts" if you installed for all users.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.fonlow.com/opencontacts/Manual/images/dataFiles.gif" border="0" height="129" width="400" /&gt;&lt;/p&gt; &lt;p&gt;Open Contacts will locate data files in the "Start-in" folder by default at  startup. Open Contacts will first read the "main.ini" file in the "Start-in"  folder for the location of the database, then read the database. The other  companion data files are all in the "start-in" folder by default.&lt;/p&gt; &lt;p&gt;In the "main.ini" file, if the database name is defined but without file  path, the location of the file should be in the Data folder of the "Start-in"  folder. So, by default, all data files and templates are located in the  "Start-in" folder.&lt;/p&gt; &lt;p&gt;To support multiple personalities of one user or multiple users, please  follow the steps below:&lt;/p&gt; &lt;p&gt;&lt;b&gt;1. Copy an existing personal folder to specific folder as a new personal  folder&lt;/b&gt;&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;From the "Start-in" folder of an existing shortcut, you locate an   existing personal folder. Copy all files to specific folder which will   become a new personal folder.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;2. Copy a blank database to the data folder of the new personal folder to  overwrite the database file copied from the source folder.&lt;/b&gt;&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;In the target folder, there's a blank database file "default.gdb". Copy   this file to the data folder of the new personal folder to overwrite   existing one. If you had changed the name of the database file or the   settings of the INI file manually, you might need to adjust the operation   details of this step.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;b&gt;3. Create a new program shortcut with the "Start-in" folder pointing to  the personal folder.&lt;/b&gt;&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;If you as system administrator is going to create a new personal folder   for another user and the PC is configured using LUA concepts, you might want   to create the new copy inside the personal profile area and create the   shortcuts there as well.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/511406167721677350?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/511406167721677350?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/05/multiple-databases-for-only-you-or.html" title="Multiple databases for only you or multiple users" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CUEMQH06cCp7ImA9WBFaFEk.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6281105229726400837</id><published>2007-05-17T16:14:00.001-07:00</published><updated>2007-05-17T16:14:41.318-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-17T16:14:41.318-07:00</app:edited><title>Versions Explained</title><content type="html">&lt;p&gt;Open Contacts has a formalised version number structure based around the NumVersion struct, which specifies a one- or two-digit major version, a one-digit minor version, a one-digit&amp;nbsp;release version, and and multi-digit build number.&lt;/p&gt; &lt;p&gt;A major version is assiciated with more than 10 significant improved features, a minor&amp;nbsp; version indicate one or more features added, and a minor version is with one or more bug fixes. The build number is the counter of compiler build on the program.&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6281105229726400837?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6281105229726400837?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/05/versions-explained.html" title="Versions Explained" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;C0EAQnc6fip7ImA9WBFUGUw.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-7531670367896493637</id><published>2007-04-29T22:33:00.000-07:00</published><updated>2007-04-29T22:40:43.916-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-29T22:40:43.916-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="telephone" /><category scheme="http://www.blogger.com/atom/ns#" term="dialer" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><category scheme="http://www.blogger.com/atom/ns#" term="phone" /><title>How Open Contacts update an existing contact when importing</title><content type="html">How Open Contacts update an existing contact when importing&lt;br /&gt;&lt;br /&gt;A contact is uniquely identified by the full name, surname, given name and middle name. When importing a contact with the same name existing in the database, OC will prompt the user for action. If the user choose to update existing record, OC will try to merge:&lt;br /&gt;1. If an imported field (combination of section name and field name) does not exist, the field will be added.&lt;br /&gt;2. If an imported field does exist, the field will be updated.&lt;br /&gt;&lt;br /&gt;For example, Andy Smith in the database has&lt;br /&gt;Personal/Phone = 4324324324&lt;br /&gt;&lt;br /&gt;And the imported Andy Smith has&lt;br /&gt;Personal/Phone =1111111&lt;br /&gt;Personal/Phone =222222&lt;br /&gt;Personal/Phone =333333&lt;br /&gt;&lt;br /&gt;After importing, the existing phone field will be updated, and 2 more are added, so the personal section will have 3 phone fields.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7531670367896493637?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/7531670367896493637?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/04/how-open-contacts-update-existing.html" title="How Open Contacts update an existing contact when importing" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CEUNQnkyfip7ImA9WBFWEkw.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-6662989589474621666</id><published>2007-03-29T15:57:00.000-07:00</published><updated>2007-03-29T16:51:33.796-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-29T16:51:33.796-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="outlook" /><category scheme="http://www.blogger.com/atom/ns#" term="mozilla thunderbird" /><category scheme="http://www.blogger.com/atom/ns#" term="skype" /><category scheme="http://www.blogger.com/atom/ns#" term="email" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><category scheme="http://www.blogger.com/atom/ns#" term="vcard" /><category scheme="http://www.blogger.com/atom/ns#" term="LDIF" /><title>How will you choose a replacement of address book program?</title><content type="html">You have been using Email for years, and almost all Email programs came with an address book module. Are you satisfied with such container of contact info? Probably not. This is why you have been searching for a better solution.  While there are hundreds of solutions around, based on Web or desktop, you might need to ask yourself a few questions before making a choice.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Do you have more than one Email accounts? Do you use different Email client programs? For example, Mozilla Thunderbird, MS Outlook and Hotmail.&lt;/li&gt;&lt;li&gt;Do you sometimes want to store some contact info that could hardly be stored in designed fields of the address book?&lt;/li&gt;&lt;li&gt;Do you sometimes use computer to make telephone calls and Skype calls?&lt;/li&gt;&lt;li&gt;Do you need to print mailing labels?&lt;/li&gt;&lt;li&gt;Do you have some organizational contacts to record?&lt;/li&gt;&lt;li&gt;Do you want to sometimes record multiple notes for a contact?&lt;/li&gt;&lt;li&gt;Do you want to have a multi-level category system to categorize contacts?&lt;/li&gt;&lt;li&gt;Do you want to run the address book program on an external portable drive such as a flash disk or iPod?&lt;/li&gt;&lt;li&gt;Do you want to run the address book program on LAN to share the address books with staffs in the same office?&lt;/li&gt;&lt;li&gt;Do you want to outline the relationships between contacts?&lt;/li&gt;&lt;li&gt;Do you exchange contact info with other people?&lt;/li&gt;&lt;li&gt;Do you often need to do copy/paste in order to copy contact info from/to other documents?&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;If you have 3 affirmative answers to the questions above, did you find any program that adapted such needs?&lt;br /&gt;&lt;br /&gt;If not, then you might find the answers interesting made by &lt;a href="http://www.fonlow.com/opencontacts"&gt;Open Contacts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open Contacts is not an Email program and it has good interactions with different Email clients. It can natively interact with MS Outlook through Office COM, Mozilla Thunderbird and other conventional mail programs though MAPI, Portable Thunderbird through commandline, Lotus through Windows Shell, and web mail through copy/paste.&lt;/li&gt;&lt;li&gt;Open Contacts have almost all fields created dynamically, so that you can insert unlimited field/value pairs.&lt;/li&gt;&lt;li&gt;Open Contacts interacts natively with Windows Telephony (Dialer) and Skype. And you can seamlessly integrate telephony and skype if desired.&lt;/li&gt;&lt;li&gt;Open Contacts provides built-in functions of printing selected info of selected contacts in a compact format, thus you can easily have a tidy and handy address book. In addition, with exported CSV/Excel files, you can print rich formats of mailing label through dedicated label printing programs.&lt;/li&gt;&lt;li&gt;Designed with separation of people contacts and organizational contacts, Open Contacts provide associations between people and companies. So you can easy find people working in the same organization. In addition, you can record the relationships between one person and multiple organizations.&lt;/li&gt;&lt;li&gt;Almost all existing address programs provide only one Notes field, Open Contacts provide unlimited notes besides the primary one.&lt;/li&gt;&lt;li&gt;While grouping contacts is the basic feature of almost all existing address book programs, Open Contacts provide multi-level categories.&lt;/li&gt;&lt;li&gt;Open Contacts was designed to be running without installation, thus it can run on an external portable drive such as a flash disk plugged into any Windows workstation (Windows 2000 or above).&lt;/li&gt;&lt;li&gt;Open Contacts was designed to be running as a client/server application talking to a standalone Firebird database server.&lt;/li&gt;&lt;li&gt;You can create relationship links between people and companies.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CSV, vCard, LDIF and XML.&lt;/li&gt;&lt;li&gt;Open Contacts provides a set of copy/paste functions for you to exchange info between Open Contacts and other documents through Windows clipboard.&lt;/li&gt;&lt;/ol&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6662989589474621666?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/6662989589474621666?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/how-will-you-choose-replacement-of.html" title="How will you choose a replacement of address book program?" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CUABR30yeSp7ImA9WBFXF0Q.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-416416621928345301</id><published>2007-03-24T20:05:00.000-07:00</published><updated>2007-03-24T20:35:56.391-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-24T20:35:56.391-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="power" /><category scheme="http://www.blogger.com/atom/ns#" term="wallet" /><category scheme="http://www.blogger.com/atom/ns#" term="pda" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><category scheme="http://www.blogger.com/atom/ns#" term="Plan B" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile phone" /><title>Plan B of Contact Management</title><content type="html">Web base contact management has been becoming more and more popular in last few years. The advantages are obvious. I am not going to discuss them here.&lt;br /&gt;&lt;br /&gt;Though there are still some criticisms against it, saying privacy and reliability etc., however, web base contact management is still the most attractive solution for metro people who "always" have reliable and constant internet connections.&lt;br /&gt;&lt;br /&gt;However, small or large disasters do strikes occasionally. Plan B. Do you have a handy plan B for contact management?&lt;br /&gt;&lt;br /&gt;Some prefer the PC desktop/notebook as a hub for all contact info and sync selected data to other platforms/programs. They won't be effected if the internet connection to the Web base contact management site is down. You still can access phone numbers and ring people. But when power is down, computer is useless. With laptop and UPS, things will become just a bit better.&lt;br /&gt;&lt;br /&gt;Mobile phone / PDA is handy , though they are not good candidates to be hub of contact info. I am sure that everyone will naturally store emergency numbers and frequently used numbers in phone. Yes, you have already got yourself a plan B.&lt;br /&gt;&lt;br /&gt;When you are busy having phone talks during power outage, the battery of your mobile phone become flat. You then can not access the address book on the mobile phone in order to ring through land line which is generally not effected by power outage. So, a low tech solution will come to rescue, if you have implemented such solution: printing those contact phone numbers on paper, one copy at home, and another copy in your wallet.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/416416621928345301?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/416416621928345301?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/plan-b-of-contact-management.html" title="Plan B of Contact Management" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;DU4ARHoyfSp7ImA9WBFXFkU.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-910171920706786005</id><published>2007-03-23T14:59:00.000-07:00</published><updated>2007-03-23T15:12:25.495-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-23T15:12:25.495-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIM" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><category scheme="http://www.blogger.com/atom/ns#" term="CRM" /><title>Was Open Contacts designed for your use cases?</title><content type="html">Open Contacts is an address book, or contact management program. However, it is not a CRM or PIM program.&lt;br /&gt;&lt;br /&gt;If you find existing address book / PIM programs that your are using can not fit your needs, Open Contacts is a much more powerful candidate for you to consider. However, if you want event tracking, sale/marketing activities as well as billing etc., then Open Contacts is not for you. Obviously you should then eyes on CRM programs. Open Contacts is positioned as a bridge between conventional address book program and CRM program.&lt;br /&gt;&lt;br /&gt;One of the features that make Open Contacts stood out of existing address book programs is its great extendibility to other programs running on desktop or the web. Though Open Contacts is not a PIM program, however, it is relatively easy to construct a PIM utility using existing programs. Please read&lt;br /&gt;&lt;a href="http://www.fonlow.com/opencontacts/Overview/BuildPortablePIM.htm"&gt;Build your own portable PIM with   Open Contacts and other portable programs&lt;/a&gt;&lt;br /&gt;for details.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/910171920706786005?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/910171920706786005?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/was-open-contacts-designed-for-your-use.html" title="Was Open Contacts designed for your use cases?" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkEAQHo5cSp7ImA9WBFXF0U.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-2678395735643356490</id><published>2007-03-14T04:37:00.000-07:00</published><updated>2007-03-24T16:57:21.429-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-24T16:57:21.429-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="social networking" /><category scheme="http://www.blogger.com/atom/ns#" term="relationship management" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><title>Open Letter to Users of Open Contacts</title><content type="html">&lt;p&gt;Hi All&lt;/p&gt; &lt;p&gt;I am writing to you to discuss the development path of Open Contacts (OC).&lt;/p&gt; &lt;p&gt;When OC is  distributed as freeware, we have developed a few commercial extensions. We  provide this piece of software sitting between conventional address book  programs and CRM programs. After all, we do not intend to lock you, as we do  provide a few ways of exporting data which can export almost everything you have  inputted to external files which can be imported to other programs. In the  future when you want to move to a more comprehensive platform of software  application, data will be easily transfered.&lt;/p&gt; &lt;p&gt;As you might agree, contact management is not a single feature, and should  rather work along side with other functions, such as a CRM system, an email  client or a calendar program.&lt;/p&gt; &lt;p&gt;Up the now the version of Open Contacts has reached to v3.9.5, and we believe  that Open Contacts provides richest features in the market of address book  programs. Most planned key features were implemented, thus the paces of  upgrading will be slowing down. We would like to take some time to review  our development, and think about the paths and the focus. &lt;/p&gt; &lt;p&gt;We are thinking of the following options of new features and extensions, and would like your opinions about  them. Essentially, it is not about new features, but what you need and what you  will need: &lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;&lt;b&gt;1 Evolve to PIM&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;We were devoted to the best of address book programs running on PC desktop,   while almost existing similar products at most just cloned the Windows Address Book (from   Outlook Express and MS Outlook) and could never exceed the features of the WAB. However, we thought that many of existing schedule programs like MS   Outlook, Mozilla Sunbird and Google Calendar are very adequate, as the   requirements for scheduling are very common and stable. We would just try to provide   convenient shortcuts and interactions between Open Contacts and these   calendar programs. In short, it is unlikely that we will create another PIM   program under current circumstance. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;2 Provide better and better connections to other calendar programs&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Yes. This have been what we always intent to do. The candidates   are: MS Outlook, Mozilla Thunderbird, Mozilla Sundbird, Google Calendar,   Yahoo Calendar. Of course, the development of such interactions will very   much depend on many factors: the willingness of the vendors of these   programs and websites. In addition, the evolving of Web 2.0 may play a part.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3 Provide pseudo remote access to address book database&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;For users who need to access the same set of contact info at home and at   work, there existing a few ways: 1. Use OC in a portable device. 2. Use a   remote PC program to access OC remotely. We are thinking the third way: Let   a user to download the database from a remote host (likely managed by the   user), after editing, then upload back to the remote host. The following   protocols will be supported: FTP, IMAP, HTTP and others. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;4 Support schemes of distributed social networking&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This subject is the key issue we would like to discuss with you. &lt;/p&gt; &lt;/blockquote&gt; &lt;h1&gt;About Social Networking&lt;/h1&gt; &lt;p&gt;Have you heard of  or used the following web sites of social networking?  Linkedln, MySpace, orkut and Bebo etc. There are many many, as you can see from &lt;a href="http://en.wikipedia.org/wiki/List_of_social_networking_websites"&gt;this  list of social networking&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Are we going to provide you yet another website of social networking? The  simple answer is No, as  we hated providing you yet another address book program. Otherwise, you might  have picked yet another address book program rather than Open Contacts. However,  we do believe that Open Contacts is reaching to an edge of providing an  alternative solution of social networking, taking care of some of your concerns  about social networking websites:&lt;/p&gt; &lt;p&gt;1. Privacy&lt;/p&gt; &lt;p&gt;2. Locking&lt;/p&gt; &lt;p&gt;3. Troubles of subscribing to multiple web sites&lt;/p&gt; &lt;p&gt;We have done some preliminary researches on these issues, and would like to  share some findings with you. If you can raise your opinions after reading these  materials, we will appreciate.&lt;/p&gt; &lt;p&gt;We would like to provide you a list of blogs we had visited. We did read  these blogs and theirs follow-up comments carefully. And we would like you to  make your own comments to us, and to these blogs as well.&lt;/p&gt; &lt;p&gt; &lt;a href="http://blog.jonudell.net/2007/02/06/critical-mass-and-social-network-fatigue/"&gt; http://blog.jonudell.net/2007/02/06/critical-mass-and-social-network-fatigue/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://radar.oreilly.com/archives/2007/02/social_network_1.html"&gt; http://radar.oreilly.com/archives/2007/02/social_network_1.html&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.computerworld.com/blogs/node/238"&gt; http://www.computerworld.com/blogs/node/238&lt;/a&gt; and comments by Konstantin  Guericke&lt;/p&gt; &lt;p&gt; &lt;a href="http://www.texttechnologies.com/2007/02/06/what-is-linkedin-needed-for-absolutely-nothing-and-the-same-goes-for-myspace/"&gt; http://www.texttechnologies.com/2007/02/06/what-is-linkedin-needed-for-absolutely-nothing-and-the-same-goes-for-myspace/&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;a href="http://benmetcalfe.com/blog/index.php/2007/02/12/do-we-really-want-to-aggregate-identiy/"&gt; http://benmetcalfe.com/blog/index.php/2007/02/12/do-we-really-want-to-aggregate-identiy/&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;a href="http://developinginnovation.blogspot.com/2007/02/case-of-missing-web-20-address-book.html"&gt; http://developinginnovation.blogspot.com/2007/02/case-of-missing-web-20-address-book.html&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://itredux.com/blog/2007/01/29/contact-managers-roundup/"&gt; http://itredux.com/blog/2007/01/29/contact-managers-roundup/&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;a href="http://blogs.business2.com/business2blog/2007/02/netvibes_and_th.html"&gt; http://blogs.business2.com/business2blog/2007/02/netvibes_and_th.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;a href="http://lastparadox.blogspot.com/2007/01/linkedin-survivors-guide.html"&gt; http://lastparadox.blogspot.com/2007/01/linkedin-survivors-guide.html&lt;/a&gt;  &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.findmeon.com/"&gt;www.FindMeOn.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.tellme.com/"&gt;www.tellme.com&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.wehanghere.com/"&gt;http://www.wehanghere.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.sxip.com/"&gt;http://www.sxip.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.identity20.com/"&gt;http://www.identity20.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Hopefully you will find some useful info or inspiration about what is  happening in the Web. &lt;/p&gt; &lt;p&gt;We have a replicated copy of &lt;a href="http://opencontacts.blogspot.com/2007/03/open-letter-to-users-of-open-contacts.html"&gt;this letter at blogger&lt;/a&gt;, please feel free to raise  comments following the blog, or just drop us an Email.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Regards&lt;/p&gt; &lt;p&gt;Fonlow Support&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/2678395735643356490?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/2678395735643356490?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/open-letter-to-users-of-open-contacts.html" title="Open Letter to Users of Open Contacts" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;CkEDRHc9fyp7ImA9WBFXF0U.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-9092816677984066939</id><published>2007-03-13T14:27:00.000-07:00</published><updated>2007-03-24T16:57:55.967-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-24T16:57:55.967-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><title>Letters about Misc.</title><content type="html">Lee Stoddard wrote:&lt;br /&gt;&lt;blockquote type="cite"&gt;Hello,&lt;br /&gt;&lt;br /&gt;Great program and have been using it for close to a year.  Just came  across a need to enter a suffix after the last name.  ie Jr Sr  I see  no option or drop down to add this to the display.  Currently have  added as Lastname(Jr) but doesn't seem proper as I have to edit when  sending an email or creating labels.  Any suggestions or maybe an  enhancement in a future release.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Lee Stoddard&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Just create a new field called suffix, probably make this field be a  predefined one. When making labels, export this field as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lee Stoddard wrote:&lt;br /&gt;&lt;blockquote type="cite"&gt;Yes, I can add a new field but this can only be added in a section.  I  would like it to be added along with the name and surname locations so  it can be displayed in the name list.  I added it manually in the name  field and then it puts the last name in the middle name, and the  suffix as the surname.  I can then clear the middle name and add the  last name and suffix manually as the surname.  I just thought it might  be better to have an option to show this separate field somehow in the  name display as many people have a suffix associated with their legal  name.  Ie Jr Sr I II III .  The Title field I expect is used for Mr Ms  and would show at the beginning of the name.  The suffix shows after  and might possibly also be used for degrees such as MD etc.  Using my  work around I might run out of field length on the surname in some  cases.  We don't appear to have any options to make changes in this  area.  In any case this works for now and is still the best software  for this applications I have found.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I understand what you want. However, we had considered this before day  1, and decided to have suffix if desired be dynamic field, regarding to  the balance with many other factors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ed Philpott wrote:&lt;br /&gt;&lt;blockquote type="cite"&gt;I want to import several data files into OC and I want them to be  assigned to a particular Category. Is there a way to assign a Category  during the Import function? Perhaps this could be part of the template.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;What you requested was there since day 1, and this had nothing to do  with a template.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/9092816677984066939?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/9092816677984066939?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/letters-about-misc.html" title="Letters about Misc." /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry><entry gd:etag="W/&quot;C0cNQn8-cSp7ImA9WBFQGE8.&quot;"><id>tag:blogger.com,1999:blog-24762658.post-3083761665393759861</id><published>2007-03-13T13:54:00.000-07:00</published><updated>2007-03-13T14:24:53.159-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-13T14:24:53.159-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="name" /><category scheme="http://www.blogger.com/atom/ns#" term="address book" /><category scheme="http://www.blogger.com/atom/ns#" term="contact management" /><title>Open to the Future</title><content type="html">The reasons why we selected the name "Open Contacts" for our product was because of the philosophy behind the development of the product:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Open to the future. &lt;/span&gt;More fields will be added by us or by you, as you might have other info to input in the future.  The program will adapt new data fields, and new ways of communication.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Open to other applications. &lt;/span&gt;The program will interact with other desktop applications and Web applications, through inbound and outbound interfaces.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Open to users' choices of freedom. &lt;/span&gt;We may or may not provide all-in-one solution in the future, however, we respect your choice of other complementary applications, and the freedom to moving away to other higher end programs. We don't lock you and We are open to your choices.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Providing dynamic fields as the building block of your dynamic contact info is one of distinct features of Open Contacts.  With the dynamic action button upon highlighted data field, new ways of interacting with other programs can be introduced without making the user interfaces more complicated.&lt;br /&gt;&lt;br /&gt;As described in the product home page, Open Contacts can import data from large varieties of data sources, and interact with different Email programs, Skype and Google Maps etc. In addition, the program provides COM interfaces for other programs to cooperate. Birthday Reminder is a good example.&lt;br /&gt;&lt;br /&gt;Open Contacts can export selected contacts to other format: simple text, XML, HTML, vCard and LDIF, preserving most contact info. Only those data fields not supported in other formats will not be used. Thus, you will be free to sync data to other programs/platforms, or move your whole contact management to a highlander program you desire in the future.</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/3083761665393759861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24762658/posts/default/3083761665393759861?v=2" /><link rel="alternate" type="text/html" href="http://opencontacts.blogspot.com/2007/03/open-to-future.html" title="Open to the Future" /><author><name>Fonlow IT</name><uri>http://www.blogger.com/profile/02516023580566130734</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author></entry></feed>
