History: Profile Developer Documentation
Source of version: 46 (current)
Copy to clipboard
Once you are ((using)) and ((creating)) profiles, here is how to develop/improve the profile system itself. For example, to add support for additional features. Profiles are a unified textual representation of Tiki configuration. These pages document the various elements currently supported. The implementation is still under development and subject to changes. Some concepts apply globally and some are specific to content types. ((Handlers)) define the content type specific properties. For an explanation on how to apply profiles, see ((Administration Interface)). See ((Custom Repository)) for how to create profiles on sites other than profiles.tiki.org. !! Troubleshooting * ((Troubleshooting Profiles)) - for profile creators. * ((Troubleshooting Existing Profiles)) - troubleshoot these profiles. * ((Profiles FAQ)) - all you have to do is ask . . . * ((Tiki Profiles Tester)) !! Basic Syntax These syntax elements are the base of profiles. They explain how to set preferences, handle permissions and how objects relate to each other. * ((Preference Management)) for setting global configurations * ((Object References)) for handling relationships between content elements * ((Permission Management)) to control access rights * ((User Input)) to allow users to customize some elements just before the profile is applied * ((Date Conversion)) to map human readable date formats to the internal structures * ((Instructions)) to redirect to a page after the profile has been applied * ((Profile dependencies|Dependencies)) to call one profile within another. * ((Branching)) to insert the contents of another YAML file depending on branching logic !! Currently Supported Handlers These pages explain the data structures used in the profiles to manipulate the different content types used inside Tiki. {SORT()} * ((Tracker Handler)) * ((Wiki Handler)) * ((Category Handler)) * ((File Gallery Handler)) * ((Module Handler)) * ((Menu Handler)) * ((Blog Handler)) * ((Plugin Alias Handler)) * ((Webmail Handler)) * ((Webservice Handler)) * ((RSS Handler)) * ((Article Handler)) * ((Forum Handler)) * ((Template Handler)) * ((Perspective Handler)) * ((Transition Handler)) * ((External Wiki Handler)) * ((Calendar Handler)) * ((Group Handler)) * ((Users Handler)) * ((Spreadsheet Handler)) * ((Scheduler Handler)){SORT} Code for all handlers: https://sourceforge.net/p/tikiwiki/code/HEAD/tree/trunk/lib/core/Tiki/Profile/InstallHandler/ !!! Profile Requests For many of the fields in these handlers, a profile request can be used to allow user input for the handler. A simple example of this is found on the ((Group Handler)) page, under the Create a group from user input section. This section outlines how to use this function when creating a group, but it can also be used when naming an article, blog, tracker, etc. The profile request is also used in more complex situations. For example, the profile request can be used in the content of a wiki page within a plugin. See below. {CODE()}{MEMBERLIST(groups=$profilerequest:groupname$Default name$)}{MEMBERLIST}{CODE} !! Extensions * Profiles as ((Data Channels)) !! Some YAML helper [http://instantyaml.appspot.com|instantyaml.appspot.com]