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.
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.