MyCases configuration files are XML files that describe how a single implementation of MyCases should operate. Multiple versions of MyCases can be active on the same website, by having multiple configuration files in the Self-service Extensions folder. The configuration files must follow the naming convention: <Name>.mycases.config. The name must be unique among MyCases extensions and Self-service extensions. The name will affect the URL of the MyCases implementation, but has no other effect.

This is the root element of the configuration file.

The title for the index page Login configuration. Validation configuration. Custom queries refers to custom queries in F2-REST. This will include all information needed to fetch data using F2-REST. See the F2-REST manual for how to use custom queries. Language configuration. Pages configuration.

This element declares which identity provider to use for authentication of the end-user.

Deprecated: Was used with NemID login applet Validations to be performed on login. Name of chosen identity provider - use the "Id" value from IdentityProviders.config.

This element declares references to validations to perform on login.

Single validation reference (repeatable).

This element declares a single reference to a specific validation.

The referenced validator must be declared using the XML element <Validators>.

Name of validation.

This type of element declares available validators.

External validator declaration (repeatable). Inline validator declaration (repeatable).

This element declares an external validator and the parameters needed to invoke it.

External validators are webservices that take care of the actual validation of user input, which opens up for far more complex validation rules than can be implemented directly in the F2 Self-service framework.

External validation works by passing selected user input to the external service and letting the service respond with a passed/failed status.

The API definition for external validators are described in the F2 Self-service manual.

List of properties to include in external validation request. Reaction to failed validation. URL reference to external validator. Request format. Authorization configuration. Validator name.

Use JSON formating for external validation requests.

Use multipart/form-data formating for external validation requests.

This element represents authorization configuration for external validation. Insert shared secret as inner text for simple plain text authorization (not recommended) or use the sub-element JwtAuthorization for secure authorization.

Enable JWT authorization.

This element declares an internal validator.

This attribute defined the name of the validation. The name must be unique, among all validator types, and is used by the validations to define where a given validator should be invoked. This attribute defines the logic of the validator and uses the standard expression framework. The expression may also use the predefined value Builtin_Identity and other values from the chosen identity provider in order to access the identity of the current user (if logged in at all). This attribute defines the message to display when the validator is invalidated. The value of standard properties like Builtin_Identity among other things, can be accessed by wrapping the name in dollarsigns.

This type of element declares inputs.

Input declaration (repeatable).

This type of element declares an input. The content of the element declares which internal variable to pass to the external service.

Declares an alias for the input, for use in the external service. If not set, no alias will be used.

This type of element declares outputs.

Output declaration (repeatable).

This type of element declares an output. The content of the element declares the mergefield name of the value. The content must match the column names given in the SQL of the custom query.

Declares an alias for the output to be used externally. If not set, no alias will be used. Marks this output element as the primary identifier output. The value of the output will be used as an identifier for all the inner elements of the query element which requires an identifier. It should be the identifier of the object the query element is representing. Only one output element per query can be selected as the identifier output. The default value is false The only types supported for identifiers are 'string' and 'int'. Marks the resulting value to be localized. The default value is false. The expected type of the output. This is mostly used for localization specific formating. If the value of the output cannot be converted to the given type, an exception will be thrown.
Show validation error messages but do not block further actions. Show validation error messages and block further actions.

This type of element declares custom queries.

Query declaration (repeatable). Type of autorization to be used. The same authorization will be used for all queries.

This type of element declares a custom query.

The inputs given to the custom query. If this is an inner query element or not on the main page, "Id" can be used as an input. The built-in variables can always be used. See the F2 Self-service manual for details on expressions and the available built-in variables. The expected outputs returned from the custom query. If an output is not declared here, it will be ignored. Name of the query. This will be used as a reference in the layout. Name of the query as defined in F2-REST (without file-extension). Number of rows the query will fetch as a maximum. If not all are shown, the user will be notified. Default value is 25 rows.

This element represents authorization configuration for external requests.

Enable JWT authorization.

This element represents configuration of JWT authorization for external requests.

With JWT authorization, the system will issue a Javascript Web Token (JWT) for the external service to verify. The JWT will be issued by http://cbrain.com/f2/self-service/ and use the specified value of Receiver for the subject and audience fields in the JWT. The JWT will be signed using the specified value of Secret.

The final JWT is included in the HTTP Authorization header with the scheme BEARER.

Value for audience and subject JWT fields. Secret value to sign JWT with. Can be set as an external secret (e.g. $secret(mysecret).password$).

This element declares the languages available for the submission.

A single language declaration (repeatable).

This element declares a single language to be available in the submission.

Language reference, e.g. "da-DK" Language title to display in language selector.

This type declares the pages of the layout.

The first page the user sees after login. This page shows the details of a case.

This element declares the main page of the layout.

Title shown on the page. Description of the page (optional). Layout for the cases. The query which the data of the page will be based on. This attribute refers to the name of a query defined in the same configuration file. This data can be used as merge fields in data shown on the page. The query will be called with the id of the page.

This type declares the details page of a case.

Title shown on the page. Description of the page (optional). Layout for the current case. Layout for the matters of the case (optional). The "Waiting replies"-element is a list of non-completed replies, created on the current case, for the current user. The "Waiting replies"-element is shown by default, but this element excludes it from the page. The query which the data of the page will be based on. This attribute refers to the name of a query defined in the same configuration file. This data can be used as merge fields in data shown on the page. The query will be called with the id of the page. The text on the Back-button in the bottom of the page (optional).

This type declares a layout based on a custom query.

