Use
Create
Develop
FAQ
Troubleshooting
History: CartoGraf
View page
Show All Versions
Source of version: 623
«
»
{REMARKSBOX(type="warning" title="Development notice" icon="hard-hat")} Currently being updated for Tiki 27+, seems to work mostly, please report any issues to the [https://matrix.to/#/#tiki-org_community:gitter.im|Tiki chat room] {REMARKSBOX} ! CartoGraf for Tiki version 27+ ^ CartoGraf was officially launched on 2013-04-13 during the [https://tiki.org/TikiFest2013-MontrealOttawa#Maps_REAL_AMP_CartoGraf|2013 Montreal TikiFest] and is in production at [http://cartograf.learnquebec.ca] ^ ::{img src="https://tiki.org/display545" link="https://profiles.tiki.org/CartoGraf" alt="CartoGraf site" desc="CartoGraf site" align="center" imalign="center" width="550"}:: __CartoGraf__ is an interactive web-based mapping application to enhance learning in history and geography classes in high schools. CartoGraf is mainly based on [https://doc.tiki.org/Maps|Maps], [https://doc.tiki.org/Drawings|Drawings], [https://doc.tiki.org/PluginAppFrame|PluginAppFrame] and [https://doc.tiki.org/Trackers|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 ((dev:Framework)). To get your own copy of CartoGraf # You need to get branches/27x (from [https://gitlab.com/tikiwiki/tiki/-/tree/27.x|GitLab]) for the latest and greatest goodies :-) (Use the [https://dev.tiki.org/Daily Build|Daily Build] of Tiki from [https://dev.tiki.org/Get+code|git]) # The custom theme is also available from GitLab [https://gitlab.com/tikiwiki/profiles/cartograf|here] # Activate .htaccess by renaming _htaccess (even better is to link from .htaccess to _htaccess) Note: rewrite rules are essential for this profile # Select and apply the CartoGraf profile from tiki-admin.php?page=profiles # Follow the ((CartoGraf_Setup|profile Setup instructions)) We hope you like it and please do join the community! To see a demo, please visit: (coming soon) ! Theme * Theme is attached to this page as a zip (soon). * Also available from [https://gitlab.com/tikiwiki/profiles/cartograf] ! Pages included by this profile Using: * ((CartoGraf_HomePage)) * ((CartoGraf_Footer)) * ((CartoGraf_Setup)) * ((CartoGraf_Help)) * ((CartoGraf_Map)) * ((CartoGraf_MapCanvasShare)) * ((CartoGraf_MapCanvasSolo)) * ((CartoGraf_MapCanvasEmpty)) * ((CartoGraf_MapSelector)) * ((CartoGraf_NewAccountValidationIncludedPage)) * ((CartoGraf_languages)) French version: * ((CartoGraf_FR)) !! General Preferences {CODE(caption="YAML")} instructions: Setup preferences: feature_search: y feature_sefurl: y allowRegister: n browsertitle: CartoGraf Demo tracker_refresh_itemlink_detail: y geo_always_load_openlayers: y url_after_validation: Account_Validated feature_jquery_ui_theme: start feature_left_column: n theme_unified_admin_backend: y tracker_clone_item: y toolbar_trackers: bold,list,numlist,wikiplugin_youtube layout_add_body_group_class: y layout_tabs_optional: n feature_wiki_ext_icon: n feature_syntax_highlighter: n search_error_missing_field: n sitelogo_title: CartoGraf sitelogo_alt: CartoGraf logo geo_enabled: y jquery_select2: y jquery_select2_sortable: y wizard_admin_hide_on_login: y {CODE} !! Temporary {CODE(caption="YAML")} preferences: validateUsers: n feature_antibot: n sitelogo_alt: CartoGraf logo {CODE} !! File Galleries Prefs {CODE(caption="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 {CODE} !! User Files {CODE(caption="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 {CODE} !! Limit username pattern CartoGraf relies heavily on ((doc:Unified Search)). 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. {CODE(caption="YAML" colors="yaml")} preferences: username_pattern: /^[_a-zA-Z0-9]*$/ login_is_email: n min_username_length: 5 {CODE} !! Permissions {CODE(caption=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 {CODE} !! Look & Feel {CODE(caption=YAML)} preferences: theme: CartoGraf feature_fixed_width: n jquery_ui_selectmenu: y feature_page_title: n feature_sitelogo: y wiki_edit_plugin: n sitelogo_src: themes/CartoGraf/img/logo.gif smarty_security_dirs: [themes/CartoGraf/img] {CODE} !! Menus {CODE(caption=>YAML,wrap=1)} 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 ] - name: Admin url: tiki-admin.php permissions: [ admin ] - type: menu ref: CartoGraf_RightEdge_menu data: name: RightEdge description: collapse: none items: - name: Register url: tiki-register.php groups: [ Anonymous ] - name: Demo url: ((Demo)) - name: Contact url: ((Contact)) {CODE} !! Modules {CODE(caption=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: CustomDynamicCSS_module data: position: pagetop order: 0 name: Custom Dynamic CSS groups: [ Anonymous, Registered ] params: nobox: y custom: "{if $prefs.search_error_missing_field eq 'n'}{literal}<style type='text/css'>#error_report .alert {display: none}</style>{/literal}{/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: bootstrap: n id: $CartoGraf_RightEdge_menu menu_id: RightEdgeMenu nobox: y nopage: Map {CODE} !! Features {CODE(caption=YAML)} preferences: feature_wiki: y feature_articles: n feature_mytiki: n feature_trackers: y geo_tilesets: [openstreetmap, 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 {CODE} !! Drawing {CODE(caption="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 {CODE} !! Trackers !!! Points of interest {CODE(caption=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: toolbars: 1 height: 6 distinct: n wysiwyg: n samerow: 1 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: galleryId: 2 filter: image/* count: 1 displayMode: img replace: n uploadInModal: y image_x: 800 image_y: 800 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 {CODE} !!! Zones This is both for polygons and paths {CODE(caption=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: toolbars: 1 height: 6 distinct: n wysiwyg: n samerow: 1 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: galleryId: 2 filter: image/* count: 1 displayMode: img replace: n uploadInModal: y image_x: 800 image_y: 800 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 ] {CODE} !!! Maps {CODE(caption="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: toolbars: 1 height: 6 distinct: n wysiwyg: n samerow: 1 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 {CODE} !!! Legends {CODE(caption="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 {CODE} !! File Galleries User files need to be added somewhere {CODE(caption=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: [visible] # 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 {CODE} !! Wiki Pages {CODE(caption=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 {CODE} !!! Application Frame Pages {CODE(caption=YAML)} objects: - type: wiki_page ref: map_page data: name: Map wysiwyg: n content: wikicontent:CartoGraf_Map - type: wiki_page ref: mapcanvas_share_page data: name: MapCanvasShare wysiwyg: n content: wikicontent:CartoGraf_MapCanvasShare - type: wiki_page ref: mapcanvas_solo_page data: name: MapCanvasSolo wysiwyg: n content: wikicontent:CartoGraf_MapCanvasSolo - type: wiki_page ref: mapcanvas_empty_page data: name: MapCanvasEmpty wysiwyg: n content: wikicontent:CartoGraf_MapCanvasEmpty - type: wiki_page ref: mapselector_page data: name: MapSelector wysiwyg: n content: wikicontent:CartoGraf_MapSelector {CODE} ! Development Wiki Moved to [https://dev.tiki.org/CartoGraf].
History
Enable pagination
rows per page
HTML diff
Side-by-side diff
Side-by-side diff by characters
Inline diff
Inline diff by characters
Full side-by-side diff
Full side-by-side diff by characters
Full inline diff
Full inline diff by characters
Unified diff
Side-by-side view
Information
Version
Tue 03 of Mar, 2026 19:01 GMT-0000
Jonny Bradley
Location no longer mandatory (due to a code change)
624 - 625
Actions
View
Source
Thu 26 of Feb, 2026 15:09 GMT-0000
Jonny Bradley
It's not the copying, it's the pasting!
620 - 623
Actions
View
Source
Thu 26 of Feb, 2026 14:20 GMT-0000
Jonny Bradley
Some reformatting and update to beta state
618 - 619
Actions
View
Source
Thu 26 of Feb, 2026 13:36 GMT-0000
Jonny Bradley
Make the application pages wysiwyg: n
615 - 617
Actions
View
Source
Thu 26 of Feb, 2026 11:44 GMT-0000
Jonny Bradley
Added jquery_select2 and jquery_select2_sortable
614
Actions
View
Source
Wed 25 of Feb, 2026 15:28 GMT-0000
Jonny Bradley
Added updates from Cartograf_15
611 - 613
Actions
View
Source
Mon 09 of Jul, 2018 09:55 GMT-0000
Marc Laporte
fix link
610
Actions
View
Source
Thu 07 of Dec, 2017 15:00 GMT-0000
Marc Laporte
fix URL
609
Actions
View
Source
Fri 09 of Dec, 2016 00:52 GMT-0000
Marc Laporte
Latest and greatest
608
Actions
View
Source
Thu 03 of Nov, 2016 08:17 GMT-0000
luciash d' being 🧙
apparently the syntax needs spaces around
606 - 607
Actions
View
Source
Fri 14 of Oct, 2016 09:07 GMT-0000
Xavi (as xavidp - admin)
Mass search and replace
601 - 605
Actions
View
Source
Select action to perform with checked...
Remove
OK
«
1
(current)
2
3
4
…
25
»
Menu
Featured profiles
Profiles in Wizard
Profiles Todos
Handlers
Profiles Tester
Admin
of this site
Current Profiles
state
alpha
beta
Not fully functional yet
release
Tiki version
24.x
27.x
28.x
29.x
Deprecated
type
Available in the Profiles Wizard (12+)
Featured profiles
Full profile (out of the box & ready to go)
Learning profile (to show off feature)
Long tail
Mini-profile (can be included in other)
Profile-snippet (optional but needs another "parent" profile)
Security
Tests
Latest Changes
Test_all_tracker_field_types_profile
Profile Developer Documentation
Run Profiles From Plugin List Execute
JonnyBs_Luxury_Tiki_Setup
CartoGraf_Map
CartoGraf
CartoGraf_FR_Map
CartoGraf_MapCanvasEmpty
CartoGraf_MapCanvasShare
Cartograf_MapCanvasSolo
CartoGraf_Setup
CartoGraf_HomePage
CartoGraf_FR
CartoGraf
CartoGraf_15
Custom Repository
Welcome to Tiki Profiles
Test_All_Modules_A_to_F
Test_All_Modules
Test_All_Modules_Q_to_Z
...more
Similar pages
GeoCMS_Maps_22
Easy_GeoBlog
GeoCMS_Maps_18
Like almost all *.tiki.org sites, you can log in with your login from
https://tiki.org
(register over there)
Search
Find
Most Popular Tags
admin
agenda
alias
antibot
antibot captcha
app
archive
articles
banning
batch
blogs
calculations
calendars
cart
categories
cluster
codemirror
comments
computation
contact us
datachannel
debug
debug console
dropdown with other
error messages
features
file galleries
forums
geo
geocms
geolocation
group homepages
group watches
header
i18n
images
item link
items list
jquery
languages
location
map
maps
maths
menu
menupage
multilingual
ol3
ol5
openlayers
paypal
plugin
plugin alias
plugin datachannel
plugin fade
plugin tabs
plugin trackerlist
pretty trackers
print
project management
r
r project
realnames
rss
static
static text
statistics
stats
structures
syntax highlighter
tablesorter
template
trackers
user watches
visualization
watches
webservice
wiki
wiki argument variables
wiki structures
Tiki Newsletter
Subscribe to the Tiki newsletter.
Don't miss major announcements and other news!