Workflow Short – Form Animation Samples

As an illustrated response to jdeleon7010’s post on the Connect forums here, this post will demonstrate some of the animations I’ve put together for various projects.

The original post:

Has anyone been able to create animated elements within workflow?  I am not looking for anything in particular, just trying to get more creative in our form designs.

So, here are some examples of how we can begin to improve the user experience a bit.  Some are “animations” in a true sense, while others are transition events.

Continue reading

Integrating Google’s Visualization API with Symantec Workflow – Part 2, Interaction

I posted an article back in October 2014 about integrating Google’s Visualization API with Symantec Workflow, but the pie chart wasn’t very interactive.  In this article, I’ll be going over how to code the chart so that we can talk to the chart and act on the represented data.

googlevisAPI2

Continue reading

Concept Demo – ListSelect Filtering (Part Two)

{{7/16/2015 Workflow 7.6 update — review this update for new info on this post.}}

I was able to work a bit more logic into the ListSelect filtering concept I demonstrated in a previous post.  This time, I’m filtering based on both a standard TextBox as well as a CheckBoxList component.

listfilter2
I’m behind a bit on security patches.

Continue reading

Write Data to an Excel File

I had the opportunity today to respond to a post on the Symantec Workflow forums, here, regarding writing data to an Excel file.  Here’s a quick go-to on how to do it.

Let’s have a look at two different scenarios.  The first being that there’s a file that’s being output to a specific location (like a log file), and the second, that a user is downloading report data to an excel file that will be saved to their default download directory.

Both scenarios are illustrated in the demo project for this post, and require the import of the LogicBase.Components.Office.dll library (Microsoft Office).

*Note that this method can also be applied to a number of other scenarios, but an important third scenario would be sending an Excel file via the Send Email component as the file attachment.

Continue reading

Workflow Short – Disable Input Field Autocomplete (Google Chrome)

As I was presenting a project-in-development to a customer, the remark was made that “the suggested responses are going to be a problem, as this may be used on a community kiosk”.  I was presenting a self-service password reset project and demoing with Google Chrome.

So after a bit of looking around, I put together this bit of javascript code to disable the autocomplete suggestions in Chrome:


//remember to paste into notepad (or similar)
//before pasting into the Advanced Text Creator
//in Workflow in order to remove formatting from the text.

function DisableAutoComplete() {
var thisForm = document.getElementById('form1');
thisForm.setAttribute('autocomplete','off');
}

This is called at body onload like this:


DisableAutoComplete();

The feature we’re disabling is illustrated below.  It includes the dropdown list of values as well as the yellow background after one of the items is selected.

2015-01-20_19-46-02

Here’s a moving picture to demonstrate two different forms; one with autocomplete in its default state, and another with it disabled by our code above.

AutocompleteDisabled

Head over to the Demos page to find an example package.

Custom Component – Determining the Client Browser

While developing a workflow project for a customer, I noticed that some machines in the customer environment were using IE9 as the primary browser.  I also noticed that my form design worked very poorly in IE9.  Because the team I was working with had a bit of control over the business paradigm, I was able to design the form to indicate to the end user that “IE9 is an unsupported browser, please use Chrome or etc etc”.  This was fantastic, since I really didn’t want to have to go back and redesign everything to work with IE9.

In this post response by reecardo on Symantec Connect, it’s mentioned that the Get HTTP Request Value component can be configured to return the HTTP_USER_AGENT string.  So instead of doing all the work to parse that string reliably, (see this post to find out why this string response is so convoluted), I decided to instead use that time to learn some more C#.

Here’s my run at building a Code (Script) Component that returns usable values containing client browser data.

Continue reading

Workflow Short – Position Forms at Y=Top, X=Center

The two settings Workflow provides for the position of your forms is handled here:

2015-01-12_18-33-25

Continue reading

Password Field CAPS LOCK Warning

{{7/16/2015 Workflow 7.6 update — review this update for new info on this post.}}

A few days ago I spent about 10 minutes researching why my AD credentials were busted, only to realize I had caps lock turned on.  I built this for people like myself who sometimes go moon-brained.

Here’s a quick how-to on adding a CAPS LOCK warning to your login forms.  If you’re using a modern version of IE, this feature will be built-in.  For any other modern browser, however, we’ll need to add one if we want it.

CAPSdemo

Continue reading

Live ListSelect Filtering with Javascript

{{7/16/2015 Workflow 7.6 update — review this update for new info on this post.}}

For a project I’m developing that involves interactive reports, I needed the ability to filter results based on user input.  I didn’t want to do the usual – type a value into a TextBox, click a “filter” or “search” Button and then have Workflow run a filter and reload the entire form with the new result set.

With the help of Google and a number of great reference articles, I was able to piece together a bit of Javascript that results in a very slick and seamless ListSelect filter.

listfilter

Continue reading

Mimicking Form Anchors with the scrollto() Method

In response to a forum request at Symantec Connect, I came up with a method of mimicking the functionality of an html anchor tag on a Workflow form.  What this does, functionally, is scrolls a form to a specific position.

scrollto

Continue reading