Affects Version/s: None
Fix Version/s: None
Number of attachments :
Talking on email David Blasby pointed out how closely linked our web config tool is linked to the xml config files and geotools ideas. I got to thinking, and it's really quite bad. When we were just a WFS the FeatureType thing was ok, but DataStore was still pretty klunky. Now that we in WFS and soon WCS, it's just silly. So it got me thinking about how you actually want to add data.
There should just be one menu - data (name up for debate, as the parent config is also called data). No featureType and DataStore.
You click on data, and are shown the FeatureType Configuration screen (config/data/typeSelect.do), which lists all the configured FeatureTypes, and has a button for new. You can edit a FeatureType, just like before. Or you can hit 'new'.
New takes you to the Create New FeatureType (config/data/typeNew.do), where you can create a new FeatureType from an available datastore. Here we add two new buttons called 'new data source' and 'edit data source'. Edit data source takes you to the old DataStore Config page (config/data/store.do), and New data source takes you to the old DataStore New page (config/data/storeNew.do).
After you configure a new data store, geoserver will figure out if there is more than one available FeatureType. If there is only one (as is always the case in shapefiles) then we don't bother with a page to select which one. We go straight to the FeatureType editor. If there is more than one, then you are given a page where you can select just from the datastore that you just created.
Overall this is a pretty new workflow, but I don't think it should be all that hard to implement, as it requires no more than 2-3 new pages, which will be mostly based on old pages. I feel this is infinitely more intuitive though. Especially for shapefiles. To add a new shapefile it's just: click on data, click on new, enter the url of the shapefile, edit the featureType. Instead of: click on stores, click on new, enter data store params, click on featureType, click on new, find the newly created datastore, edit the featureType.
It doesn't need to be precisely that way, but I think getting rid of the feature type and store junk, especially when you have a datastore with only one featureType in it, will make things a lot more intuitive.