Assign Comala reviewers from a ConfiForm (Create Page) automatically?
Asked by Matthew Fulton:

I have a ConfiForm that will create a page when the form is submitted. I would like to add reviewers to page based on the based on the user information that is input into the form. I am not sure of the steps to make this happen.


Answers:
author: James Conway
body: [@Matthew Fulton](/t5/user/viewprofilepage/user-id/4067389)

Thanks to the guidance from [@Alex Medved _ConfiForms_](/t5/user/viewprofilepage/user-id/781630) I have put together this example for you:

**Part One - Confiforms create page**

```
<ac:structured-macro ac:macro-id="817b40e0-2d54-4bc0-ad63-76e5e4e755d6" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">chklists</ac:parameter>
<ac:parameter ac:name="registrationFormTitle">Checklist</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="6d09de0d-2ef9-4d64-ad38-464dc23bc1b2" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">employee</ac:parameter>
<ac:parameter ac:name="fieldLabel">Employee</ac:parameter>
<ac:parameter ac:name="type">user</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="49e83c80-8fca-4315-a97c-bfd1e09967cb" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:parameter ac:name="registrationButtonLabel">Create</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="42177c25-b980-43f6-a48d-8e0f8e888120" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="action">Create Page</ac:parameter>
<ac:parameter ac:name="event">onCreated</ac:parameter>
<ac:parameter ac:name="title">Page for [entry.employee.fullName]</ac:parameter>
<ac:parameter ac:name="who">[entry.employee.username], [modifier]</ac:parameter>
<ac:rich-text-body>
<p>Hello [entry.employee.fullName] this is a new page</p>
<p>Here are the page properties</p>
<ac:structured-macro ac:macro-id="cf774c99-a571-4ac2-a70a-ce4be007dec8" ac:name="details" ac:schema-version="1">
<ac:rich-text-body>
<table class="wrapped">
<colgroup>
<col/>
<col/>
</colgroup>
<tbody>
<tr>
<td>owner-username</td>
<td>[entry.employee]</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
```

**Part Two - Comala Document Management workflow**

```
{workflow:name=Example approval of a page created by Confiforms}
    {state:In Progress|approved=Approved}
        {approval:Review|user=&@owner-username@}
    {state}
    {state:Approved|final=true|updated=In Progress|hideselection=true}
    {state}
{workflow}
```

If this helps accept this answer, let me know if you have any further queries.

Kind regards

James  
Senior Product Manager

comments: author: Matthew Fulton
body: [@James Conway](/t5/user/viewprofilepage/user-id/3320578)

Would this work for multiple reviewers? Say I have a 3 users, that need to review and approve the a ConfiForm once it is submitted. These three people would not be the owners of the doc.


author: James Conway
body: Hi [@Matthew Fulton](/t5/user/viewprofilepage/user-id/4067389) ,

Yes, the user parameter accepts a comma separated list of usernames, see <https://wiki.comalatech.com/display/CDML/approval+macro>

If you can get Confiforms to write comma separated list to a page property then it should work.

However if you think you'll need more flexibility in selecting and potentially changing assigned reviewers you may want to consider workflow-parameters that are part of Comala Document Management. Have a look at <https://wiki.comalatech.com/display/CDML/Require+Parameters+on+State+Transitions> to see if that fits.

Kind regards

James  
Senior Product Manager


author: Alex Medved _ConfiForms_
body: Hi

So, I believe the question is really for Comala people to answer. And not so much about ConfiForms...

As we create pages the same way as Confluence does and the question is - could Comala plugin be set up the way it automatically assign reviewers when the page gets created.

Alex

comments: author: James Conway
body: Hi Alex,

Is it possible to set a page property on the page to retrieves the 'Reviewers' value from Confiforms? I thought I might be able to do it with the 'Confiforms Form Field' macro but it did not work as expected.

The storage format of my test page is:

