From: "David E Jones" <[EMAIL PROTECTED]>
On Aug 5, 2008, at 4:08 PM, Jacques Le Roux wrote:
From: "David E Jones" <[EMAIL PROTECTED]>
On Aug 5, 2008, at 2:37 PM, Jacques Le Roux wrote:
From: "David E Jones" <[EMAIL PROTECTED]>
It might be better to have an independent ID for the TerrestrialPosition
(like terrestrialPositionId) and have things
point
to it rather than having it point to other things. In other words we would
add a terrestrialPositionId to the ContactMech
instead of putting a contactMechId on TerrestrialPosition. In that way
anything could point to it.
Yes and this is even simpler. I followed the PartyContactMech pattern because
I thought it was a best practise. But obviously
like that the scope will be wider.
This is something we should maybe discuss more, ie whether the
TerrestrialPosition should be a type of ContactMech or it's own
independent thing. I was thinking the independence might be better, and we
would have more control over what it is attached
to.
In other words, the use patterns and relationships to other entities are a
little different than what is done with
ContactMechs.
Still, if anyone thinks otherwise... please share.
Actually what I said above is not true. The scope will not be wider. You can
get the same using the ContactMech pattern. It's
only a bit harder since you have to create a specific entity (like
FacilityLocationContactMech) and make the association
between the 2 other entities each time you want to relate a new entity (like
say FacilityLocation). In the second case only one
association to TerrestrialPosition would be needed. So it's up to you guys,
sometimes breaking the rules is good, sometimes
it's not, we have to really think about it ... before...
What do you mean by "break the rules"? I don't see any rules being broken
here...
Yes actually, I was just thinking about the EntityNameContactMech pattern, not
a rule indeed.
And because I wondered why we'd use this pattern in most other cases and not
for GPS Geolocation, I just reviewed how Len Silverston
suggests to deal with contact informations.
At this stage I must admit that things were not much more clear. As far as I
read Len speaks only about PartyContactMech and
FacilityContactMech, but it's easy to extrapolate more usages as it's done in
OFBiz.
Now, please let me think loud. What is the difference between a postal address
and a GPS point ? Is there more differences between
them than between, say a telecom number and a postal address ?
Obviously telecom numbers and a postal addresses have something in common that
a GPS point does not share: they are mechanismes to
contact somebody (or something at large). A GPS point is only a mean to locate
somebody (or something at large), you can't contact a
GPS point. So yes, it makes sense to differntiate a GPS point from other
contact mech. A GPS point is not a contact mech as Len
Silverstion defines one. It's a mean to locate not to contact. So now I better
understant why you wanted things to point to it
rather than having it point to other things. I still wonder though if we should
not think a bit more about it. Putting a
terrestrialPositionId in ContactMech does not make sense, as it's not a mean
to contact but locate. Should we not introduce
something else. Like a LocateMech, which could be maybe used for other stuff in
future ?
Let me dream now (you are allowed to no read that :o) : I live in the country
(not so far from town, but country). And where I live
there is no numbers to the road. So it's hard to find me (I did not make it
purposely ;o). Sometimes it's cool, sometimes it's very
annoying. Like when you receive a CD from Amazon the 1st time (and even after :
deliverymen change). Sometimes it's even worse : the
French postal service, "La Poste", will change its status soon and will become
a private company (yes things are changing, even in
France). The bad side (there is always one in all things) is that they speak to
not delilver anymore addresses without numbers. You
see ? If we were using geolocation (with a comment for more) in place of
addresses I will not have this problems. We are still using
old tools whereas we have already what is needed to do more.
As with anything you design to requirements, and try to make things flexible
but many-to-many relationships are not inherently
better in any way than many-to-one relationships, they are just different and
better for use in different situations.
Yes I agree, I did not have thought enough about that. What do you think about
the LocateMech idea ? Apart its name, would it be
really useful in future or shall we stay with ContactMech only?
One thing to note after this : an address may be used to contact but also only
to locate (like for delivery). Same with a cell
phone, when the police investigates... So maybe a ContacMech is enough, in
OFBiz at least...
Sorry for the long post, but you asked for thinking, I tried and finally find
your 1st solution simple and clear :
1. add lat/long fields to ContactMech
2. create a new ContactMechType for geo-spatial coordinates like this,
like "TerrestrialPosition" or something
3. add a new entity for TerrestrialPosition that is independent of the
ContactMech and Geo entities, and then related to with other entities$
BTW, what do yout think about my answer to BJ about different geolocation sources (yahoo, google, etc.) : a primary key field
geoPositionSourceEnumId using a relation to Enumeration in TerrestrialPosition entity?
And his proposition of 2 fields for GPS elevation (one that has the value and
one the enumerates elevationUomId)
Other ideas ?
Jacques
PS : a simpler solution in my case (delivery issue) is to choice myself a
number, maybe 7777777 : can't be confused, easy to
remember.... but not to write, mmmm... 777 could do it ! Deregulation... is
that freedom ? GPS/Galileo is that future ? Will future
be freedom ?
-David