Forum OpenACS Development: Re: Comments on the new postal-address module (and kin)

Collapse
Posted by Jon Griffin on
I actually did read it, but also had some greenpeace code in an ssh window. I don't have any need for Amnesty Intl. either. But that is irrelevant. And, I also don't hold animosity towards them, I just don't have a use for their politics.

A service is meant to be used by other packages and has nothing to do with service contracts. They in general don't have adp pages, but that is not the real distinction. The adp pages would be for admin purposes. Also, services should only be mounted once (usually)

I also think you are confusing my proposal for a validation package. Your package can use a tcl proc to consolidate/validate do whatever you want to the data. If you want to send it out to xxx-data service, no problem, ecommerce does a similar thing with payment gateways. There used to be one payment method. It has since been rewritten to use service contract to extend the ecommerce package without touching the core data model.

A similar approach should be used in the address-validation package. I am sure that every list cleaning/validation service has different requirements so you write a gateway and then add specifics for each company. By trying to put the US centric address information in the core of postal-address, you are locking everyone into your preferred company.If there was a standard for data cleaning/validation that would be a different matter, but as far as I know that doesn't exist.

The changes in 5.0 (which certainly are only being talked about) are changes to parties to eliminate persons information at the party level.

A party is an entity that relates to an object. That can be a person, group, organization or even another object. A person is a specific type of party and once a person becomes registered they become a user. But, all of the types inherit from parties.

Addresses don't have to be attached to a person, they are only attached to a party. You don't even need that information to send an address for validation. Also, you can create a history of that address by simply creating a package that tracks address_id and party_id with dates or whatever you want, but this isn't part of postal-addresses.

Well - I think I at least see vaguely where/how you are suggesting this would be done, but until I grok the ad_rels and parties and objects and figure out how something can be a service without being a package, and when I figure out HOW you contribute code ... I think I'll just play with my local instances in more depth and watch as the contacts and addresses and phones unfold...

Thanks for the great pointers and explanations everyone!