Wiki Page Handler


Profile installer in Tiki would not be very useful without wiki pages, thus, a handler was created. To create a wiki page, the page content must exist in the profile repository. The page name is provided in the profile to reference to it.

YAML
preferences: enable: [ feature_wiki ] objects: -



Wiki Object Parameters


Field nameMandatoryValue
typeyesmust be "wiki_page"
ref can link to a category or structure. see Object References.
nameyesThe name of the page to be created. Can be different from local pagename.
description The page description.
lang Page language as the two letter code (ex: fr, en, es)
contentyesInitial page content. To simplify the profile, large pages can be included from a remote location in the same profile repository. This is done by using the wikicontent: prefix, as seen in the example.
mode create, update, append, create_or_append, create_or_update (default). Handler mode that determines behavior on existing page. create will prevent installation if page already exists. update and append require the page to exist prior to profile installation.
translations List of page references to be attached as translations. Use this syntax: [ $pageref1] , or if several: [ $pageref1, $pageref2]
message Specify the version message. Will default to modification made by profile installer. (>=4.0)
wysiwyg y or n. If set to y, will create/update the page in wysiwyg editor mode. Otherwise created wiki page won't load in wysiwyg mode (>=6.0)
wiki_authors_style classic, business, collaborative, lastmodif, none (>=8.0)
geolocation Format is "lon,lat,zoom". Example: -2.373046875,40.507118572962,3 (>=12.0)
hide_title y or n. If set to y, will set individual page to hide title even if global showpagename as title is on. Depends on preference wiki_page_hide_title to be on. (>=14.0)
structure available from Tiki12.4 - but only does anything if a new page is being created ie if the mode is 'create', or 'create_or_update' and the wiki page did not already exist. If the parameter is set to zero a new structure is created - but if the new wiki page is to be added to an existing structure then set the parameter to the page_ref_id of the page after which the new page is to be inserted in the structure hierarchy.
structure_as_sibling y or n - when structure is set to any non-zero page_ref_id of the page after which the new page is to be inserted, it will normally set it as a child of that page. In order to set it as a sibling, you need to set this parameter to y. (>=14.0)
locked y or n - available from Tiki17.0 (and back ported to 16.3) this parameter allows the page to be locked (as if by admin) - but only does anything if a new page is being created ie if the mode is 'create', or 'create_or_update' and the wiki page did not already exist.
namespace tba
freetags enter tags (seperated with a space) you want the page to be assigned to




Details

Minimally, to import a wiki page the following YAML syntax will suffice.

objects: - type: wiki_page data: name: todo content: wikicontent:todo


  • mind your spaces here each level of indentation is two spaces. (recommended). type and data are at the third level, name and content in the fourth.
  • Some Object Parameters belong to the data section and others (type,ref,…) are above. The above parameters table does not make it obvious. You may need to experiment.
  • Re-import is ok (>=tikiwiki3.0) you can load a profile multiple times in the same wiki. It will ask if you want to Forget the install - this will not remove data imported. When you re-install a profile anything new will be added. In wiki pages, it's possible to replace & append (see above options)

Alternatively, wikidirect: can be used instead of wikicontent:. When used, the content of the target page will not be parsed for references, which is useful when setting up data channels.

As of Tiki 6 onwards, wikiparsed: can be used to to get the parsed (HTML) output from a page, instead of the wiki mark-up. Used with tracker filter plugins and pretty tracker templates this can make tracker data available to be used in data channels.

Another, more elaborate example follows. The template page named template_greetings needs to exist to provide the content for the new page.

objects: - type: wiki_page data: name: Bonjour content: wikicontent:template_greetings wiki_authors_style: none lang: fr


List of Profiles with Wiki Handler


Help_Pages
Custom_Contact_Form
Example_Wiki_Profile
... (and many more)

Example of Profiles using translations