[Geoserver-devel] Comment on GSIP 8, and meta question

Meta question is - what's the best way to comment on a GSIP? I just commented on GSIP 8, but don't know if that's the best place to have discussions... I'll post it in here to be sure.

Two ideas:

1) Whenever a GSIP goes out you email the list, and then if you have comments you reply on that thread. And the GSIP itself can link to the email threads (on nabble or some such).

2) Whenever you make a GSIP you make a JIRA to track it. Then we can comment there and those watching it will get notifications. And it'll track threads.

GSIP 8 comment is:

Generally I'm for it. My one concern is config file backwards compatibility. I'm fine to break it once - we just call it GeoServer 2.0. Though we should acknowledge that's a major change - the backwards compatibility issues section kind of discounts that. I'd almost say that config file compatibility is the more important one than the code, as it's the one users see.

But we can call it GS 2.0, and that's fine. But have we done tests to ensure that if we add a new field to one of the core beans XStream will still be able to read a config made with an older version of GeoServer?

That was actually the problem with the old, old way of reading config, done with Castor I think. It would do nice persistence from our core objects, but if we changed those objects at all then it couldn't read the old versions. So will XStream work if it doesn't find the new options? Just populating those with the defaults and not blow up? I mean, I'd be surprised if it didn't, but I want to be 100% sure before we commit to this technology, or any technology.

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org

Chris Holmes wrote:

Meta question is - what's the best way to comment on a GSIP? I just commented on GSIP 8, but don't know if that's the best place to have discussions... I'll post it in here to be sure.

Two ideas:

1) Whenever a GSIP goes out you email the list, and then if you have comments you reply on that thread. And the GSIP itself can link to the email threads (on nabble or some such).

2) Whenever you make a GSIP you make a JIRA to track it. Then we can comment there and those watching it will get notifications. And it'll track threads.

GSIP 8 comment is:

Generally I'm for it. My one concern is config file backwards compatibility. I'm fine to break it once - we just call it GeoServer 2.0. Though we should acknowledge that's a major change - the backwards compatibility issues section kind of discounts that. I'd almost say that config file compatibility is the more important one than the code, as it's the one users see.

Yeah fair enough, there is going to be no way to get around this, this solution is not backwards compatible with the current file formats.

I also think we might want to consider not supporting any backwards compatability with the new persisted files. What I mean is that I dont think users should be interacting with our persistence mechanism directly, if they are there is definitely a gap somewhere.

Another thing I would like to see is users be able to slot in their own persistence mechanism, an O/R mapper would do the job just as well as XStream, if not a much better one. I see Xstream as something we can just support out of the box, unless the user sets up their own.

But we can call it GS 2.0, and that's fine. But have we done tests to ensure that if we add a new field to one of the core beans XStream will still be able to read a config made with an older version of GeoServer?

Good point, some actually real testing with XStream still needs to be done. One would hope though that it is not vulnerable to the same annoyances as regular java serialization.

That was actually the problem with the old, old way of reading config, done with Castor I think. It would do nice persistence from our core objects, but if we changed those objects at all then it couldn't read the old versions. So will XStream work if it doesn't find the new options? Just populating those with the defaults and not blow up? I mean, I'd be surprised if it didn't, but I want to be 100% sure before we commit to this technology, or any technology.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

!DSPAM:1004,45b9008e80971971556521!

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

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

!DSPAM:1004,45b9008e80971971556521!

--
Justin Deoliveira
jdeolive@anonymised.com
The Open Planning Project
http://topp.openplans.org

Hi Chris, following you I would like to throw some comments for the GSIP 8 too.

The idea is ok, the future of GeoServer catalog is for sure XML marshalling/unmarshalling of configuration beans, and allowing it to persist the catalog on a database too of course, using something like castor or hybernate.
My concerns are:

1 - In the proposal is said to let Spring use XStream to load all the beans at startup. This is compatible with the actual GeoServer catalog, but in the future I don’t want at all to load all the catlog at startup. Moreover I would like to persist my beans even before the application shutdown, something similar to the enterprise java beans. I would like the application automatically serializing and deserializing beans while using it, caching them of course, so that there is no need to maintain all the catalog into memory.

2 - As a consequence of the previous problem, this solution seems to me a little dangerous … what happens if my JVM crashes at some time? Part of the catalog will be lost?

On 1/25/07, Chris Holmes <cholmes@anonymised.com> wrote:

Meta question is - what’s the best way to comment on a GSIP? I just
commented on GSIP 8, but don’t know if that’s the best place to have
discussions… I’ll post it in here to be sure.

Two ideas:

  1. Whenever a GSIP goes out you email the list, and then if you have
    comments you reply on that thread. And the GSIP itself can link to the
    email threads (on nabble or some such).

  2. Whenever you make a GSIP you make a JIRA to track it. Then we can
    comment there and those watching it will get notifications. And it’ll
    track threads.

GSIP 8 comment is:

Generally I’m for it. My one concern is config file backwards
compatibility. I’m fine to break it once - we just call it GeoServer
2.0. Though we should acknowledge that’s a major change - the backwards
compatibility issues section kind of discounts that. I’d almost say
that config file compatibility is the more important one than the code,
as it’s the one users see.

But we can call it GS 2.0, and that’s fine. But have we done tests to
ensure that if we add a new field to one of the core beans XStream will
still be able to read a config made with an older version of GeoServer?

That was actually the problem with the old, old way of reading config,
done with Castor I think. It would do nice persistence from our core
objects, but if we changed those objects at all then it couldn’t read
the old versions. So will XStream work if it doesn’t find the new
options? Just populating those with the defaults and not blow up? I
mean, I’d be surprised if it didn’t, but I want to be 100% sure before
we commit to this technology, or any technology.


Chris Holmes
The Open Planning Project
http://topp.openplans.org


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV


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

Eng. Alessio Fabiani
Vice President/CTO GeoSolutions

http://www.geo-solutions.it


Good concerns Allesio.

Alessio Fabiani wrote:

