Ik heb weinig tijd maar vroeg me af of hier hier toevallig Leonardo's rondlopen die onbetaald willen meedenken aan het verdere uitwerken van onderstaand idee. Je moet enige php skills hebben en wat IT ervaring. Ik ben vooral op zoek naar mensen die heel veel lastige en irritante architecturele vragen stellen :)

Ik heb geen idee of dit uitmond in een sourceforge project of totaal tot misluking is gedoemd. Er is een issuelijst in mijn hoofd e.g. caching en of er een extra abstracte layer tussen de lagen moet om e.e.g. flexibeler te maken.

Het idee is om een adressenboekje te maken onafhankelijk van web of lokaal of operating systeem. dus met meerdere schilletjes en geen ldap, database o.i.d. dat is er allemaal al.

Ik vraag al 4 jaar lang her en der op forums aan Microsoft, op de geek communities, op usenet, op blogs, bij addressenboekjes sourceforge projecten of er iemand alsjeblieft een addressenboekje wilt maken dat households ondersteunt. Op de een of andere manier doet niemand het. Zelfs sugar-crm biedt geen households, het dichtste bij kwam civi-crm in combinatie met drupal. (Een households is "oom bert en tante truus en neefje piet en neefje wim", die zelf ook een object is dat een eigen adres heeft, telefoonnummer, datums, notities e.d.)

Ik wil het nu zelf doen en ik heb er nog wat ideeen bij gestopt. Ik heb al een heel basaal php websitje dat werkt voor mij eigen adressenboekje.

Het idee is a) dat het adressenboek werkt d.m.v. directories en bestanden d.w.z. je kunt je adressenboek aanpassen met windows explorer / total commander en notepad b) dat alles een plugin is, er staat NIETS vast: 1) velden zijn plugins, d.w.z een hyves plugin bepaalt hoe de hyves plugin eruit ziet in een tabel e.d. 2) relaties zijn DIRECTORIES 3) personen e.d. zijn BESTANDEN 4) shortcuts zijn links naar de bestanden die qua inhoud velden bevatten die overeen komen met de plugins geinstalleerd.

Ik ben bezig aan een privisorische documentatie e.d. maar hier heb ik ook eigenlijk weinig tijd voor.

----
  1. Kijker-data is a completely folder and textfile based addressbook
    • So it's easy to edit your addressbook with any editor e.g. notepad
    • So it's easy to organize: contacts are just like other files on your computer: drag them, delete them, group them etc... e.g. using Total Commander or Windows Explorer.
    • So it's not dependant on database technology and is compatible with any programming language, scripting language and operating system
    • So it will resist the years and will be readable hundreds of years from now in contrary to all the databases you store your contacts in now.
    • Learn more…
  2. Kijker-php is a php website and set of tools to work on this file based addressbook to show you reports, lists and provide you with other handy tools to display your contacts. It's an example how on how to work with the kijker-data set and can be used by anyone to orden their contacts.
    • kijker-php is field pluggable: every field e.g. "linkedin" or "telephone" is a plugin. So adding fields is as simple as adding a plugin. It means it is highly suitable for keeping track of your social networks, just add a new plugin and the field is available for all contacts in your addressbook.
    • kijker-php is report pluggable: every report e.g. "all my addresses ordered by category and display field A,B and C" or "birthday calender" is a plugin report. Having a new report is as simple as adjusting the list of columns that should appear or copying a new plugin report template in the template directory.
    • kijker-php is dataset pluggable: every set of contacts can be stored in seperate datasets e.g. one for your friends, one for your online contacts, one for your family and one for your company. It's as simple as creating a new folder (in fact it is).
    • kijker can import and export to a wide range of other addressbooks
    • Take a look for yourself in the demo or learn more…
----
Welcome to Kijker-data, a new free addressbook for ordering your contacts.
Kijker-data is a completely folder and textfile based addressbook
  • So it's easy to edit your addressbook with any editor e.g. notepad
  • So it's easy to organize: contacts are just like other files on your computer: drag them, delete them, group them etc... e.g. using Total Commander or Windows Explorer.
  • So it's not dependant on database technology and is compatible with any programming language, scripting language and operating system
  • So it will resist the years and will be readable hundreds of years from now in contrary to all the databases you store your contacts in now.
You can create the dataset without even downloading anything. 1. Datasets

