History: CartoGraf_15

Preview of version: 30

CartoGraf site
CartoGraf site


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 Maps, Drawings, PluginAppFrame and 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 Framework.

To get your own copy of CartoGraf:
  1. You need to get branches/15x (Tiki 15.x version from SVN) for the latest and greatest goodies :-)
  2. Activate .htaccess by renaming _htaccess (even better is to link from .htaccess to _htaccess)
    Note: rewrite rules are essential for this profile
  3. You need to get the CartoGraf theme first and copy it over to the themes/ directory (see Theme section below)
  4. Select and apply the CartoGraf-15 profile from tiki-admin.php?page=profiles
  5. Follow the 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

Theme


Pages included by this profile


General Preferences

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


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: 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]


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 ] - 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))


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


Features

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



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,,6" 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,,6" 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 need 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: [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

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_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


Application Frame Pages

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


Known Issues

Regressions

(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")

Notes


Development Wiki

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

Aliases
CartoGraf-15 | CartoGraf for Tiki 15

History

Information Version
Fri 14 of Sep, 2018 22:20 GMT-0000 Jonny Bradley Adding geo_enabled for 18.x plus installs 38
Mon 14 of Aug, 2017 16:09 GMT-0000 luciash d' being 🧙 disabling Setup page redirect to temporarily see what is going on when upgrading site from 12.x profile to 15.x profile 37
Tue 11 of Jul, 2017 12:50 GMT-0000 luciash d' being 🧙 https link to recitus site does not work 36
Tue 11 of Jul, 2017 12:32 GMT-0000 luciash d' being 🧙 little fix 35
Mon 10 of Jul, 2017 12:28 GMT-0000 luciash d' being 🧙 Workaround for the file upload issue 34
Fri 30 of Jun, 2017 20:47 GMT-0000 luciash d' being 🧙 try different options to fix the uploading bug 33
Fri 19 of May, 2017 19:02 GMT-0000 luciash d' being 🧙 link to bug report 32
Fri 19 of May, 2017 13:07 GMT-0000 luciash d' being 🧙 make it clear what the options are 31
Fri 19 of May, 2017 12:49 GMT-0000 luciash d' being 🧙 the textarea was too high (forgot to reduce it for the other trackers too) 30
Mon 03 of Apr, 2017 19:41 GMT-0000 luciash d' being 🧙 known issues 29
Wed 29 of Mar, 2017 15:48 GMT-0000 luciash d' being 🧙 the textarea was too high 28
Wed 22 of Mar, 2017 16:34 GMT-0000 luciash d' being 🧙 add module to hide debugging alerts 27
Wed 22 of Mar, 2017 10:24 GMT-0000 luciash d' being 🧙 add link to admin control panels 26
Wed 22 of Mar, 2017 09:15 GMT-0000 luciash d' being 🧙 removed obsolete info and do not allow registrations by default 25
Wed 15 of Mar, 2017 16:17 GMT-0000 luciash d' being 🧙 it did not work (help) to have this debug preference disabled; enabling it (which is default) 24
Wed 01 of Mar, 2017 18:43 GMT-0000 luciash d' being 🧙 Do not display the "No tabs" button toggle on the tabbed interfaces [rollback version 20] 23
Tue 14 of Mar, 2017 21:03 GMT-0000 luciash d' being 🧙 do not display the debugging error messages on search index if names entered correctly 22
Wed 01 of Mar, 2017 18:43 GMT-0000 luciash d' being 🧙 Do not display the "No tabs" button toggle on the tabbed interfaces 20
Tue 24 of Jan, 2017 11:39 GMT-0000 Xavier de Pedro restore version without spaces inside square brackets 19
Tue 24 of Jan, 2017 11:29 GMT-0000 Xavier de Pedro restore the visible value of the flags option for the file gallery handler, which was automagically lost when saving the previous edit (I hadn't removed that property, odd) 18
Tue 24 of Jan, 2017 11:20 GMT-0000 Xavi (as xavidp - admin) missing quotation at the end of the values for the option 17
Tue 24 of Jan, 2017 11:18 GMT-0000 Xavi (as xavidp - admin) adding a space between "option:" and "value" to have the new yaml library in 16.x accept the syntax (it was probably invalid yaml being tolerated only by the former yaml library and not allowed) 16
Mon 23 of Jan, 2017 11:42 GMT-0000 luciash d' being 🧙 test2 15
Mon 23 of Jan, 2017 11:42 GMT-0000 luciash d' being 🧙 test2 14
Mon 23 of Jan, 2017 11:40 GMT-0000 luciash d' being 🧙 test 13
  • «
  • 1 (current)
  • 2