Hi Chris, following you I would like to throw some comments for the GSIP 8 too.
The idea is ok, the future of GeoServer catalog is for sure XML marshalling/unmarshalling of configuration beans, and allowing it to persist the catalog on a database too of course, using something like castor or hybernate.
My concerns are:
1 - In the proposal is said to let Spring use XStream to load all the beans at startup. This is compatible with the actual GeoServer catalog, but in the future I don't want at all to load all the catlog at startup. Moreover I would like to persist my beans even before the application shutdown, something similar to the enterprise java beans. I would like the application automatically serializing and deserializing beans while using it, caching them of course, so that there is no need to maintain all the catalog into memory.

I admit the example I provided is a bit naive. In terms of loading everything on startup, Spring has the ability to lazily load beans on demand. In the event that the bean being serialized / deserialized forms a nested tree of objects ( like the catalog ), a more high-tech solution ( hibernate ) could be used her.

2 - As a consequence of the previous problem, this solution seems to me a little dangerous ... what happens if my JVM crashes at some time? Part of the catalog will be lost?

I see no reason why the user shouldn't be able to periodically save when they want. Also, and Andrea knows more about hibernate and O/R mappers than I do, but i also think that is probably something hibernate can handle as well with transactions.

So I think its important to note that the system in the proposal can be something we do "out of the box", but if you are talking about doing more critical stuff, giving people the option to use a more "reliable" mechanism would be nice.

-Justin

On 1/25/07, *Chris Holmes* <cholmes@anonymised.com <mailto:cholmes@anonymised.com>> wrote:

    Meta question is - what's the best way to comment on a GSIP? I just
    commented on GSIP 8, but don't know if that's the best place to have
    discussions... I'll post it in here to be sure.

    Two ideas:

    1) Whenever a GSIP goes out you email the list, and then if you have
    comments you reply on that thread. And the GSIP itself can link to the
    email threads (on nabble or some such).

    2) Whenever you make a GSIP you make a JIRA to track it. Then we can
    comment there and those watching it will get notifications. And it'll
    track threads.

    GSIP 8 comment is:

    Generally I'm for it. My one concern is config file backwards
    compatibility. I'm fine to break it once - we just call it GeoServer
    2.0. Though we should acknowledge that's a major change - the
    backwards
    compatibility issues section kind of discounts that. I'd almost say
    that config file compatibility is the more important one than the code,
    as it's the one users see.

    But we can call it GS 2.0, and that's fine. But have we done tests to
    ensure that if we add a new field to one of the core beans XStream will
    still be able to read a config made with an older version of GeoServer?

    That was actually the problem with the old, old way of reading config,
    done with Castor I think. It would do nice persistence from our core
    objects, but if we changed those objects at all then it couldn't read
    the old versions. So will XStream work if it doesn't find the new
    options? Just populating those with the defaults and not blow up? I
    mean, I'd be surprised if it didn't, but I want to be 100% sure before
    we commit to this technology, or any technology.

    -- Chris Holmes
    The Open Planning Project
    http://topp.openplans.org

    -------------------------------------------------------------------------
    Take Surveys. Earn Cash. Influence the Future of IT
    Join SourceForge.net's Techsay panel and you'll get the chance to
    share your
    opinions on IT & business topics through brief surveys - and earn cash
    http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
    <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV&gt;

    _______________________________________________
    Geoserver-devel mailing list
    Geoserver-devel@lists.sourceforge.net
    <mailto:Geoserver-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
-------------------------------------------------------
Eng. Alessio Fabiani
Vice President/CTO GeoSolutions

http://www.geo-solutions.it

--------------------------------------------------------- !DSPAM:1004,45b9045a86822095110867!

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

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

!DSPAM:1004,45b9045a86822095110867!

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

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

!DSPAM:1004,45b9045a86822095110867!

--
Justin Deoliveira
jdeolive@anonymised.com
The Open Planning Project
http://topp.openplans.org

I would just to point out some points for clarity … in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.

Yes I was thinkning to a mechanism for making the catalog more reliable and stable, giving the possibility of doing some automatic “backup” avoiding possible corruption or data loss … but maybe its early to speak about that. The GSIP 9 could be the right place where to speak about those things however.

On 1/25/07, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Good concerns Allesio.

Alessio Fabiani wrote:

Hi Chris, following you I would like to throw some comments for the GSIP
8 too.

The idea is ok, the future of GeoServer catalog is for sure XML
marshalling/unmarshalling of configuration beans, and allowing it to
persist the catalog on a database too of course, using something like
castor or hybernate.
My concerns are:

1 - In the proposal is said to let Spring use XStream to load all the
beans at startup. This is compatible with the actual GeoServer catalog,
but in the future I don’t want at all to load all the catlog at startup.
Moreover I would like to persist my beans even before the application
shutdown, something similar to the enterprise java beans. I would like
the application automatically serializing and deserializing beans while
using it, caching them of course, so that there is no need to maintain
all the catalog into memory.
I admit the example I provided is a bit naive. In terms of loading
everything on startup, Spring has the ability to lazily load beans on
demand. In the event that the bean being serialized / deserialized forms
a nested tree of objects ( like the catalog ), a more high-tech solution
( hibernate ) could be used her.

2 - As a consequence of the previous problem, this solution seems to me
a little dangerous … what happens if my JVM crashes at some time? Part
of the catalog will be lost?
I see no reason why the user shouldn’t be able to periodically save when
they want. Also, and Andrea knows more about hibernate and O/R mappers
than I do, but i also think that is probably something hibernate can
handle as well with transactions.

So I think its important to note that the system in the proposal can be
something we do “out of the box”, but if you are talking about doing
more critical stuff, giving people the option to use a more “reliable”
mechanism would be nice.

-Justin

On 1/25/07, Chris Holmes <cholmes@anonymised.com
<mailto: cholmes@anonymised.com>> wrote:

Meta question is - what’s the best way to comment on a GSIP? I just
commented on GSIP 8, but don’t know if that’s the best place to have
discussions… I’ll post it in here to be sure.

