In case it helps in understanding the design, I'll include a little detail on a very simple example here.
http://dev.openlayers.org/sandbox/topp/almanac/examples/v2-fixed-http-gml.html That example does about the same thing that the gml-layer.html example does. Except it is more verbose. Instead of creating a layer like: var layer = new OpenLayers.Layer.GML("GML", "gml/polygon.xml"); The vector behavior example (v2-fixed-http-gml.html) does the following: var layer = new OpenLayers.Layer.Vector2("GML", { strategy: new OpenLayers.Strategy.Fixed(), protocol: new OpenLayers.Protocol.HTTP({ url: "gml/polygon.xml" }), format: new OpenLayers.Format.GML() }); Looks horrible, right? And the example name is so long and tedious as well. The point is that the existing GML layer wraps up a bunch (well, a bit) of vector behavior into a single class. The GML layer requests all data once (that's a strategy), it uses HTTP (that's a protocol), and it parses responses as GML (that's a format). The new design separates strategy, protocol, and format. A strategy is tied to a layer (it has a reference to a layer and can only be used with a layer). A protocol is tied to a format (it has a reference to a format). You can swap out the format for a protocol (in theory) and you can use a protocol in the absence of a layer. The result is that we can use these parts elsewhere. People can mix and match as they like. We can develop new strategies, protocols, and formats independently - assumptions about how they are integrated doesn't need to be tied up in a layer. Then, of course, we can make things convenient again. The GML layer (if there is demand for one) can use a Fixed strategy, an HTTP protocol, and a GML format. The WFS layer can use a BBOX strategy, a WFS protocol, and a GML format. Etc. Tim Tim Schaub wrote: > Hey- > > Some may have already seen the proposal for new vector layer behavior. > http://trac.openlayers.org/wiki/Proposal/VectorBehavior > > This week, I'll be working on implementing a bit of this new design. > I'm focussed on an AtomPub protocol, an Atom format, and a somewhat > smartish BBOX strategy. > > I've started putting stuff up in an "almanac" sandbox. The one example > that shows it wired together is not that impressive - but it represents > a new design for giving vector layers behavior. > > http://dev.openlayers.org/sandbox/topp/almanac/examples/vector2.html > > I appreciate any ideas on the work. I've got a deadline to get this > working by next Monday - so it will be hasty work for a while. > > http://trac.openlayers.org/log/sandbox/topp/almanac/ > > I've also refactored the WFS stuff into a WFS protocol. This is > completely untested and expected not to work currently. If anybody is > interested in picking that up, sbenthall will be working on it this week > as well. > > Tim > _______________________________________________ > Dev mailing list > [email protected] > http://openlayers.org/mailman/listinfo/dev > > !DSPAM:4033,4803ed6625911804284693! > _______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
