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.
This is a demo to show how the dropdown could be filtered using the "usedcount" also counting how many time the name was used
There is also a mechanism used to prevent the deletion of the data if it is used in the other form
Meaning that the form that uses the data from a source form sets the counter about how many times the data have been used. And there is a delete rule on source form to check the "used counter" and fail the deletion of the used count is more than 0
Much simpler solution with new function
Virtual functions has now a function to query count (queryCount) matching your criteria, using this function in the condition of "Validate on delete" rule is much more simpler than implementing the counter and counting the use of values
Records in f
profileName |
Used count |
---|---|
test | 1 |
another test | 0 |
test00 | 0 |
Ozan | 0 |
asdf | 0 |
123 | 0 |
test4 | 0 |
test | 0 |
cccc | 0 |
atom | 0 |
myonlyentry | 0 |
Ti Best | 0 |
dSAD | 0 |
0 | |
Counter | 0 |
TESTABC | 0 |
xxx | 0 |
yoppy | 0 |
Yoppy Rizaldi | 0 |
Yoppy Rizaldi | 0 |
Test01 | 0 |
uppp | 0 |
uppp | 0 |
adasfd | 0 |
Augustus | 0 |
test00 | 0 |
aSAs | 0 |
test | 0 |
test112233 | 0 |
Angel | 0 |
rrr | 0 |
test | 0 |
Mist | 0 |
sadasd | 0 |
test | 0 |
huhu | 0 |
Bingo | 0 |
battery | 0 |
testtest | 0 |
test | 0 |
testhrb | 0 |
222 | 0 |
r | 0 |
test | 0 |
test | 0 |
drama | 0 |
Recods in f2
profileName |
---|
test |
another test |
test |
Ozan |
another test |
test |
test |
test00 |
123 |
test4 |
test |
test |
another test |
Ozan |
test00 |
test |
Ozan |
another test |
test |
test |
test |
test |
test |
Ti Best |
another test |
Counter |
another test |
TESTABC |
test00 |
test4 |
another test |
xxx |
test |
test |
Yoppy Rizaldi |
Test01 |
Test01 |
uppp |
uppp |
uppp |
uppp |
atom |
atom |
another test |
cccc |
123 |
dSAD |
cccc |
test |
test00 |
cccc |
Ozan |
test |
test |
test |
Augustus |
test |
dSAD |
test |
Ozan |
myonlyentry |
test00 |
test112233 |
Angel |
test |
123 |
test |
rrr |
Mist |
another test |
myonlyentry |
another test |
test |
Ozan |
TESTABC |
battery |
test |
test |
test |
testtest |
123 |
another test |
r |
Yoppy Rizaldi |
Ti Best |
test |
xxx |
drama |
drama |
Source code for the solution
<ac:structured-macro ac:macro-id="323f6007-384e-41ce-8d66-7d65c436f281" ac:name="confiform" ac:schema-version="1"> <ac:parameter ac:name="formName">f01</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="ef798ae4-d4a7-42c4-8c3e-4b93c2f56286" ac:name="confiform-entry-register" ac:schema-version="1"> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="b9706e4b-d98e-4cdf-8452-07c715edc161" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">profileName</ac:parameter> <ac:parameter ac:name="fieldLabel">profileName</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> <p> </p> <p> <ac:structured-macro ac:macro-id="4d2758d3-4c25-4466-84be-3340a02e5f5d" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">used</ac:parameter> <ac:parameter ac:name="fieldLabel">Used</ac:parameter> <ac:parameter ac:name="values">false</ac:parameter> <ac:parameter ac:name="type">hidden</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="6690c163-f11d-4f0c-b892-2c7b3f14459e" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">usedcount</ac:parameter> <ac:parameter ac:name="fieldLabel">Used count</ac:parameter> <ac:parameter ac:name="values">0</ac:parameter> <ac:parameter ac:name="type">hidden</ac:parameter> </ac:structured-macro> </p> <ac:structured-macro ac:macro-id="11c04fe8-aa43-49d0-a460-a0b1cec79e01" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="condition">used:true</ac:parameter> <ac:parameter ac:name="extras3">true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onModified</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.id]&usedcount=([entry.usedcount]+1)&used=true</ac:parameter> <ac:parameter ac:name="who">f01:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="fef83b62-6842-4374-8d32-3b13abeb38ed" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="condition">used:false</ac:parameter> <ac:parameter ac:name="extras3">true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onModified</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.id]&usedcount=([entry.usedcount]-1)&used=false</ac:parameter> <ac:parameter ac:name="who">f01:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="965ed455-9a0a-461f-93ab-49fad96f376b" ac:name="confiform-field-definition-rules" ac:schema-version="1"> <ac:parameter ac:name="condition">usedcount:>0</ac:parameter> <ac:parameter ac:name="fieldName">You cannot edit this record (it is used (referenced) in other form)</ac:parameter> <ac:parameter ac:name="action">Validate on delete</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="3aebe087-a1d1-4b14-9367-7c87a4efd011" ac:name="confiform" ac:schema-version="1"> <ac:parameter ac:name="formName">f11</ac:parameter> <ac:rich-text-body> <ac:structured-macro ac:macro-id="28803937-25f6-4738-92e5-ea53d8edae7f" ac:name="confiform-entry-register" ac:schema-version="1"> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <p> <ac:structured-macro ac:macro-id="578f2f88-9e05-4491-9a34-40c139c23152" ac:name="confiform-field-definition" ac:schema-version="1"> <ac:parameter ac:name="fieldName">profileName</ac:parameter> <ac:parameter ac:name="fieldLabel">profileName</ac:parameter> <ac:parameter ac:name="values">[12222622|f|profileName|true||]</ac:parameter> <ac:parameter ac:name="type">smartselect</ac:parameter> </ac:structured-macro> </p> <ac:structured-macro ac:macro-id="ea265827-080b-4f1f-b859-7728658da04f" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="extras5">true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onCreated</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.profileName]&used=true</ac:parameter> <ac:parameter ac:name="who">f:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="a9b4c52e-dc2c-412c-a353-0609b30ae72f" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="extras5">true</ac:parameter> <ac:parameter ac:name="condition">hasChanged(profileName):true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onModified</ac:parameter> <ac:parameter ac:name="title">entryId=[entry._previousState.profileName]&used=false</ac:parameter> <ac:parameter ac:name="who">f01:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="ecd1c878-ddfb-4ce4-9f06-796a3334935b" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="extras5">true</ac:parameter> <ac:parameter ac:name="condition">hasChanged(profileName):true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onModified</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.profileName]&used=true</ac:parameter> <ac:parameter ac:name="who">f01:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:macro-id="01a76f72-1c9f-44d5-be3b-38038a419dc0" ac:name="confiform-ifttt" ac:schema-version="1"> <ac:parameter ac:name="extras5">true</ac:parameter> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onDeleted</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.profileName]&used=false</ac:parameter> <ac:parameter ac:name="who">f01:12222622</ac:parameter> <ac:rich-text-body> <p> </p> </ac:rich-text-body> </ac:structured-macro> </ac:rich-text-body> </ac:structured-macro> <p>Records in f</p> <ac:structured-macro ac:macro-id="a08b6b66-1070-48a8-b56b-1416630b937a" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">f01</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="542e9d47-c466-4ae8-948d-45b961c32214" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">profileName</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:macro-id="fd0b30d1-4185-4a29-b5e3-83d6cb47aeaf" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">usedcount</ac:parameter> </ac:structured-macro> </p> </ac:rich-text-body> </ac:structured-macro> <p> </p> <p>Recods in f2</p> <p> </p> <ac:structured-macro ac:macro-id="b9cb1824-20f7-49f2-afd2-dfa95775899b" ac:name="confiform-table" ac:schema-version="1"> <ac:parameter ac:name="formName">f11</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:macro-id="b5bc0a57-2d00-4e21-973b-b98a3f369ca0" ac:name="confiform-field" ac:schema-version="1"> <ac:parameter ac:name="fieldName">profileName</ac:parameter> </ac:structured-macro> </p> <p> </p> </ac:rich-text-body> </ac:structured-macro>