Two ideas:

  1. Whenever a GSIP goes out you email the list, and then if you have
    comments you reply on that thread. And the GSIP itself can link to the
    email threads (on nabble or some such).

  2. Whenever you make a GSIP you make a JIRA to track it. Then we can
    comment there and those watching it will get notifications. And it’ll
    track threads.

GSIP 8 comment is:

Generally I’m for it. My one concern is config file backwards
compatibility. I’m fine to break it once - we just call it GeoServer
2.0. Though we should acknowledge that’s a major change - the
backwards
compatibility issues section kind of discounts that. I’d almost say
that config file compatibility is the more important one than the code,
as it’s the one users see.

But we can call it GS 2.0, and that’s fine. But have we done tests to
ensure that if we add a new field to one of the core beans XStream will
still be able to read a config made with an older version of GeoServer?

That was actually the problem with the old, old way of reading config,
done with Castor I think. It would do nice persistence from our core
objects, but if we changed those objects at all then it couldn’t read
the old versions. So will XStream work if it doesn’t find the new
options? Just populating those with the defaults and not blow up? I
mean, I’d be surprised if it didn’t, but I want to be 100% sure before
we commit to this technology, or any technology.


Chris Holmes
The Open Planning Project
http://topp.openplans.org


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to
share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
<http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
mailto:[Geoserver-devel@lists.sourceforge.net](mailto:Geoserver-devel@lists.sourceforge.net)
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Eng. Alessio Fabiani
Vice President/CTO GeoSolutions

http://www.geo-solutions.it


!DSPAM:1004,45b9045a86822095110867!



Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

!DSPAM:1004,45b9045a86822095110867!



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

!DSPAM:1004,45b9045a86822095110867!


Justin Deoliveira
jdeolive@anonymised.com
The Open Planning Project
http://topp.openplans.org

Eng. Alessio Fabiani
Vice President/CTO GeoSolutions

http://www.geo-solutions.it


Great, your concerns are much appreciated. And I fully agree, we should try and take in as much as we can if we are going to redesign this subsystem. If we do it, lets do it right :).

-Justin

Alessio Fabiani wrote:

I would just to point out some points for clarity ... in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.
Yes I was thinkning to a mechanism for making the catalog more reliable and stable, giving the possibility of doing some automatic "backup" avoiding possible corruption or data loss ... but maybe its early to speak about that. The GSIP 9 could be the right place where to speak about those things however.
On 1/25/07, *Justin Deoliveira* <jdeolive@anonymised.com <mailto:jdeolive@anonymised.com>> wrote:

    Good concerns Allesio.

    Alessio Fabiani wrote:
     > Hi Chris, following you I would like to throw some comments for
    the GSIP
     > 8 too.
     >
     > The idea is ok, the future of GeoServer catalog is for sure XML
     > marshalling/unmarshalling of configuration beans, and allowing it to
     > persist the catalog on a database too of course, using something
    like
     > castor or hybernate.
     > My concerns are:
     >
     > 1 - In the proposal is said to let Spring use XStream to load all the
     > beans at startup. This is compatible with the actual GeoServer
    catalog,
     > but in the future I don't want at all to load all the catlog at
    startup.
     > Moreover I would like to persist my beans even before the application
     > shutdown, something similar to the enterprise java beans. I would
    like
     > the application automatically serializing and deserializing beans
    while
     > using it, caching them of course, so that there is no need to
    maintain
     > all the catalog into memory.
    I admit the example I provided is a bit naive. In terms of loading
    everything on startup, Spring has the ability to lazily load beans on
    demand. In the event that the bean being serialized / deserialized forms
    a nested tree of objects ( like the catalog ), a more high-tech
    solution
    ( hibernate ) could be used her.
     >
     > 2 - As a consequence of the previous problem, this solution seems
    to me
     > a little dangerous ... what happens if my JVM crashes at some
    time? Part
     > of the catalog will be lost?
    I see no reason why the user shouldn't be able to periodically save when
    they want. Also, and Andrea knows more about hibernate and O/R mappers
    than I do, but i also think that is probably something hibernate can
    handle as well with transactions.

    So I think its important to note that the system in the proposal can be
    something we do "out of the box", but if you are talking about doing
    more critical stuff, giving people the option to use a more "reliable"
    mechanism would be nice.

    -Justin
     >
     > On 1/25/07, *Chris Holmes* <cholmes@anonymised.com
    <mailto:cholmes@anonymised.com>
     > <mailto: cholmes@anonymised.com <mailto:cholmes@anonymised.com>>>
    wrote:
     >
     > Meta question is - what's the best way to comment on a
    GSIP? I just
     > commented on GSIP 8, but don't know if that's the best place
    to have
     > discussions... I'll post it in here to be sure.
     >
     > Two ideas:
     >
     > 1) Whenever a GSIP goes out you email the list, and then if
    you have
     > comments you reply on that thread. And the GSIP itself can
    link to the
     > email threads (on nabble or some such).
     >
     > 2) Whenever you make a GSIP you make a JIRA to track
    it. Then we can
     > comment there and those watching it will get
    notifications. And it'll
     > track threads.
     >
     > GSIP 8 comment is:
     >
     > Generally I'm for it. My one concern is config file backwards
     > compatibility. I'm fine to break it once - we just call it
    GeoServer
     > 2.0. Though we should acknowledge that's a major change - the
     > backwards
     > compatibility issues section kind of discounts that. I'd
    almost say
     > that config file compatibility is the more important one than
    the code,
     > as it's the one users see.
     >
     > But we can call it GS 2.0, and that's fine. But have we done
    tests to
     > ensure that if we add a new field to one of the core beans
    XStream will
     > still be able to read a config made with an older version of
    GeoServer?
     >
     > That was actually the problem with the old, old way of
    reading config,
     > done with Castor I think. It would do nice persistence from
    our core
     > objects, but if we changed those objects at all then it
    couldn't read
     > the old versions. So will XStream work if it doesn't find
    the new
     > options? Just populating those with the defaults and not
    blow up? I
     > mean, I'd be surprised if it didn't, but I want to be 100%
    sure before
     > we commit to this technology, or any technology.
     >
     > --
     > Chris Holmes
     > The Open Planning Project
     > http://topp.openplans.org
     >
     > -------------------------------------------------------------------------
     > Take Surveys. Earn Cash. Influence the Future of IT
     > Join SourceForge.net's Techsay panel and you'll get the chance to
     > share your
     > opinions on IT & business topics through brief surveys - and
    earn cash
     > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
    <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV&gt;
     > <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
    <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV&gt;&gt;
     >
     > _______________________________________________
     > Geoserver-devel mailing list
     > Geoserver-devel@lists.sourceforge.net
    <mailto:Geoserver-devel@lists.sourceforge.net>
     > <mailto: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&gt;
     >
     > --
     > -------------------------------------------------------
     > Eng. Alessio Fabiani
     > Vice President/CTO GeoSolutions
     >
     > http://www.geo-solutions.it
     >
     > ---------------------------------------------------------
     >
    ------------------------------------------------------------------------

     >
    -------------------------------------------------------------------------
     > Take Surveys. Earn Cash. Influence the Future of IT
     > Join SourceForge.net's Techsay panel and you'll get the chance to
    share your
     > opinions on IT & business topics through brief surveys - and earn
    cash
     >
    http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
    <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV&gt;
     >
     > !DSPAM:1004,45b9045a86822095110867!
     >
    ------------------------------------------------------------------------
     >
     > _______________________________________________
     > 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&gt;
     >
     > !DSPAM:1004,45b9045a86822095110867!

    --
    Justin Deoliveira
    jdeolive@anonymised.com <mailto:jdeolive@anonymised.com>
    The Open Planning Project
    http://topp.openplans.org

