Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
Excerpt

In this tutorial:

  • how to create a form which will create new pages in Confluence based on the template
  • how to set labels to newly created pages (also dynamic labels)
  • our pages will have a status field which will show the status of the content on this page (we will have 3 statuses: draft, completed, approved)
  • our form will have a link to all created pages
  • use formula to have a LastUpdated date field stored for us automatically

Excerpt Include
Creating a simple form in Confluence with ConfiForms
Creating a simple form in Confluence with ConfiForms
nopaneltrue


Table of Contents

Creating Confluence pages with ConfiForms


ConfiForms plugin is very versatile in functionality. And one of it's features is to help you with creation of dynamic page templates.

...


Warning

Better solution would be to have a "page/blogpost" field on your form and save the created page id to this field


Let's say we have a field of this type called "mypage". In this case to update it with newly created page id you will do something like


Code Block
entryId=[entry.id]&mypage=${[iftttResult_0.id}]
Info

Important to know that IFTTT macro body is also evaluated as Velocity template (unless this feature is globally switched off by your administrators) - Configuring ConfiForms IFTTT actions and rules#CreatePage



When the new page is to be created the dialog looks like this

...

Info

This is only a demonstration and the layout for the page created is very simple, you can of course add permissions to the Edit Controls we place on the page, so only certain user groups or users will be able to change page status. You can extend page layout as you wish, as long as the Confluence editor is happy about it or you can go "raw" and use Confluence storage format editor to edit it the way you like. 

If you have any questions do not hesitate to contact us at vertuna(at)vertuna.com



Info

Quick FAQ on creating pages 


Why ConfiForms creates a broken page from Confluence template

When you setup ConfiForms to use Confluence templates to create the page it is very important to check how your ConfiForms IFTTT macro is configured

Code Block
 <ac:structured-macro ac:macro-id="502e549e-8c5a-40ad-bf3f-a34e2a588bca" 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">test:[entry.id]</ac:parameter>
      <ac:rich-text-body>
        <p>[template.template_with_columns]</p>
      </ac:rich-text-body>
    </ac:structured-macro>

It should not contain any extras in it's macro body and only the reference to a template, as you can see in the example below

Code Block
<p>[template.template_with_columns]</p>

as everything you have in your ConfiForms IFTTT macro body will go as a template contents and the page will be created from it. (No worries about <p></p> tags around the template - we can recognise them and safely remove them)

Warning

This is extremely important when your Confluence template uses layouts! As Confluence is very fragile when the page is having a layout but does not start with a layout tags!

More on Confluence templates in ConfiForms Using Confluence templates with ConfiForms and avoid configuration duplication

Why ConfiForms "auto-wraps" everything with ConfiForms ListView on a created page

Before ConfiForms IFTTT creates a page it analyzes it's contents to see if you have some macros that need a "view" to work. This macros include: ConfiForms Field, ConfiForms Edit Controls, ConfiForms EntryViewer. But most important is ConfiForms Field macros that are placed alone, not inside the ConfiForms *View macros

When ConfiForms finds this it attempts to "fix" your template (and page) and adds the ConfiForms ListView macro around everything (filtered by current record). So your "viewless" ConfiForms Field macro will work

ConfiForms never auto-wraps the contents if each and every ConfiForms Field macro has been carefully placed inside "views" macros

Make sure you set the filter on the views to

Code Block
id:[entry.id]

Image Added

to dynamically show current record's data (this will be processed to have an actual ID, to limit the view to render the data for the current record's data that was used to create the page)


https://wiki.vertuna.com/display/CONFIFORMS/Advanced+integrations+with+IFTTT+macros+with+ConfiForms

...