[Mapbender-dev] Improved build script / automated dump generation

Christoph Baudson christoph.baudson at wheregroup.com
Thu Aug 14 05:00:22 EDT 2008


Siddharth Prakash Singh schrieb:
> Hello devs,
>
> I wanted to suggest some changes regarding where the update sql dumps 
> should be placed.
> I propose to place it in "update/db/" folder. For example update sql 
> dumps of MySQL utf-8 should be placed in "update/db/mysql/UTF-8" . 
> Notice it is "UTF-8" and not "utf8". This is exactly the characters 
> defined for CHARSET in mapbender.conf. This convention will make the 
> script more flexible. Also, I am suggesting to place the update sql 
> dumps in "update" folder rather than in "resources" folder. This would 
> help in making the install script. Resources folder should contain the 
> sql files for a fresh install.
> This is just my opinion.
> Please comment.

Siddharth and I discussed this on IRC yesterday.

I think changing the folder names according to the setting in 
mapbender.conf is a sensible thing to do. Example

resources/db/pgsql/UTF-8/
resources/db/mysql/ISO-8859-1/

instead of

resources/db/postgresql/utf8/
resources/db/mysql/iso/

We agreed upon discarding the idea of a separate update folder. 
Siddharth argued that it would make sense to keep the update scripts 
modular (in a way, this is a good thing), but in the end we agreed upon 
storing the update SQLs in the resources folder, in order to separate 
code and data.


>
> On Wed, Aug 13, 2008 at 3:13 PM, Christoph Baudson 
> <christoph.baudson at wheregroup.com 
> <mailto:christoph.baudson at wheregroup.com>> wrote:
>
>     Up to now all files were handled manually, which was quite painful.
>
>     Here are some ideas for an automated build of the database dumps.
>
>     (1) The folder "resources/db/update" will be deleted from SVN. The
>     update scripts will be stored seperately for MySQL and PostgreSQL
>     in "resources/db/mysql/utf8/update/" and
>     "resources/db/postgresql/utf8/update/" (Read about iso-8859-1
>     later on).
>
>     (2) These update folders will contain subfolders for each version
>     (we have to come up with a naming convention, like
>     "<timestamp>_<version_from>_to_<version_to>"). The <version_from>
>     and <version_to> names should also include release candidates.
>

We also discussed the naming convention: The proposal above allows you 
to order the folders chronologically, and is also human readable. I 
guess we agreed the convention makes sense.

>
>     (3) These subfolder will include various types of update SQLs
>     (3a) schema updates
>     (3b) default application updates (changes in "gui", "gui1"...)
>     (3c) custom application updates
>
>     (4) By this, we store a history of update SQLs. The automated
>     update routine by Siddharth can then easily find and execute the
>     necessary update SQLs.
>
>     (5) The file "resources/db/mysql/utf8/mysql_data.sql" will be
>     removed. It will be generated using a PHP script that reads and
>     modifies the file "resources/db/postgresql/utf8/pgsql_data.sql".
>
>     (6) The folders "resources/db/mysql/iso" and
>     "resources/db/postgresql/iso" will be removed from SVN.
>
>     (7) The iso-8859-1 data SQLs and update SQLs will be generated by
>     a PHP script, which converts the character set via iconv (using
>     transliteration). This script has already been written and is
>     already being used for building Mapbender 2.5. Of course, some
>     data, like translations to the bulgarian language cannot be
>     converted; missing characters will be displayed as question marks.
>
>     (8) The files "resources/db/mysql/mysql_schema.sql" and
>     "resources/db/postgresql/pgsql_schema.sql" (and
>     "pgsql_set_sequences.sql") will be generated automatically from an
>     entity-relationship graph; the graph will be generated in Dia, and
>     the SQL export will be done via the plugin tedia2sql. See
>     http://www.mapbender.org/Talk:Deployment for details
>

This means that the files

mysql_schema.sql
pgsql_schema.sql

will be generated dynamically, and should *only* be updated only by an 
automated routine. We should create a new file

mysql_gettext.sql
pgsql_gettext.sql

for the i18n funtion. The build script can then merge the gettext 
function into the schema SQL generated from the ER-model.

I propose to name the dia file like this

schema_<version number>.dia

and store it in the folder

resources/db/


>
>     (9) The only thing that will have to be done manually are the
>     update SQLs and the PostgreSQL data dump. The data dump could
>     later be generated automatically as well. We should somehow create
>     an API for Mapbender, so that some kind of script automatically
>     builds the template application like "gui", "gui1" and also loads
>     WMS, WFS etc. But this is beyond 2.6 imho.
>
>     Please share your own ideas. We should discuss all these ideas and
>     make a motion out of it, so that this mechanism will be used from
>     2.6 onwards.
>
>     -- 
>     _______________________________________
>
>     W h e r e G r o u p GmbH & Co. KG
>
>     Siemensstraße 8
>     53121 Bonn
>     Germany
>
>     Christoph Baudson
>     Anwendungsentwickler
>
>     Fon: +49 (0)228 / 90 90 38 - 15
>     Fax: +49 (0)228 / 90 90 38 - 11
>     christoph.baudson at wheregroup.com
>     <mailto:christoph.baudson at wheregroup.com>
>     www.wheregroup.com <http://www.wheregroup.com>
>     Amtsgericht Bonn, HRA 6788
>     _______________________________________
>
>     Komplementärin:
>     WhereGroup Verwaltungs GmbH
>     vertreten durch:
>     Arnulf Christl, Olaf Knopp, Peter Stamm
>     _______________________________________
>
>
>
>     _______________________________________________
>     Mapbender_dev mailing list
>     Mapbender_dev at lists.osgeo.org <mailto:Mapbender_dev at lists.osgeo.org>
>     http://lists.osgeo.org/mailman/listinfo/mapbender_dev
>
>
>
>
> -- 
> Siddharth Prakash Singh
> http://www.spsneo.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mapbender_dev mailing list
> Mapbender_dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_dev
>   


-- 
_______________________________________

W h e r e G r o u p GmbH & Co. KG

Siemensstraße 8
53121 Bonn
Germany

Christoph Baudson
Anwendungsentwickler

Fon: +49 (0)228 / 90 90 38 - 15
Fax: +49 (0)228 / 90 90 38 - 11
christoph.baudson at wheregroup.com
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
_______________________________________

Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Arnulf Christl, Olaf Knopp, Peter Stamm
_______________________________________





More information about the Mapbender_dev mailing list