One of our assumptions has been around the idea that a Next Generation constituent needn't necessarily have a postal address. As many of you know this requirement in the current software has caused us to jump through some hoops with web registrations where we actually temporarily create constituents with a dummy address. So the thought was if a large percentage of your constituents only address you electronically, why bother with a required postal address? Furthermore, considering the type of "groups with members" constituent model that we've been talking about, why should a every child in a family need an address when all of the children belong to a family that has a postal address?
So yesterday we got into having a big discussion about whether we needed to carry on the notion of a "primary address" for a constituent. Currently each constituent must have a primary address and that primary address must not be control grouped--everyone can see it.
Primary addresses has some nice advantages--if you want to analyze purchasing by postal code sometimes you just need any easy way to get to a postal code. Plus if you've got several addresses on a constituent and none of them really match the criteria for a particular mailing, you've always got the primary address to fall back on.
Obviously if no postal address is required then you can't force a primary address. You could make a rule like "if there are any addresses, then one of them must be primary". But then we thought, "does this work in a consortium setting"? Let's say the Symphony and the Ballet share a system. Couldn't you make the case that the Symphony might want to store a private address that only the Symphony could see? And that's the only address the constituent has on file? You can't say it's the primary address because the Ballet can't see it.
So several questions:
1. What about this notion of a constituent with no postal address? Does that make sense? Or does the current model feel better? Even with the group/member model we could say that each constituent has to have a primary address, even if that address is not specifically tied to that constituent. That's the example of the child's primary address actually being the family's address.
2. If there were no requirement for a postal address, then there are obviously still times when one is required. We couldn't have a delivery method of "Mail" if the constituent didn't have an address. Of course we could require that an order have a shipping address before allowing that delivery method. But what does this do to subscribers if some percentage of subscribers didn't have postal addresses? Or is this just the way the world is going and we have to learn to operate that way?
3. If we don't require an address, what about a primary flag? Is it ok for a constituent to have say 3 addresses (some shared, some not) and none of them being a primary address? Is it ok for a constituent to have 3 addresses, all only visible for some part of a consortium?
Believe me it's a nice feeling knowing that we can put questions like this in front a large, interested audience. We're eagerly awaiting your help.
Hi All,
Good day.
personally I like to separate things into pieces, then join them together in the way I want.
first,
the t_address should be a stand alone table with a customer_no as FK and an address_no as PK.
second,
if we need to add some relationships to this address_no, we should do it in another way, which is tx_address way.
third,
if in a consortium, tx_address can let you have your own choice.
so,
it will become clear, t_customer is for customer name and something,
t_address is an address-only table, ok, it should has a FK to t_customer. that is all.
tx_address table is relationship table, you decide what should be put in there.
like holiday address, home address, work address, it is your call.
have fun
Ben