[Geoserver-devel] "Styles" for layer groups

Hi,
in this mail I’d like to discuss adding a notion of “styles” for layer groups, as in, named styles that client can use against
the layer group.

First, those styles would make sense only if the group is “single” or “opaque”, that is, setup so that one cannot see its contents,
making it look like any other layer. And like any other layer, the client would be able to request a named, non default style for it.

Configuration wise, these styles would have a name and a configuration, which would not just be a different set of styles
for the layers in the group, but really a separate set of layer and styles (the user would be none the wiser).

The current configuration would be retained as the default un-named style (for upgrade sake), and a map of names
to layers/style containers would be added to support alternative styles.

The code exploding layers would have to be upgraded, as well as everything dealing with removal of layers/style
(one more set of affected config to search into).

I tried to picture in my mind a way to set this up as a community module too (some play over non advertised groups
and changing the request on the fly), but considering how tricky it would be, and
that styles need to be advertised in capabilities too, core would seem to be a better place.

Cheers
Andrea

···

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Functionality-wise, I can see how this would be useful.

This seems to have some overlap with the work that was done for GSIP-161, you may be able to take advantage of some of that (or will have to work around it).

I’d be interested to see more detail about how you plan to implement this, as its not quite clear to me from your description (In particular “a separate set of layer and styles” sounds a lot like what a layer group already is).
Another concern I have - if this is all abstracted away from the user, to the point that the layer group is acting like any other layer, what happens if they try to use a regular style with one of these layer groups (or try to use a layer group style with a regular layer)? It seems like this could be a potential point of confusion.

Torben

···

On Thu, Mar 8, 2018 at 7:05 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
in this mail I’d like to discuss adding a notion of “styles” for layer groups, as in, named styles that client can use against
the layer group.

First, those styles would make sense only if the group is “single” or “opaque”, that is, setup so that one cannot see its contents,
making it look like any other layer. And like any other layer, the client would be able to request a named, non default style for it.

Configuration wise, these styles would have a name and a configuration, which would not just be a different set of styles
for the layers in the group, but really a separate set of layer and styles (the user would be none the wiser).

The current configuration would be retained as the default un-named style (for upgrade sake), and a map of names
to layers/style containers would be added to support alternative styles.

The code exploding layers would have to be upgraded, as well as everything dealing with removal of layers/style
(one more set of affected config to search into).

I tried to picture in my mind a way to set this up as a community module too (some play over non advertised groups
and changing the request on the fly), but considering how tricky it would be, and
that styles need to be advertised in capabilities too, core would seem to be a better place.

Cheers
Andrea

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Check out the vibrant tech community on one of the world’s most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


Geoserver-devel mailing list
Geoserver-devel@anonymised.com.366…sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Hi Torben,
thanks for you reply, comments inline:

On Thu, Mar 8, 2018 at 7:50 PM, Torben Barsballe <
tbarsballe@anonymised.com> wrote:

This seems to have some overlap with the work that was done for GSIP-161
<https://github.com/geoserver/geoserver/wiki/GSIP-161&gt;, you may be able
to take advantage of some of that (or will have to work around it).

Noted

I'd be interested to see more detail about how you plan to implement this,
as its not quite clear to me from your description (In particular "a
separate set of layer and styles" sounds a lot like what a layer group
already is).

Basically, you have one named layer that matches a configured layer group.
And then inside you have N configurations for layers and groups, associated
to different style names that the user can call.
UI configuration wise not much will change, just a dropdown to choose the
"style" configuration you want to edit on top of the layer/style table, and
maybe a quick way to create a new one by copy.
The default one will have "no name", empty, just like it is now.

Another concern I have - if this is all abstracted away from the user, to
the point that the layer group is acting like any other layer, what happens
if they try to use a regular style with one of these layer groups (or try
to use a layer group style with a regular layer)? It seems like this could
be a potential point of confusion.

Nothing will change in this regards. Consider the spearfish group:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

