Two wrongs don't make a right, IMHO.
I'd rather break convention than introduce such a dangerous parameter to an
existing API endpoint and change its semantics

I'm not talking about a rewrite of the REST API, but a new verb to the
existing API. Don't see how that'd make it harder for the people that's
used to it, when it doesn't even exist. Used the the rest api having all
sorts of parameters I take it. So how much harder is it when I ask "how do
I delete a table in my database?"
- oh, just need to add this param to DELETE
../stores/mystore/featuretypes/xxx
- or, oh, just need to call DELETE ../stores/mystore/drop/xxx

For the former, you need to update the documentation saying if you pass
this, then it does this, if you pass this other parameter then it does this
other thing. Beware to check all your scripts, because if you accidentally
leave this parameter on, your company database will be destroyed.
As opposed to not changing the current api and adding an endpoint that says:
This will delete the database table. Fails in case there's an existing
FeatureType using it.

My point is this deserves its own endpoint. Way more explicit and less
error prone than a new param to the current delete featuretype operation,
which would change its semantics so drastically.

In any case, that's just my opinion.

Cheers,
Gabe

*camptocamp*
INNOVATIVE SOLUTIONS
BY OPEN SOURCE EXPERTS

*Gabriel Roldán*
Geospatial Developer



On Thu, Feb 15, 2024 at 1:18 PM Andrea Aime <
andrea.a...@geosolutionsgroup.com> wrote:

> On Thu, Feb 15, 2024 at 3:00 PM Gabriel Roldan <gabriel.rol...@gmail.com>
> wrote:
>
>> I mean "increases complexity and difficults understanding", of course.
>>
>
> But parameters are already widely used in the GeoServer REST API, and
> "cascade" is used in other places as well.
> This would be breaking convention, making the API harder to use for those
> that are already used to it.
>
> Don't get me wrong, I know the GeoServer REST API is old and would need a
> rewrite, but that's the key point, a rewrite would be the time to break
> compatibility and adopt new ways of doing things.
>
>
>>
>>
>>> question arises of how to determine which table to delete once you
>>> deleted the FeatureType. I guess it should be an operation of the DataStore
>>> and not of the FeatureType, and use the FeatureType's nativeName to
>>> distinguish?
>>>
>>
> The REST API only returns configured feature types by default. There is
> (guess what?) a parameter in the "featuretypes" resource, called "list",
> that can take
> 3 different values:
>
>    - "configured" (default if not specified): only lists the configured
>    feature types (links to the feature type info resource)
>    - "available": returns the native feature types not yet configured
>    (mind, only their names)
>    - "available_with_geom": same as above, bon only spatial ones
>    - "all": returns all of them, configured or available (again, just
>    names)
>
> The FeatureTypeController delete mapping already has a "recurse" flag to
> delete layers while the feature type is removed.
> Now here there is a risk of confusion between "recurse" and "cascade", a
> "removeData" flag would probably avoid confusion.
>
> Cheers
> Andrea
>
> ==
>
> GeoServer Professional Services from the experts!
>
> Visit http://bit.ly/gs-services-us for more information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions Group
> phone: +39 0584 962313
>
> fax:     +39 0584 1660272
>
> mob:   +39  339 8844549
>
> https://www.geosolutionsgroup.com/
>
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
>
> Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
> 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
> precisa che ogni circostanza inerente alla presente email (il suo
> contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
> riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
> messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
> operazione è illecita. Le sarei comunque grato se potesse darmene notizia.
>
> This email is intended only for the person or entity to which it is
> addressed and may contain information that is privileged, confidential or
> otherwise protected from disclosure. We remind that - as provided by
> European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
> e-mail or the information herein by anyone other than the intended
> recipient is prohibited. If you have received this email by mistake, please
> notify us immediately by telephone or e-mail
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to