Loading...
 

History: CartoGraf

Preview of version: 278

CartoGraf is an interactive web-based mapping application to enhance learning in history and geography classes in high schools. CartoGraf is mainly based on Maps, Drawings, PluginAppFrame and Trackers. It is a great example of how to use profiles in a general purpose app (Tiki) to make a very specific application.

As of June 2012, it is in Beta. You can play with the demo at: http://demo.tiki.org/cartograf/ (password is at: http://demo.tiki.org/)

To get your own copy of CartoGraf
  1. Download and Install Tiki9 As of 2012-07-10, you need to get trunk (future Tiki10) for the latest and greatest goodies :-) (Use the Daily Build of from SVN)
  2. Apply the CartoGraf profile
  3. Follow the profile Setup instructions

We hope you like it and please do join the community!

Work in Progress...

(Do not use Kaltura wikiplugin as it is not enabled in default install when viewing the profile before apply)

General

YAML
instructions: Setup preferences: feature_sefurl: y allowRegister: y browsertitle: CartoGraf Project tracker_refresh_itemlink_detail: y header_custom_css: wikicontent:CartoGraf_CustomCSS header_custom_js: wikicontent:CartoGraf_LiveHeaderMap geo_always_load_openlayers: y url_after_validation: Account_Validated feature_jquery_ui_theme: start feature_left_column: n tracker_clone_item: y toolbar_trackers: bold,list,numlist,wikiplugin_youtube fgal_tracker_existing_search: n


Permissions

YAML
permissions: Anonymous: allow: - search - view_trackers - tracker_view_attachments Registered: allow: - attach_trackers - create_tracker_items - add_object - remove_object - upload_files


Users

YAML
objects: - type: users data: name: $profilerequest:Test User 1 Login Name:$demo$ email: $profilerequest:User 1 Email (optional):$ $ groups: [ $profilerequest:Groups User 1 should be assigned (for more groups separate them by comma):$Registered$ ]



This doesn't work in Tiki9. User always gets password changed
change: $profilerequest:Change password for User 1 after first login? (y/n):$n$

Look & Feel

YAML
preferences: style: CartoGraf.css feature_fixed_width: n jquery_ui_selectmenu: y feature_page_title: n feature_sitelogo: y wiki_edit_plugin: n sitelogo_src: styles/CartoGraf/logo.gif


YAML
objects: - type: menu ref: CartoGraf_Top_menu data: name: Top description: A menu containing the base navigation of the site collapse: none items: - name: Home url: ((HomePage)) - name: Maps url: ((MyMaps)) - name: Partners url: ((Partners)) - name: Help url: ((Help)) - name: Setup url: ((Setup)) permissions: [ admin ] - type: menu ref: CartoGraf_RightEdge_menu data: name: RightEdge description: collapse: none items: - name: Register url: tiki-register.php - name: Demo url: ((Demo)) - name: Contact url: ((Contact))


Modules

YAML
preferences: modseparateanon: y objects: - type: module ref: LiveHeaderMap_module data: position: top order: 0 name: LiveHeaderMap groups: [ Anonymous, Registered ] params: nopage: Map custom: <div id="TheLiveHeaderMap" style="height:188px"></div> - type: module ref: LocationSearch_module data: position: top order: 49 #ensure the map location search is assigned as last module name: map_search_location groups: [ Registered ] params: legacy_mode: search_box show_search_button: y show_go_button: n show_edit_button: n default_button: search page: Map nobox: y style: "float: right; margin-right: 15px" #most of the params ignored as the module is not standard and does have no module div rendered but just the form tag (TODO: fix in Tiki) - type: module ref: TopMenu_module data: position: top order: 1 name: menu groups: [ Anonymous, Registered ] params: id: $CartoGraf_Top_menu type:horiz css:y menu_id:TopMenu translate:y nobox:y decorations:n notitle:y style: "float: left; margin-left: 350px" - type: module ref: RightEdgeMenu_module data: position: right order: 1 name: menu groups: [ Anonymous ] params: id: $CartoGraf_RightEdge_menu menu_id: RightEdgeMenu nobox: y nopage: Map