If I hit it with a normal layer style, it gets ignored:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=polygon&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

About the layer group "styles", trying to use them against a normal layer
will result in a "style not found" exception, since they are not really
styles,
just different configuration of a layer group, so GeoServer won't find them.

We could call them "configurations" if you like, but the user visible
effect from the point of view of someone using a desktop client, or any
OGC compliant client, is that a new set of named styles will appear in the
capabilities document attached to the group named layer,
and they will be able to choose one of them getting back a different view.

WMS wise that works fine, WMS does not tell you what's inside a layer, and
does not tell you how a named style is implemented (does not have to be
SLD).
The confusion, might be from inside because we call "style" a StyleInfo
object, whilst in this case it will just be a reference to a different
group configuration, but this can be clearly documented.

Makes sense?

Cheers
Andrea

--

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

Hi Andrea,

Thanks for the more detailed explanation, that makes sense.
I’ve got no other concerns.

Torben

···

On Fri, Mar 9, 2018 at 7:06 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi Torben,
thanks for you reply, comments inline:

On Thu, Mar 8, 2018 at 7:50 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

This seems to have some overlap with the work that was done for GSIP-161, you may be able to take advantage of some of that (or will have to work around it).

Noted

I’d be interested to see more detail about how you plan to implement this, as its not quite clear to me from your description (In particular “a separate set of layer and styles” sounds a lot like what a layer group already is).

Basically, you have one named layer that matches a configured layer group.
And then inside you have N configurations for layers and groups, associated to different style names that the user can call.
UI configuration wise not much will change, just a dropdown to choose the “style” configuration you want to edit on top of the layer/style table, and maybe a quick way to create a new one by copy.
The default one will have “no name”, empty, just like it is now.

Another concern I have - if this is all abstracted away from the user, to the point that the layer group is acting like any other layer, what happens if they try to use a regular style with one of these layer groups (or try to use a layer group style with a regular layer)? It seems like this could be a potential point of confusion.

Nothing will change in this regards. Consider the spearfish group:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

If I hit it with a normal layer style, it gets ignored:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=polygon&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

About the layer group “styles”, trying to use them against a normal layer will result in a “style not found” exception, since they are not really styles,
just different configuration of a layer group, so GeoServer won’t find them.

We could call them “configurations” if you like, but the user visible effect from the point of view of someone using a desktop client, or any
OGC compliant client, is that a new set of named styles will appear in the capabilities document attached to the group named layer,
and they will be able to choose one of them getting back a different view.

WMS wise that works fine, WMS does not tell you what’s inside a layer, and does not tell you how a named style is implemented (does not have to be SLD).
The confusion, might be from inside because we call “style” a StyleInfo object, whilst in this case it will just be a reference to a different group configuration, but this can be clearly documented.

Makes sense?

Cheers

Andrea

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Thanks a lot Torben.

Anyone else has feedback? Since it’s a change in the core API a small proposal is due, would like to avoid seeing
it derailed (I’m trying to do these discussions beforehand to avoid large last minute changes happening
after an agreement with the sponsor of this functionality and the community has apparently been reached).

Cheers
Andrea

···

On Fri, Mar 9, 2018 at 5:57 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Hi Andrea,

Thanks for the more detailed explanation, that makes sense.
I’ve got no other concerns.

Torben

On Fri, Mar 9, 2018 at 7:06 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi Torben,
thanks for you reply, comments inline:

On Thu, Mar 8, 2018 at 7:50 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

This seems to have some overlap with the work that was done for GSIP-161, you may be able to take advantage of some of that (or will have to work around it).

Noted

I’d be interested to see more detail about how you plan to implement this, as its not quite clear to me from your description (In particular “a separate set of layer and styles” sounds a lot like what a layer group already is).

