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

Handling SQL Data – Leveraging SQL Stored Procedures in Workflow

For every project I develop, there’s a high probability that a custom-made SQL database is going to be useful to the process I’m working on.  I’m going to detail my process here, which should be a good follow-up to my SQL primer here.

Note that while this is not intended to be a tutorial on how to use SQL, I will be covering the SQL basics needed to complete this demo.  Send me a note if you have any issues with any of the steps.

For this project, we’re going to build an integration library with two components.  One component is going to be a simple data query component that we’ll use to validate a proposed data write before committing; the second will be the Stored Procedure caller that will handle updates, inserts, and deletes.  The same component can also be used for other, more specific tasks, such as order changes and re-sorting.  Let’s start with the second component – the Stored Procedure caller.

Continue reading

Updating Application Properties From Within a Workflow Project (Profile Values)

I’ve been having a hell of a time with this one for the past few days.  I’m developing a project that validates and, if necessary, installs, repairs, or updates any external values needed.  This includes SQL data and Application Properties in the ProcessManager portal/DB.  The SQL part was no issue, but the profile values were making me really work hard for success.

Set Profile Values is the component I finally got to work.

2015-01-05_17-53-58

Continue reading

Creating ServiceNow Tickets with Symantec Workflow

While Workflow is typically associated with ServiceDesk (as SD is built on the Workflow platform) for ticketing, Workflow can be used to send data to any supported and available web service, and thereby can be used to integrate with other ticketing systems.  In this case, I’m going to detail the process for creating ServiceNow tickets with Workflow.

Continue reading

Workflow Short – Adjust Default Debugger Browser

I haven’t personally been a fan of Internet Explorer for a long, long time.  Because of this, when the Workflow debugger insisted on opening forms in IE, I had to insist in return that it do otherwise.

These instructions will help you swap out IE for Chrome, but you can tailor these instructions to use whatever supported browser you’d like.

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

Open Season – Workflow

collaborationFeel free to send me an email or message if you have any:

  • Questions
  • Comments
  • Ideas
  • Issues
  • Demo Package Requests
  • Development Projects or Opportunities
  • Etc.

labelgen (1)

I’ve had several Workflow newcomers reach out for help to just get started at all, as well as seasoned colleagues looking to discuss ideas or issues.  Either way, I’ll respond as soon as I’m able.

Also, if any experienced Workflow developers want to contribute to the site, contact me to talk it over.

Have a great holiday season.

-andrew

Sending Gmail Email via SMTP

Because I perform nearly all of my Workflow development and labwork locally on my workstation, I do not want to have Exchange and Outlook and all that running in a VM someplace just to handle AD and email testing, nor do I want to maintain some other free, open-source mail server.  I found that with a few dummy Gmail accounts and a Send Email Component Via SMTP component, I could do all the notification/email testing I need without the extra computing resource overhead.

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