Features

YAML
preferences: feature_wiki: y feature_articles: n feature_mytiki: n feature_trackers: y geo_tilesets: [mapquest_street, mapquest_aerial, google_street, google_satellite, google_physical, google_hybrid, blank] geo_google_streetview: y geo_google_streetview_overlay: y wikiplugin_appframe: y wikiplugin_list: y feature_search: y feature_wiki_argvariable: y trackerfield_geographicfeature: y fgal_upload_from_source: y



Drawing

Hiding of Drawing buttons requires Tiki10
YAML
preferences: feature_draw: y feature_draw_hide_buttons: ellipse_cx, tool_ellipse_cy, tool_ellipse_rx, tool_ellipse_ry, rect_width_tool, rect_height_tool, cornerRadiusLabel, tool_eyedropper, view_grid, tool_angle, tool_blur, tool_position, xy_panel, marker_panel, tool_reorient, rulers, tool_source, tool_zoom, tool_eyedropper, view_grid, tool_wireframe, line_panel


Trackers

YAML
objects: - type: tracker ref: pointsOfInterest data: name: Points of interest allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab - type: tracker_option data: tracker: $pointsOfInterest name: popup_fields value: "$profileobject:poiImage$,$profileobject:poiDescription$" - type: tracker_field ref: poiName data: order: 10 name: Name type: text_field tracker: $pointsOfInterest flags: [ mandatory, list, title, link, searchable ] - type: tracker_field ref: poiDescription data: order: 20 name: Description type: text_area options: "1" tracker: $pointsOfInterest flags: [ ] - type: tracker_field ref: poiIcon data: order: 30 name: Icon type: icon tracker: $pointsOfInterest flags: [ list ] options: "$profileobject:iconContainer$" - type: tracker_field ref: poiMap data: order: 40 name: Map type: item_link options: "$profileobject:maps$,$profileobject:mapName$,0,,opc,,,,0,0,exact,one,0,$profileobject:mapShareCode$" tracker: $pointsOfInterest flags: [ mandatory, list, title, searchable ] permname: map visible: creator_editable - type: tracker_field ref: poiFinder data: order: 50 name: Finder type: user options: "1" tracker: $pointsOfInterest flags: [ mandatory, list ] permname: finder visible: creator_editable - type: tracker_field ref: poiCoordinates data: order: 200 name: Coordinates type: header tracker: $pointsOfInterest - type: tracker_field ref: poiLocation data: order: 110 name: Location type: map options: "1" tracker: $pointsOfInterest flags: [ mandatory ] - type: tracker_field ref: poiAttachments data: order: 200 name: Attachments type: header tracker: $pointsOfInterest - type: tracker_field ref: poiImage data: order: 210 name: Image type: files options: "$profileobject:imageContainer$,image/*,1,1" tracker: $pointsOfInterest flags: [ ]


Zones Tracker

YAML
objects: - type: tracker ref: zones data: name: Zones allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab - type: tracker_option data: tracker: $zones name: popup_fields value: "$profileobject:zoneImage$,$profileobject:zoneDescription$" - type: tracker_field ref: zoneName data: order: 10 name: Name type: text_field tracker: $zones flags: [ list, title, link, searchable ] - type: tracker_field ref: zoneDescription data: order: 20 name: Description type: text_area options: "1" tracker: $zones flags: [ ] - type: tracker_field ref: zoneMap data: order: 30 name: Map type: item_link options: "$profileobject:maps$,$profileobject:mapName$,0,,opc,,,,0,0,exact,one,0,$profileobject:mapShareCode$" tracker: $zones flags: [ mandatory, list, title, searchable ] permname: map visible: creator_editable - type: tracker_field ref: zoneFinder data: order: 40 name: Finder type: user options: "1" tracker: $zones flags: [ mandatory, list ] permname: finder visible: creator_editable - type: tracker_field ref: zoneFeature data: order: 90 name: Zone type: geographic_feature options: "" tracker: $zones flags: [ mandatory ] - type: tracker_field ref: zoneAttachments data: order: 200 name: Attachments type: header tracker: $zones - type: tracker_field ref: zoneImage data: order: 210 name: Image type: files options: "$profileobject:imageContainer$,image/*,1,1" tracker: $zones flags: [ ]


