Releases for sf 1.4
| Version |
License |
API |
Released |
|
1.0.5stable
|
BSD license |
1.0.0stable
|
16/03/2010 |
Releases for sf 1.3
| Version |
License |
API |
Released |
|
1.0.5stable
|
BSD license |
1.0.0stable
|
16/03/2010 |
Releases for sf 1.2
| Version |
License |
API |
Released |
|
1.0.3beta
|
BSD license |
1.0.0beta
|
29/10/2009 |
|
1.0.2beta
|
BSD license |
1.0.0beta
|
26/06/2009 |
|
1.0.1beta
|
MIT license |
1.0.0beta
|
10/06/2009 |
|
1.0.0beta
|
BSD License |
1.0.0beta
|
10/06/2009 |
Changelog for release 1.0.0 - 10/06/2009
- tonio: initial 1.0 beta realease
Other releases
Release 1.0.5 - 16/03/2010
- tonio: 1.4 compatible release.
Release 1.0.3 - 29/10/2009
- takob: fix the preg_replace limitation (WKT exceed 30k) and the coordinates in GeoJSON (should be float, not string)
- tonio: fix incorrect type cast
- tonio: documentation update
Release 1.0.2 - 26/06/2009
- fvanderbiest: documentation update
Release 1.0.1 - 10/06/2009
- tonio: add missing GeoJSON lib and fixes typo in README
Release 1.0.0 - 10/06/2009
- tonio: initial 1.0 beta realease
sfMapFishPlugin
The sfMapFishPlugin packages useful tools to manage geographical data from a Postgres/PotGis database with symfony & Doctrine.
It's the PHP implementation of the MapFish framework available
Installation
Install the plugin
$ symfony plugin:install sfMapFishPlugin
Clear the cache
$ symfony cache:clear
Build (or rebuild the model)
$ symfony doctrine:build-model
Generate a MapFish controller
The way to generate a module responding to the restful MapFish Protocol is quite simple:
Specify the geometric column and the projection for your Model, in lib/model/doctrine/YourModelClass.php
public static $geometryColumn = array('the_geom' => 4326);
In lib/model/doctrine/YourModelTableClass.php, make the class it extends
YourModelTable extends sfMapFishTable
You're now ready to generate the controller with a task:
$ ./symfony mapfish:generate-module --generate-route frontend your_module YourModel
The --generate-route will update the routing.yml file and add the corresponding sfMapFishRoute
sfMapFishPlugin gives two classes that extends Doctrine ones to deal with geographical stuff.
- sfMapFishRecord: Extends Doctrine_Record with geographical specific stuff (will be automatically changed when models are built).
- sfMapFishTable: Extends Doctrine_Record with geographical specific stuff (Due to Doctrine limitation Ticket #1976, you'll need to make this change from your own in the myModelTable.class.php : replace Doctrine_Table by sfMapFishTable)
Install print module
sfMapFishPlugin comes with a built-in controller for MapFish print protocol. (see MapFish PrintModuleDoc)
You'll to have java installed to make this working.
Enable this module in your app
all:
.settings:
enabled_modules: [default, mfPrint]
Copy the mandatory config file from the plugin to your config directory
$ cp plugins/sfMapFishPlugin/data/print/print.yml config/print.yml
The print module should be ready & responding to mfPrint/info to get print configuration.
Don't forget to configure the config.yml (see configuration. For example don't forget to allow your WMS services.
The print.yml example given have 3 mandatory fields in the spec: title, comment, & mapTitle.
You can get errors in your symfony log file (if enabled).
Troubles: You may have to change the java path to get it working:
sfConfig::set('mf_jre_path', '/usr/bin/');
Documentation
All classes have full API documentation.
You will also find some informations on the MapFish website:
Tasks
- sfMapFishGenerateModule: Generate a rest controller according to the specifications of the MapFish protocol
How to contribute.
If you want to contribute, follow these steps:
- Check the prerequisites
- The license must be BSD
- You must follow symfony coding standards
- The contribution must not be too specific
- You must be sure you will be able to maintain your contribution
- Create a ticket and attach a patch
- Choose
sfMapFishPlugin as the component
- Change the qualification to
Ready for core team
License
This plugin is realeased under a BSD license.