This page is still in development and will continuously be evolving as more people share their Profiles Tips and Tricks. Please take any information you read on this page as opinions based from experienced Profile Developers.
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 to our Best Practices to help others learn from your experiences.
Configuring Profiles
When creating Tiki Profiles you will notice that debugging can be difficult. The following is a list of best practices to follow to help simplify the profile testing and creation process.
Configuration Layout
Although you can organize your profile any way your wish; you will notice that as you create more complex profiles, references will play a major role. Here is a good order to ensure references get properly set by 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 (they get assigned later)
- Wiki Pages
- Menus
- 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 you want and assign a theme
Preferences
Usually things found in the Admin -> General Section
Configuration Layout - Sample
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
objects:
-
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: [ ]
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 best practice 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
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