Maps Tracker

YAML
objects: - type: tracker ref: maps data: name: Maps allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab - type: tracker_option data: tracker: $maps name: popup_fields value: "$profileobject:mapDescription$" - type: tracker_field ref: mapName data: name: Name type: text_field tracker: $maps order: 10 flags: [ mandatory, list, title, link, searchable ] - type: tracker_field ref: mapDescription data: name: Instructions type: text_area options: "1" tracker: $maps order: 20 flags: [ searchable ] - type: tracker_field ref: mapShareCode data: name: Share Code type: text_field tracker: $maps flags: [ list ] options: "0,10,,,15 order: 30 permname: shareCode - type: tracker_field ref: mapDetailsHeader data: name: Details type: header tracker: $maps order: 40 - type: tracker_field ref: mapBaseLocation data: name: Base Location type: map tracker: $maps order: 50 flags: [ mandatory ] - type: tracker_field ref: mapOwner data: name: Owner type: user options: "1" tracker: $maps order: 60 flags: [ mandatory, list ] permname: owner


Legend

YAML
objects: - type: tracker ref: legend data: name: Legend allow: [creator_modification, creator_deletion] show: list_modification_date - type: tracker_field ref: legendIcon data: name: Icon type: icon tracker: $legend flags: [ mandatory, list ] options: "$profileobject:iconContainer$" - type: tracker_field ref: legendText data: name: Text type: text_field tracker: $legend flags: [ mandatory, list, title, link, searchable ] - type: tracker_field ref: legendMap data: name: Map type: item_link options: "$profileobject:maps$,$profileobject:mapName$,0,,opc,,,,0,0,exact,one,0,$profileobject:mapShareCode$" tracker: $legend flags: [ mandatory, list, title, searchable ] permname: map visible: creator_editable - type: tracker_field ref: legendFinder data: name: Finder type: user options: "1" tracker: $legend flags: [ mandatory, list ] permname: finder visible: creator_editable


File Galleries

YAML
objects: - type: file_gallery ref: iconContainer data: parent: 1 name: Icons description: Icons available for selection in the map. owner: admin archives: 5 flags: [ public, visible ] column: [ icon, name, created, creator, files ] init_files: - http://profiles.tiki.org/pics/icons/plugin.png - type: file_gallery ref: imageContainer data: parent: 1 name: Image Uploads description: Images uploaded by students owner: admin archives: -1 flags: [ public, visible ] column: [ icon, name, created, creator, files ]


Wiki Pages

YAML
objects: - type: wiki_page ref: home_page data: name: HomePage content: wikicontent:CartoGraf_HomePage - type: wiki_page ref: cartograf_setup data: name: Setup description: Post-Profile Setup Instructions lang: en content: wikicontent:CartoGraf_Setup - type: wiki_page ref: cartograf_help data: name: Help description: Help lang: en content: wikicontent:CartoGraf_Help - type: wiki_page ref: account_validated_page data: name: Account_Validated description: Account Validated lang: en content: wikicontent:CartoGraf_NewAccountValidationIncludedPage - type: wiki_page ref: demo_page data: name: Demo lang: en content: wikicontent:CartoGraf_Demo - type: wiki_page ref: partners_page data: name: Partners lang: en content: wikicontent:CartoGraf_Partners - type: wiki_page ref: contact_page data: name: Contact lang: en content: wikicontent:CartoGraf_Contact


Application Frame Pages