Declares a layout based on a table structure. Each row in the custom query result will be a row in the table. Declares a layout based on a panel. Each row in the custom query result will create a panel. CSS class name. The query which the data will be based on. This attribute refers to the name of a query defined in the same configuration file. The message to be shown if the query returns too many rows. Each standard QueryElement (e.g. Cases and Matters) have a default based on which context the element is used in. Default for non-standard QueryElements is "Not all items are shown". The message to be shown if the query returns no rows. Each standard QueryElement (e.g. Cases and Matters) have a default based on which context the element is used in. Default for non-standard QueryElements and CaseDetails is to show no message. The message to be shown if the F2-REST request fails. Each standard QueryElement (e.g. Cases and Matters) have a default based on which context the element is used in. Default for non-standard QueryElements is "Sorry - an error occurred".

This element declares a layout which displayes the result of a custom query.

The name of the element. The name is used in some URL's and may be used for other purposes at a later time. If not declared, a generated name will be used.

This element declares a table layout.

The export configuration for the table contents. The columns to include in the table. The title of the table. CSS class name. Enables or disables a searchfield that allows filtering of table rows based on a search. Default value is "false". Enables or disables pagination of table rows. Default value is "false".

This element declares export configurations for the table contents.

Adds a button that allows the user to copy the table contents to their clipboard. Adds a button that allows the user export the table contents to a downloaded CSV file. Adds a button that allows the user export the table contents to a downloaded Excel file. Adds a button that allows the user export the table contents to a downloaded PDF file. Adds a button that opens the table contents in a print-friendly view.

This element declares export configurations for the table contents.

Name for the downloaded file

This element declares the columns to include in a table.

A column (repeatable).

This element declares a column in a table.

The title of the column. CSS class name. A reference to a query output. Enables sorting of the table entries, based on the referenced sortable output.

This element declares a layout based on a panel.

The title of the panel. Values from the custom query can be merged into the text using $X$ syntax. CSS class name.

This element declares a grid based layout with rows and columns.

A row in the grid (repeatable). CSS class name.

This element declares a row in a grid.

A cell in the row (repeatable). CSS class name.

This element declares a cell in a row. The inner content of the cell element represents the inner layout of the cell.

CSS class name.

This is a shared layout element group that declares a number of common layout elements.

A block of text. Supports HTML and text merging with the $X$ syntax. A button for the user to create a new self-service reply. A link to a combined PDF of a matter and its attached documents. A link to a PDF of a document from F2. A message to display when the user returns from creating a new self-service reply. A layout grid. A button which takes the user to an other page. A new query element with its own query and layout. The output marked with "IsId=true" can be used as an input by refering to it as "Id".

This element declares plain text or HTML content merged with values from the custom query. The values can be merged using the $X$ syntax.

The text will be translated before merging if there is a translation available.

If this attribute is set, the text is wrapped by a link refering to the specified "LinkTo" URL. The link supports $-merging. All merge-values will be Url-encoded, which means merge-values with special characters can only be used as value for get-parameters. CSS class name. If this attribute is set, the text will be decorated with a button which gives a popup showing the help text. The text supports text merging with $X$ syntax.

This element declares a button which lets the user create a new self-service reply. This can be used as a means of communication where the user may create unsolicited requests without a preceding invitation - with the request being added to a specific F2 case.

In order to add the request to the correct F2 case, the custom query data must have a certain structure:

  1. The id of the custom query row must match the F2 case node ID and be of the type int.
  2. The row of the custom query must include an output column named "CaseNumber" containing the string representation of the case number.

The inner text is the text of the button. Text merging with $X$ syntaxt is supported.

The name of a self-service submission form this button creates a new reply for (not including file extension ".config"). The self-service submission form must be declared as a "reply form". CSS class name.

This element declares a button which, when clicked, will take the user to a different page. The inner text is the text of the button with support for text merging using $X$.

The id for the page will be the id of the custom query row for which the button was rendered.

The name of the page this button will lead to. Currently, only the predefined page "CaseDetails" is supported. CSS class name.

This element declares a link which references a combined PDF of everything related to a specific matter. The inner text of the element will be the text of the link with support for text merging using $X$.

This attribute refers to the name of an output column in the custom query. The value of that output must be the node ID of the matter. The output must only return ID's the user have read access to. If no identifier output is specified in the custom query, the value "Id" can be used to refer to the identifier of the nearest parent with an identifier, e.g. a parent page or parent query element. The type of the output must be 'int'. It's up to the custom query to make sure the user have read access to the documents. The document title shown in the header of the combined matter page. Text merging with $X$ syntax is supported. The name of this element. The name is used in some URL's and may be used for other purposes at a later time. If not declared, a generated name will be used. Exclude meta data from the resulting pdf. Exclude matter document from the resulting pdf. Exclude approval meta data from the resulting pdf. Include approval document in the resulting pdf. Exclude attachments from the resulting pdf.

This element declares a link which references the PDF version of a F2 document. The inner text of the element will be the text of the link with support for text merging using $X$.

This attribute refers to the name of an output column in the custom query. The value of that output must be the document ID of the document. The output must only return ID's the user have read access to. If no identifier output is specified in the custom query, the value "Id" can be used to refer to the identifier of the nearest parent with an identifier, e.g. a parent page or parent query element. The type of the output must be 'int'. It's up to the custom query to make sure the user have read access to the document. The document title shown in the header of the document page. Text merging with $X$ syntax is supported. The name of this element. The name is used in some URL's and may be used for other purposes at a later time. If not declared, a generated name will be used.

This element declares a message to be shown each time the user returns from creating a new self-service reply.

The message will be shown as an information box embedded in the page.

The message will only be shown once right after the user have submitted the reply.

The inner-text of this element represents the text of the message and supports HTML with text merging using $X$ syntax.

CSS class name.