[OSM-dev] [Fwd: Re: Chopped of ways. New flag for OSM XML?]

Rogier Wolff R.E.Wolff at BitWizard.nl
Fri Aug 15 15:28:44 BST 2008

On Fri, Aug 15, 2008 at 07:04:11AM -0700, Karl Newman wrote:
> The suggestion was to mark the version of the entity as negative. The
> version attribute does not yet exist but is proposed for the upcoming 0.6
> API. Making it negative would prevent it from being uploaded because the
> server would reject it. The intent for the version attribute is to avoid
> simultaneous editing of the same object.

I've been on this list for a few days now, so I might be
rambling. Feel free to ignore my advice. 

Making some parameter negative to mean "this object is incomplete"
sounds like a hack to me. It's something that you might do in an
internal database, or in an in-memory datastructure, but it should not
be in an API. Not ever. It's a cludge.

If you add cludges to your datastructures and APIs you'll end up with
a big mess that in the future will become hard to maintain. The
current structure with XML APIs and transfer methods sounds like a
well thought-out system. Things can be done more efficient, but for
the sake of readability everything is in ascii.

That's nice. Cludges don't belong here. 

I had sent the mail that this discussion came out of as private
EMail. That was intentional: I don't consider myself to be
knowledgable enough about the subject matter to give accurate public
advice in this matter. This is evidenced by the fact that I don't have
the terminology down enough to have noticed the difference between
version numbers and node IDs... So, again, feel free to tell me that I
don't know enough yet to comment, and I'll shut up. :-)


** R.E.Wolff at BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 **
**    Delftechpark 26 2628 XH  Delft, The Netherlands. KVK: 27239233    **
*-- BitWizard writes Linux device drivers for any device you may have! --*
Q: It doesn't work. A: Look buddy, doesn't work is an ambiguous statement. 
Does it sit on the couch all day? Is it unemployed? Please be specific! 
Define 'it' and what it isn't doing. --------- Adapted from lxrbot FAQ

More information about the dev mailing list