Basically, you have one named layer that matches a configured layer group.
And then inside you have N configurations for layers and groups, associated to different style names that the user can call.
UI configuration wise not much will change, just a dropdown to choose the “style” configuration you want to edit on top of the layer/style table, and maybe a quick way to create a new one by copy.
The default one will have “no name”, empty, just like it is now.

Another concern I have - if this is all abstracted away from the user, to the point that the layer group is acting like any other layer, what happens if they try to use a regular style with one of these layer groups (or try to use a layer group style with a regular layer)? It seems like this could be a potential point of confusion.

Nothing will change in this regards. Consider the spearfish group:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

If I hit it with a normal layer style, it gets ignored:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=polygon&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

About the layer group “styles”, trying to use them against a normal layer will result in a “style not found” exception, since they are not really styles,
just different configuration of a layer group, so GeoServer won’t find them.

We could call them “configurations” if you like, but the user visible effect from the point of view of someone using a desktop client, or any
OGC compliant client, is that a new set of named styles will appear in the capabilities document attached to the group named layer,
and they will be able to choose one of them getting back a different view.

WMS wise that works fine, WMS does not tell you what’s inside a layer, and does not tell you how a named style is implemented (does not have to be SLD).
The confusion, might be from inside because we call “style” a StyleInfo object, whilst in this case it will just be a reference to a different group configuration, but this can be clearly documented.

Makes sense?

Cheers

Andrea

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

I am really happy to see this functionality added!

I understand what is being done, and I can see how it a minimal change. I think it will be a bit hard to explain, along with the different tree modes etc…

I had previously thought of a different UI approach but it is not as functional.

···

On Fri, Mar 9, 2018 at 5:57 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Hi Andrea,

Thanks for the more detailed explanation, that makes sense.
I’ve got no other concerns.

Torben

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

On Fri, Mar 9, 2018 at 7:06 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi Torben,
thanks for you reply, comments inline:

On Thu, Mar 8, 2018 at 7:50 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

This seems to have some overlap with the work that was done for GSIP-161, you may be able to take advantage of some of that (or will have to work around it).

Noted

I’d be interested to see more detail about how you plan to implement this, as its not quite clear to me from your description (In particular “a separate set of layer and styles” sounds a lot like what a layer group already is).

Basically, you have one named layer that matches a configured layer group.
And then inside you have N configurations for layers and groups, associated to different style names that the user can call.
UI configuration wise not much will change, just a dropdown to choose the “style” configuration you want to edit on top of the layer/style table, and maybe a quick way to create a new one by copy.
The default one will have “no name”, empty, just like it is now.

Another concern I have - if this is all abstracted away from the user, to the point that the layer group is acting like any other layer, what happens if they try to use a regular style with one of these layer groups (or try to use a layer group style with a regular layer)? It seems like this could be a potential point of confusion.

Nothing will change in this regards. Consider the spearfish group:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

If I hit it with a normal layer style, it gets ignored:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=polygon&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

About the layer group “styles”, trying to use them against a normal layer will result in a “style not found” exception, since they are not really styles,
just different configuration of a layer group, so GeoServer won’t find them.

We could call them “configurations” if you like, but the user visible effect from the point of view of someone using a desktop client, or any
OGC compliant client, is that a new set of named styles will appear in the capabilities document attached to the group named layer,
and they will be able to choose one of them getting back a different view.

WMS wise that works fine, WMS does not tell you what’s inside a layer, and does not tell you how a named style is implemented (does not have to be SLD).
The confusion, might be from inside because we call “style” a StyleInfo object, whilst in this case it will just be a reference to a different group configuration, but this can be clearly documented.

Makes sense?

Cheers

Andrea

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Jody Garnett

An useful improvement indeed, and I agree that’s this should go to core.

···

On 03/12/2018 08:15 PM, Jody Garnett wrote:

I am really happy to see this functionality added!

I understand what is being done, and I can see how it a minimal change. I think it will be a bit hard to explain, along with the different tree modes etc…

I had previously thought of a different UI approach but it is not as functional.