YAML
objects: - type: wiki_page ref: mymaps_page data: name: MyMaps content: wikicontent:CartoGraf_MyMaps - type: wiki_page ref: map_page data: name: Map content: wikicontent:CartoGraf_Map - type: wiki_page ref: mapcanvas_share_page data: name: MapCanvasShare content: wikicontent:CartoGraf_MapCanvasShare - type: wiki_page ref: mapcanvas_solo_page data: name: MapCanvasSolo content: wikicontent:CartoGraf_MapCanvasSolo - type: wiki_page ref: mapselector_page data: name: MapSelector content: wikicontent:CartoGraf_MapSelector


Using:


Developer notes

  • When you apply the profile, you may see "Preference set: geo_tilesets=Array" in the response. This is a cosmetic error. The preference is set correctly.
1-liner to re-install a fresh Tiki with profile
php installer/shell.php install; sh setup.sh ; php lib/search/shell.php rebuild; php lib/profilelib/shell.php install CartoGraf; php lib/profilelib/shell.php install Screencast ; sh setup.sh


Questions

  • Map title & description: Where should they go? we found a place
  • Where should layer selector go? was decided at the bottom
  • Is there any point for the "Editable" and "Markers" checkboxes currently in tools?
  • Is there a way to fork-copy but not join?

Todos


At the end

  • Make a French language profile for content and the top-level icons


Maps

  • Meta data about maps: No current way to edit (title, instructions, etc. ) and delete after creation done
  • 2012-08-24: Can't delete legends fixed
  • 2012-08-24: Can't change colors of lines drawn on maps fixed
  • Minify JavaScript not working with 41807 seems OK nowadays
  • StreetView: nicer error message when not found done
  • Texte on POI? (even without pop-up?) (not desired)
  • Improve UI of POI (to be less "system" and more "application")
  • Search: after picking result from short list, list should disappear and perhaps maps should zoom in actually, this is debatable. You may want to click one by one to see if you are at the righ place. Let's leave as is.
  • Permalink has sourceId=undefined: is this for the map/layer? If so, doesn't work. fixed


Legends

  • 2012-08-24: Default image not recognized fixed

Design

Drawing bugs & enhancements

  • Pass the current Tiki language to SVG-edit as per ConfigOptions
  • 2012-08-24: File is not an image when trying to draw fixed
  • Registered user should only be able to draw on own pictures
  • Regular drawings: missing canvas. Try from tiki-list_file_gallery.php on latest 9.x
  • Warning: imagecreatefromstring() function.imagecreatefromstring: Data is not in a recognized format in /home/learnow/public_html/cartograf/lib/images/gd.php on line 57 fixed
  • pop-up too small fixed
    • Now too big!
  • r41807: Registered users don't have draw on image button fixed
  • Stay in place after draw (Robert)
    • IE9 and Firefox are superb. Chrome needs an extra refresh to show background pic
  • Drawing interface is cluttered (canvas seems too big)
  • Why is opacity disappearing?
  • Find a way to use http://code.google.com/p/svg-edit/wiki/ConfigOptions
  • Default opacity should be configurable via Tiki (we want 50% for CartoGraf)
  • There are other suggestions/requests from Steve/Marie-Anne but we'll come back later to them (Marc has email about this)

Trunk

  • Proper testing of hiding buttons, and add list to profile done
    • After: apply for a backport to 9.x done

General

  • Test everything as a regular user
  • Add a general image gallery for the POI interface (to improve on the search interface)
  • Print view of map, POIs and legend
  • demo users are forced to change password even though the profile says they don't need to
  • jQuery pop-up make smaller when there is not a lot of content (better for small screens)
  • As we are working collaboratively on .css and .tpl, how about adapt PluginArchiveBuilder to build the theme zip?
  • Get it working on http://demo.tiki.org/cartograf/
    • Weird issues, suspected issue with Lucene "Search index could not be updated. The site is misconfigured. Contact an administrator." looks OK now, perhaps was a broken template. running sh setup.sh seems to solve it.
    • Demo should flush daily
      • Pass sender email, password, etc. in the cron job
      • Perhaps we could do two runs
        • 1st run is general profile (like everyone else)
        • 2nd run is profile with things specific to the demo (and hard coding instructions to avoid having any manual config)
  • Make waiting with a better UI (ex.: blank page with spinner instead of seeing Tiki application stuff)
    • Ask Jonny
  • When logged in, link to tiki-register.php should be hidden

Workaroundable

  • Profiles for tracker Points of interest: order is not respected fixed

Community building

  • A started profile with realistic course data
  • More videos
  • More docs
  • A microsite would be nice but likely too much work for this phase

Limitations

  • We would have liked to add an Overview Map, but it is not working well. Next step would be to try again in OpenLayers 2.12 when it comes out. It works now!

Phase 2

History

Advanced
Information Version
Thu 20 of Sep, 2012 05:05 GMT-0000 Marc Laporte done 284
View
Thu 20 of Sep, 2012 05:05 GMT-0000 Marc Laporte Done 283
View
Wed 19 of Sep, 2012 17:52 GMT-0000 Marc Laporte almost there 282
View
Wed 19 of Sep, 2012 17:17 GMT-0000 Marc Laporte Code Plugin modified by editor. 281
View
Wed 19 of Sep, 2012 17:14 GMT-0000 Marc Laporte Re-order and add tab 280
View
Wed 19 of Sep, 2012 17:10 GMT-0000 Marc Laporte re-order and add a tab to POIs 279
View
Wed 19 of Sep, 2012 16:43 GMT-0000 Louis-Philippe Huberdeau Disabling the search in files tracker field 278
View
Wed 19 of Sep, 2012 04:12 GMT-0000 luciash d' being 🧙 inline code did not work 277
View
Wed 19 of Sep, 2012 03:59 GMT-0000 luciash d' being 🧙 static image done 276
View
Wed 19 of Sep, 2012 03:54 GMT-0000 luciash d' being 🧙 replace the LiveHeader map with static JPG image 275
View
Wed 19 of Sep, 2012 02:33 GMT-0000 Marc Laporte I like one-click color access 274
View
Tue 18 of Sep, 2012 23:00 GMT-0000 Marc Laporte Install Screencast seperately 273
View
Tue 18 of Sep, 2012 22:46 GMT-0000 Marc Laporte todo 272
View
Tue 18 of Sep, 2012 22:35 GMT-0000 Marc Laporte for luci 271
View
Tue 18 of Sep, 2012 22:17 GMT-0000 Marc Laporte Removing to force the admin to set the password 270
View
Tue 18 of Sep, 2012 21:19 GMT-0000 Marc Laporte I guess so, that's how people see it 269
View
Tue 18 of Sep, 2012 21:16 GMT-0000 Marc Laporte Adding Screencast profile so make it easier to test/report bugs 268
View
Tue 18 of Sep, 2012 20:49 GMT-0000 Marc Laporte broken or needs another param 267
View
Tue 18 of Sep, 2012 20:45 GMT-0000 Marc Laporte resolved 266
View
Tue 18 of Sep, 2012 19:50 GMT-0000 Marc Laporte Update to the proper popups is the proper order (image on top) 265
View
Tue 18 of Sep, 2012 19:36 GMT-0000 Marc Laporte Zone Name is already in the title bar of the popup 264
View
Tue 18 of Sep, 2012 19:28 GMT-0000 Marc Laporte done and 1 question 263
View
Tue 18 of Sep, 2012 19:09 GMT-0000 Marc Laporte We want the image in the popup 262
View
Tue 18 of Sep, 2012 18:47 GMT-0000 Marc Laporte now possible to set the pop-ups via the profile! (yay!) 261
View
Tue 18 of Sep, 2012 18:38 GMT-0000 Marc Laporte At the end 260
View