In order to enhance the modular character of Mapbender, I propose to split the database table gui_element. The problem with the current table layout is, that there is no table for "element", just gui_element (From now on, whenever I speak of an "element" (as in "gui_element") I refer to it as a "module").

So if you have to change a module, the changes do not propagate throughout Mapbender. You have to edit the settings in every GUI manually, it is harder to track module changes.

Currently it's not possible to set a version number on a module. So you also do not know the compatibility status of a module. Some only work with specific versions, for example "set_locale" will require Mapbender 2.5, it should not be possible to load it in an older Mapbender.

We need a centralised spot for keeping modules. Like an Eclipse update: You open your admin GUI and get a message about new available modules. Currently, you can only copy a GUI element from another GUI. Imagine, Mapbender could load it from mapbender.org. We would have enormous quality control over the modules in distributions.

Another problem is module IDs, the same module can have two IDs in two separate GUIs. IDs should be unique at all the time. If a user created a new module, we could do a remote check if there already is a module by that name.

Users would also be kept from editing a stable module and by this creating their own bastard modules that waste everybody's time.

For releasing, this approach would also make things easier. You could keep the SQL for a module within the file system, and construct the SQL data dump with a build process.

I would like to see this happen this year. Mapbender needs to change, things are growing to be more and more complex, yet there is no infrastructure. We need less overhead, I don't want to see Mapbender dead as a dodo.

Maybe we can discuss this face-to-face at FOSSGIS, but certainly up front here.
_______________________________________________
Mapbender_dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapbender_dev

Reply via email to