--
-------------------------------------------------------
Eng. Alessio Fabiani
Vice President/CTO GeoSolutions

http://www.geo-solutions.it

--------------------------------------------------------- !DSPAM:1004,45b9082f95081425493344!

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

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

!DSPAM:1004,45b9082f95081425493344!

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

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

!DSPAM:1004,45b9082f95081425493344!

--
Justin Deoliveira
jdeolive@anonymised.com
The Open Planning Project
http://topp.openplans.org

On Thursday 25 January 2007 20:04, Chris Holmes wrote:

Meta question is - what's the best way to comment on a GSIP? I just
commented on GSIP 8, but don't know if that's the best place to have
discussions... I'll post it in here to be sure.

Yeah, I guess the proposal itself is not the best place to comment on, since
as the proposal evolves the comments get obsolete and its hard to track
history.

Two ideas:

1) Whenever a GSIP goes out you email the list, and then if you have
comments you reply on that thread. And the GSIP itself can link to the
email threads (on nabble or some such).

2) Whenever you make a GSIP you make a JIRA to track it. Then we can
comment there and those watching it will get notifications. And it'll
track threads.

I like jira as long as we don't use its voting mechanism to vote on proposals.
Rationale is that one may vote for it at an early stage and with further
changes on the proposal wanting to change the vote seems impossible.

Even though, I guess I'm more for the list option since it's more dynamic and
easier to track threads. I would even suggest to require some kind of keyword
on the subject, such as GSIP #NN or some such, since I like to have lots of
filters on my email client to automatically arrange messages. hmmm.. having a
specific mailing list for this kind of stuff crossed my mind by a second but
I realize it would be too much.

Gabriel

whatever you want to provide out of the box sounds good to me, as long as the
whole config system is pluggable and extendable. Aka, would need to load
config from more than one source at the time. makes sense?

Gabriel

On Thursday 25 January 2007 20:29, Justin Deoliveira wrote:

Good concerns Allesio.

Alessio Fabiani wrote:
> Hi Chris, following you I would like to throw some comments for the GSIP
> 8 too.
>
> The idea is ok, the future of GeoServer catalog is for sure XML
> marshalling/unmarshalling of configuration beans, and allowing it to
> persist the catalog on a database too of course, using something like
> castor or hybernate.
> My concerns are:
>
> 1 - In the proposal is said to let Spring use XStream to load all the
> beans at startup. This is compatible with the actual GeoServer catalog,
> but in the future I don't want at all to load all the catlog at startup.
> Moreover I would like to persist my beans even before the application
> shutdown, something similar to the enterprise java beans. I would like
> the application automatically serializing and deserializing beans while
> using it, caching them of course, so that there is no need to maintain
> all the catalog into memory.

I admit the example I provided is a bit naive. In terms of loading
everything on startup, Spring has the ability to lazily load beans on
demand. In the event that the bean being serialized / deserialized forms
a nested tree of objects ( like the catalog ), a more high-tech solution
( hibernate ) could be used her.

> 2 - As a consequence of the previous problem, this solution seems to me
> a little dangerous ... what happens if my JVM crashes at some time? Part
> of the catalog will be lost?

I see no reason why the user shouldn't be able to periodically save when
they want. Also, and Andrea knows more about hibernate and O/R mappers
than I do, but i also think that is probably something hibernate can
handle as well with transactions.

So I think its important to note that the system in the proposal can be
something we do "out of the box", but if you are talking about doing
more critical stuff, giving people the option to use a more "reliable"
mechanism would be nice.

-Justin

