[Geoserver-devel] Make GeoServer nodes identifiable from the GUI

Hi,
I’m looking into this requirement of making GeoServer instances in a cluster
identifiable at a glance, mostly to help admins gets their bearings when
managing multiple nodes or multiple clusters.

The idea would be to have two new optional system variables that would make a
node label appear in the GUI, for example:

-DGEOSERVER_NODE_ID=wppgeog1
-DGEOSERVER_NODE_COLOR=FF0000

which would result in the following:

I guess it would also be of some use to have a quick change in the dispatcher, and
add the node id among the HTTP headers of each service response, should be useful
for debugging purposes (maybe in this case we just call it “Node-id: wppgeog1”)

Opinions?

Cheers
Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information ==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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


Great idea. What about by default using java.net.InetAddress.getLocalHost() ?

Nice for anyone with multiple instances, clustered or not.

···

On Fri, Feb 28, 2014 at 10:15 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
I’m looking into this requirement of making GeoServer instances in a cluster
identifiable at a glance, mostly to help admins gets their bearings when
managing multiple nodes or multiple clusters.

The idea would be to have two new optional system variables that would make a
node label appear in the GUI, for example:

-DGEOSERVER_NODE_ID=wppgeog1
-DGEOSERVER_NODE_COLOR=FF0000

which would result in the following:

I guess it would also be of some use to have a quick change in the dispatcher, and
add the node id among the HTTP headers of each service response, should be useful
for debugging purposes (maybe in this case we just call it “Node-id: wppgeog1”)

Opinions?

Cheers
Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information ==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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



Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk


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

Ian Schneider
Software Engineer | Boundless
ischneider@anonymised.com

Like the idea too. But how about rather than adding a bunch of different options for different aspect of the display we just add one, and it behaves like format options. So something like:

-DGEOSERVER_NODE_OPTS=id:wppgeog1;color:FF0000

This would also leave it open ended to be able to perhaps control other aspects of the clustering or leave it open to adding more spects of how we would like it displayed.

···

On Fri, Feb 28, 2014 at 11:06 AM, Ian Schneider <ischneider@anonymised.com> wrote:

Great idea. What about by default using java.net.InetAddress.getLocalHost() ?

Nice for anyone with multiple instances, clustered or not.


Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk


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

Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive

On Fri, Feb 28, 2014 at 10:15 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
I’m looking into this requirement of making GeoServer instances in a cluster
identifiable at a glance, mostly to help admins gets their bearings when
managing multiple nodes or multiple clusters.

The idea would be to have two new optional system variables that would make a
node label appear in the GUI, for example:

-DGEOSERVER_NODE_ID=wppgeog1
-DGEOSERVER_NODE_COLOR=FF0000

which would result in the following:

I guess it would also be of some use to have a quick change in the dispatcher, and
add the node id among the HTTP headers of each service response, should be useful
for debugging purposes (maybe in this case we just call it “Node-id: wppgeog1”)

Opinions?

Cheers
Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information ==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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



Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Ian Schneider
Software Engineer | Boundless
ischneider@anonymised.com

On Fri, Feb 28, 2014 at 7:06 PM, Ian Schneider
<ischneider@anonymised.com>wrote:

Great idea. What about by default
using java.net.InetAddress.getLocalHost() ?

Nice for anyone with multiple instances, clustered or not.

Hmm... not sure we want to have this visible in every page unless the admin
asks for it.
But we could have maybe a fixed placeholder value for it:
-DGEOSERVER_NODE_ID=$ip
or extend the concept and have some variable expansion, like
-DGEOSERVER_NODE_ID=mygs_$ip

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

On Fri, Feb 28, 2014 at 8:20 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Like the idea too. But how about rather than adding a bunch of different
options for different aspect of the display we just add one, and it behaves
like format options. So something like:

  -DGEOSERVER_NODE_OPTS=id:wppgeog1;color:FF0000

This would also leave it open ended to be able to perhaps control other
aspects of the clustering or leave it open to adding more spects of how we
would like it displayed.

Yep, that would work also.
It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

I have not used nodes in a cluster before. My understanding is that nodes are not used to configure the common data directory - as such would it be appropriate to place this note in the “login” area?

···

Jody Garnett

On Tue, Mar 4, 2014 at 9:02 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:


Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk


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

