Copy and paste (of unchanged) Template Canvas data via Dataset Viewer results in corrupted object

I am using Template Canvas to provide a list of simple document-link templates (for user to select from list of documents to open in a popup, for PDFviewer object to then open). I manually created four (4) rows using right-click → Customizers → Template Canvas Customizer. This works okay, however one can’t really insert rows or modify row order from this interface (that I know of).

So, I tried to get at the object data via Property Editor → Data → Templates (as shown in tutorial video) and then I pull up the Dataset Viewer window and use Copy to Clipboard button.

When I create a copy of my Template Canvas object and repeat above, but instead use Paste from Clipboard (without changing clipboard in ANY way), the object is corrupted. I need assistance to understand why that is and how to work around it.

I saved contents of the clipboard/Template Canvas to file, below:
template_canvas_that_wont_paste.txt (1.6 KB)
It looks like rows are preserved but data is lost during pasting operation. Here’s what they look like side by side:

Underlying template is very simple:

document_template_properties
(background color is white for category=true or grey otherwise)

I’m on 7.9.12 (b2019070213), under Windows 10 enterprise.

The problem is the backslashes in your Path parameter are being treated as escape sequences, because for some reason they’re not being properly escaped. I can’t reproduce in 8.1.X; this might be a fixed bug. If you upgrade to latest 7.9, there’s changes made to how the JSON encoding is done for the custom properties that may have been what fixed this.

Unfortunately, updating to 7.9.17 didn’t fix issue.

Curiously, every time I “Paste from Clipboard” in Template Canvas → Dataset Viewer, it blindly truncates 2 back-slashes (this is repeatable) , until none are left and then it throws up a “java.io.IOException: CSV invalid: row #2 has incorrect column count. Found 16, expected 8.”

I can ‘game’ “Paste from Clipboard” by simply doubling # of back-slashes (paste operation blindly halves the count) but doesn’t work for repeat operations.

Likely, I will swap to “/” and then use a script to rewrite the path before “using” it.

1 Like