> On 1/25/07, *Chris Holmes* <cholmes@anonymised.com
> <mailto:cholmes@anonymised.com>> wrote:
>
> Meta question is - what's the best way to comment on a GSIP? I just
> commented on GSIP 8, but don't know if that's the best place to have
> discussions... I'll post it in here to be sure.
>
> Two ideas:
>
> 1) Whenever a GSIP goes out you email the list, and then if you have
> comments you reply on that thread. And the GSIP itself can link to
> the email threads (on nabble or some such).
>
> 2) Whenever you make a GSIP you make a JIRA to track it. Then we can
> comment there and those watching it will get notifications. And
> it'll track threads.
>
> GSIP 8 comment is:
>
> Generally I'm for it. My one concern is config file backwards
> compatibility. I'm fine to break it once - we just call it GeoServer
> 2.0. Though we should acknowledge that's a major change - the
> backwards
> compatibility issues section kind of discounts that. I'd almost say
> that config file compatibility is the more important one than the
> code, as it's the one users see.
>
> But we can call it GS 2.0, and that's fine. But have we done tests
> to ensure that if we add a new field to one of the core beans XStream
> will still be able to read a config made with an older version of
> GeoServer?
>
> That was actually the problem with the old, old way of reading
> config, done with Castor I think. It would do nice persistence from our
> core objects, but if we changed those objects at all then it couldn't
> read the old versions. So will XStream work if it doesn't find the new
> options? Just populating those with the defaults and not blow up? I
> mean, I'd be surprised if it didn't, but I want to be 100% sure before we
> commit to this technology, or any technology.
>
>
> --
> Chris Holmes
> The Open Planning Project
> http://topp.openplans.org
>
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to
> share your
> opinions on IT & business topics through brief surveys - and earn
> cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> <http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
>V>
>
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> <mailto:Geoserver-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
>
>
>
>
> --
> -------------------------------------------------------
> Eng. Alessio Fabiani
> Vice President/CTO GeoSolutions
>
> http://www.geo-solutions.it
>
> ---------------------------------------------------------
> !DSPAM:1004,45b9045a86822095110867!
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share
> your opinions on IT & business topics through brief surveys - and earn
> cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>
> !DSPAM:1004,45b9045a86822095110867!
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
> !DSPAM:1004,45b9045a86822095110867!

--
Gabriel Roldán (groldan@anonymised.com)
Axios Engineering (http://www.axios.es)
Tel. +34 944 41 63 84
Fax. +34 944 41 64 90

Alessio Fabiani ha scritto:

I would just to point out some points for clarity ... in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.

Ouch, catalog. Justin, I think you should explain the difference
between catalog and configuration to people. I think I understood them,
but it's a big thing to explain and it's late.
Long story short, in config we would load in memory only a list of maps
that act as "locators" to gather the actual data stores and feature types, but load the data stores and types lazily as needed and throw
them away when not needed anymore (caching behaviour): this cache
is what the catalog really is (GSIP 9).

Cheers
Andre

Justin Deoliveira ha scritto:

Chris Holmes wrote:

Generally I'm for it. My one concern is config file backwards compatibility. I'm fine to break it once - we just call it GeoServer 2.0. Though we should acknowledge that's a major change - the backwards compatibility issues section kind of discounts that. I'd almost say that config file compatibility is the more important one than the code, as it's the one users see.

Yeah fair enough, there is going to be no way to get around this, this solution is not backwards compatible with the current file formats.

I also think we might want to consider not supporting any backwards compatability with the new persisted files. What I mean is that I dont think users should be interacting with our persistence mechanism directly, if they are there is definitely a gap somewhere.

I think there is no harm done in building an external converter that just takes the old config files and turns them into the new ones.
A conversion utility, to be run just once.

Another thing I would like to see is users be able to slot in their own persistence mechanism, an O/R mapper would do the job just as well as XStream, if not a much better one. I see Xstream as something we can just support out of the box, unless the user sets up their own.

Doing that with Hibernate is much more complex, and brings in a mindset
for relations that's not avaialable in GSIP #8.
I really think we need an explicit way to handle relations and the equivalent of a foreign key with checks and cascades.

Also, Rob and Jody bring reasonable points about configurability,
inner/outer feature types, and clustering. I'm not saying we solve
these now, but the GSIP should contain an interface that allows
implementation addressing their concerns.
Our first implementation will be xstream based due to its simplicity,
but I don't want to shut the door for other more enterprise and future
ready implementations.

Cheers
Andrea

Yeah, I think now might be a good time to talk about my vision of *catalog*. I believe today when we talk about catalog we really mean two things.

1. The actual data, think DataStore, FeatureSource, FeatureType, etc...
2. The GeoServer metadata, think DataStoreInfo, FeatureTypeInfo, etc...

The first being actual live resources, most likely remote, etc...

The second being local metadata stored by GeoServer. This second concept is where in our current world catalog and config become blurred and confusion arises.

Ideally ( and now this is just my opinion ), here is what I would like to see.

1. A catalog whose sole purpose is to manage actual live resources and data. It provides some metadata ( which comes directly from whomever is provide the data, *not* from GeoServer ). The Geotools catalog is a good candidate for this concept, however as we all know, it has issues.

2. A collection of java beans / info objects / metadata objects ( whatever you want to call them ), which describe *some* of the actual live data. I say some because the catalog could contain data that we don't want to serve. Users can configure these objects to override or provide addtional metadata provided by the actual live resources. This class lives today and is called "Data".

3. Another collection of java beans that are used to configure services. We have these also, WMS, WFS, GeoServer, etc...

2 and 3 are persisted to disk and would be considered "config". 1 however is not. It is in a sense transient and is in a sense a reflection of the live data and resources that GeoServer is current "connected to".

Sorry for the rant. Andrea and I had a conversation about this the other day and I am trying to capture the important parts. Andrea how did I do?

-Justin

Andrea Aime wrote:

Alessio Fabiani ha scritto:

I would just to point out some points for clarity ... in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.

Ouch, catalog. Justin, I think you should explain the difference
between catalog and configuration to people. I think I understood them,
but it's a big thing to explain and it's late.
Long story short, in config we would load in memory only a list of maps
that act as "locators" to gather the actual data stores and feature types, but load the data stores and types lazily as needed and throw
them away when not needed anymore (caching behaviour): this cache
is what the catalog really is (GSIP 9).

Cheers
Andre

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:1004,45b92c20125569771116852!

--
Justin Deoliveira
jdeolive@anonymised.com
The Open Planning Project
http://topp.openplans.org

Andrea Aime wrote:

Alessio Fabiani ha scritto:

I would just to point out some points for clarity ... in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.

Ouch, catalog. Justin, I think you should explain the difference
between catalog and configuration to people. I think I understood them,
but it's a big thing to explain and it's late.
Long story short, in config we would load in memory only a list of maps
that act as "locators" to gather the actual data stores and feature types, but load the data stores and types lazily as needed and throw
them away when not needed anymore (caching behaviour): this cache
is what the catalog really is (GSIP 9).

I think we need to start a 'GeoServer development glossary'.

Config(uration) and Catalog are two that for sure could use nailed down definitions. I've heard config to mean everything from the core global objects running GeoServer, to just the way we persist XML, to how we persist in general, to the web admin tool, to featureType mappings.

We need to nail down definitions, and give new definitions to things that people try to put on top of existing definitions.

The 'new' things we are talking about probably could use new names entirely. It was useful in GeoTools to have datastore come after datasource, because during the transition you'd know which you were talking about.

So maybe drop the word 'catalog' entirely from GeoServer discussions, except to refer to the specific GeoTools 'catalog' implementation. Call what we have the 'data class', as I think that's what the thing we use now is called. And call the future thing the 'resource manager' or some such.

C

Cheers
Andre

!DSPAM:1003,45b92b04125091804284693!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org

Nice summary Justin - I think you are attacking the problem the right way here - basic separation of concerns.

One minor extension to the model is that there will be elements of the config we will want to load from external sources and create persisent mappings to allow our server to conform to.

This will include, at least:
1) Feature Types
2) Service Profiles