```
<ac:structured-macro ac:name="confiform" ac:schema-version="1" ac:macro-id="6bbb138d-6fd4-49d3-8351-79d8a55bcffe"><ac:parameter ac:name="formName">MyTest</ac:parameter><ac:rich-text-body><p><ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="a8f1cef8-ff3f-46ef-b169-039fed9bd18a"><ac:parameter ac:name="fieldName">Owner</ac:parameter><ac:parameter ac:name="fieldLabel">Owner</ac:parameter><ac:parameter ac:name="type">user</ac:parameter></ac:structured-macro></p><p><br /></p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="confiform-entry-register" ac:schema-version="1" ac:macro-id="ffa9c1bc-0f4e-4276-88d9-bab838c7be5b"><ac:parameter ac:name="formName">MyTest</ac:parameter><ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter><ac:rich-text-body><p><br /></p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="details" ac:schema-version="1" ac:macro-id="300e7486-361e-4381-b39c-36b973f0508b"><ac:rich-text-body><table class="relative-table wrapped" style="width: 46.0015%;"><colgroup><col style="width: 32.1725%;" /><col style="width: 67.8275%;" /></colgroup><tbody><tr><td>Confiforms Owner</td><td colspan="1"><div class="content-wrapper"><p><ac:structured-macro ac:name="confiform-field" ac:schema-version="1" ac:macro-id="d032d771-4e1f-4935-be5c-3a605ba9c14f"><ac:parameter ac:name="fieldName">[entry._page].Owner</ac:parameter></ac:structured-macro></p></div></td></tr><tr><td colspan="1">Another page property</td><td colspan="1">Bacon</td></tr></tbody></table></ac:rich-text-body></ac:structured-macro>
```

Kind regards

James  
Senior Product Manager


author: Alex Medved _ConfiForms_
body: Well, this storage does not make much sense, sorry... but this one works as expected (assuming there is just one record in the form)

```
<ac:structured-macro ac:macro-id="6bbb138d-6fd4-49d3-8351-79d8a55bcffe" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">MyTest</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="a8f1cef8-ff3f-46ef-b169-039fed9bd18a" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Owner</ac:parameter>
<ac:parameter ac:name="fieldLabel">Owner</ac:parameter>
<ac:parameter ac:name="type">user</ac:parameter>
</ac:structured-macro>
</p>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="ffa9c1bc-0f4e-4276-88d9-bab838c7be5b" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:parameter ac:name="formName">MyTest</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="300e7486-361e-4381-b39c-36b973f0508b" ac:name="details" ac:schema-version="1">
<ac:rich-text-body>
<table class="relative-table wrapped" style="width: 46.0015%;">
<colgroup>
<col style="width: 32.1725%;"/>
<col style="width: 67.8275%;"/>
</colgroup>
<tbody>
<tr>
<td>Confiforms Owner</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="4975c290-b40e-402c-9282-e3c07335513d" ac:name="confiform-value" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Owner</ac:parameter>
<ac:parameter ac:name="formName">MyTest</ac:parameter>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<td colspan="1">Another page property</td>
<td colspan="1">Bacon</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>
```


author: James Conway
body: [@Alex Medved _ConfiForms_](/t5/user/viewprofilepage/user-id/781630) thanks for the fix! Unfortunately I've established that Comala Document Management does not currently have the capability to read a Page Property where the value is a Confiforms macro.

Is it possible for the Confiforms Create Page action to write a page property for user as a plain text username or a user mention?

Thanks

James  
Senior Product Manager


author: Alex Medved _ConfiForms_
body: Yes, of course. ConfiForms can create any kind of pages in Confluence (and blogposts).

That includes (but is not limited to) creating a "statically built" page properties block.

It this case a user should reference field's in ConfiForms via \[entry.field_name\] notations. Such references then will be replaced by the values the given field_name has at the given time (page creation time).


Tags: comala

confiforms

confluence-server

documentation

server