Fullscreen
Loading...
 
[Show/Hide Left Column]
[Show/Hide Right Column]

CartoGraf_10x_en

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

You can play with the demo at:
password is at: https://demo.tiki.org/

To get your own copy of CartoGraf
  1. You need to get branches/10x (Tiki10.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

  • Theme code is temporarily managed on a semi-private SVN. We will change later when we decide where it should live. (ask Jonny or Marc for access in the mean time)

Pages included by this profile

Using:

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
 fgal_tracker_existing_search: y
 fgal_elfinder_feature: y
 fgal_list_author: y
 fgal_list_created: y
 fgal_list_files: y
 fgal_list_lastModif: o
 fgal_list_size: o
 fgal_sort_mode: created_desc
 fgal_upload_from_source: y
 layout_add_body_group_class: y
 useGroupHome: 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
 log_tpl: y


Limit username pattern

CartoGraf relies heavily on Unified Search (Zend_Search_Lucene). Because of this, a username jean-marc won't work (but jean_marc is OK). 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.

YAML
preferences:
 username_pattern: /^[_a-zA-Z0-9]*$/
 login_is_email: 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
   - view_file_gallery


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: 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
 fgal_upload_from_source: y



Drawing

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, 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: [ mandatory, list, title, link, searchable ]
 -
  type: tracker_field
  ref: poiDescription
  data:
   order: 20
   name: Description
   type: text_area
   options: "1,,12"
   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: 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: [ 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: "$profileobject:imageContainer$,image/*,1,1,,,1,n,0"
   tracker: $pointsOfInterest
   flags: [  ]
 -
  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: "$profileobject:maps$,$profileobject:mapName$,0,,opc,,,,0,0,exact,one,0,$profileobject:mapShareCode$"
   tracker: $pointsOfInterest
   flags: [ 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: [ 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: [ list, title, link, searchable ]
 -
  type: tracker_field
  ref: zoneDescription
  data:
   order: 20
   name: Description
   type: text_area
   options: "1,,12"
   tracker: $zones
   flags: [  ]
 -
  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: "$profileobject:imageContainer$,image/*,1,1,,,1,n,0"
   tracker: $zones
   flags: [  ]
 -
  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: "$profileobject:maps$,$profileobject:mapName$,0,,opc,,,,0,0,exact,one,0,$profileobject:mapShareCode$"
   tracker: $zones
   flags: [ 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: [ mandatory, list ]
   permname: finder
   visible: immutable
 -
  type: tracker_field
  ref: zoneFeature
  data:
   order: 80
   name: Zone
   type: geographic_feature
   options: ""
   tracker: $zones
   flags: [ 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: [ mandatory, list, title, link, searchable ]
 -
  type: tracker_field
  ref: mapDescription
  data:
   name: Instructions
   type: text_area
   options: "1,,15"
   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
   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: [ mandatory ]
 -
  type: tracker_field
  ref: mapOwner
  data:
   name: Owner
   type: user
   options: "1"
   tracker: $maps
   order: 60
   flags: [ 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: [ mandatory, list ]
   order: 10
   options: "$profileobject:iconContainer$"
 -
  type: tracker_field
  ref: legendText
  data:
   name: Text
   type: text_field
   tracker: $legend
   order: 20
   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
   order: 30
   visible: immutable
 -
  type: tracker_field
  ref: legendFinder
  data:
   name: Finder
   type: user
   options: "1"
   tracker: $legend
   order: 40
   flags: [ mandatory, list ]
   permname: finder
   visible: immutable


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: []
   init_files:
    - https://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 ]
 -
  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]


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



For developers

1-liner to re-install a fresh Tiki with profile
php installer/shell.php install; sh setup.sh -n fix; php lib/search/shell.php rebuild; php lib/profilelib/shell.php install CartoGraf_10x_en; php lib/profilelib/shell.php install Screencast ; sh setup.sh -n fix; php lib/search/shell.php rebuild; sh setup.sh -n fix



Development Wiki

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

Contributors to this page: Xavi (as xavidp - admin) and Marc Laporte .
Page last modified on Friday 14 of October, 2016 11:07:59 CEST by Xavi (as xavidp - admin).