and may also include namespace definitions - I see no reason these may not be declared in an external catalog and lazily resolved, so that its not necessary for the "deploying user" to recreate definitions (burden and scope for error)

PS I'm hoping to find an opportunity to work on the service profile stuff in a few months - being doing some theory work at:

https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/ServiceProfiles

Rob

Justin Deoliveira wrote:

Yeah, I think now might be a good time to talk about my vision of *catalog*. I believe today when we talk about catalog we really mean two things.

1. The actual data, think DataStore, FeatureSource, FeatureType, etc...
2. The GeoServer metadata, think DataStoreInfo, FeatureTypeInfo, etc...

The first being actual live resources, most likely remote, etc...

The second being local metadata stored by GeoServer. This second concept is where in our current world catalog and config become blurred and confusion arises.

Ideally ( and now this is just my opinion ), here is what I would like to see.

1. A catalog whose sole purpose is to manage actual live resources and data. It provides some metadata ( which comes directly from whomever is provide the data, *not* from GeoServer ). The Geotools catalog is a good candidate for this concept, however as we all know, it has issues.

2. A collection of java beans / info objects / metadata objects ( whatever you want to call them ), which describe *some* of the actual live data. I say some because the catalog could contain data that we don't want to serve. Users can configure these objects to override or provide addtional metadata provided by the actual live resources. This class lives today and is called "Data".

3. Another collection of java beans that are used to configure services. We have these also, WMS, WFS, GeoServer, etc...

2 and 3 are persisted to disk and would be considered "config". 1 however is not. It is in a sense transient and is in a sense a reflection of the live data and resources that GeoServer is current "connected to".

Sorry for the rant. Andrea and I had a conversation about this the other day and I am trying to capture the important parts. Andrea how did I do?

-Justin

Andrea Aime wrote:
  

Alessio Fabiani ha scritto:
    

I would just to point out some points for clarity ... in general I am very favourable about this GSIP. It would be a very good start point for a much better catalog.
      

Ouch, catalog. Justin, I think you should explain the difference
between catalog and configuration to people. I think I understood them,
but it's a big thing to explain and it's late.
Long story short, in config we would load in memory only a list of maps
that act as "locators" to gather the actual data stores and feature types, but load the data stores and types lazily as needed and throw
them away when not needed anymore (caching behaviour): this cache
is what the catalog really is (GSIP 9).

Cheers
Andre

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:1004,45b92c20125569771116852!

Nice email just ... adding some points of reference inline. I also have had a look at another catalog implementation last week with a few ideas we may consider.

Yeah, I think now might be a good time to talk about my vision of *catalog*. I believe today when we talk about catalog we really mean two things.

1. The actual data, think DataStore, FeatureSource, FeatureType, etc...
2. The GeoServer metadata, think DataStoreInfo, FeatureTypeInfo, etc...

The first being actual live resources, most likely remote, etc...

The second being local metadata stored by GeoServer. This second concept is where in our current world catalog and config become blurred and confusion arises.

Ideally ( and now this is just my opinion ), here is what I would like to see.

1. A catalog whose sole purpose is to manage actual live resources and data. It provides some metadata ( which comes directly from whomever is provide the data, *not* from GeoServer ). The Geotools catalog is a good candidate for this concept, however as we all know, it has issues.
  

I often split this idea into two:
a) Catalog - provides the ability to search for information
b) LocalCatalog - takes responsibility for hold the data references (since many DataStores want to act like singletons). The "local" data can also be searched hense it still being a catalog.

2. A collection of java beans / info objects / metadata objects ( whatever you want to call them ), which describe *some* of the actual live data. I say some because the catalog could contain data that we don't want to serve. Users can configure these objects to override or provide addtional metadata provided by the actual live resources. This class lives today and is called "Data".
  

I like the separation you have provided here; the existing WMS and WFS code each have their own "Data" which does not need to reflect everything know to GeoServer - just what we want published to each service.

One thing we have missed a couple times is the security / authentication / authorization concern. I would like to ensure we keep this in mind when we work through this "info" layer.

3. Another collection of java beans that are used to configure services. We have these also, WMS, WFS, GeoServer, etc...
  

I would like to "tone down" this requirement to *only* describe the service; and make sure we have "per service" information available against the actual data entries as part of 2. That is a resource should be responsible for knowing it's FeatureType (ie schema), applicable NamedStyles for that schema, and the default NamedStyle. These are properties of the data entry, irrespective of GeoServer having the WMS service enabled or not.

2 and 3 are persisted to disk and would be considered "config". 1 however is not. It is in a sense transient and is in a sense a reflection of the live data and resources that GeoServer is current "connected to".
  

Sweet - well said.

Sorry for the rant. Andrea and I had a conversation about this the other day and I am trying to capture the important parts. Andrea how did I do?
  

A couple of points:
- security / rolls - mentioned above
- lazy (we do not want to connect to everything, only what is needed). This may involve caching some information for answer GetCapabilities requests (hense 1 is often confused with 2 above). In uDig this feature request takes the form of caching schema information or GetCapabilities documents between runs.
- associations (ie FeatureType, Schema, Metadata)