On Sun, Mar 11, 2018 at 8:13 AM Andrea Aime <andrea.aime@…1268…> wrote:

Thanks a lot Torben.

Anyone else has feedback? Since it’s a change in the core API a small proposal is due, would like to avoid seeing
it derailed (I’m trying to do these discussions beforehand to avoid large last minute changes happening
after an agreement with the sponsor of this functionality and the community has apparently been reached).

Cheers

Andrea

On Fri, Mar 9, 2018 at 5:57 PM, Torben Barsballe <tbarsballe@…3839…> wrote:

Hi Andrea,

Thanks for the more detailed explanation, that makes sense.
I’ve got no other concerns.

Torben

On Fri, Mar 9, 2018 at 7:06 AM, Andrea Aime <andrea.aime@…1268…> wrote:

Hi Torben,
thanks for you reply, comments inline:

On Thu, Mar 8, 2018 at 7:50 PM, Torben Barsballe <tbarsballe@…3839…> wrote:

This seems to have some overlap with the work that was done for GSIP-161, you may be able to take advantage of some of that (or will have to work around it).

Noted

I’d be interested to see more detail about how you plan to implement this, as its not quite clear to me from your description (In particular “a separate set of layer and styles” sounds a lot like what a layer group already is).

Basically, you have one named layer that matches a configured layer group.
And then inside you have N configurations for layers and groups, associated to different style names that the user can call.
UI configuration wise not much will change, just a dropdown to choose the “style” configuration you want to edit on top of the layer/style table, and maybe a quick way to create a new one by copy.
The default one will have “no name”, empty, just like it is now.

Another concern I have - if this is all abstracted away from the user, to the point that the layer group is acting like any other layer, what happens if they try to use a regular style with one of these layer groups (or try to use a layer group style with a regular layer)? It seems like this could be a potential point of confusion.

Nothing will change in this regards. Consider the spearfish group:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

If I hit it with a normal layer style, it gets ignored:

https://demo.geo-solutions.it/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=spearfish&styles=polygon&bbox=589425.9342365642,4913959.224611808,609518.6719560538,4928082.949945881&width=768&height=539&srs=EPSG:26713&format=application/openlayers

About the layer group “styles”, trying to use them against a normal layer will result in a “style not found” exception, since they are not really styles,
just different configuration of a layer group, so GeoServer won’t find them.

We could call them “configurations” if you like, but the user visible effect from the point of view of someone using a desktop client, or any
OGC compliant client, is that a new set of named styles will appear in the capabilities document attached to the group named layer,
and they will be able to choose one of them getting back a different view.

WMS wise that works fine, WMS does not tell you what’s inside a layer, and does not tell you how a named style is implemented (does not have to be SLD).
The confusion, might be from inside because we call “style” a StyleInfo object, whilst in this case it will just be a reference to a different group configuration, but this can be clearly documented.

Makes sense?

Cheers

Andrea

Regards,

Andrea Aime

== GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Regards,

Andrea Aime

== GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Check out the vibrant tech community on one of the world’s most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Jody Garnett

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! [http://sdm.link/slashdot](http://sdm.link/slashdot)
_______________________________________________
Geoserver-devel mailing list
[Geoserver-devel@lists.sourceforge.net](mailto:Geoserver-devel@lists.sourceforge.net)
[https://lists.sourceforge.net/lists/listinfo/geoserver-devel](https://lists.sourceforge.net/lists/listinfo/geoserver-devel)

-- 
Regards,
Nuno Oliveira
==
GeoServer Professional Services from the experts! Visit [http://goo.gl/it488V](http://goo.gl/it488V) for more information.
==

Nuno Miguel Carvalho Oliveira
@nmcoliveira
Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:      +39 0584 1660272

[http://www.geo-solutions.it](http://www.geo-solutions.it)
[http://twitter.com/geosolutions_it](http://twitter.com/geosolutions_it)

-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
 
The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.