On Fri, Feb 28, 2014 at 8:20 PM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Like the idea too. But how about rather than adding a bunch of different options for different aspect of the display we just add one, and it behaves like format options. So something like:

-DGEOSERVER_NODE_OPTS=id:wppgeog1;color:FF0000

This would also leave it open ended to be able to perhaps control other aspects of the clustering or leave it open to adding more spects of how we would like it displayed.

Yep, that would work also.
It may not mix too well with CQL expression/variable expansion parsing though (e.g., we’d need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both suggestions at the same time seems to raise complexity
quite a bit.

Cheers

Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information ==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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


On Tue, Mar 4, 2014 at 12:10 PM, Jody Garnett <jody.garnett@anonymised.com>wrote:

I have not used nodes in a cluster before. My understanding is that nodes
are not used to configure the common data directory - as such would it be
appropriate to place this note in the "login" area?

The screenshot suggests to have it between the logo and the menu instead.
Personally I like it better there, because it's the first area one looks
at, the login
area is instead of the far end of the screen (which, for desktop users, can
be
30+ cm away from the left of the screen, that is, the area where most
western
users look first).

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

On Tue, Mar 4, 2014 at 3:02 AM, Andrea Aime <andrea.aime@anonymised.com>wrote:

On Fri, Feb 28, 2014 at 8:20 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Like the idea too. But how about rather than adding a bunch of different
options for different aspect of the display we just add one, and it behaves
like format options. So something like:

  -DGEOSERVER_NODE_OPTS=id:wppgeog1;color:FF0000

This would also leave it open ended to be able to perhaps control other
aspects of the clustering or leave it open to adding more spects of how we
would like it displayed.

Yep, that would work also.
It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Sorry, I think I missed something here. When did cql expansion come into

the picture? And what is the other suggestion you are referring to so i am
clear.

Cheers

Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

--
*Justin Deoliveira*
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive <https://twitter.com/j_deolive&gt;

On Tue, Mar 4, 2014 at 5:11 PM, Justin Deoliveira <jdeolive@anonymised.com

wrote:

Yep, that would work also.

It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Sorry, I think I missed something here. When did cql expansion come into

the picture? And what is the other suggestion you are referring to so i am
clear.

Ian Scheider one. in this same thread

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

On Tue, Mar 4, 2014 at 9:14 AM, Andrea Aime <andrea.aime@anonymised.com>wrote:

On Tue, Mar 4, 2014 at 5:11 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Yep, that would work also.

It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Sorry, I think I missed something here. When did cql expansion come into

the picture? And what is the other suggestion you are referring to so i am
clear.

Ian Scheider one. in this same thread

Ok... unless my email client is filtering out a message from ian the only

one i see is about using using java.net.InetAddress.getLocalHost() as the
default? I don't see a reference to cql.

Would it make it easier if we had to two parameters?

GEOSERVER_NODE_ID - the node id, following ians suggestion
GEOSERVER_NODE_OPTS - everything else, color, etc...

And to clarify I was thinking everything in GEOSERVER_NODE_OPTS would just
be static.

Cheers

Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

--
*Justin Deoliveira*
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive <https://twitter.com/j_deolive&gt;

On Tue, Mar 4, 2014 at 5:25 PM, Justin Deoliveira <jdeolive@anonymised.com

wrote:

On Tue, Mar 4, 2014 at 9:14 AM, Andrea Aime <andrea.aime@anonymised.com>wrote:

On Tue, Mar 4, 2014 at 5:11 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Yep, that would work also.

It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Sorry, I think I missed something here. When did cql expansion come

into the picture? And what is the other suggestion you are referring to so
i am clear.

Ian Scheider one. in this same thread

Ok... unless my email client is filtering out a message from ian the only

one i see is about using using java.net.InetAddress.getLocalHost() as the
default? I don't see a reference to cql.

It's something I did add, because having just a special case for the IP
address seemed very narrow. My answer:

-----------------------------------------------------------------------------------------------------------------
Hmm... not sure we want to have this visible in every page unless the admin
asks for it.
But we could have maybe a fixed placeholder value for it:
-DGEOSERVER_NODE_ID=$ip
or extend the concept and have some variable expansion, like
-DGEOSERVER_NODE_ID=mygs_$ip
-----------------------------------------------------------------------------------------------------------------

(and I was thinking cql when I wrote "variable expansion", but I see I did
not write it!)

But if we limit ourselves to simple variable expansion, then yeah, no cql
is actually needed

Would it make it easier if we had to two parameters?

GEOSERVER_NODE_ID - the node id, following ians suggestion
GEOSERVER_NODE_OPTS - everything else, color, etc...

And to clarify I was thinking everything in GEOSERVER_NODE_OPTS would
just be static.

Right, that would work as well.
Or if we take Ian's suggestion to the letter, something like:
-DGEOSERVER_NODE_OPTS=color:FF0000
would be expanded to have the IP as the id (since that would be the default)

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

On Tue, Mar 4, 2014 at 9:29 AM, Andrea Aime <andrea.aime@anonymised.com>wrote:

On Tue, Mar 4, 2014 at 5:25 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

On Tue, Mar 4, 2014 at 9:14 AM, Andrea Aime <andrea.aime@anonymised.com
> wrote:

On Tue, Mar 4, 2014 at 5:11 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Yep, that would work also.

It may not mix too well with CQL expression/variable expansion parsing
though (e.g., we'd need escapes, or start/end markers).

Some bright ideas on how to approach this? Trying to accept both
suggestions at the same time seems to raise complexity
quite a bit.

Sorry, I think I missed something here. When did cql expansion come

into the picture? And what is the other suggestion you are referring to so
i am clear.

Ian Scheider one. in this same thread

Ok... unless my email client is filtering out a message from ian the

only one i see is about using using java.net.InetAddress.getLocalHost()
as the default? I don't see a reference to cql.

It's something I did add, because having just a special case for the IP
address seemed very narrow. My answer:

-----------------------------------------------------------------------------------------------------------------
Hmm... not sure we want to have this visible in every page unless the
admin asks for it.
But we could have maybe a fixed placeholder value for it:
-DGEOSERVER_NODE_ID=$ip
or extend the concept and have some variable expansion, like
-DGEOSERVER_NODE_ID=mygs_$ip

-----------------------------------------------------------------------------------------------------------------

(and I was thinking cql when I wrote "variable expansion", but I see I did
not write it!)

But if we limit ourselves to simple variable expansion, then yeah, no cql
is actually needed

Would it make it easier if we had to two parameters?

GEOSERVER_NODE_ID - the node id, following ians suggestion
GEOSERVER_NODE_OPTS - everything else, color, etc...

And to clarify I was thinking everything in GEOSERVER_NODE_OPTS would
just be static.

Right, that would work as well.
Or if we take Ian's suggestion to the letter, something like:
-DGEOSERVER_NODE_OPTS=color:FF0000
would be expanded to have the IP as the id (since that would be the
default)

That works for me too. I don't want to add complexity for you so whatever

you feel is reasonable go ahead with. The only thing I would push for would
would be to avoid adding specific properties for "display properties" like
color, etc... and rather have just single option for that stuff.

Cheers

Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

--
*Justin Deoliveira*
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive <https://twitter.com/j_deolive&gt;

Hi all,
so I forged ahead with this one, here is some results for public comment.

First off, if we don’t have an admin logged in, we don’t show the node id: rationale is, we don’t want
to show internal information to the users, and even if that was not sensible information, having
the label change depending on which node in the cluster answered the request is confusing at best:

Inline image 1

And oh, the above is also what we get if the DGEOSERVER_NODE_OPTS is missing, or the
ip property is empty.

If we set -DGEOSERVER_NODE_OPTS=id:$host_ip we get:

Inline image 2

If we set -DGEOSERVER_NODE_OPTS=id:$host_name we get:

Inline image 3

Finally, if we set -DGEOSERVER_NODE_OPTS=id:freakout!;color:red;bgcolor:green we get:

Inline image 5

Bleck!!!

What do you think? Initial patch (still without tests and docs) here:
https://github.com/aaime/geoserver/commit/9fc449b8e7b0c32152070316e45a73fb39287873

Feedback welcomed

Cheers
Andrea

···

==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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


Very nice. I like the customiseability and power.
The FreakOut example is the sort of thing I’ll be using on the Live systems I suspect; I already have a colour scheme for my server backgrounds, this can reflect that.

Thanks for the work!
Jonathan

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

(attachments)

image.png
image.png
image.png
image.png

···

On 12 March 2014 18:12, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi all,
so I forged ahead with this one, here is some results for public comment.

First off, if we don’t have an admin logged in, we don’t show the node id: rationale is, we don’t want
to show internal information to the users, and even if that was not sensible information, having
the label change depending on which node in the cluster answered the request is confusing at best:

Inline image 1

And oh, the above is also what we get if the DGEOSERVER_NODE_OPTS is missing, or the
ip property is empty.

If we set -DGEOSERVER_NODE_OPTS=id:$host_ip we get:

Inline image 2

If we set -DGEOSERVER_NODE_OPTS=id:$host_name we get:

Inline image 3

Finally, if we set -DGEOSERVER_NODE_OPTS=id:freakout!;color:red;bgcolor:green we get:

Inline image 5

Bleck!!!

What do you think? Initial patch (still without tests and docs) here:
https://github.com/aaime/geoserver/commit/9fc449b8e7b0c32152070316e45a73fb39287873

Feedback welcomed

Cheers

Andrea


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


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

==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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


I agree. Even when I am not running on a cluster, and simply have lots of development/test systems to look at, it will be nice to see a label on the top.

Chris Snider

Senior Software Engineer

Intelligent Software Solutions, Inc.

Description: Description: Description: cid:image001.png@anonymised.com

(attachments)

image.png
image.png
image.png
image.png

···

Very nice. I like the customiseability and power.

The FreakOut example is the sort of thing I’ll be using on the Live systems I suspect; I already have a colour scheme for my server backgrounds, this can reflect that.

Thanks for the work!
Jonathan

On 12 March 2014 18:12, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi all,

so I forged ahead with this one, here is some results for public comment.

First off, if we don’t have an admin logged in, we don’t show the node id: rationale is, we don’t want

to show internal information to the users, and even if that was not sensible information, having

the label change depending on which node in the cluster answered the request is confusing at best:

Inline image 1

And oh, the above is also what we get if the DGEOSERVER_NODE_OPTS is missing, or the

ip property is empty.

If we set -DGEOSERVER_NODE_OPTS=id:$host_ip we get:

Inline image 2

If we set -DGEOSERVER_NODE_OPTS=id:$host_name we get:

Inline image 3

Finally, if we set -DGEOSERVER_NODE_OPTS=id:freakout!;color:red;bgcolor:green we get:

Inline image 5

Bleck!!!

What do you think? Initial patch (still without tests and docs) here:

https://github.com/aaime/geoserver/commit/9fc449b8e7b0c32152070316e45a73fb39287873

Feedback welcomed

Cheers

Andrea

==

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK

for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it



Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


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

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

Looks pretty great to me Andrea. Nice work.

(attachments)

image.png
image001.png
image.png
image.png
image.png

···

On Wed, Mar 12, 2014 at 12:42 PM, Chris Snider <chris.snider@anonymised.com> wrote:

I agree. Even when I am not running on a cluster, and simply have lots of development/test systems to look at, it will be nice to see a label on the top.

Chris Snider

Senior Software Engineer

Intelligent Software Solutions, Inc.

Description: Description: Description: cid:image001.png@anonymised.com

From: Jonathan Moules [mailto:jonathanmoules@anonymised.com]
Sent: Wednesday, March 12, 2014 12:19 PM
To: Andrea Aime
Cc: Geoserver-devel

Subject: Re: [Geoserver-devel] Make GeoServer nodes identifiable from the GUI

Very nice. I like the customiseability and power.

The FreakOut example is the sort of thing I’ll be using on the Live systems I suspect; I already have a colour scheme for my server backgrounds, this can reflect that.

Thanks for the work!
Jonathan

On 12 March 2014 18:12, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi all,

so I forged ahead with this one, here is some results for public comment.

First off, if we don’t have an admin logged in, we don’t show the node id: rationale is, we don’t want

to show internal information to the users, and even if that was not sensible information, having

the label change depending on which node in the cluster answered the request is confusing at best:

Inline image 1

And oh, the above is also what we get if the DGEOSERVER_NODE_OPTS is missing, or the

ip property is empty.

If we set -DGEOSERVER_NODE_OPTS=id:$host_ip we get:

Inline image 2

If we set -DGEOSERVER_NODE_OPTS=id:$host_name we get:

Inline image 3

Finally, if we set -DGEOSERVER_NODE_OPTS=id:freakout!;color:red;bgcolor:green we get:

Inline image 5

Bleck!!!

What do you think? Initial patch (still without tests and docs) here:

https://github.com/aaime/geoserver/commit/9fc449b8e7b0c32152070316e45a73fb39287873

Feedback welcomed

Cheers

Andrea

==

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK

for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it



Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


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

Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive

On Wed, Mar 12, 2014 at 8:43 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Looks pretty great to me Andrea. Nice work.

Thank you.

Talking internally in GeoSolutions, we found an extra need, an ability for
a plugin to setup
its own id and style (which might be coming up from custom logic).

So... usual drill, an interface for the extension point, a default
implementation with
the logic I've already implemneted to be
used if no custom one is found in the application context scan.
The interface would be:

interface GeoServerIdGenerator {
  String getId();
  String getCssStyle();
}

It would have the nice side effect of removing the system variable parsing
and handling out of GeoServerBasePage, and into to a
DefaultGeoServerIdGenerator class.

Opinions?

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

On Thu, Mar 13, 2014 at 3:55 AM, Andrea Aime
<andrea.aime@anonymised.com>wrote:

On Wed, Mar 12, 2014 at 8:43 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Looks pretty great to me Andrea. Nice work.

Thank you.

Talking internally in GeoSolutions, we found an extra need, an ability for
a plugin to setup
its own id and style (which might be coming up from custom logic).

So... usual drill, an interface for the extension point, a default
implementation with
the logic I've already implemented to be
used if no custom one is found in the application context scan.
The interface would be:

interface GeoServerIdGenerator {
  String getId();
  String getCssStyle();
}

Hmmm... how about using the same terminology as the system properties:

interface GeoServerNodeInfo {
  String getId();
  Map<String,String> getOptions();
}

It would have the nice side effect of removing the system variable parsing

and handling out of GeoServerBasePage, and into to a
DefaultGeoServerIdGenerator class.

Yeah, I like that.

Opinions?

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

--
*Justin Deoliveira*
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive <https://twitter.com/j_deolive&gt;

On Thu, Mar 13, 2014 at 4:33 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

On Thu, Mar 13, 2014 at 3:55 AM, Andrea Aime <andrea.aime@anonymised.com
> wrote:

On Wed, Mar 12, 2014 at 8:43 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

Looks pretty great to me Andrea. Nice work.

Thank you.

Talking internally in GeoSolutions, we found an extra need, an ability
for a plugin to setup
its own id and style (which might be coming up from custom logic).

So... usual drill, an interface for the extension point, a default
implementation with
the logic I've already implemented to be
used if no custom one is found in the application context scan.
The interface would be:

interface GeoServerIdGenerator {
  String getId();
  String getCssStyle();
}

Hmmm... how about using the same terminology as the system properties:

interface GeoServerNodeInfo {
  String getId();
  Map<String,String> getOptions();
}

There was actually a reason, the style that sits behind the identifier
element is build
from this template:

position:absolute; top:12px; left:12px; right:28px; width:auto;
background:$background; padding: 1px; border: 1px solid #0076a1;
color:$color; font-weight:bold

However, getOptions could just return all of the above as a map (with the
placeholders replaced)
and the style attribute be built from it. I guess we can also have each of
the elements templatable
and allow new elements to be inserted, that would make the above a
"default", so that if
for example you want to have italic you could add font-style:italic to the
system variable.

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------

Hmmm... how about using the same terminology as the system properties:

interface GeoServerNodeInfo {
  String getId();
  Map<String,String> getOptions();
}

There was actually a reason, the style that sits behind the identifier
element is build
from this template:

position:absolute; top:12px; left:12px; right:28px; width:auto;
background:$background; padding: 1px; border: 1px solid #0076a1;
color:$color; font-weight:bold

And of course I forgot to complete this sentence... I wanted to give
implementors of GeoServerNodeInfo
the ability to control the styling fully. However if we apply the approach
below, that would
work with getOptions as a map too.

However, getOptions could just return all of the above as a map (with the
placeholders replaced)
and the style attribute be built from it. I guess we can also have each of
the elements templatable
and allow new elements to be inserted, that would make the above a
"default", so that if
for example you want to have italic you could add font-style:italic to the
system variable.

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

-------------------------------------------------------