Automatic audit confiform across multiple pages
Asked by Bill Turner:

I have a confiforms form \<myform\> on a confluence page for users to interact with and a table view \<mytable\> of this form on another confluence page. Editing is enabled on the mytable page, and only new record submission is enabled on the myform page.   

I would like to enable a myform_log confiform that takes entries from creations in myform page, as well as edits and record deletion from the mytable page.   

I've tried to achieve this with IFTTT audit option on both pages using the appropriate action trigger however when I create a table view referencing myform_log nothing is displayed, although the table view does accept that myform_log does exist.   

I do not have access to confluence source editior so any solution making use of macros ui would be much appreciated.


Answers:
author: Alex Medved _ConfiForms_
body: Hi

How is your audit rules have been configured? What IFTTT integration rule are you using and where have you put it?

Alex

comments: author: Bill Turner
body: Hi Alex,

Thank you for your quick reply.   

I have an IFTTT config macro on the myform page with

Event=onCreated, ChooseAction=Audit, and condition/filter left blank as I want it to trigger on all creations.   

Similarly I have 2 other IFTTT config macros on the mytable page configured for Event=onModified \& onDeleted. This is in an attempt to capture any changes made via the table view and add to the audit form myform_log.   

I have run a test of creating a new record via myform page and making changes on the mytable page yet no records seem to display if I put a table view on top of myform_log (I have added fields to this table view as per their name in myform as well as trying fieldname_ref).


author: Alex Medved _ConfiForms_
body: Hi

ConfiForms IFTTT macros are part of form configuration/definition

They should be placed on the page where the form is - either inside the ConfiForms Form Definition macro body or on the same page linking it via the form name, if you are using cloud version of ConfiFormds where nesting of bodied macros is not supported by Confluence editor

Alex


author: Bill Turner
body: Thank you Alex, that worked perfectly and apologies for what now seems like a schoolboy question! I assumed the onModified IFTTT would have to be on the page where the modification takes place.   

One further question, my original form is making use of recordId to have a form unique integer reference for each record (the long string version is a bit unwieldy for our purposes).  
When I use recordId on the audit table view, it gives the integer recordId for the audit record (as can be expected). Is it possible to use something like \[_ref.recordId\] in a field macro to retrieve the original record's recordId?


author: Alex Medved _ConfiForms_
body: recordId identifies the record in the original form - in the _log form each record has own recordId

But yes, you can access original recordId, via _ref field


author: Bill Turner
body: When I use recordId in a table view of the myform_log it gives me the audit event record ID. What I'm looking to return is the recordId associated with the original record.   

E.g. myForm recordId = 1 for the first entry into myForm. If I make a change to that record, recordId in myForm_log will return 2 for the change. How do I return myForm's recordId rather than myForm_log's recordId?   

I tried _ref.recordId but this does seem to be a valid syntax.


author: Alex Medved _ConfiForms_
body: _ref.recordId is a totally valid and correct syntax


author: Bill Turner
body: I have a table view correctly referencing the myForm_log form which displays _ref, _event etc as expected, however when I use a confiforms field macro with Field Name = _ref.recordId it returns blank values for every record in the myForm_log. Testing for _ref.fieldName for all of my field names in myForm also seems to return blanks.   

Should I be doing something differently?


author: Alex Medved _ConfiForms_
body: Hard to tell, May be you can share screenshots? I have checked and it works just fine for me


Tags: confiforms

confluence-server

server