Re: [Geoserver-devel] New Community Plugin: Features Autopopulate

2024-03-14 Thread Jody Garnett
 +1 on the community module, it is an interesting addition. Kind of like a
minimal ELT stage.
--
Jody Garnett


On Mar 14, 2024 at 7:46:58 AM, Alessio Fabiani <
alessio.fabi...@geosolutionsgroup.com> wrote:

> Dear devs,
> presenting here a new community plugin. PR available here:
> https://github.com/geoserver/geoserver/pull/7474
>
> The Features Autopopulate plug-in listens to transactions (so far only
> issued by WFS), and autopopulates the feature type attributes according to
> the values retrieved from the properties file.
>
> The plugin uses a custom TransactionCallback that alters the insert/update
> WFS-T operations, forcing in specific values into them, based on
> configuration files.
>
> To support configuration for multiple layers, the easiest thing is to
> place a configuration, file in the directories of the layers themselves,
> pretty much like the featureinfo templates.
>
> A "transactionCustomizer.properties" file that contains a set of names and
> CQL expressions
>  e.g.:
>
>  ```
>  UTENTE=env('GSUSER') # this will be replaced with the current user see
> @EnviromentInjectionCallback
>  AGGIORNAMENTO=now()  # this will be replaced with the current date
>  ```
>
> To keep things simple, the expressions will just use environment
> variables, but not see the other values provided in the update/insert, and
> will not be differentiated by insert/update cases
>
> --
>
> Regards,
>
> Alessio Fabiani
>
> ==
> GeoServer Professional Services from the experts!
>
> Visit http://bit.ly/gs-services-us for more information.
> ==
>
> Ing. Alessio Fabiani
>
> @alfa7691
> Founder/Technical Lead
>
>
> GeoSolutions Group
> phone: +39 0584 962313
>
> fax: +39 0584 1660272
>
> mob:   +39  331 6233686
>
> 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-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


[Geoserver-devel] New Community Plugin: Features Autopopulate

2024-03-14 Thread Alessio Fabiani
Dear devs,
presenting here a new community plugin. PR available here:
https://github.com/geoserver/geoserver/pull/7474

The Features Autopopulate plug-in listens to transactions (so far only
issued by WFS), and autopopulates the feature type attributes according to
the values retrieved from the properties file.

The plugin uses a custom TransactionCallback that alters the insert/update
WFS-T operations, forcing in specific values into them, based on
configuration files.

To support configuration for multiple layers, the easiest thing is to place
a configuration, file in the directories of the layers themselves, pretty
much like the featureinfo templates.

A "transactionCustomizer.properties" file that contains a set of names and
CQL expressions
 e.g.:

 ```
 UTENTE=env('GSUSER') # this will be replaced with the current user see
@EnviromentInjectionCallback
 AGGIORNAMENTO=now()  # this will be replaced with the current date
 ```

To keep things simple, the expressions will just use environment variables,
but not see the other values provided in the update/insert, and will not be
differentiated by insert/update cases

-- 

Regards,

Alessio Fabiani

==
GeoServer Professional Services from the experts!

Visit http://bit.ly/gs-services-us for more information.
==

Ing. Alessio Fabiani

@alfa7691
Founder/Technical Lead


GeoSolutions Group
phone: +39 0584 962313

fax: +39 0584 1660272

mob:   +39  331 6233686

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-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel