View Full Version : Some Ideas for Flexera for Improving the Suite Project

03-03-2016, 12:11 PM
I just completed a moderately difficult Suite project and have a few ideas for Flexera to improve the Suite project. Let me preface this by saying that the project was a great success and we have a lot of optimism about its potential for us. In doing this project I came across some things that I think could be done to improve the suite project. If there are others out there that see value in the ideas below maybe we can convince Flexera to add some of these features in a future release. On the other hand, if I am the only one then let's not bother. After all I got it done. I am using 2015 SP1.

1. Add a 'CustomerLogInfo' action. It's easy enough to add things to the suite log using SuiteLogInfo in an InstallScript action, but I wanted our own log. I got this done by creating a New Exe Action for each line I wanted to log. I can't post the details because it violates posting rules of this forum.
FYI, Always CTRL A and CTRL C before hitting the Preview or Submit tabs :)

2. Add an OnAfterUIPresented event between 'OnBegin' and 'OnStaging'. I used an Exe action to gather a lot of information about the machine, the environment, versions of 3rd party apps installed, versions of our apps installed, and info from a SQL database. All of this was done in 'OnBegin'. This works fine, but doing all of that means that there is a gap (sometimes a few seconds) between the time that the user starts the suite until the UI starts. It would be nice to do this after a UI was presented to the user, say in OnAfterUIPresented. I have about 40 actions that I perform in 'OnBegin'. I considered moving them to a 'PageEntered', but that would be a bit of a kludge.

As an alternative, if we could make a 'Group' of actions, I could execute the entire group as a "PageEntered' action. In defense of current suite behavior, the above behavior is explained well in the OnBegin Description.

3. An unwanted side effect that was caused by my execution of a bat file in OnBegin is that the Suite window was not brought to the front when the UI was presented, so I had to write an InstallScript action to bring the suite window to the front. Again, this is explained well in the OnBegin Description but perhaps the suite should always bring itself to the front.

4. It would be nice to have some SQL functions available to the Suite (via InstallScript functions). Specifically it would be nice to check database connectivity before launching packages so that we don't get an error later in packages that depend on the SQL connection. I got this done using SQLCMD in an InstallScript function. Of course this means that I have to verify that SQLCMD is installed in my ‘PreInstall’ action executed in OnBegin and install it and the requisite ODBC driver if necessary.

5. It would be nice to have a 'RestartThisPage' Click action for Navigation buttons on Wizard pages. That would be useful when erroneous data is entered into a field, for example. The wizard pages iterate through ALL of the actions (for a 'click'). The only way to stop it from executing subsequent actions (and typically going to the next page) is to put an exclusionary condition on ALL subsequent actions for that item. This is no big deal if you only have one or 2 actions, but is a pain when you have more actions than that. If we had a 'RestartThisPage' Click action we could put a condition on it to restart the page on error.

6. And speaking of erroneous field data... what is the deal with 'Validate' that appears in the ‘Content’ tab on many Wizard Controls? This looks like a great feature. For example you should be able to limit a field to containing a number between a Minimum and a Maximum value. Unfortunately, it does not work! It would be nice to have the ability to do some simple validation on fields.

7. It would be nice to have something like 'MessageBox' or 'SprintfBox' available in InstallScript for putting up pop up messages. I got this done by setting a property and then adding a 'ShowWindow' action with the appropriate condition on it after executing the InstallScript function.

Thanks for reading