Forum OpenACS Development: Contacts application nearly ready for release - code reviewer(s) wanted...

Request notifications

Hello everybody,

At long last, after many shifts in project direction, etc. i am very close to being able to release a "contacts-heavy" application that is generally useful and not specifically programmed to our organizations specifications. i talked about here a bit:

I have a tarball i would like to send anybody that would be willing to "test it out" and make sure it works with their setup and to clean up some last todo items. I'm a one man shop so i don't have the luxury of somebody who can do code reviews at my job, I would really appreciate it if somebody would be willing to do that with me. After that i'll release it to contrib...

If you are able to help out or simply want a tarball to see where it is at please email openacs_at_geddert_dot_com.

That are good news Matthew,

I suggest you to put your code on, doesn't matter if its fully stable, its ok to put it there now, and will make the adoption / use of your pkg easier for most of us (just like Jade did with the PM).
And now there isn't need to put it on contrib, this will go into /packages.

Great news Matthew!

Reading the older thread it seems like it was an a open question which underlying packages (telcon_number, categories) you would ended up using.  What did you end up doing?

This might be very useful for a client project we are doing. We will definitely take it out for a spin.

I agree with Roc that it would be great if you could put it on oacs CVS.


How do i post this to packages/contacts or packages/acs-contacts? i had an ssh able cvs account to the openacs server (although i do not know if i have permission to add a package)... but its either disabled or i forgot the password. If disabled i would need an account on my username had been matthewg.

Richard Hamilton took a look at the code and thought acs-contacts might be the correct name for the package - who would verify this. Its a pretty "low level" package, that many other apps will hopefully use in the future since it manages any and all attributes associated with a party (i.e. a person or an organization)... it allows fine grained control of who has access to what data on a party, etc... I have been assuming it would be called contacts, but since its low level and generally useful to any application that deals with parties acs-contacts might be a better package name???

My contacts app ties in with almost all the reference data (for address verification), telecome-number, postal-address, organizations and categories, so it uses all of the hr-xml standard stuff.

Matthew, this is fantastic! Great work!

I think it should probably be called contacts.

If you want me to, I can post it on CVS. Or perhaps someone else can ensure you get your account set up.

I'm really looking forward to trying this out. I agree -- once we get it into CVS, then we'll worry about testing it, etc...

Once it's in CVS, I'll probably have some time to test it out as well.

Matthew, speaking from experience, one of the first things you'll want to do is set up a system for keeping track of changes made on the OpenACS CVS tree, and your local customizations.

If you're using Arch, then don't worry abou this. But if you're using CVS, this will require some careful planning.

who do i contact about getting a cvs account? how does this work, i'm assuming that i will remain the package maintainer, does this give me "special" cvs rights to this package or does it just mean that i get assigned bugs? is there documentation on what happens with a package once it is in
I committed contacts to the openacs-5-1 branch.

Matthew, you can ask any of the OCT people to give you CVS access.

You don't have any particular special access, but general people will expect you to manage the releases (see here for info on how to do that:, and you have some say in the direction that the development goes. Generally people will ask you before making significant changes to your code, for example.

To get the bugs assigned to you automatically, you also need to ask someone (on #openacs on IRC is a good place, or one of the OCT members) to set you up on bug-tracker, and while you're at it, you might get them to set up the cvs module for contacts, so that people can check out just that package.


how can I enable my package to use your contacts package? Can you kindly post a simple how to? I am rewriting a package that has it's own contacts table and I would like to use your package.

Also as Orzenil already mentioned Enrie and you are both using "Organisation" which breaks the one or the other during the installation process. I think you and Enrie should try to fix this problem since dotLRN will make use of both packages for sure.

I create a bug here:

Ernie's Contact:



Is there any plan to link users to organizations instead of adding organization information seperately for each user? Same goes for manager and assistant (link them to users not organizations, obviously :)). This way we could see at a glance which users are working at what organization.
Yes, Joreon van Dongen is working on relationships between contacts... so that functionality will be in place.
When we release our first "full number" version of contacts we will have documentation that shows how other packages can integrate with contacts (we will make it reasonably simple and standardized). Currently i'm thinking a search box for the way one searches for users on permissions pages in oacs-5-1-1 would be the way to go... we will also write documentation to show how to add contact "portlets" where another applications info on that contact is available in the contact view (i haven't used the portal structure dotlrn uses yet, just my own hack job, this may be a "normal" protlet in the end)

when do you expect that release? Also I was wondering if you plan to support vCard import/export. Export should be very simply. Below a sample vCard.


fn:Peter Fonda
org;quoted-printable:Somecompany Inc.;Some Dept.
note:some more text that should be visible

One issue I think needs to be added is making the package not a singleton.

Each subsite should be able to mount their own instance. And, Ideally each user could have their own contacts app online. A public/private/whatever permission could be granted with one of those defaulted by subsite.

Other than that I think this is a great package.

I am currently rewriting the package to not be singleton, and the have global, group and private contact lists. I expect a full number release by the end of the month (i need to implement it on one of my sites then so i want it to be as "finished" as possible). As far as vCard import/Export, i'll try. Outlook.csv and yahoo.csv imports/exports will for sure be done by the first release.

Nima, I really think my contacts package is the way for webmail to store contact info. So i'll try to make time to get vCard's working. Would you be willing to email me your webmail tarball? If i see the code it would give me an example of how other packages will need to be able to tie in with contacts. Or, if its not in a state to "share" yet (i.e. it depends on a number of local hacks) once you get it to that level i would appreciate if you could send me the tarball.