Good rant Justin, heck I will ask Andrea how I did as well.
Jody

Justin Deoliveira ha scritto:

Yeah, I think now might be a good time to talk about my vision of *catalog*. I believe today when we talk about catalog we really mean two things.

...

Sorry for the rant. Andrea and I had a conversation about this the other day and I am trying to capture the important parts. Andrea how did I do?

I think you did fine. I just want to reword it so that other details
may become visible.
a catalog is an engine that allows us to:
* populate it with references to actual data (maps, url, ways to locate
   coverages and data store)
* ask for stores, feature types and the like, and have them lazily
   loaded and cached, with a caching behaviour that allows us to scale
   better (aka, don't hard cache everything that has been loaded, keep
   around just a "locality").

One thing I would like to stress here is that this catalog is not to be
considered persitence, nor a mapper, but just an engine that knows to
leverage the SPI system to locate "things" (be them feature types, feature sources, data stores, maybe even styles?) using the locators
(url, maps, beans) we provided it with.

Whatever is related to WFS, or to mapping data store types to outer
types, or service profiles, are not to catalog concerns, but configuration concerns. It's something that speaks the data level
language, not the upper level ones, the upper levels are to be dealt with using the configuration subsystem.

Since it's not persistence, the actual url, maps and whatnot are
part of the configuration system as well (the data module would
store them along with the extra info we're already storing).
Also, since it's not persistence, it does not deal with clustering
neither afaik, thought I'm not so sure about this (if one node
registers a new data store in the configuration, how do we
propagate the information to all nodes so that everyone registers
the new data store in its catalog)?

Cheers
Andrea

Jody Garnett ha scritto:

1. A catalog whose sole purpose is to manage actual live resources and data. It provides some metadata ( which comes directly from whomever is provide the data, *not* from GeoServer ). The Geotools catalog is a good candidate for this concept, however as we all know, it has issues.
  

I often split this idea into two:
a) Catalog - provides the ability to search for information
b) LocalCatalog - takes responsibility for hold the data references

Hem... can you elaborate a bit more on this? This would be a split
between one that knows how to search, and another that knows how to cache, so the second would wrap the first?

(since many DataStores want to act like singletons). The "local" data can also be searched hense it still being a catalog.

2. A collection of java beans / info objects / metadata objects ( whatever you want to call them ), which describe *some* of the actual live data. I say some because the catalog could contain data that we don't want to serve. Users can configure these objects to override or provide addtional metadata provided by the actual live resources. This class lives today and is called "Data".
  

I like the separation you have provided here; the existing WMS and WFS code each have their own "Data" which does not need to reflect everything know to GeoServer - just what we want published to each service.

I am more or less on the same line, WMS and WFS do keep a list of the
feature types they do want to serve.

One thing we have missed a couple times is the security / authentication / authorization concern. I would like to ensure we keep this in mind when we work through this "info" layer.

I would not put this one in the Catalog classes, but following the lines
stated above, we could have a third wrapper that knows how to apply security policies and hide/show things (a SecurityEnabledCatalog wrapper class). This would shape catalog API as something similar to the java
i/o API. Oh, we probably may want a "composite" or "chained" catalog
as well, so that people can provide their own replacement or extra
search level catalogs (that would be a way to integrate with external
providers such as GeoNetwork, for example).

3. Another collection of java beans that are used to configure services. We have these also, WMS, WFS, GeoServer, etc...
  

I would like to "tone down" this requirement to *only* describe the service; and make sure we have "per service" information available against the actual data entries as part of 2. That is a resource should be responsible for knowing it's FeatureType (ie schema), applicable NamedStyles for that schema, and the default NamedStyle. These are properties of the data entry, irrespective of GeoServer having the WMS service enabled or not.

I'm not sure of it... a default NamedStyle is something we need only for
WMS, WFS and WCS are not interested in it, so I would not have it around
at all if we ship a configuration without WMS around.

A couple of points:
- security / rolls - mentioned above
- lazy (we do not want to connect to everything, only what is needed). This may involve caching some information for answer GetCapabilities requests (hense 1 is often confused with 2 above). In uDig this feature request takes the form of caching schema information or GetCapabilities documents between runs.
- associations (ie FeatureType, Schema, Metadata)

Associations are indeed a hard nut to crack... how do we keep things
consistent (I mean, a foreign key type of consistency).
Cheers
Andrea

I have some thinking to do; I think we have a shared understanding of the requirements here.

This is a flexible topic where we will get a different results based on what trade offs we are aiming for. To that end could I ask what your priorities (and Justin?) are:
- Jody - clear API for developers
- Jesse - listed on a wiki page (remember error reporting as a concern)
- Andrea - ?
- Justin - ?

After we set priorities we will be in a better situation to choose between alternatives.

I often split this idea into two:
a) Catalog - provides the ability to search for information
b) LocalCatalog - takes responsibility for hold the data references

Hem... can you elaborate a bit more on this? This would be a split
between one that knows how to search, and another that knows how to cache, so the second would wrap the first?

This Catalog interface lets client code look up references to services. That is it does a search (based on the description of the resource which includes its bounds); and returns a list of references that match. Client code may "connect" to these references; which will involve them being added to the "LocalCatalog".

uDig has implementations of Catalog for a GeoConnection discovery protal, and a quick web service paul ramsey provided.
This just "finds" spatial data.

The LocalCatalog "manages" connections to data; yes it still implements the catalog interface (so you can find information that is already known to your application). The LocalCatalog "references" will lazily connect to DataStores and hold references to them so they can be shared between application modules.

The difference between the two is an "add( IService )" method where you can add additional entries to the local catalog.

One thing we have missed a couple times is the security / authentication / authorization concern. I would like to ensure we keep this in mind when we work through this "info" layer.

I would not put this one in the Catalog classes, but following the lines
stated above, we could have a third wrapper that knows how to apply security policies and hide/show things (a SecurityEnabledCatalog wrapper class). This would shape catalog API as something similar to the java
i/o API.

