Well actually thinking about it, the old RESTConfig community module is 
still there, and all the classes are there pre-change. So you may just 
be able to use it.

My only hesitation is that we will end up in this same situation, a 
bunch of work will be done there and it will not be ported properly back 
to the extension. But since you guys are on a tight deadline we don't 
have much choice.

So proceed as you see fit, either create a new community module or use 
the existing RESTConfig one.

-Justin

Daniele Romagnoli wrote:
> Hi,
> while waiting for an improved catalog, as a quick workaround we could 
> set up a community module which is a "copy" of the actual restconfig 
> extension containing the workarounds.
> (let's say, something similar to a branch, but restricted to a single 
> module).
> 
> Does this sounds ok?
> Daniele
> 
> 
> 
> On Fri, May 8, 2009 at 6:16 PM, Simone Giannecchini 
> <[email protected] 
> <mailto:[email protected]>> wrote:
> 
>     Ciao Justin,
>     please, see below...
> 
> 
>     On Fri, May 8, 2009 at 6:10 PM, Justin Deoliveira
>     <[email protected] <mailto:[email protected]>> wrote:
>      >
>      >
>      > Simone Giannecchini wrote:
>      >>
>      >> Actually,
>      >> yeah, I have one objection.
>      >> Beside the fact that I am not so convinced that  separating the two
>      >> calls will make the api cleaner,
>      >
>      > I would argue it does from a REST perspective. Any parameters
>     that modify
>      > the resource being PUT should be in the request entity, not in
>     the URI that
>      > defines the resource.
>      >
>      >  I am quite worried that this would
>      >>
>      >> make the whole process much weaker. In the real world, when you want
>      >> to add data in a dynamic way with a heavily loaded server with the
>      >> current geoserver internal catalog it is not uncommon that
>     everything
>      >> breaks due to the fact that it takes quite some time to persiste the
>      >> changes. You understand that starting to explode the number of calls
>      >> to configure a single layer will not work in real use cases.
>      >
>      > I understand the issue, but I hope you can understand why I am
>     hesitant to
>      > make API compromises to get around limitations which are
>     currently just an
>      > implementation detail. Like if we had a catalog that performed
>     well under
>      > update this would be an non issue.
>      >
> 
>     I agree, but we don't have such a catalog yet :-).
> 
>      > Even in 2.0 this should be much less of an issue since now the
>     only thing
>      > that gets saved is what you modify. Should be much more
>     performant under
>      > heavy update load. That said I do realize that you are working
>     with 1.7.x
>      > and need to work stable.
>      >
>      > Putting the issue of the current catalog aside for the moment, I
>     would
>      > speculate that the cost of a second call should be negligible
>     compared to
>      > the first. The reason being that since the first request involves
>     a data
>      > upload it could potentially take a while assuming a decently
>     sized dataset.
>      > But the second call should always be constant time. So you have 1
>      > potentially long request + 1 constant time (instantaneous when we
>     have a
>      > decent catalog).
>      >
> 
>     I am talking about a different thing.
>     If you have 2000 coveragerages configured it takes a non negligible
>     time to persist the config.
>     Do it twice is simply not acceptable.
> 
> 
> 
>      > That said, I would like to come up with a compromise here, and I
>     would like
>      > to do so in a way that does not prevent you from meeting any
>     deadlines.
>      > Since the rest system is pluggable can we move the code that
>     contains these
>      > workarounds for our current catalog limitations into a community
>     module.
>      > Doing so allows us to have a way to achieve the desired
>     functionality for
>      > now, but at the same time does not tie us to it for future
>     versions. And
>      > with a little spring magic we should be able to do in a way that the
>      > community module version overrides the extension version so there
>     are no URI
>      > conflicts.
> 
>     I'll live that to daniele, since we already modifying code that worked
>     before 1.7.3, therefore there is not much time available for more
>     work.
> 
>     Simone.
>      >
>      > Thoughts?
>      >>
>      >>
>      >> Simone.
>      >> -------------------------------------------------------
>      >> Ing. Simone Giannecchini
>      >> GeoSolutions S.A.S.
>      >> Owner - Software Engineer
>      >> Via Carignoni 51
>      >> 55041  Camaiore (LU)
>      >> Italy
>      >>
>      >> phone: +39 0584983027
>      >> fax:      +39 0584983027
>      >> mob:    +39 333 8128928
>      >>
>      >>
>      >> http://www.geo-solutions.it
>      >> http://simboss.blogspot.com/
>      >> http://www.linkedin.com/in/simonegiannecchini
>      >>
>      >> -------------------------------------------------------
>      >>
>      >>
>      >>
>      >> On Fri, May 8, 2009 at 5:25 PM, Justin Deoliveira
>     <[email protected] <mailto:[email protected]>>
>      >> wrote:
>      >>>
>      >>> For the first patch:
>      >>>
>      >>> +                final LayerInfo layerInfo;
>      >>> +                final Map<String,String> layerProperties = new
>      >>> HashMap<String,String>(2);
>      >>> +                if (form.getFirst("style") != null)
>      >>> +                    layerProperties.put("style",
>      >>> form.getFirstValue("style"));
>      >>> +                if (form.getFirst("wmspath") != null)
>      >>> +                    layerProperties.put("path",
>      >>> form.getFirstValue("wmspath"));
>      >>> +                if (layerProperties.isEmpty())
>      >>> +                    layerInfo = builder.buildLayer(cinfo);
>      >>> +                else
>      >>> +                    layerInfo =
>      >>> builder.buildLayer(cinfo,layerProperties);
>      >>> +                catalog.add(layerInfo);
>      >>>
>      >>> I think this should be handled with a second call, rather than
>     stack up
>      >>> available options. It makes the api cleaner imo. And is less
>     arbitrary.
>      >>> For instance why do we support style and wms path but not the other
>      >>> properties?
>      >>>
>      >>> So I would prefer the interaction to be:
>      >>>
>      >>> 1) PUT to upload the coverage
>      >>> 2) PUT to modify the coverage
>      >>>
>      >>> Objections?
>      >>>
>      >>> Daniele Romagnoli wrote:
>      >>>>
>      >>>> Hi Justin,
>      >>>> I'm really sorry about this.
>      >>>> Next time I'll follows the steps you are talking about.
>      >>>> I was working on the coverages ingestion and I needed to
>     re-enable some
>      >>>> capabilities available in 1.7.2 for an urgent application.
>      >>>> I was too hasty. Sorry again.
>      >>>>
>      >>>>
>      >>>> On Fri, May 8, 2009 at 4:22 PM, Justin Deoliveira
>     <[email protected] <mailto:[email protected]>
>      >>>> <mailto:[email protected] <mailto:[email protected]>>>
>     wrote:
>      >>>>
>      >>>>    Reviewing the commits more closely I definitely have a few
>     concerns
>      >>>>    which affirms my preference to have these changes reviewed
>     before
>      >>>> hand.
>      >>>>
>      >>>>    * The method added to catalog builder seems unnecessary to
>     me. I
>      >>>> think
>      >>>>    just the plain buildLayer can be called, and then properties
>      >>>> overrideen
>      >>>>    after the fact, instead put putting them into a map and
>     passing it
>      >>>> into
>      >>>>    the method. It also does not sync up with any of the other
>     methods in
>      >>>>    that class. I would like to keep that class as consistent as
>      >>>> possible.
>      >>>>
>      >>>>    * You have made changes to api without any discussion.
>     Supporting
>      >>>>    wmspath and and style as query parameters is not documented
>     as api
>      >>>>    options:
>      >>>>
>      >>>>
>      >>>>
>      
> http://gridlock.openplans.org/geoserver/1.7.x/doc/user/extensions/rest/rest-config-api.html#coverage-stores
>      >>>>
>      >>>>
>      >>>> The previous RESTConfig allowed to handle them. I had tought
>     during
>      >>>> migration to extensions they have been forgotten.
>      >>>>
>      >>>>
>      >>>>
>      >>>>
>      
> <http://gridlock.openplans.org/geoserver/1.7.x/doc/user/extensions/rest/rest-config-api.html#coverage-stores>
>      >>>>
>      >>>>    Not saying we should not have them, but this is an
>     extension now, not
>      >>>> a
>      >>>>    community module anymore, such things require discussion
>     before hand.
>      >>>>
>      >>>>
>      >>>> You are Right.
>      >>>>
>      >>>>
>      >>>>
>      >>>>    * Many of the changes seem a bit arbitrary, changing variable
>      >>>>    declarations to final for instance. Again, for consistency
>     sake I
>      >>>> prefer
>      >>>>    that you delegate to how the rest of the class / method
>     does things
>      >>>> when
>      >>>>    making chagnes.
>      >>>>
>      >>>>    * Setting the layer name as the entity is again an api
>     change, and
>      >>>> one I
>      >>>>    don't agree with. It is more RESTful to set the location of the
>      >>>> resource
>      >>>>    using the appropriate HTTP header, 'Location' like we do
>     for the POST
>      >>>>    case. Also, the indication of where the resource should be
>     down with
>      >>>> a
>      >>>>    full uri, just returning the name assumes that URI's are
>     non-opaque,
>      >>>> ie
>      >>>>    the client has pre-knowledge of how URI's are built, which
>     is another
>      >>>>    REST nono.
>      >>>>
>      >>>>
>      >>>> Do you think it would be better if I revert my changes?
>      >>>> Daniele
>      >>>>
>      >>>>
>      >>>>
>      >>>>
>      >>>>
>      >>>>    -Justin
>      >>>>
>      >>>>    Justin Deoliveira wrote:
>      >>>>     > Hi Daniele,
>      >>>>     >
>      >>>>     > I see you are making commits on 1.7.x to restconfig and
>     main. I
>      >>>> would
>      >>>>     > appreciate posting patches for pre review first before
>     committing.
>      >>>>     > Especially in this case where we have not yet wrapped up
>      >>>> discussion
>      >>>>     > about how to handle the PUT issue from previous email.
>      >>>>     >
>      >>>>     > I am not trying to hamper work here but I have been
>     deemed the
>      >>>>     > maintainer of that extension, and while there are no
>     hard rules
>      >>>>    in place
>      >>>>     > about who is allowed to commit, i would appreciate being
>     to review
>      >>>>     > commits before they go through.
>      >>>>     >
>      >>>>     > -Justin
>      >>>>     >
>      >>>>
>      >>>>
>      >>>>    --
>      >>>>    Justin Deoliveira
>      >>>>    OpenGeo - http://opengeo.org
>      >>>>    Enterprise support for open source geospatial.
>      >>>>
>      >>>>
>      >>>>
>      
> ------------------------------------------------------------------------------
>      >>>>    The NEW KODAK i700 Series Scanners deliver under ANY
>     circumstances!
>      >>>> Your
>      >>>>    production scanning environment may not be a perfect world
>     - but
>      >>>>    thanks to
>      >>>>    Kodak, there's a perfect scanner to get the job done! With
>     the NEW
>      >>>>    KODAK i700
>      >>>>    Series Scanner you'll get full speed at 300 dpi even with
>     all image
>      >>>>    processing features enabled. http://p.sf.net/sfu/kodak-com
>      >>>>    _______________________________________________
>      >>>>    Geoserver-devel mailing list
>      >>>>    [email protected]
>     <mailto:[email protected]>
>      >>>>    <mailto:[email protected]
>     <mailto:[email protected]>>
>      >>>>    https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>      >>>>
>      >>>>
>      >>>>
>      >>>>
>      >>>> --
>      >>>> -------------------------------------------------------
>      >>>> Eng. Daniele Romagnoli
>      >>>> Software Engineer
>      >>>>
>      >>>> GeoSolutions S.A.S.
>      >>>> Via Carignoni 51
>      >>>> 55041 Camaiore (LU)
>      >>>> Italy
>      >>>>
>      >>>> phone: +39 0584983027
>      >>>> fax:     +39 0584983027
>      >>>> mob:   +39 328 0559267
>      >>>>
>      >>>>
>      >>>> http://www.geo-solutions.it
>      >>>>
>      >>>> -------------------------------------------------------
>      >>>>
>      >>>>
>      >>>>
>     ------------------------------------------------------------------------
>      >>>>
>      >>>>
>      >>>>
>     
> ------------------------------------------------------------------------------
>      >>>> The NEW KODAK i700 Series Scanners deliver under ANY
>     circumstances! Your
>      >>>> production scanning environment may not be a perfect world -
>     but thanks
>      >>>> to
>      >>>> Kodak, there's a perfect scanner to get the job done! With the
>     NEW KODAK
>      >>>> i700
>      >>>> Series Scanner you'll get full speed at 300 dpi even with all
>     image
>      >>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>      >>>>
>      >>>>
>      >>>>
>     ------------------------------------------------------------------------
>      >>>>
>      >>>> _______________________________________________
>      >>>> Geoserver-devel mailing list
>      >>>> [email protected]
>     <mailto:[email protected]>
>      >>>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>      >>>
>      >>> --
>      >>> Justin Deoliveira
>      >>> OpenGeo - http://opengeo.org
>      >>> Enterprise support for open source geospatial.
>      >>>
>      >>>
>      >>>
>     
> ------------------------------------------------------------------------------
>      >>> The NEW KODAK i700 Series Scanners deliver under ANY
>     circumstances! Your
>      >>> production scanning environment may not be a perfect world -
>     but thanks
>      >>> to
>      >>> Kodak, there's a perfect scanner to get the job done! With the
>     NEW KODAK
>      >>> i700
>      >>> Series Scanner you'll get full speed at 300 dpi even with all image
>      >>> processing features enabled. http://p.sf.net/sfu/kodak-com
>      >>> _______________________________________________
>      >>> Geoserver-devel mailing list
>      >>> [email protected]
>     <mailto:[email protected]>
>      >>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>      >>>
>      >
>      >
>      > --
>      > Justin Deoliveira
>      > OpenGeo - http://opengeo.org
>      > Enterprise support for open source geospatial.
>      >
> 
> 
> 
> 
> -- 
> -------------------------------------------------------
> Eng. Daniele Romagnoli
> Software Engineer
> 
> GeoSolutions S.A.S.
> Via Carignoni 51
> 55041 Camaiore (LU)
> Italy
> 
> phone: +39 0584983027
> fax:     +39 0584983027
> mob:   +39 328 0559267
> 
> 
> http://www.geo-solutions.it
> 
> -------------------------------------------------------
> 


-- 
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to