Happy holiday Gabriel Roldán and aaime:
1) what is up
2) feature model update
3) what is a feature collection
jgarnett: hey gabriel
groldan: hi!
jgarnett: anything for an agenda?
groldan: actually not, just looking around while in an inpass on my holidays
jdeolive: congrats on the world cup win groldan 
groldan: hahaha yeah! thanks
groldan: six and counting..... 
jdeolive: haha
jgarnett: 
jgarnett: jdeolive I am getting some questions; gdavis and now david adler on supported status
jgarnett: perhaps we could go over the documentation page and see if we can answer questions?
groldan: btw, congrats on the commit of the first milestone of fm work on trunk, and the move to java5 (I'm getting up to date with the ml right now)
jgarnett: yeah; jdeolive++
jdeolive: thanks 
jgarnett: oh wait that is weak ..
jgarnett: jdeolive**
jdeolive: haha
jgarnett: should be better as long as jdeolive > 1
jgarnett: looks like david adler got his talking spot for foss4g and would like to make sure DB2 is supported
jgarnett: justin did you want an agenda item for fm work?
jgarnett: Is a version of 2.4-RC0 going out etc...
jdeolive: sure
jdeolive: gtbot add fm status
jgarnett has changed the topic to: 1) what is up 2) fm status
jgarnett: we are botless
jdeolive: oh
jdeolive: replaced with jodybot 
jgarnett: well lets start; for those new to this - one line each let us know what you are up to...
jgarnett: jody - trying to figure out why gdavis cannot build
jdeolive: justin - just finished up first fm milestone, now working on geoserver 1.5.2 while andrea on vacation
gdavis: graham - trying to get geotools to build after justin's updates
gdavis: get get geometry module to supported status
jgarnett: (I assume goldan is on vacation?)
***groldan is on vacation with good old friends after 4 years of not seeing them
jgarnett: yeah
jgarnett: moving on ...
jgarnett: 2) fm status
jdeolive: this is me
jgarnett: the floor is yours justin
jdeolive: so i just finished up the first milestone of having the old feature model extent the implementation of the geoapi feature model
jdeolive: main is back pasing all tests
jdeolive: for most of us anyways 
jdeolive: i would like the module maintainers to run all of there online tests
jdeolive: since i cant really run those
jdeolive: my next step is to setup a geoserver spike against it and run teh cite test suites
jgarnett: our build box runs online tests; I will try and see if it is still going.
***groldan is svn updating trunk to see if it compiles in argentina too (and hopefully teak community-schema to compile again)
pramsey left the room (quit: ).
jdeolive: community schema is down because jody killed DataAccess
groldan: yeah, that's what I mean
groldan: guess I gonna svn copy DataAccess to community schema, any objection?
jgarnett: still wont help
jgarnett: it is removed from renderer and so on
jgarnett: you need to go through the proposal process
jdeolive: jody... i think thats a bit harsh
groldan: not using renderer anyways, just wfs for the sake of immediate rob needs
jdeolive: gabriel just needs this to prototype
jgarnett: Should be easier since we assembled the feedback previously right?
jgarnett: I was just out of volunteer time to implement the chagnes requested by andrea, and thus it was withdrawn.
jgarnett: okay
jdeolive: well the feedback was we dont want another interface
groldan: when is DataStore moving to geoapi FM?
jgarnett: there was several bouts of feedback; i wanted the grid coverage guys and gabriel to talk.
jgarnett: not until after the 2.5.0 release (if I understand Justin correctly?)
jdeolive: well... i am kind of hoping to utilize the code sprint forthat
jdeolive: but yeah.. 2.5.0 will still be with old feature
jgarnett: right!
groldan: but if datastore moves to geoapi FM I should be able of just using it, right? except it explicitly works only over SimpleFeature
jdeolive: but old feature will be deprecated
jgarnett: so it will be quick; and indeed I think you should use the code sprint for that :-D
jgarnett: (I am game)
jdeolive: so i guess 2.6 is the target...
gdavis: brb, need to reboot
gdavis left the room.
groldan: it was more a question: ¿is the current data api going to be changed to work over geoapi Feature or SimpleFeature?
jdeolive: good question... i am guessing simple feature if we dont want to screw over our users
groldan: with java 5 you get the best of both worlds
jdeolive: ahh
jdeolive: thats right
jgarnett: not so sure
jdeolive: we could type narrow
groldan: DataStore<? extends Feature>
groldan: bad sintax
groldan: you got the idea
jdeolive: yeah
jgarnett: then you would need to match factory ... and SimpleFeatureFactory no longer extends FeatureFactory etc..
jdeolive: java 5 could be useful for coming up with the api that keeps the old in tact but lets gabriel set up a datastore which can use complex features
jdeolive: i dont agree jody
jgarnett: but yeah; that could work ...
jgarnett: but the emphais is on SimpleFeature - we will need you to consider the "Feature" case for us gabriel.
jdeolive: yeah... but you are looking at the case where you want regular datastores to switch back and forth based on factory injection
jdeolive: and i dont think that works
groldan: quiestion: PojoDataStore is alive? and if it does, is it only simple features too?
jgarnett: it is not alive
groldan: ok
gdavis [n=gdavis@mail.refractions.net] entered the room.
groldan: didn't understand this: "but you are looking at the case where you want regular datastores to switch back and forth based on factory injection"
groldan: are we changing datastore to allow fature factory injection or something?
jdeolive: jody wants SimpleFeatureFactory to extend FeatureFactory because he wants to just pass people a factory and have it decide which features to return, simpl eor complex
jdeolive: i am saying that does not relaly work
groldan: well... I don't quite see the point for that requirement...
groldan: guess a datastore implementation shall know if it works with simple or complex, and client code shouldnt care?
jgarnett: justin I am happy either way
groldan: or client code should just care if it wants only simplefeature capable datastores
jdeolive: that is what i am getting at too
jdeolive: but yeah
jgarnett: I can make a FeatureFactory that returns SimpleFeature instances (as long as it is called with the correct restrictions ....)
jgarnett: I am fine.
jgarnett: gabriel you are correct - the data store should "look up" the kind of factory it needs. We only get in trouble when client code wants to choose the exact implementation. Using hints or otherwise...
jgarnett: still; this is an aside.
jgarnett: I am so glad that SimpleFeature is on trunk.
jonathanv: are you guys still contemplating featurecollection
jgarnett: what is next justin?
jdeolive: that is it for me
jdeolive: i wont be back to fm stuff for another week or so
jgarnett: we are at an impass jonathanv
jonathanv: why don't you just model it after something similar from the java/c# world?
jgarnett: we are all kind of tired of the concept; it is a source of friction between somethig that is nice to use - and something that can be implemented.
groldan: well, when time comes, I would like to decouple feature collection from the java collections framework
groldan: (bomb bomb)
jonathanv: i'd suggest something but i've never been able to figure out how featurecollection is supposed be used, at least beyond the most basic interaction
jgarnett: understood
jgarnett: well have you tried reading the definition of it in GML?
jonathanv: i'm not sure where this GML is
jgarnett: (ignore the java collections stuff - that is only the cloths we dress up the idea in - so that our users like it)
jgarnett: Right ...
jgarnett: - http://www.opengeospatial.org/
jgarnett: they have a good definition of Geometry
jgarnett: Feature
jgarnett: and FeatureCollection
jonathanv: i do enjoy designing data structures though
jgarnett: and we hate writing docs
jonathanv: i've noticed
jgarnett: so we try to do what they say; and expect users to go read the definitions elsewhere
jgarnett: (I enjoy writing docs but nobody will pay me to do it)
gdavis left the room (quit: Read error: 104 (Connection reset by peer)).
jgarnett: http://docs.codehaus.org/display/GEOTDOC/Use+of+Standards
jonathanv: okay i think i've found the right pdf
jgarnett: There is a nice overview somewhere on their site
jgarnett: guys should I end the meeting and continue this conversation after?
jdeolive: sure
groldan: sounds good
jgarnett: okay meeting done - I will post the logs
jgarnett: http://www.opengeospatial.org/standards
jgarnett: have a look at the "OpenGIS Reference Model"
jgarnett: it has the best definition of Feature and FeatureCollection
jgarnett: (all the other ones talk a about a specific implementation - either XML or COM or whatever...)
jgarnett: but to sum up
jgarnett: a Feature is something you can draw on a Map
jgarnett: the Geometry is the shape on the map (just the shape mind you)
jgarnett: and a FeatureCollection is a Feature (because you can draw it on a map)
jgarnett: made up of smaller parts
jgarnett: so maybe it is all the "lakes" on your Map
jonathanv: so it's recursive
jgarnett: or maybe it is all the lakes that were dredged in 2002
jgarnett: so yes it is recursive
jgarnett: but it is almost the result of a query
jgarnett: either containment (which is how we like to think of it - ie simple container pattern in Java)
gdavis [n=gdavis@mail.refractions.net] entered the room.
jgarnett: temporal (ie the 2003 part)
jgarnett: or spatial
jgarnett: (all the lakes in this bounding box, ie all the lakes on this page of my map)
jgarnett: rant rant...
jonathanv: ok, you lost me when you went into geographer mode
jgarnett: features have a shape; but they also have properties (either associations, attributes or operations)
jgarnett: and you may define your feature collection with respect to that
jgarnett: ie find me all the lakes that are WITHIN north america.
jonathanv: okay
jgarnett: so realy what we have
jonathanv: so a featurecollection can be a subset of all the features that exist
jgarnett: is a "model" of the world
jgarnett: using the same "modeling tools" that we computer scientists use
jgarnett: ie Feature == Object
jgarnett: FeatureType == Class
jgarnett: operations = method
jgarnett: association = collection
jgarnett: attribute = field
jgarnett: and so on ..
jgarnett: this "matching" is so complete that geographers use the same tools we use
jgarnett: ie they use UML diagrams
jgarnett: just like we do.
jonathanv: ewwwww uml
jgarnett: So the design space of GIS systems is just as bad as the design space for an IDE
jgarnett: I am just trying to say they have a classification system, and all the same ideas about complexity we do
jgarnett: (think philosphy and plato if an IDE was too much)
jgarnett: http://portal.opengeospatial.org/files/?artifact_id=3836
jgarnett: did you get this link yet?
jonathanv: apparently
jgarnett: page 12
jgarnett: and page 9
jgarnett: so are conflict here is complexity
jgarnett: same as it ever is with computer science
jgarnett: this design problem just happens to be really mean; only bright side is this ...
pramsey [n=pramsey@S01060014515fec41.gv.shawcable.net] entered the room.
jonathanv: i need to read this stuff
jgarnett: the geographers have been doing this since the 1500s; it is us computer guys who are the new kids on the block.
jgarnett: fair enough
jonathanv: but i feel like it's a mistake to try to model your class structure after the real world
jonathanv: that's the impression i'm getting
jgarnett: that is object oriented programming my friend
jgarnett: it may be a mistake; functional programming is the proof of the pudding
jonathanv: hehe
jgarnett: okay - later
jonathanv: i'm kind of stubborn about OOP
jgarnett: I better wrapp up the logs
jonathanv: really, any paradigm taken to an extreme is damaging i think
jgarnett: as I said this time it is not too bad
jgarnett: the geography guys have smacked this feature idea around for a good 500 years
jonathanv: good point
pramsey left the room (quit: Client Quit).
jonathanv: but, biologists have smacked the uhh species tree around for a long time too
jonathanv: that doesn't mean Cat should be a class that subclasses Carnivore which implements Animal, which implements LifeForm
groldan left the room (quit: Remote closed the connection).
jgarnett: fair enough
jgarnett: however whatever we do come up with has to be communicated with our user community
jgarnett: Feature is to Geographer
jgarnett: as Money is to Accountant
jgarnett: it is what they do.
jonathanv: classes are good, interfaces are good, i just thing programmers need to make absolutely sure they don't take things too far
jgarnett: On the bright side noboy loves FeatureCollection that much
jgarnett: for the geographer there is little difference between the FeatureType and the FeatureCollection (near as I can tell)
jgarnett: think of they "Key" on a Map
jgarnett: those are the FeatureTypes