DeveloperGuidelines = GIS Module = == How to add a new Layer type == === Model === Add to {{{models/_gis.py}}} {{{ gis_layer_types=[] # Provide layer-specific options in it's own table: db.define_table('gis_layer_newlayertype', SQLField('modified_on','datetime',default=now), SQLField('layer',length=64), SQLField('field')) db.gis_layer_newlayertype.layer.requires=IS_IN_DB(db,'gis_layer.uuid','gis_layer.name') }}} === Controller === {{{controllers/gis.py}}} {{{ def map_service_catalogue(): form=FORM( INPUT(_name="field"), # Could also be a SELECT ) if form.accepts(request.vars,session,keepvalues=True): elif type_new=="newlayertype": db['gis_layer_%s' % type_new].insert( layer=id, field=form.vars.field ) }}} If loading custom JS files when the new Layer is active: {{{ def map_viewing_client(): }}} === View === {{{views/map_service_catalogue.html}}} {{{