Loading...
 
 Note
This page is to document "what Tiki should do". For feature documentation (what Tiki does), please see corresponding page on doc site

PluginArchiveBuilder

Below is an idea to enhance PluginArchiveBuilder to distribute source code.


Perhaps they could also be deployable via TRIM?

Related: Using profiles to replace mods


This could be a mods alternative to deploy custom code / themes / translations like we have for http://profiles.tiki.org/Cartograf all while having Web-based source code editor and versionning in wiki pages :-)

An example of what the code could look like
Copy to clipboard
{ARCHIVEBUILDER(name=cartograf.zip)} plugincode-as-file:styles/cartograf/custom.js:Cartograf_files:custom.js plugincode-as-file:templates/styles/cartograf/map_edit_sharecode.tpl:Cartograf_files:map_edit_sharecode.tpl wiki-attach:styles/cartograf/header_map.jpg:65 file-gallery:styles/cartograf/test.zip:9999 page-as-pdf:CartoGraf_Setup.pdf:CartoGraf_Setup {ARCHIVEBUILDER}


Maybe PluginCode would need a new ID param or something? so as to make it possible to distinguish them when there are many on a wiki page.

JavaScript example

JavaScript example
Copy to clipboard
/** * Cartograf custom js for Tiki10 */ if (!!!document.createElementNS || !!!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect) { $("<div />") .text("Your browser does not support SVG (required for drawing), please upgrade.") .addClass("browser-error") .prependTo("#main") .slideDown(); }

Smarty template

Smarty template example
Copy to clipboard
<form id="map-legend" method="get" action="tiki-searchindex.php"> <h3>{tr}Legend{/tr}</h3> <input type="hidden" name="filter~tracker_id" value="{$input.trackerId|escape}"/> <input type="hidden" name="sort_mode" value="title_asc"/> {if $input.shareCode} <input type="hidden" name="filter~tracker_field_map_shareCode" value="{$input.shareCode|escape}"/> {else} <input type="hidden" name="filter~tracker_field_map" value="{$input.mapId|escape}"/> {/if} <ul> </ul> </form> <form id="map-legend-add" method="post" action="{service controller=tracker action=insert_item trackerId=$input.trackerId}"> <input type="hidden" name="trackerId" value="{$input.trackerId|escape}"/> <input type="hidden" name="forced~finder" value="{$user|escape}"/> <input type="hidden" name="forced~map" value="{$input.mapId|escape}"/> <input type="submit" value="{tr}New Entry{/tr}"/> </form> {jq} var mapId = {{$input.mapId|json_encode}}; function refresh_legend() { var $form = $('#map-legend'); $.getJSON($form.attr('action'), $form.serialize()) .success(function (data) { var ul = $form.find('ul').empty(); $.each(data, function (k, entry) { var item = $('<li/>') .text(entry.title) .prepend($('<img/>').attr('src', entry.tracker_field_legendIcon)) .appendTo(ul); if (mapId == entry.tracker_field_map) { item.append($('<a class="editlink"/>') .text(tr('Edit')) .attr('href', $.service('tracker', 'update_item', { trackerId: entry.tracker_id, itemId: entry.object_id }))); item.append($('<a class="deletelink"/>') .text(tr('Delete')) .attr('href', $.service('tracker', 'remove_item', { trackerId: entry.tracker_id, itemId: entry.object_id }))); item.find('a') .click(function () { $(this).serviceDialog({ success: refresh_legend }); return false; }); } }); }); } refresh_legend(); setInterval(refresh_legend, 120*1000); $('#map-legend-add').submit(function () { $(this).serviceDialog({ title: $(':submit', this).val(), controller: 'tracker', action: 'insert_item', data: $(this).serialize(), success: refresh_legend }); return false; }); {/jq}


CSS example

CSS example
Copy to clipboard
/* * CartoGraf Tiki Theme v1.1 (build 4) - theme created by luci (copyright 2012 Æt luciash.cz) * Theme tested for Tiki 10.x but should work fine in Tiki 9.x too. */ /* First import the layout foundation *lite CSS framework file */ @import url("lite/lite.css"); /* Then import the default Tiki layout properties file */ @import url("layout/layout.css"); /* And design defaults */ @import url("layout/design.css"); * a { color: #06609C; } * a:visited { color: #690; } * a:hover, * a:visited:hover { color: #999 } h1, h2, h3, h4, h5, h6 { margin: 5px 0; } input[type=text], input[type=password] { border: solid 1px #cfcfcf; box-shadow: inset 0 5px 15px rgba(0,0,0,.2); padding: 4px 0; } .highlight { padding: .5em; border-radius: 10px; } /* ***** Common Menus ***** */ /* Some default values for basic CSS menus design */ .menuLevel1 a { background: #fff; line-height: 2em; } /* END Common Menus */ /* Modules reset */ .modules { position: static; } /* ***** Header ***** */ .header_outer { background: transparent; } #header { background: transparent url("CartoGraf/menuFond.gif") repeat-x; height: 230px; } /* Site Logo module */ .box-logo { position: relative; } #sitelogo { position: absolute; z-index: 1000; } #sitelogo a { display: block; margin-left: 52px; width: 292; height: 91px; } #sitelogo a img {margin-top: 0} .siteloginbar_popup .tabmark { background: transparent; margin: 0; } .siteloginbar_poppedup { background: rgba(139,139,139,0.8) !important; border: solid 6px rgba(255,255,255,1); border-top: none; border-radius: 0 0 10px 10px; box-shadow: 0 5px 3px -3px rgba(0, 0, 0, .5); left: 8em !important; top: 0 !important; padding: 5px !important; width: 22em !important; } .siteloginbar_poppedup * {line-height: 2em;} .siteloginbar_poppedup label { color: #fff; font-size: 10px; text-align: right; width: 25% } #login-user_1, #login-pass_1 {width: 60%} .siteloginbar_poppedup div.register, .siteloginbar_poppedup div.pass {font-size: 10px; line-height: 1em; width: auto;} .siteloginbar_poppedup a {color: #fff !important} .siteloginbar_poppedup input { border: none; border-top: solid 1px #999; border-radius: 10px; height: 20px; padding: 0 10px; } .siteloginbar_poppedup input, .siteloginbar_poppedup .button:hover, .siteloginbar_poppedup button:hover, .siteloginbar_poppedup input[type=reset]:hover, .siteloginbar_poppedup input[type=submit]:hover { margin: inherit; padding: 0 10px; } .siteloginbar_poppedup .tabcontent { background: transparent; padding: 0 } .tabmark a.login_link { text-decoration: underline; } a.login_link .sf-sub-indicator { display: none; bottom: 7px; } /* ***** Live OpenStreet Map module in the header ***** */ #LiveHeaderMap { background: url("CartoGraf/img/header_map.jpg") center -130px repeat-x; } #TheLiveHeaderMap {/* live map not used anymore - replaced by the above default static map image */ /* cursor: move;*/ height: 188px } /* Overwrite OpenLayers Maps CSS */ #TheLiveHeaderMap .olControlPanZoom { display: none !important; } #TheLiveHeaderMap .olControlAttribution { bottom: 5px; } #top_modules .box-LiveHeaderMap { position: absolute; top: 42px; left: 0; width: 100%; height: 188px; /* z-index: -1;*/ } /* make sure h3 title of module is not displayed */ #top_modules .box-LiveHeaderMap h3 { display: none; } /* END Live OpenStreet Map module */ #top_modules .box-login_box { float: left; position: static; } /* Map Location Search */ #top_modules .map-location-search { float: right; margin: 7px 15px; } #top_modules .map-location-search label, #top_modules .map-location-search img {display: none} #top_modules .map-location-search input { background: #fff url("CartoGraf/menuRecherche_loupe.gif") no-repeat center right; border: none; border-top: solid 1px #999; border-radius: 10px; height: 20px; padding: 0 10px; } #top_modules .map-location-search input[type=submit] {display: none} /* END Map Location Search */ #top_modules .cssmenu_horiz a, #top_modules .box-login_box a { color: #333; line-height: 38px; padding: 0 15px; } #TopMenu { margin: 0 15px; } #quickadmin { background: #fff; border-radius: 10px 10px 0 0; margin-top: 1px; padding: 5px 10px 7px 5px; } #top_modules .box-quickadmin { bottom: 0; padding: 0; position: fixed; right: 10px; top: auto; z-index: 1100; } /* END Header */ /* ***** Middle ***** */ #middle { background: #E8E8E8 url("CartoGraf/pageFond.gif") repeat-x; padding: 5px 0; } #loginbox-tiki-login fieldset {padding: 1em; min-width: 25em} #loginbox-tiki-login fieldset * {padding: .5em} #loginbox-tiki-login label {float: left;} #login-user_tiki-login, #login-pass_tiki-login {width: 60%; float: right} #loginbox-tiki-login div {clear: both} /* UI dialogs, e.g. for the Tiki Draw too */ .ui-widget-overlay { z-index: 100000 !important; } .ui-dialog { z-index: 100001 !important; } /* Errors boxes should be visible on top of all */ #error_report { margin: auto; position: relative !important; width: 90%; z-index: 999999 !important; } #role_main { min-height: 400px; padding: 10px 10px 50px; } #page_3 #role_main { padding: 0; } #role_main fieldset { border-radius: 0 15px 15px 15px; } /* Left map controls under the zoom bar need a little tweak not to overlap (when using OpenStreetMap it has larger zoom scale) */ .olControlNavToolbar { top: 315px !important; } /* Where the actual Lat/Lon displays over the map */ .olControlMousePosition { bottom: 20px !important; left: 120px !important; width: 120px; height: 15px; line-height: 15px; padding: 2px 5px; background: rgba(0, 0, 0, .75); border-radius: 10px; color: #fff; text-align: center; } .olControlOverviewMapElement { background: rgba(0, 0, 0, .75) !important; } /* This sprite overwrites the default map controls icons */ .olControlNavToolbar div, .olControlEditingToolbar div { background-image: url("CartoGraf/img/editing_tool_bar.png") !important; } /* Hide the default ControlNavigation icon on the left */ .olControlNavigationItemActive, .olControlNavigationItemInactive { display: none; } /* CSS for our Maps AppFrame and Overlays */ #appframe { position: absolute !important; top: -42px !important; bottom: 42px !important; margin-top: 82px !important; } .overlay a.active img.icon { background-color: #fff; border-radius: 5px; } .overlay img.icon { width: 22px !important; height: 19px !important; padding: 2px; } #marker_contentDiv th {display: none} /* Layer Selector at the bottom */ .layer_selector { position: fixed !important; bottom: 57px !important; left: 300px !important; } .layer_selector h4 {display: none} .layer_selector select { background: rgba(0,0,0,.75) !important; color: #fff !important; border: none !important; border-radius: 10px !important; box-shadow: 0 10px 15px rgba(0,0,0,.25); /*height: 25px !important*/ padding: 5px 5px !important; outline: none !important; } .layer_selector select * { background: #333 !important; color: #fff !important; border: none !important; } .layer_selector select:active { outline: 0 none; } .layer_selector option { border: none; } .layer_selector option:selected { background-color: rgb(95, 139, 5) !important; color: #fff !important; } /* Map in Edit dialog */ .ui-dialog .map-container { width: 100% !important; height: 220px !important; } .ui-dialog .edit-zone textarea {height: 100px} .ui-dialog fieldset {padding: 10px} .ui-dialog fieldset input[type=text], .ui-dialog fieldset input[type=url] {width: 99% !important} /* Map Anchors */ .anchor-container { top: 25px !important; } h3.anchor-head { clear: both; float: right; line-height: 61px; height: 61px; margin: 10px 0 0; padding: 0; } h3.anchor-head a { display: block; float: left; line-height: 61px; height: 61px; vertical-align: middle; } h3.anchor-head span { background: rgb(5, 111, 138); border-bottom: solid 4px rgb(125, 169, 178); border-top: solid 4px rgb(125, 169, 178); color: rgb(223, 246, 253); display: block; float: right; font-variant: small-caps; font-weight: bold; font-size: 20px; line-height: 53px; height: 53px; padding: 0 20px; vertical-align: middle; min-width: 180px; } .anchor-content { background-color: rgba(255,255,255,1); border-radius: 0 0 0 20px; box-shadow: 0 5px 3px -3px rgba(0, 0, 0, .5); clear: both; float: right; padding: 5px 10px 20px; width: 220px; overflow: hidden; } .anchor-content h2 { font-size: 19px; } .anchor-content h3 { font-size: 16px; } .anchor-content h4 { font-size: 13px; } .anchor-content ul { list-style-type: none; margin-left: 0; padding-left: 0; } #map-legend li { font-size: 10px; min-height: 40px; line-height: 18px; padding: 0 8em 0 40px; position: relative; } #map-legend li img { clear: both; margin-right: 5px; position: absolute; top: 1px; left: 1px; vertical-align: middle; } #map-legend li a.editlink { background: rgba(95, 139, 5, .5); border-radius: 15px; color: #fff; float: right; font-size: 9px; line-height: 12px; margin: 5px; padding: 5px; position: absolute; top: 0; right: 45px; /* TODO: do differently - it will probably overlap the deletelink when in different language/font size later */ text-decoration: none; } #map-legend li a.editlink:hover { background: rgba(95, 139, 5, 1); } #map-legend li a.deletelink { background: rgba(139, 30, 5, .5); border-radius: 15px; color: #fff; float: right; font-size: 9px; line-height: 12px; margin: 5px; padding: 5px; position: absolute; top: 0; right: 0; text-decoration: none; } #map-legend li a.deletelink:hover { background: rgba(139, 30, 5, 1); } a.map-custom-print { background: rgba(5, 111, 138, .5); border-radius: 15px; color: #fff !important; float: right; font-size: 9px; line-height: 12px; margin: 5px; padding: 5px; text-decoration: none; } a.map-custom-print:hover { background: rgb(5, 111, 138); } .anchor-content .icon_edit_section { display: none; } #map-legend-add { clear: both; text-align: center; } #map-legend-add input { background: rgb(95, 139, 5); border: none; border-radius: 15px; color: #fff; margin: 0 5px; padding: 5px 10px; text-decoration: none; } #permalink {width: 100%} /* Home Page content */ #AboutCartoGraf { background: #5f8b05 url("CartoGraf/vertPlanete.png") no-repeat top right; border: solid 6px #a7c664; border-radius: 20px; color: #cedbaf; margin: 0 !important; margin-top: 30px !important; min-height: 250px; text-align: left; width: 58%; } #AboutCartoGraf .cbox-title { background: #a7c664; color: #5f8b05; margin-top: 15px; font-variant: small-caps; font-weight: bold; font-size: 20px; line-height: 50px; padding-left: 40px; } #AboutCartoGraf .cbox-data, #CardOfDay .cbox-data { padding-left: 40px; } #AboutCartoGraf .cbox-data ul { font-size: 16px; list-style-type: none; margin-left: 0; padding-left: 0; line-height: 24px; } #AboutCartoGraf .cbox-data a { color: #cedbaf !important; text-decoration: underline; } #CardOfDay { background: #05708b; border: solid 6px #b5c6c9; border-radius: 20px; color: #b5c6c9; margin: 0 !important; margin-top: 30px !important; min-height: 250px; height: 100%; text-align: left; width: 38%; } #CardOfDay .cbox-title { background: #b5c6c9; color: #05708b; margin-top: 15px; font-variant: small-caps; font-weight: bold; font-size: 20px; line-height: 50px; padding-left: 40px; } #CardOfDay .cbox-data a { color: #b5c6c9 !important; text-decoration: underline; } /* ***** Tabs ***** */ .tabactive { border-bottom: none; } .tabcontent { } /* END Tabs */ /* END Middle */ /* Col2 */ #col2 .modules { padding: 5px } /* Footer */ #footer { position: fixed; background: #fff; bottom: 0; padding: 5px 0; z-index: 1; } #footer .modules { font-size: 9px; line-height: 10px; margin: 0; padding: 0 5px; } .power { text-align: center } /* ***** Right Edge menu ***** */ #RightEdgeMenu { margin-top: 40px; position: fixed; } #RightEdgeMenu a { background-color: rgb(139,87,5); font-variant: small-caps; font-weight: bold; font-size: 20px; color: #dfcfaf; border: solid 5px rgb(215,207,174); border-radius: 20px 0 0 20px; line-height: 50px; margin-bottom: 10px; padding-left: 40px; border-right: none; width: 135px; overflow: hidden; } /* Map print view */ #main div div.olMap { margin-right: 5px !important; margin-bottom: 5px !important; }


SVG

Just use Draw

Other binairies

Perhaos use File Gallery include a simple version control system (VCS), which adds revision information to file versions. (Ref. r38587, r38596 in trunk)

Keywords

The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI & 508)
Accounting
Administration
Ajax
Articles & Submissions
Backlinks
Banner
Batch
BigBlueButton audio/video/chat/screensharing
Blog
Bookmark
Browser Compatibility
Calendar
Category
Chat
Comment
Communication Center
Consistency
Contacts Address book
Contact us
Content template
Contribution
Cookie
Copyright
Credits
Custom Home (and Group Home Page)
Database MySQL - MyISAM
Database MySQL - InnoDB
Date and Time
Debugger Console
Diagram
Directory (of hyperlinks)
Documentation link from Tiki to doc.tiki.org (Help System)
Docs
DogFood
Draw -superseded by Diagram
Dynamic Content
Preferences
Dynamic Variable
External Authentication
FAQ
Featured links
Feeds (RSS)
File Gallery
Forum
Friendship Network (Community)
Gantt
Group
Groupmail
Help
History
Hotword
HTML Page
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Import-Export
Install
Integrator
Interoperability
Inter-User Messages
InterTiki
jQuery
Kaltura video management
Kanban
Karma
Live Support
Logs (system & action)
Lost edit protection
Mail-in
Map
Menu
Meta Tag
Missing features
Visual Mapping
Mobile
Mods
Modules
MultiTiki
MyTiki
Newsletter
Notepad
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Organic Groups (Self-managed Teams)
Packages
Payment
PDF
Performance Speed / Load / Compression / Cache
Permission
Poll
Profiles
Quiz
Rating
Realname
Report
Revision Approval
Scheduler
Score
Search engine optimization (SEO)
Search
Security
Semantic links
Share
Shopping Cart
Shoutbox
Site Identity
Slideshow
Smarty Template
Social Networking
Spam protection (Anti-bot CATPCHA)
Spellcheck
Spreadsheet
Staging and Approval
Stats
Survey
Syntax Highlighter (Codemirror)
Tablesorter
Tags
Task
Tell a Friend
Terms and Conditions
Theme
TikiTests
Federated Timesheets
Token Access
Toolbar (Quicktags)
Tours
Trackers
TRIM
User Administration
User Files
User Menu
Watch
Webmail and Groupmail
WebServices
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace and perspectives
WYSIWTSN
WYSIWYCA
WYSIWYG
XMLRPC
XMPP




Useful Tools