Loading...
 
Skip to main content

History: User Input

Source of version: 9 (current)

Copy to clipboard
            Although a profile sets most things by default, it is sometimes useful to be able to ask the user some simple questions, as the profile is built for them. For example:
* A blogger will want to set  the name of the blog
* A webmaster will want to change the contact information.

Profiles can contain any number of "user requests", these are questions that request a value. If they are not provided, a default value is used. The syntax to do so is:

^$profilerequest:''Label name of the value requested''$''Default value''$^

By default, the value will be filtered through XSS filters. You can specify a filter using the alternate syntax:

^$profilerequest:''Label name of the value requested''__''|Filter Name''__$''Default value''$^

Empty values after filtering will revert to the default value.

If you don't want the result to be used inadvertently in other profiles make sure the __label name is unique__. The Label name and its value will be used for __all__ the profiles installed at one time. This would be the case if the chosen profile has dependencies.

! Example

{CODE(caption=>YAML)}
preferences:
 feature_blogs: y
objects:
 -
  type: blog
  ref: personal
  data:
   title: $profilerequest:Blog Title$My Personal Blog$
   description: Random daily thoughts and travel stories
   user: $profilerequest:Blog Owner$admin$
   use_title: y
   allow_comments: y
 -
  type: blog_post
  data:
   blog: $personal
   title: Sample Post
   content: This post was created by the installation profile.
{CODE}

!Example with a datachannel
You want to create a wiki page but asking interactively the name of the page via a data channel
* Create a data channel named test on your local using the profile DataChannelTest
{CODE()}
test, tiki://local, DataChannelTest, Admins
{CODE}
* Create the profile of the data channel in the page DataChannelTest
{CODE()}
{CODE(caption=>YAML)}
objects:
 -
  type: wiki_page
  data:
   name: $profilerequest:page_name$My Personal Page$
   content: xxxxx
{CODE}
{CODE}
* Create a page to test
{CODE()}
{DATACHANNEL(channel=test)}
page_name,Give a Page Name
{DATACHANNEL}
{CODE}
* the result
::{img attId=31}::