...
Info |
---|
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:
Code Block |
---|
<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>
|