This page is still in development and will continuously be evolving as more people share their Profiles Tips and Tricks. Please consider any information you read on this page as opinions from experienced Profile Developers that may help you as you take the dive towards creating your first profile.

These Tips and Tricks are by no means a manual on how to configure or create your profiles. Profiles are very flexible and we encourage you to explore what can be accomplished with them. Be creative and please feel free to contribute back your Tips and Tricks to help others learn from your experiences.



Configuring Profiles

Basic hints

  • Make sure that you keep the right indentation in your profile, if you copy YAML code from other profiles. This is a known source of trouble while creating a new profile.
  • As a starter, you might want to copy a working featured profile page in your new page, and continue making changes from there; i.e. deleting uneeded settings, or setting options off/on as desired.
  • For preferences, a good place to get the right syntax is to click on some checkboxes in your local tiki installation, apply changes, and copy the keywords for those preferences, since they have the right syntax.

Configuration Layout


When creating Tiki Profiles you will notice that debugging can be difficult. Although you can organize your profile any way your wish; you will notice that as you create more complex profiles debugging will become a pain if your Profile is disorganized. Here is a good order to ensure your profile is maintainable, easy to debug and ensure references get properly set. The idea behind the following flow is creating your profile from low level objects and moving up towards high level user interface configuration.

Objects
Anything that will generate an ID except for Modules & Menus (they get assigned in the UI section)
  • Wiki Pages
  • Forums
  • Blogs
  • etc...

Features
Turn on and off what you want activated

Permissions
Groups and Perms (also include Categories attached to any groups)

UI
Create the Modules & Menus you want and assign a theme

Preferences
Usually things found in the Admin -> General Section

Configuration Layout - Sample

Objects

Wiki Pages
YAML
objects: - type: wiki_page ref: homepage_wiki_include data: name: HomePage description: HomePage lang: en mode: create_or_update content: wikicontent:HomePage



File Gallery
YAML
objects: - type: file_gallery ref: site_file_gallery data: name: site images description: site images owner: admin archives: 0 flags: [ public, visible, lockable ] column: [ icon, name, created, creator, files ]

Features

Wiki
YAML
preferences: feature_wiki: y feature_lastChanges: y feature_history: y feature_source: y feature_listPages: y feature_wiki_comments: y wiki_comments_displayed_default: y feature_warn_on_edit: y feature_wiki_pictures: y feature_page_title: y feature_wikiwords: y feature_wikiwords_usedash: y feature_wiki_plurals: y feature_wiki_ext_icon: y feature_wiki_userpage: y feature_wiki_protect_email: y feature_wiki_1like_redirection: y wiki_edit_section: y wiki_list_name: y wiki_list_hits: y wiki_list_lastmodif: y wiki_list_user: y wiki_list_comment: y wiki_list_description: y wiki_list_versions: y


Forums
YAML
preferences: feature_forums: y feature_forum_parse: y feature_forum_replyempty: y feature_forums_search: y feature_forum_content_search: y forum_list_topics: y forum_list_posts: y forum_list_lastpost: y forum_list_visits: y forum_list_desc: y forum_thread_defaults_by_forum: y


Permissions
YAML
permissions: Anonymous: allow: deny: [ view ] Registered: description: allow: - view - edit - read_comments - forum_post - forum_post_topic - forum_vote deny: - wiki_view_history - wiki_view_source Master: description: include: Registered allow: - wiki_view_history - wiki_view_source deny: [ ]


User Interface

Top Menu
YAML
objects: - type: menu ref: main_menu data: name: Main Menu description: links that appear in the top navigation bar items: - name: Home url: ((HomePage)) groups: [ Anonymous ] - name: About Us url: ((About Us)) groups: [ Anonymous ] - name: Contact Us url: tiki-contact.php groups: [ Anonymous ]






Upgrading Profiles


When running the same profile twice either to test new options or actually to try and upgrade. You will notice that certain objects will be created twice. If duplication of objects is causing your profile upgrade to break menu links or make your site behave strange it is then a good idea to divide your profile into sub profiles each with their own specific task.

A good example of how to separate your profile into sub profiles is to create one Profile for:
  • Objects
  • Features & Permissions
  • User Interface (Modules, Menu's, Theme)

Please Note that the downfall of this method means that you will not be able to use Profile References when referring to objects. Please review the Pros and Cons section before making a decision on how to manage your profile. You can also refer to the HOW TO section to see examples of assigning an object with a Reference and Without a Reference

Note: You can reference objects in an other profile (see Object References). If the profile containing it is already installed, the same object will be re-used.


Sub Profile - Pros

  • Objects do not get duplicated when upgrading parts of profile
  • Profile is easier to manage especially when multiple people are working on it
  • You can use sub profiles as building blocks for other use cases (use Objects and Features combined with different UI Profile to create different applications)

Sub Profile - Cons

  • You cannot use Profile References
  • You need to run all of your Sub Profiles to complete your installation