Loading...
Use
Create
Develop
FAQ
Troubleshooting
History: CartoGraf_15
View page
Source of version: 38
(current)
::{img src="https://tiki.org/display545" link="https://profiles.tiki.org/CartoGraf-15" alt="CartoGraf site" desc="CartoGraf site" align="center" imalign="center" width="550"}:: ! CartoGraf for Tiki version 15+ __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 to make a very specific application using Tiki as a ((dev:Framework)). To get your own copy of CartoGraf: # You need to get branches/15x (Tiki 15.x version from SVN) for the latest and greatest goodies :-) # Activate .htaccess by renaming _htaccess (even better is to link from .htaccess to _htaccess) {REMARKSBOX()}Note: rewrite rules are essential for this profile{REMARKSBOX} # You need to get the CartoGraf theme first and copy it over to the -+themes/+- directory (see Theme section below) # Select and apply this __CartoGraf_15__ profile from tiki-admin.php?page=profiles # Follow the ((CartoGraf_15_Setup|profile Setup instructions)) We hope you like it and feel free to join the Tiki community! To see a demo video of the older version, please visit: [https://tv.tiki.org/CartoGraf|https://tv.tiki.org/CartoGraf|box;] ! Theme * As for ongoing theme development, the code is on https://sourceforge.net/p/tikiwiki/code/HEAD/tree/users/cartograf/cartograf_tiki15/ * You can also use SVN to get all the latest code developed by using the following command:{CODE()}svn checkout https://svn.code.sf.net/p/tikiwiki/code/users/cartograf cartograf{CODE} ! Pages included by this profile * ((CartoGraf_HomePage)) * ((CartoGraf_Footer)) * ((CartoGraf_15_Setup)) * ((CartoGraf_Help)) * ((CartoGraf_15_Map)) * ((CartoGraf_MapCanvasShare)) * ((CartoGraf_MapCanvasSolo)) * ((CartoGraf_MapSelector)) * ((CartoGraf_NewAccountValidationIncludedPage)) * ((CartoGraf_languages)) !! General Preferences {CODE(caption="YAML")} #instructions: Setup preferences: feature_search_fulltext: n 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 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 {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)) (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. {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: "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 ] {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_15_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 content: wikicontent:CartoGraf_15_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 {CODE} ! Known Issues !! Regressions (means it works fine in Tiki 12) * Streetview images loaded remotely from Google after saving the marker do not load (403 forbidden even with API key filled in to control panels - seems missing lib reference in html head for some reason?) * --Uploading files (images) via modal dialog does not work (returns error "File empty") ( see https://dev.tiki.org/item6350 )-- Workaround-ed by setting the height max size too. ! Notes * [https://tiki.org/TikiFestMontreal-Ottawa11#Maps_REAL_AMP_CartoGraf|CartoGraf was originally and officially launched on 2013-04-13 during the TikiFest Montréal/Ottawa in 2013] and is in production at http://cartograf.recitus.qc.ca/ (This site is in French) and at [https://cartograf.learnquebec.ca] (in English) ! Development Wiki Moved to [https://dev.tiki.org/CartoGraf]. -=Aliases=- (alias(CartoGraf-15)) | (alias(CartoGraf for Tiki 15))
Menu
Featured profiles
Profiles in Wizard
Profiles Todos
Handlers
Profiles Tester
Admin
of this site
Current Profiles
Tiki version
21.x
24.x
26.x
27.x
28.x
Deprecated
25.x
state
Not fully functional yet
alpha
beta
release
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
Voting_System
test_profile_change
Test_all_tracker_field_types_profile
Scheduler_Presets_20
Tracker_as_Calendar_09
Tracker_as_Calendar_10
Hide Fixed Top Nav Bar on Scroll 19
Easy_GeoBlog
Profiles_in_Wizard
Random_header_images_14
Hide Fixed Top Nav Bar on Scroll 19
How to Create Profiles
Test_All_Plugins
JonnyBs_Luxury_Tiki_Setup
Collaborative_Multilingual_Terminology
...more
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!