Playground and DEMO space
This is a playground and demo space for ConfiForms and ConfiDoc addons developed and supported by Vertuna LLC
Most pages provide a storage format for the demo, so you can use the free add-on from Atlassian Confluence Source Editor (or through the bundled in ConfiForms storage editor) to import this configuration into your Confluence and see it in action
To import examples from the storage format on Confluence Cloud please see this page
Please note, all the examples here are provided without any obligation and may or may not be incomplete or may have bugs, and we provide NO SUPPORT for these examples and demos.
Form for registering new vendor
For for registering new client
Basic reports
All my clients (in a table)
Same as above but as a list (with totally custom layout)
All my vendors (in a table with name and location)
Vendors per location
Clients per region
Vendors per region
My client (by name) with all vendors in a custom view (showing only ONE client by filter with custom layout)
Showing customers who use vendor matching a filter (vendors:*TUV)
"questionable" reports
- querying through vendors about clients (not directly at least, but though custom views), as we only store one way reference in client table/form. That means: vendors form knows nothing about clients
- Vendors used by clients (with multiselect fields (we have it for vendors) the reports might be not so flexible, values are appended automatically)
same as above but with flattened dataset
same as above but with flattened dataset
vendors.length with Merger table
as normal table (using special function to count vendors) vendors.length with table view
same but using [entry_fieldname]
In current configuration we have not created a form with locations which we can then reuse in both "vendors" and "clients". (this is certainly possible, but to simplify things we have decided to use simple text field)
Storage format for this example:
<p> <br/> </p> <p>Form for registering new vendor</p> <ac:structured-macro ac:macro-id="bb994003-5fd8-4b26-ae6e-194c55952770" ac:name="confiform" ac:schema-version="1"> <ac:parameter ac:name="formName">vendors</ac:parameter> <ac:parameter ac:name="registrationFormTitle">Vendor Registration</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="6319a610-583d-4178-a010-22077286ce98" ac:name="confiform-entry-register" ac:schema-version="1"> <ac:parameter ac:name="restrictions">confluence-administrators</ac:parameter> <ac:parameter ac:name="registrationMessage">Vendor has been registered</ac:parameter> <ac:parameter ac:name="registrationButtonLabel">Register vendor</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> <p> <ac:structured-macro ac:macro-id="61fbc9d3-f429-48c1-a2ca-17fd4e603dd9" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> <ac:parameter ac:name="fieldLabel">Name</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="ed77d301-a7ec-403f-a434-ed04beb4bf3b" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> <ac:parameter ac:name="fieldLabel">Location</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>For for registering new client</p> <ac:structured-macro ac:macro-id="58ff068d-3f9b-485c-94ee-3f4db286bea9" ac:name="confiform" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:parameter ac:name="registrationFormTitle">Client Registration</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="0589e4d7-d309-4026-a4fd-c715f7d582e9" ac:name="confiform-entry-register" ac:schema-version="1"> <ac:parameter ac:name="restrictions">confluence-administrators</ac:parameter> <ac:parameter ac:name="registrationMessage">Client has been registered</ac:parameter> <ac:parameter ac:name="registrationButtonLabel">Register client</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> <p> <ac:structured-macro ac:macro-id="c6d962e3-a688-40d4-8f40-470a82797a24" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> <ac:parameter ac:name="fieldLabel">Name</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="b5f8e256-9f50-4088-adc4-aea978efde40" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors</ac:parameter> <ac:parameter ac:name="fieldLabel">Vendors</ac:parameter> <ac:parameter ac:name="values">[7045319|vendors|name|true||]</ac:parameter> <ac:parameter ac:name="type">smartmultiselect</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="f419ce0f-c83f-4114-a4c6-8f2750f2086e" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> <ac:parameter ac:name="fieldLabel">Location</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <h2>Basic reports</h2> <p>All my clients (in a table)</p> <ac:structured-macro ac:macro-id="c2fccce5-a099-4ba5-8149-501e07feb566" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:parameter ac:name="sort">name ASC</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="b5668abf-3dc3-4e83-812d-6861d1b1d7d4" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>Same as above but as a list (with totally custom layout)</p> <ac:structured-macro ac:macro-id="13d8c420-561b-4a09-b5db-d570b8279d5d" ac:name="confiform-list" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:parameter ac:name="sort">name ASC</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="fae3c914-da7a-4a6f-95bd-2524ab63fd6b" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> <em>based in</em> <ac:structured-macro ac:macro-id="542da1b0-a8a1-4611-856e-f8481e1c45c2" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>All my vendors (in a table with name and location)</p> <ac:structured-macro ac:macro-id="439b7ca6-49ed-47b6-b06f-db65d7b6eab7" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">vendors</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="6797eba5-6923-4a45-982c-b9666d40595f" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="3233a8a6-35a5-4b8a-a311-12bbe6c5c10b" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>Vendors per location</p> <ac:structured-macro ac:macro-id="f254a30d-a805-4fba-a712-300ad10cc52e" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="1c6bbd2a-3031-45eb-a1a6-4a6cb6c20111" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">vendors</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="e0b6eee9-1d3e-4130-a051-b74e7b028c5f" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="19a9b9e3-d818-4491-a2a2-6769b3ca451e" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="overrideLabel">Per location</ac:parameter> <ac:parameter ac:name="fieldName">Per location:[count]</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p>Clients per region</p> <ac:structured-macro ac:macro-id="289ebf9c-08b0-41a7-9a59-70c6358c3560" ac:name="chart" ac:schema-version="1"> <ac:parameter ac:name="dataOrientation">vertical</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="e456344d-8ced-4099-a266-f3290424956f" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="b26671b7-42b4-49d3-93de-0aa53556cddc" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="b8d28cfd-464d-4cba-aaf6-17aa5e9afe5c" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="88ea06ee-e4de-430c-a5bd-7d675aea4413" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="overrideLabel">Per location</ac:parameter> <ac:parameter ac:name="fieldName">Per location:[count]</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>Vendors per region</p> <ac:structured-macro ac:macro-id="2619fc1b-02ee-42e9-81b6-62d8e5dc3485" ac:name="chart" ac:schema-version="1"> <ac:parameter ac:name="dataOrientation">vertical</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="8ee7d13c-69fe-4573-ba83-119ea9383a4e" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="e3e14b45-ce59-4f3c-a979-6dac2d2f2304" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">vendors</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="24c6819c-1bbe-424e-a2ab-38bf860addca" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="20f87053-b3d1-4148-973a-848f767eac22" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="overrideLabel">Per location</ac:parameter> <ac:parameter ac:name="fieldName">Per location:[count]</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p> <br/> </p> <p>My client (by name) with all vendors in a custom view (showing only ONE client by filter with custom layout)</p> <p> <br/> </p> <ac:structured-macro ac:macro-id="3b459e32-fe94-4284-9b54-7f10544e2b02" ac:name="confiform-list" ac:schema-version="1"> <ac:parameter ac:name="filter">name:*ABC</ac:parameter> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <h3> <ac:structured-macro ac:macro-id="c1d10fd8-6240-4487-b82f-18b6e9912ba0" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </h3> <p>Based in: <em> <ac:structured-macro ac:macro-id="7e639974-0b3f-4354-9798-18a00224b8d8" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">location</ac:parameter> </ac:structured-macro> </em> </p> <p>Vendors:</p> <p> <ac:structured-macro ac:macro-id="a35dfaab-8fb5-46e9-9f9d-e8248d617420" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>Showing customers who use vendor matching a filter (vendors:*TUV)</p> <ac:structured-macro ac:macro-id="fa50d4c5-7b32-4bd6-9102-dff112b8bf25" ac:name="confiform-list" ac:schema-version="1"> <ac:parameter ac:name="filter">vendors:*TUV</ac:parameter> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <ul> <li> <ac:structured-macro ac:macro-id="e21ca380-e4b0-4d96-b571-ea3c10350185" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </li> </ul> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p> <br/> </p> <p> <br/> </p> <p> <br/> </p> <p> <br/> </p> <ac:structured-macro ac:macro-id="325acf1e-a5f6-453b-9f5c-29967e8895e1" ac:name="warning" ac:schema-version="1"> <ac:rich-text-body> <p> <strong>"questionable" reports</strong> </p> <ul style="list-style-type: square;"> <li>querying through vendors about clients (not directly at least, but though custom views), as we only store one way reference in client table/form. That means: <strong>vendors</strong> form knows nothing about <strong>clients</strong> </li> </ul> <ul> <li>Vendors used by clients (with multiselect fields (we have it for vendors) the reports might be not so flexible, values are appended automatically)</li> </ul> <ac:structured-macro ac:macro-id="c7816c28-69c3-439b-8620-62c23944cc95" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="534e890f-762c-4a16-8bf9-de7dec2cc107" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="7c23e3b3-d608-4cb3-aa80-4a5ed9f4a26a" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors.name</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="551605e6-8594-4ef3-8e38-5532b4a834aa" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="dc2e7588-642b-4d1b-b2c2-f814a82b179e" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="b7ca2d4b-8bd5-4ed2-9c9d-fbf683f09a0f" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors.name</ac:parameter> </ac:structured-macro> </p> <div> <ac:structured-macro ac:macro-id="870d5eed-221c-4cb7-a43f-50cdf03ad087" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">[count]</ac:parameter> </ac:structured-macro> </div> </ac:rich-text-body> </ac:structured-macro> <p>same as above but with flattened dataset</p> <ac:structured-macro ac:macro-id="e3b1d72f-cdbc-49ab-9c25-1398bda0d08e" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:parameter ac:name="flattenEntries">true</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="c4602ead-6454-4ff9-8b27-6d89b6c2310f" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="2426f850-5278-4ac8-a733-5a94ccf408f4" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors.name</ac:parameter> </ac:structured-macro> </p> <div> <ac:structured-macro ac:macro-id="bb8e9b82-7004-451b-a973-06c3545a976e" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">[count]</ac:parameter> </ac:structured-macro> </div> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="bb35003b-e718-46a7-908b-ae2f5602ca3a" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="89f71a16-ab20-4947-86fd-05d3824352a9" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="aff4cedb-a695-4915-8433-a4472326650f" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors.name</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="5643b408-8f58-4a98-95f5-6f2adf852ff8" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p>same as above but with flattened dataset</p> <ac:structured-macro ac:macro-id="648b04ad-21b6-4f8b-97df-0a082d2c90a1" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:parameter ac:name="flattenEntries">true</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="c2332792-2361-4c70-a794-b7a5a4f4372a" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="0e9c2725-301e-4ce2-a689-e130e29b5efb" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">vendors.name</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="79b82c28-d0ba-4b59-8617-3f160e17c0da" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p>vendors.length with Merger table</p> <ac:structured-macro ac:macro-id="8d547eab-e9d3-4dfd-ada2-cd3d222b6045" ac:name="confiform-table-merger" ac:schema-version="1"> <ac:rich-text-body> <ac:structured-macro ac:macro-id="fbaf017c-9057-4b43-b688-16f9336d269e" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> <ac:structured-macro ac:macro-id="2ddd6690-8112-4e09-a454-2a4b0a829856" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="0d7d34a8-d024-441d-a5db-7e166ecf8f49" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="overrideLabel">vendors.asLength</ac:parameter> <ac:parameter ac:name="fieldName">vendors.asLength</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p>as normal table (using special function to count vendors) vendors.length with table view</p> <ac:structured-macro ac:macro-id="3ab16904-04e4-43a0-85dd-5a4ee813ec70" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="d310405f-4085-4a24-bb39-9126d2c31f16" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">name</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="d8ee7cfd-cd62-4594-934c-63cd27baaa1c" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="overrideLabel">vendors.asLength</ac:parameter> <ac:parameter ac:name="fieldName">vendors.asLength</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p>same but using [entry_fieldname]</p> <ac:structured-macro ac:macro-id="dc4dfb84-3444-4856-92de-1b2bda6ba8b9" ac:name="confiform-list" ac:schema-version="1"> <ac:parameter ac:name="formName">clients</ac:parameter> <ac:rich-text-body> <p>[entry.name] with vendors count: [entry.vendors.asCount]</p> </ac:rich-text-body> </ac:structured-macro> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="a5f431c6-771a-4993-b414-58f0194050fc" ac:name="info" ac:schema-version="1"> <ac:rich-text-body> <p>In current configuration we have not created a form with locations which we can then reuse in both "vendors" and "clients". (this is certainly possible, but to simplify things we have decided to use simple text field)</p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <p> <br/> </p>