I don't mind if it is a wrapper or a stratagy object that the catalog consults for security concerns. I had planed out the stratagy object approach in uDig just so I could reduce the number of classes users are forced to notice. The stratagy object was also going to take care of persisting the security credentials serpartly from the "configuration" of the catalog.

Oh, we probably may want a "composite" or "chained" catalog
as well, so that people can provide their own replacement or extra
search level catalogs (that would be a way to integrate with external
providers such as GeoNetwork, for example).

See above; we have this idea in uDig already. What we do with one of these "remote" references is answer the questions we can just using the information returned by the search results (name, title, bounds, description etc...). But when it comes time to actually connect (FeatureType, legend graphics etc...) we add to the local catalog, connect and delegate.

3. Another collection of java beans that are used to configure services. We have these also, WMS, WFS, GeoServer, etc...
  

I would like to "tone down" this requirement to *only* describe the service; and make sure we have "per service" information available against the actual data entries as part of 2. That is a resource should be responsible for knowing it's FeatureType (ie schema), applicable NamedStyles for that schema, and the default NamedStyle. These are properties of the data entry, irrespective of GeoServer having the WMS service enabled or not.

I'm not sure of it... a default NamedStyle is something we need only for
WMS, WFS and WCS are not interested in it, so I would not have it around
at all if we ship a configuration without WMS around.

You are correct - the information we store "per reference" does depend on what modules are available. The benifit of using the catalog for this is that all the information associated with a resource is in one spot. we have the chance to follow associations (so geoserver is usable with large number of datasets with less configuration steps etc...). As an example the keywords are used by WFS, WMS and WCS. The named style(s) are actually defined against the FeatureType (not the resource layer), so lookup by resource does not imply configuration by resource (a separate module can take responsibility for associating resource to style, client code such as WMS need not know or care how the style was produced).

A couple of points:
- security / rolls - mentioned above
- lazy (we do not want to connect to everything, only what is needed). This may involve caching some information for answer GetCapabilities requests (hense 1 is often confused with 2 above). In uDig this feature request takes the form of caching schema information or GetCapabilities documents between runs.
- associations (ie FeatureType, Schema, Metadata)

Associations are indeed a hard nut to crack... how do we keep things consistent (I mean, a foreign key type of consistency).

Well the "worst" way (that still works); is to ask client code to perform additional lookups in the catalog. Defining more API for each kind of information. I enjoyed hiding this concern myself, but I think you found the result too opaque when reduced to a single "resolve" method.

Cheers,
Jody

Jody Garnett ha scritto:

I have some thinking to do; I think we have a shared understanding of the requirements here.

This is a flexible topic where we will get a different results based on what trade offs we are aiming for. To that end could I ask what your priorities (and Justin?) are:
- Jody - clear API for developers
- Jesse - listed on a wiki page (remember error reporting as a concern)
- Andrea - ?

- Clean up the current mess that is our config/catalog api
- Have a way for people to plug in their special catalog implementations
- Allow for clustering (aka, store config in a central location, be it
   a database, or a separate Geoserver publishing its configuration to
   "slave" Geoservers). Please note I've written _allow_, I mean that
   the API we choose should not go against a db based API, not that
   we will make one
- Have Geoserver scale on the thousands of feature types/coverages.

That's more or less what I want :slight_smile:
Cheers
Andrea

Thanks for making that clear - a lot of those concerns are just flat out cool :slight_smile:
However some of them are more on the configuration end of things; I am glad Justin outlined the separation between catalog and configuration.

Cheers,
Jody
PS. Let's update Jesse's page on the subject (http://docs.codehaus.org/display/GEOTOOLS/Catalog+Improvements) when Justin and I did Expression Improvemetns we captured our requirements as acceptance tests so we could tell when we are done.

Jody Garnett ha scritto:

I have some thinking to do; I think we have a shared understanding of the requirements here.

This is a flexible topic where we will get a different results based on what trade offs we are aiming for. To that end could I ask what your priorities (and Justin?) are:
- Jody - clear API for developers
- Jesse - listed on a wiki page (remember error reporting as a concern)
- Andrea - ?

- Clean up the current mess that is our config/catalog api
- Have a way for people to plug in their special catalog implementations
- Allow for clustering (aka, store config in a central location, be it
  a database, or a separate Geoserver publishing its configuration to
  "slave" Geoservers). Please note I've written _allow_, I mean that
  the API we choose should not go against a db based API, not that
  we will make one
- Have Geoserver scale on the thousands of feature types/coverages.

That's more or less what I want :slight_smile:
Cheers
Andrea

Andrea Aime wrote:

Jody Garnett ha scritto:
  

I have some thinking to do; I think we have a shared understanding of the requirements here.

This is a flexible topic where we will get a different results based on what trade offs we are aiming for. To that end could I ask what your priorities (and Justin?) are:
- Jody - clear API for developers
- Jesse - listed on a wiki page (remember error reporting as a concern)
- Andrea - ?
    
- Clean up the current mess that is our config/catalog api
- Have a way for people to plug in their special catalog implementations
- Allow for clustering (aka, store config in a central location, be it
   a database, or a separate Geoserver publishing its configuration to
   "slave" Geoservers). Please note I've written _allow_, I mean that
   the API we choose should not go against a db based API, not that
   we will make one
  

+1, assuming the catalog server may or may not be geoserver - it may well be an implementation neutral registry, that allows geoserver "bindings" to be registered against known feature types

- Have Geoserver scale on the thousands of feature types/coverages.

+1 - however I strongly suspect (a heads up here base on what I'm seeing in the data standards space) that we will have thousands of "profiles" of common feature types - i.e. we dont want to use the feature type as the primary key for the configuration - rather we will want to configure a data store (set) against an Application Schema, which contains many feature types and relationships between them we may want to query. Each featuretype is a binding, for example as XML based on an XSD schema against the underlying application schema. This probably just requires a little bit of care in the design, without necessarily changing the way the current data-storage based, ad-hoc feature definition cases make assumptions.

That's more or less what I want :slight_smile:
Cheers
Andrea

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel