Loading...
 

CartoGraf

Please see update: CartoGraf_15





CartoGraf site
CartoGraf site


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 using Tiki as Framework.

 Development notice
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.

This profile takes advantage of the new features coming in Tiki 11, specifically for File Galleries and Draw.



To get your own copy of CartoGraf
  1. You need to get branches/12x (Tiki12.x from SVN) for the latest and greatest goodies :-) (Use the Daily Build of Tiki from SVN)
  2. Activate .htaccess by renaming _htaccess (even better is to link from .htaccess to _htaccess) Note: rewrite rules are essential for this profile
  3. Select and apply the CartoGraf profile from tiki-admin.php?page=profiles
  4. Follow the profile Setup instructions

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

To see a demo video, please visit: https://tv.tiki.org/CartoGraf

Theme

Pages included by this profile

Using:
French version:

General Preferences

YAML
instructions: Setup preferences: feature_search_fulltext: n feature_search: y feature_sefurl: y allowRegister: y browsertitle: CartoGraf Project tracker_refresh_itemlink_detail: y 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 layout_add_body_group_class: y feature_wiki_ext_icon: n feature_syntax_highlighter: n sitelogo_title: CartoGraf sitelogo_alt: CartoGraf logo


Temporary

YAML
preferences: validateUsers: n feature_antibot: n sitelogo_alt: CartoGraf logo


File Galleries Prefs

YAML
preferences: fgal_tracker_existing_search: y fgal_elfinder_feature: y fgal_upload_from_source: y fgal_quota_per_fgal: y fgal_quota_default: 0 fgal_sort_mode: lastModif fgal_list_name: n fgal_list_description: y fgal_list_last_user: y fgal_list_author: o fgal_list_created: o fgal_list_lastModif: y fgal_list_size: y fgal_list_files: n fgal_image_max_size_x: 800

User Files

YAML
preferences: feature_userfiles: y feature_use_fgal_for_user_files: y userfiles_private: n userfiles_hidden: y userfiles_quota: 30 quota_show: bar_and_text


Limit username pattern

CartoGraf relies heavily on Unified Search (Zend_Search_Lucene). Because of this, a username jean-marc won't work. Since hypens are often used in emails, you can't use CartoGraf with the pref "Use email as username" (login_is_email). Space and quote should also not be permitted. Theoretically, underscore (_) should work, but tests have demonstrated that is doesn't. Thus, we are restricting to only numbers and letters, without any accents.
As of Tiki 12 the default unified search engine uses mysql which has a minimum searchable token length of 4, so setting minumum user name length to 5 to be safe.

YAML
preferences: username_pattern: /^[_a-zA-Z0-9]*$/ login_is_email: n min_username_length: 5


Permissions

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


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 smarty_security_dirs: [styles/CartoGraf/img]


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: 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: nobox: y nopage: Map custom: <div id="TheLiveHeaderMap" style="height:188px"></div> - type: module ref: Footer_module data: position: bottom order: 0 name: Footer groups: [ Anonymous, Registered ] params: nobox: y custom: "{if $prefs.language eq 'fr'}{wikiplugin _name='include' page='Footer' start='-FR-START-' stop='-FR-END-'}{/wikiplugin}{else}{wikiplugin _name='include' page='Footer' start='-EN-START-' stop='-EN-END-'}{/wikiplugin}{/if}" - 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



Drawing

YAML
preferences: feature_draw: y feature_draw_separate_base_image: y feature_draw_in_userfiles: 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, main_button

Trackers

Points of interest

YAML
objects: - type: tracker ref: pointsOfInterest data: name: Points of interest allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab admin_only_view: y - type: tracker_option data: tracker: $pointsOfInterest name: popup_fields value: "$profileobject:poiImage$,$profileobject:poiDescription$,$profileobject:poiFinder$" - type: tracker_field ref: poiName data: order: 10 name: Name type: text_field tracker: $pointsOfInterest flags: [ public, mandatory, list, title, link, searchable ] - type: tracker_field ref: poiDescription data: order: 20 name: Description type: text_area options: "1,,12" tracker: $pointsOfInterest flags: [ public ] - type: tracker_field ref: poiIcon data: order: 30 name: Icon type: icon tracker: $pointsOfInterest flags: [ public, list ] options: "$profileobject:iconContainer$" - type: tracker_field ref: poiCoordinates data: order: 40 name: Coordinates type: header tracker: $pointsOfInterest - type: tracker_field ref: poiLocation data: order: 50 name: Location type: map options: "1" tracker: $pointsOfInterest flags: [ public, mandatory ] - type: tracker_field ref: poiAttachments data: order: 60 name: Attachments type: header tracker: $pointsOfInterest - type: tracker_field ref: poiImage data: order: 70 name: Image type: files options: "2,image/*,1,img,,,1,n,$profileobject:imageBank$,2" tracker: $pointsOfInterest flags: [ public ] - type: tracker_field ref: poiDetails data: order: 80 name: Details type: header tracker: $pointsOfInterest - type: tracker_field ref: poiMap data: order: 90 name: Map type: item_link options: trackerId: $profileobject:maps$ fieldId: $profileobject:mapName$ displayFieldsList: - 0 status: opc preSelectFieldMethod: exact displayOneItem: one indexRemote: - $profileobject:mapShareCode$ cascade: 7 tracker: $pointsOfInterest flags: [ public, mandatory, list, title, searchable ] permname: map visible: immutable - type: tracker_field ref: poiFinder data: order: 100 name: Finder type: user options: "1" tracker: $pointsOfInterest flags: [ public, mandatory, list ] permname: finder visible: immutable

Zones

This is both for polygons and paths

YAML
objects: - type: tracker ref: zones data: name: Zones allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab admin_only_view: y - type: tracker_option data: tracker: $zones name: popup_fields value: "$profileobject:zoneImage$,$profileobject:zoneDescription$,$profileobject:zoneFinder$" - type: tracker_field ref: zoneName data: order: 10 name: Name type: text_field tracker: $zones flags: [ public, list, title, link, searchable ] - type: tracker_field ref: zoneDescription data: order: 20 name: Description type: text_area options: "1,,12" tracker: $zones flags: [ public ] - type: tracker_field ref: zoneAttachments data: order: 30 name: Attachments type: header tracker: $zones - type: tracker_field ref: zoneImage data: order: 40 name: Image type: files options: "2,image/*,1,img,,,1,n,$profileobject:imageBank$,2" tracker: $zones flags: [ public ] - type: tracker_field ref: zoneDetails data: order: 50 name: Details type: header tracker: $zones - type: tracker_field ref: zoneMap data: order: 60 name: Map type: item_link options: trackerId: $profileobject:maps$ fieldId: $profileobject:mapName$ displayFieldsList: - 0 status: opc preSelectFieldMethod: exact displayOneItem: one indexRemote: - $profileobject:mapShareCode$ cascade: 7 tracker: $zones flags: [ public, mandatory, list, title, searchable ] permname: map visible: immutable - type: tracker_field ref: zoneFinder data: order: 70 name: Finder type: user options: "1" tracker: $zones flags: [ public, mandatory, list ] permname: finder visible: immutable - type: tracker_field ref: zoneFeature data: order: 80 name: Zone type: geographic_feature options: "" tracker: $zones flags: [ public, mandatory ]


Maps

YAML
objects: - type: tracker ref: maps data: name: Maps allow: [creator_modification, creator_deletion] show: list_modification_date section_format: tab admin_only_view: y - 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: [ public, mandatory, list, title, link, searchable ] - type: tracker_field ref: mapDescription data: name: Instructions type: text_area options: "1,,15" tracker: $maps order: 20 flags: [ public, searchable ] - type: tracker_field ref: mapShareCode data: name: Share Code type: text_field tracker: $maps flags: [ public, list, searchable ] options: "0,10,,,50 order: 30 permname: shareCode validation: regex validation_param: \\w* validation_message: Only letters and numbers are allowed in share codes - type: tracker_field ref: mapDetailsHeader data: name: Change Base location type: header tracker: $maps order: 40 - type: tracker_field ref: mapBaseLocation data: name: Base Location type: map tracker: $maps order: 50 flags: [ public, mandatory ] - type: tracker_field ref: mapOwner data: name: Owner type: user options: "1" tracker: $maps order: 60 flags: [ public, mandatory, list ] permname: owner visible: immutable


Legends

YAML
objects: - type: tracker ref: legend data: name: Legend allow: [creator_modification, creator_deletion] show: list_modification_date admin_only_view: y - type: tracker_field ref: legendIcon data: name: Icon type: icon tracker: $legend flags: [ public, mandatory, list ] order: 10 options: "$profileobject:iconContainer$" - type: tracker_field ref: legendText data: name: Text type: text_field tracker: $legend order: 20 flags: [ public, mandatory, list, title, link, searchable ] - type: tracker_field ref: legendMap data: name: Map type: item_link options: trackerId: $profileobject:maps$ fieldId: $profileobject:mapName$ displayFieldsList: - 0 status: opc preSelectFieldMethod: exact displayOneItem: one indexRemote: - $profileobject:mapShareCode$ cascade: 7 tracker: $legend flags: [ public, mandatory, list, title, searchable ] permname: map order: 30 visible: immutable - type: tracker_field ref: legendFinder data: name: Finder type: user options: "1" tracker: $legend order: 40 flags: [ public, mandatory, list ] permname: finder visible: immutable


File Galleries

User files needs to be added somewhere
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: [] init_files: - https://profiles.tiki.org/pics/icons/plugin.png - type: file_gallery ref: imageBank data: parent: 1 name: Image Bank description: Images uploaded by site admins, for use by teachers and students owner: admin archives: -1 flags: [visible] image_max_size_x: 0

Wiki Pages

YAML
objects: - type: wiki_page ref: home_page data: name: HomePage content: wikicontent:CartoGraf_HomePage - type: wiki_page ref: cartograf_footer data: name: Footer content: wikicontent:CartoGraf_Footer - 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: 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




Development Wiki

Moved to https://dev.tiki.org/CartoGraf.

Created by luciash d' being. Last Modification: Monday 09 of July, 2018 09:55:51 GMT-0000 by Marc Laporte.