Workflow 7.6 – Adjustments and Considerations

{{Update 7/6/2015: 

The TextBox component is now a nested input element.  any javascript or CSS reference to a TextBox component will now need to be adjusted to fit the new HTML layout.  

.textbox {
  outline: none;
}
.textbox > input {
  outline: none;
}

var txtbx = document.getElementById(‘textbox’);
var txtbx = document.getElementById(‘textbox’).firstElementChild;
}}

After working with 7.6 for a few days, I’ve found a few bugs, as well as some differences in how the javascript is rendered in the new version.  I’ll also mention that the 7.6 virtual windows are completely different than the old infragistics stuff in 7.5; you’ll actually notice if you go looking for it, that the infragistics folder isn’t even there anymore.

Here’s the old vs. new default virtual windows:

2015-03-13_13-57-28

2015-03-10_12-58-50


Here’s a bug present in the 7.6.4383.0 version that affects the virtual windows (particularly in the Subdialog form components).

2015-03-11_14-39-53

When attempting to refresh the parent on closing out the virtual window, the parent doesn’t refresh and a javascript error is thrown.

I was given a quick-fix workaround, and the fix should be in a rollup soon.  Prior to that happening, Symantec will be publishing a KB with the corrected javascript file to copy into your Workflow directory.  Here’s the quick-fix for now:

Modify the FormBulder.js file found in %programfiles%\Symantec\Workflow\Shared\scripts\FormBuilder. Line 135 of the file contains the offending code. Change the current code from

if (lbProcessingShow)

to read

if (typeof lbProcessingShow === ‘false’)

This repaired the issue for me.


Another bug I ran into in 7.6 with the Subdialog virtual window can be reproduced in 7.6.4383.0 by implementing a Subdialog component and attempting to close it using the X button at the top right of the window.  A javascript error is thrown at that time.  Quick fix for that one (which should also be in the rollup and KB soon):

If you review the first error message talking about the Undefined it mentioned line 104 of the FormBuilder.js file. The line reads wnd.removeNode(true);. Removing or commenting out this line fixes the problem.

This makes reference to the same file as the previous bug; you can find the file at the path mentioned above.


I was forced to make adjustments to my javascript in some of the projects I had built in 7.5; after doing the upgrade to 7.6, some of the javascript events were seemingly not firing, while others were.  After a bit of research, I realized that in 7.6, setting the position of an element now requires a pixel value, whereas previously giving an integer worked just fine.  This may be obvious to javascript experts out there; it’s likely that accepted syntax usually demands the “px” on the end anyway and I (being a rookie) omitted it.

Here is what a 7.5-developed form looks like in 7.6:

2015-03-13_13-26-51

After making some adjustments to the javascript code, I got it to render properly again.

2015-03-13_13-32-02

Here are some code examples:


// Code that worked in 7.5, but didn't work in 7.6

if (! warnImg) {
crQuestion.style.visibility = 'hidden';
crResponse.style.visibility = 'hidden';
btnAdd.style.visibility = 'hidden';
crList.style.top = parseInt(crHeader.style.top) + parseInt(crHeader.style.height) + 7;
valImg.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
valLbl.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
btnReg.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
} else
if (crCount < 3) {
warnImg.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
warnLbl.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
btnReg.style.visibility = 'hidden';
} else {
warnImg.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
warnLbl.style.top = parseInt(crList.style.top) + (48 * crCount) + 6;
}


// Code that works in 7.6

if (! warnImg) {
crQuestion.style.visibility = 'hidden';
crResponse.style.visibility = 'hidden';
btnAdd.style.visibility = 'hidden';
crList.style.top = (parseInt(crHeader.style.top) + parseInt(crHeader.style.height) + 7) + 'px';
valImg.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
valLbl.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
btnReg.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
} else
if (crCount < 3) {
warnImg.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
warnLbl.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
btnReg.style.visibility = 'hidden';
} else {
warnImg.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
warnLbl.style.top = (parseInt(crList.style.top) + (48 * crCount) + 6) + 'px';
}


I’ll post anything else I find in 7.6 that should be mentioned, and please let me know if you find anything that should be noted.  Thanks to TGiles for all the information and bug-zapping.

bugzapper
Having grown up in the muggy U.S. south, the sound of bugs being zapped was part of the nightly chorus with the cicadas and tree frogs.

6 thoughts on “Workflow 7.6 – Adjustments and Considerations

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s