You can have different datasets of people. Example: 1 dataset for your family, 1 dataset for your friends and 1 dataset for your work.

You can create a new dataset by creating a new directory called "DATA_[YOUR DATASETNAME]".

Example:
/DATA_FAMILY : keeps your family contacts
/DATA_FRIENDS : keeps you friends contacts
/DATA_COMPANY_X : keep contacts of company X

2. Directories

All the container data e.g. groups, clubs, households, companies, organizations, contacts etc... are simply directories. You can name and organize them any way you want e.g.:
/DATA_ALL/MARSIANS
/DATA_ALL/LINKEDIN_PEOPLE
/DATA_ALL/HOUSEHOLDS
/DATA_ALL/HOUSEHOLDS/Bob and Wilma/
/DATA_ALL/HOUSEHOLDS/Jan and Piet/
/DATA_ALL/COMPANY/ABC/DEPARTMENT X/
/DATA_ALL/FAMILY/PIETERSEN/Bob and Wilma/
/DATA_ALL/SPORTS/Badminton club/
/DATA_ALL/Poker club/
/DATA_ALL/INTERNET/Mailing List

Any grouping and subgrouping you can think of can be used. No restrictions here! Most directories you use will have file handlers which are plugins, so every directory that corresponds to a directory plugin will have the functionality provided by that directory plugin.
3. Files

Files can contain anything you want: contact data, addresses, important dates, tasks, you name it. The usage and naming of files is dependant on the plugins you have installed. We have pre-installed some file plugins but feel free to remove them, add other plugins or change them. In most cases only the extension e.g. in contacts plugin "human.txt" is the only thing that is of importance.
3.1 File Plugin Example: Contacts Plugin

Contacts are simply text files containing a fixed simple format. You always store contacts in the folder "CONTACTS" (but you can obviously change the default directory in the plugin)
Example: /data_friends/contacts/Bob Petersen.human.txt


Example:
NAME: Bob Petersen HYVES: BobPetersen.hyves.nl LINKEDIN: http://www.linkedin.com/pub/examplebob MOBILE: +991234565 FAVORITE_BOOKS: the art of war, flash 5 for dummies, the bible AVATAR: /avatar/bob_petersen_stumbleupon.jpg
  • Every field e.g. "NAME" or "HYVES" is based on a plugin. So adding a new plugin means you can use new fields for a contact. You can even add the new field to the text files and add a plugin later. And you only add the fields which are useful for this file.
  • Everything that is underneath the last line is not processed as a field, which means that you can quickly copy and paste anything you like with the contact and maybe later on organize it in fields.
3.2 File Plugin Example: Address Plugin

The file "address.txt" always contains the address of the object we represent by the directory, so the file "/data_friends/households/bob and wilma/address.txt" contains the address of Bob and Wilma and the file "data_companies/google/address.txt" contains the address of the company google.
The file "address.txt" also, again, consists of fields, any field plugin that is added to your plugin folder can be used in the address file.
3.3 File Plugin Example: Dates Plugin

The file "dates.txt" always contains the important dates of the object we represent by the directory, so the file "/data_friends/households/bob and wilma/dates.txt" contains the dates of Bob and Wilma e.g. anniversaries
The file "dates.txt" also, again, consists of fields, any field plugin that is added to your plugin folder can be used in the address file. Which are obviously in this case only dates, but who knows what people will come up with in file plugins.
So... what if you want a list of both anniveraries and birthdays? Simple: This will mean that a plugin report will use the dates plugin to find the anniversaries of directory-objects like households and it will use the contacts plugin to find all birthdays. So the integration of file and directory plugins happens on a report level. Every report plugin states on which plugins it relies. <Wellicht een extra integration layer ipv report layer>

4. Shortcuts

But hey...what if Bob is part of a household AND part of your badmintonclub AND a colleague at your work?
We use exactly the same concept as your operating system: just create a link file.

EXAMPLE:
/DATA_ALL/CONTACTS/Bob Petersen.txt
/DATA_ALL/HOUSEHOLDS/Bob and Wilma/Bob Petersen.lnk
/DATA_ALL/CLUBS/Badmintonclub/Shortcut to Bob Petersen.txt.lnk

A link file contains only 1 line: the name of the contact. In a next release we might support Windows shortcuts and Linux symbolic links.

--
cogmios - www.cogmios.nl