I have already built a desktop application for the management of archaeological settlements. Currently the data are stored in shapefiles (spatial data) and MYSQL (descriptive information). The application is based on MapWindow and MapWindow plugins. In the database there are some relationships between tables (one-to-many, many-to-many). I need to convert my application to a web mapping application. I intent to share my spatial data with geoserver.The web application should have forms to search the descriptive data of mysql and tools to select and zoom to the corresponting spatial data. Almost all the existed web mapping solutions have query capabilites but only on the spatial data (i.e. fields of a shapefile). Unfortunately my data are stored separately in mysql. What's the best solution to implement my web mapping application? Do I have to make custom tools? I intend to use Geomoose and some special plugins or Mapbender. Are they the appropriate platforms? I need a platform to join the spatial data and my mysql data in a easy and usefull way. I try to avoid extra programming for the forms and the connection between spatial and descriptive data. Thank you, Leonidas
in my opinion you should consider change database to PostGIS. If I were you, (I guess only opensource software is in your range?) I would base application on geoserver http://geoserver.org/ it is very good geospatial server with nice GUI. You can connect it to PostgreSQL (PostGIS exactly). When you have these two, you can upload directly from shapefile data to postGIS by geoserver, and then only thing you have to do is create SLD file (it is cartographic presentation of data) and create simple website based on openLayers framework http://openlayers.org/. If you wanna to create more complicated application you can consider using geoExt library http://geoext.org/. I think that if you have any idea about programming you will create application based on examples very quickly. :)
If you're starting from scratch, you should definitely use a pre-built framework. It's just duplicating effort to built from the ground up.
You can get drupal and openlayers up and running in a couple of hours, and drupal will happily handle all your other stuff you need to tack on to the main application (like about pages, contact forms, blogs).
I think if I were to implement a largish web-app that had to be optimised for efficiency, and wasn't expected to expand much out of the original scope, I'd probably start with django. It has a GIS plugin, which I haven't used, but I'm pretty sure it'd do everything your want. I think there's a django openlayers implementation too. There are django-based content management systems that you can use to handle all the other stuff I mentioned, but I don't have any experience using them.
There are more options when one needs to relate geographic information with other data AND present it in a web format, like HTML.
Although this is a biased answer, have a look at MapIgniter. It is a real GeoCMS - real in the sense that the main content are geographic features, not articles; each map, layer or feature can have non geographic information associated (a Rich Text editor is available).
There are also a number of modules that can be turn on/off so you can create a very different web applications.
Geographic data insert and editing are easy enough having a layout similar to Google Maps - although, professional work can be done using Quantum Gis on your Postgis database.
Application style is easy (no need to learn LESS, SCSS or other...) just standard CSS and HTML... you can even use, for example, Twitter Bootstrap page.
Geographic information style is also easy, just fill the forms, no programming skills are needed like it happens with other solutions. Look at the powerful MapServer style manual. Examples here.