Ordering Services
5 min
the following section outlines the options for controlling how services are ordered security the ability to order services is controlled by the 'add' access right on the service users must have 'add' and the target user must have 'use' rights to be able to order a service for the user forms and arguments services can also gather additional information that can be used to control the service this information can be used during automated provisioning or passed to an external process via the order process arguments the 'arguments' parameter is a template for the data being gathered and in a similar way to tasks provides a security mechanism for controlling the data that can be passed to the service the following is an example of an 'arguments' parameter for a service that is expecting to specify an approval limit for the service \<?xml version="1 0" encoding="utf 16"?> \<data> \<approvallimit> \</approvallimit> \</data> web form a 'web form' parameter is then specified to create a form to display to the user to gather the information a web form on a service is expected to be at least able to render itself for html display only mode therefore, there are limitations on the the controls that can be used please see the web portal controls for more information legacy services services that were created for previous versions will still operate in v5 however, there are some limitations in previous versions (ie pre v5) the web form parameter was called 'webform' (not web form) this parameter is still valid, however, this forces the service into 'legacy' mode the web form will not be rendered as html and no difference information is available the service also expects an old style 'orderdescription' parameter to be specified to render the arguments as text for display to the user and sending via any order process expiry and effective options allow services can have an optional effective date and an option expiry date there are service flags that can completely disable these options if required there are a number of extended options that can also be specified to control the expiry information these options are stored in a parameter called 'expiryoptions' valid options for the expiryoptions parameter are below these options may be combined by listing them seperated by a ',' or ';' name description all allow all valid expiry options this is the default value if not specified none do not allow expiry to be set permanent allow no expiry to be an option date \[max time] allow a date to be specified the optional argument identifies that maximum/default date that can be specified the argument can be an expression or string resolving to any valid activate timespan value (ie +30days) examples date +30days allow any date in the next 30 days to be specified date =//service/maxexpiry get the value from a parameter on the service auto \[time] this is similar to the last option except that the user cannot specify the date the service will automatically expire at the specified time this is useful for services that you wish the user to periodically reapply for role \[type] this option allows one of the users roles to be selected the default option for the type is 'departments' this will look up the current users 'departments' roles and show them the \[type] may also be an expression resolving to a list of roles