Google Summer of Code 2007
Joomla! - Mickael MAISON - Geo Component
Progress of the 2 first weeks:
Administration panel
As
said before, I started with the administration part of the project. Finally the
component will allow to geo tag articles published by the administrator and
profiles (every user is free to set this information).
So the administration panel is made of 2 parts:
- article configuration
- profile configuration
- feed configuration
The 2 first parts propose the same options:
- activation of the geo tagging:
- selection of the geo tagging method
- configuration of the method selected (this part depends of the library chosen)
The last one let the administrator choose in which format he wants to put the geospatial information in the RSS feed. By default, I will propose 3 schemas:
- GeoRSS Simple
- GeoRSS GML
- KML
All the configurations are stored in the database. The main configurations (activation, feed schema, etc) will be stored in a table called jos_geo_config.
DROP TABLE IF EXISTS `jos_geo_config`;CREATE TABLE `jos_geo_config` ( `name` varchar(30) NOT NULL default '', `value` tinyint(4) NOT NULL default '0') TYPE=MyISAM;
The configurations of the different libraries will be stored in another table jos_geo_libs.
DROP TABLE IF EXISTS `jos_geo_libs`;CREATE TABLE `jos_geo_libs` ( `id` int(11) NOT NULL auto_increment, `name` varchar(30) NOT NULL default '', `key` varchar(100) NOT NULL default '', `width` int(11) NOT NULL default '0', `height` int(11) NOT NULL default '0', `marker` varchar(50) NOT NULL default '', `shadow` varchar(50) NOT NULL default '', `zoom` int(11) NOT NULL default '0', `center_x` int(11) NOT NULL default '0', `center_y` int(11) NOT NULL default '0', `type` varchar(30) NOT NULL default '', KEY `id` (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;
Mapping libraries will be stored like plug-ins. This will allow people to use the library they prefer and to change easily. Of course, the plug-in needs to be created before to provide an interface between the component and the library.
This will also allow to create plug-in only asking to enter coordinates, no maps usage or to let the user upload a file containing coordinates.
Each library will have its set of configurations to suit the need of the administrator:
- configuration of the size in case of maps
- default center point
- icon of the marker (to match the design of the website)
I contacted David Pollack who created and maintains mapping plug-ins for Joomla!. (GoogleMaps, YahooMaps, VirtualEarth). His plug-ins are for Joomla! 1.0 and it can be interesting to move them to 1.5 and to add support for my component.
Planning for the next 2 weeks:
This week end:
Finish the admin panel
Set up the DB
Implement the defined forms
Set up Eclipse to improve the “coding experience”
Next week:
Start to learn how plug-ins work/Speak with David Pollack
See options to upload or plot tracks (upload of GPX)