Assign Comala reviewers from a ConfiForm (Create Page) automatically?

Matthew Fulton September 2, 2020

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.

2 answers

3 votes
James Conway
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 9, 2020

@Matthew Fulton 

Thanks to the guidance from @Alex Medved _ConfiForms_  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

Matthew Fulton September 9, 2020

@James Conway 

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. 

James Conway
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 9, 2020

Hi @Matthew Fulton ,

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 

0 votes
Alex Medved _ConfiForms_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 6, 2020

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

James Conway
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 7, 2020

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

Alex Medved _ConfiForms_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 8, 2020

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>
James Conway
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 9, 2020

@Alex Medved _ConfiForms_ 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

Alex Medved _ConfiForms_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 9, 2020

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).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events