History of GmapPackage
!!Goal
The goal of this project is to create a package that lets you edit a [http://maps.google.com|Google Map] like a wiki, with some Flickr integration thrown in for spice.
A proof of concept is working at [http://www.wjamesphoto.com/bw/gmap/index.php?gmap_id=1|this link]...although if you find its not working, I am probably actively testing code changes. If so, you can find me on the bitweaver channel. But I will try to keep it working between changes. -Will
This will take the best features of sites like [http://www.wikyblog.com|WikyBlog-Maps], [http://www.pixeldevelopment.com/virtualgoogleearth.asp|VirtualGoogleEarth], and [http://geobloggers.com|GeoBloggers] and merge them in to a package for hosting your own wikimap rather than having to use the existing services which are limited to their hosting, their feature implementation, and their look and feel.
A Road Map for the package is well underway. You can find it below. The engine makes extensive use of AJAX.
If you want to join in I'm not a professional programmer, but have faith, this is going to be sweet. If you do want to help out, well I guess you can email me wjames5 -at - nyc.rr.com or find me on irc #bitweaver.
!!Code
You can get the latest stage of development by checking out ___bit_map__ from CVS HEAD branch.
!!Google Map Hacks to Include
*[http://xmaps.busmonster.com/documentation.html|XMap Library]
*[http://groups-beta.google.com/group/Google-Maps-API/search?hl=en&group=Google-Maps-API&q=GxMarker&qt_g=1&searchnow=Search+this+group|GxMarkers] Tools
*[http://gmaps.tommangan.us/tlabel.html|T-Labels]
*[http://www.pixeldevelopment.com/pdmarker.asp|PdMarker]
*Custom Map Tiles
*Geocoding
!!References
*[http://mapki.com/index.php?title=Knowledge_Base#Developer_Tools|Mapki Developer Tools]
*[http://www.google.com/apis/maps/documentation/|Official Google Maps API]
*[http://groups-beta.google.com/group/Google-Maps-API|Google Maps API News Group on Google Groups]
*[http://mapki.com]
*[http://www.flickr.com/services/api/|Flickr API]
*[http://www.flickr.com/services/api/key.gne|Flickr API Key Application]
!!Some Other Useful Stuff
!!!Bitweaver Stuff
*[http://81.138.11.136:8080/bitweaverdocs/ric_NEWS.html|Bitweaver Class Tree]
*[http://www.bitweaver.org/wiki/TP-Structures|List of BW tables and structures]
*[http://81.138.11.136:8080/bitweaverdocs//////__filesource/fsource_kernel__kernelBitDb.php.html#a498|Built-in Database Query functions available from bw kernel]
!!!Programming Stuff
*[http://digir.sourceforge.net/nightly/DiGIRprov/lib/adodb/docs-datadict.htm|ADODB Data Dictionary for PHP]
*[http://www.howtocreate.co.uk/tutorials/index.php?tut=0&part=25|Javascript and Navigating the Dom Tree]
*[http://smarty.php.net/manual/en/language.escaping.php|Using Javascript with Smarty] and elegant solution.
*[http://en.wikipedia.org/wiki/Join_%28SQL%29|DB JOIN FAQ on Wikipedia]
*[http://rafb.net/paste/|Code Paste Board]
*[http://sunsite.mff.cuni.cz/MIRRORS/ftp.mysql.com/doc/en/CREATE_INDEX.html|Creating Indeces for your database tables] as declaired in schema_inc.php
*[http://www.bitweaver.org/wiki/ThemeTutorial#sourcecode|Modifying Smarty for Debugging HTML]
*[http://www.cs.tut.fi/%7Ejkorpela/forms/choices.html|Guide to HTML Forms]
!!Concerns
MapType Button Styles are being changed by current configuration. Could be caused by an override by bitweaver styles.
----
!!Loose Bits
These are loose ends created that will eventually need to hook up with other parts of the package:
!!!Permission variables referenced but not created yet:
all permissions are currently resolved
!!!Templates referenced but not created yet:
all templates are currently accounted for, and at least place holders exist
----
!!Outline of Functions for map part storage and retrieval
(this is pretty close)
!!!get map
- get map by id
- get map data (lat/lon/maptype etc)
- get sets ids
- get related style ids (get rid of duplicates)
- get icon and marker styles data
- get sets data
- render map
!!!update/save map
- get map by id
- save map values and data
- get map data
- update map
!!!get marker/maptype/poly
- get object by id
- get object data (lat/lon/label)
- get sets ids (list from set table)
!!!update markers/maptypes/polys
- get object by id
- save object values and data
- get object data
- update map object
- update sets data via object id
!!!get styles
- get style by id
- get style data (color/weight/type etc)
!!!update styles
- get style by id
- save style values and data
!!!get sets
- get sets ids
- get related style ids (get rid of duplicates)
- get icon and marker styles data
- get sets data
!!!update sets
- get sets ids
- save object values and data
----
!!How to set up your own custom package
This is stuff I have learned about creating packages for bitweaver while creating this GMap package.
!!!Download the "Sample Package" from this site
!!!Setting up your database tables
Database (DB) Tables are defined in "schema_inc.php"
This file goes in your __admin__ folder. Each package has one of these.
Some conventions to follow when building these:
*use single quotes on DB table scheme defaults
*underscore between each word in table names
!!!Including tpl files in the page header
The bitweaver Kernel is set up to automatically include header information from all packages. Any information you want included in the HTML HEAD you put in a file named "header_inc.tpl" which goes in your package's _templates_ folder.
To create conditional header includes simply nest tpl files in the header_inc.php file. You can do this by using the this include code:
{CODE()}{ include file="bitpackage:yourpackagename/subheader.tpl"}
{CODE}
!!!Creating the dropdown and side panel menus
Each package has teplate file that has its menus. You need to explicitly declair what you want in a menu in your own template file. For an example see the wiki package menu_wiki.tpl which you can find at:
wiki/templates/menu_wiki.tpl
The goal of this project is to create a package that lets you edit a [http://maps.google.com|Google Map] like a wiki, with some Flickr integration thrown in for spice.
A proof of concept is working at [http://www.wjamesphoto.com/bw/gmap/index.php?gmap_id=1|this link]...although if you find its not working, I am probably actively testing code changes. If so, you can find me on the bitweaver channel. But I will try to keep it working between changes. -Will
This will take the best features of sites like [http://www.wikyblog.com|WikyBlog-Maps], [http://www.pixeldevelopment.com/virtualgoogleearth.asp|VirtualGoogleEarth], and [http://geobloggers.com|GeoBloggers] and merge them in to a package for hosting your own wikimap rather than having to use the existing services which are limited to their hosting, their feature implementation, and their look and feel.
A Road Map for the package is well underway. You can find it below. The engine makes extensive use of AJAX.
If you want to join in I'm not a professional programmer, but have faith, this is going to be sweet. If you do want to help out, well I guess you can email me wjames5 -at - nyc.rr.com or find me on irc #bitweaver.
!!Code
You can get the latest stage of development by checking out ___bit_map__ from CVS HEAD branch.
!!Google Map Hacks to Include
*[http://xmaps.busmonster.com/documentation.html|XMap Library]
*[http://groups-beta.google.com/group/Google-Maps-API/search?hl=en&group=Google-Maps-API&q=GxMarker&qt_g=1&searchnow=Search+this+group|GxMarkers] Tools
*[http://gmaps.tommangan.us/tlabel.html|T-Labels]
*[http://www.pixeldevelopment.com/pdmarker.asp|PdMarker]
*Custom Map Tiles
*Geocoding
!!References
*[http://mapki.com/index.php?title=Knowledge_Base#Developer_Tools|Mapki Developer Tools]
*[http://www.google.com/apis/maps/documentation/|Official Google Maps API]
*[http://groups-beta.google.com/group/Google-Maps-API|Google Maps API News Group on Google Groups]
*[http://mapki.com]
*[http://www.flickr.com/services/api/|Flickr API]
*[http://www.flickr.com/services/api/key.gne|Flickr API Key Application]
!!Some Other Useful Stuff
!!!Bitweaver Stuff
*[http://81.138.11.136:8080/bitweaverdocs/ric_NEWS.html|Bitweaver Class Tree]
*[http://www.bitweaver.org/wiki/TP-Structures|List of BW tables and structures]
*[http://81.138.11.136:8080/bitweaverdocs//////__filesource/fsource_kernel__kernelBitDb.php.html#a498|Built-in Database Query functions available from bw kernel]
!!!Programming Stuff
*[http://digir.sourceforge.net/nightly/DiGIRprov/lib/adodb/docs-datadict.htm|ADODB Data Dictionary for PHP]
*[http://www.howtocreate.co.uk/tutorials/index.php?tut=0&part=25|Javascript and Navigating the Dom Tree]
*[http://smarty.php.net/manual/en/language.escaping.php|Using Javascript with Smarty] and elegant solution.
*[http://en.wikipedia.org/wiki/Join_%28SQL%29|DB JOIN FAQ on Wikipedia]
*[http://rafb.net/paste/|Code Paste Board]
*[http://sunsite.mff.cuni.cz/MIRRORS/ftp.mysql.com/doc/en/CREATE_INDEX.html|Creating Indeces for your database tables] as declaired in schema_inc.php
*[http://www.bitweaver.org/wiki/ThemeTutorial#sourcecode|Modifying Smarty for Debugging HTML]
*[http://www.cs.tut.fi/%7Ejkorpela/forms/choices.html|Guide to HTML Forms]
!!Concerns
MapType Button Styles are being changed by current configuration. Could be caused by an override by bitweaver styles.
----
!!Loose Bits
These are loose ends created that will eventually need to hook up with other parts of the package:
!!!Permission variables referenced but not created yet:
all permissions are currently resolved
!!!Templates referenced but not created yet:
all templates are currently accounted for, and at least place holders exist
----
!!Outline of Functions for map part storage and retrieval
(this is pretty close)
!!!get map
- get map by id
- get map data (lat/lon/maptype etc)
- get sets ids
- get related style ids (get rid of duplicates)
- get icon and marker styles data
- get sets data
- render map
!!!update/save map
- get map by id
- save map values and data
- get map data
- update map
!!!get marker/maptype/poly
- get object by id
- get object data (lat/lon/label)
- get sets ids (list from set table)
!!!update markers/maptypes/polys
- get object by id
- save object values and data
- get object data
- update map object
- update sets data via object id
!!!get styles
- get style by id
- get style data (color/weight/type etc)
!!!update styles
- get style by id
- save style values and data
!!!get sets
- get sets ids
- get related style ids (get rid of duplicates)
- get icon and marker styles data
- get sets data
!!!update sets
- get sets ids
- save object values and data
----
!!How to set up your own custom package
This is stuff I have learned about creating packages for bitweaver while creating this GMap package.
!!!Download the "Sample Package" from this site
!!!Setting up your database tables
Database (DB) Tables are defined in "schema_inc.php"
This file goes in your __admin__ folder. Each package has one of these.
Some conventions to follow when building these:
*use single quotes on DB table scheme defaults
*underscore between each word in table names
!!!Including tpl files in the page header
The bitweaver Kernel is set up to automatically include header information from all packages. Any information you want included in the HTML HEAD you put in a file named "header_inc.tpl" which goes in your package's _templates_ folder.
To create conditional header includes simply nest tpl files in the header_inc.php file. You can do this by using the this include code:
{CODE()}{ include file="bitpackage:yourpackagename/subheader.tpl"}
{CODE}
!!!Creating the dropdown and side panel menus
Each package has teplate file that has its menus. You need to explicitly declair what you want in a menu in your own template file. For an example see the wiki package menu_wiki.tpl which you can find at:
wiki/templates/menu_wiki.tpl