Iron Speed Designer Review - Part 1
In order to really give Iron Speed Designer a workout I will be using a more complex database. The sample application will be similar to many real world applications like others that I have created using similar software - a web based help desk system for use in supporting computer users. The application will provide tables for Users, Requests, Computers, Software, Peripherals, and many tables used for "looking up" frequently used values. I will use Role Based Security and will therefore include Sign In/Sign Out pages. This application will use the Master/Detail features of Iron Speed Designer. The application may utilize Iron Speed Designer's email sending features.
During the course of developing the application I will try to use at least a few of the Code Customization Wizards.
I will use as many of the built in controls as possible to demonstrate their features and use in the application. I will use the option to generate documentation and make this documentation available through the online demonstration as well.
The sample application will be available for on-line for interested people to try it.
I have not decided if I will use an Access .mdb backend or Microsoft SQL Server (Oracle is not an option available through the host I will be using for the demonstration).
I may create more than one virtual directory for the application, unless I can find another method of letting visitors to the site "switch" to see the same application with a different mountain theme.
While the finished application will not be anywhere need as well designed as the sample applications provided as downloads from Ironspeed.com, I hope that it will be adequate to demonstrate what the program is really capable of, beyond the first simple contacts demo application.
Iron Speed Designer Review - Part 2 and a lesson learned..
I have taken a database file like many I have used for this type of application. It consists of quite a few tables, many of them related Master-Child tables. My example helpdesk.mdb also includes a number of tables with a single unique value used for looking up commonly entered information, such as a Department name. I begin by launching the Application Wizard. Now, at first I thought I did not want to select all the tables to generate pages from the application wizard. My reasoning was that this would create a menu with two many buttons or tabs. So I selected only the main tables. I could then easily create a new menu page, called for example Lookup Tables or Maintenance, and then create the pages for the many smaller tables. While this was easy enough to do with Iron Speed Designer, in the end it became tedious. I had to create a page for showing the table in tabular view, then create another page for Editing and Adding a new record. Hindsight being 20-20, I found it much easier to go ahead and let the wizard create pages for all the tables in my database, even though it did in fact create a menu option for each table. However, it was then easier to configure the main menu and remove the menu items for the small tables. The pages I needed were created by the wizard instead of one at a time by me, so I could then just create an additional menu page and configure the menu for these many smaller tables.
I learned still more by taking this approach and creating pages for all the tables I had in my database. Even if I deleted tables from the "main menu" the pages that were created for me by the wizard still referred to the main menu. I had to then, for each page, either remove the references to the main or default menu, or create another menu panel and change these pages to refer to that newly created menu, instead of the default. As part of the process of creating this application with Iron Speed Designer I reconsidered the basics of my database design. In hindsight, I believe it may be best to not create tables for every little lookup value. My original database had many tables with a single field, such as Department, Priority, Status, and so on. In retrospect I found it easier to just specify a list of values in setting properties for drop down lists.
The first step in the Application Wizard.
A variety of Page Styles are available.
Choose the Database
Choose the Tables (TIP: Select all of the tables)
Ready to Run or Modify
Speed Designer Review - Part 3 Customizing and Fine Tuning.
Now Iron Speed Designer does the majority of the work during the Application Wizard option, however, you will then need to begin fine tuning and adding some of the many provided Bells and Whistles. For example, I want the application to use Role Based Security.
This is easily implemented, but I needed to make a change to my database structure to get the most out of this feature. I had not included a Roles Table, but this was easy enough to create and actually makes more sense to have a separate table for this function rather than including a separate field in a user information table.
After letting the wizard create pages for my tables, and after using the Role Based Security Wizard, I was ready to begin customizing the created pages. If a table has a lot of fields, you might not want to include them all in the tabular pages. You can rerun the application wizard, in part at any time, to customize the fields for example, and to add or change column filters. You can also change the Page Style at any time and I have to admit I did this a few times. There are quite a few styles, or themes, and all of them are attractive. So don't be surprised if the demonstration application does not look the same as some of my screen shots.
One of the first things I did was to configure my application's main menu. As shown below, I really had too many buttons, and some were for tables that I ultimately decided to replace with a list of static values at the column level for some of my pages.
The buttons on the left side of the screen above let you add menu options, change the properties of the menu option, delete an option, or move the button up or down in the list.
You can create as many menus as you like and then for the page properties simply browse to the menu you want to use for that page. If you decide you don't want to use a menu for a page just click the Remove Properties button next to the Hide Tree button. Now, although I only used horizontal menus in my application, Iron Speed Designer also let's you implement attractive vertical menus as well.
There may be a way to set a default on an application wide basis, although I didn't find it, but I did not want my field labels to be right justified, but preferred them to be left justified. This was easy enough to change. As in the screen shot below, I selected all the field labels on each form then "right clicked" and chose the option, Align, Left.
I mentioned early that I had used many tables with a single value and intended to use these tables to populate drop down lists. That is easy enough to do with Iron Speed Designer, but I instead decided in many case to "specify a list of permitted values" as shown below. When you are editing a page you can view the properties for all the fields and field labels and modify those values as shown below. I chose for the Operating System field of the computer page to use a drop down list instead of a text box. I then selected the radio button to specify permitted values and typed the values I wanted to make available.
I like the tabs for the property values as shown above with a tab for Display options, one for setting an initial value, one for bindings, tab that shows the Query for the page, and very important for applications like this one - the security tab. That tab will let you specify which role(s) can access or cannot access part of your application.
If you do decide to use values from a table to provide the list for a drop down list, Iron Speed Designer makes it easy to set up Foreign key values, as shown below. Also, you can change the length of fields, as well as the label text for a field as well. If you used a Microsoft Access .mdb file, as I did, you may want to change the field display properties. Access, for example, might default to a field length of 50 characters, but in your web page interface you might find that length is too long. Rather than go back and change the table in MS Access, you can easily change the length as I did by setting the number of text box columns to a smaller number. Also, note that you can check the box to make a field required. This will put a red asterisk next to that field on your web pages and will insure that a required value is not left blank.
I mentioned before that you can easily customize the columns to be filtered in a tabular view. You can also select which fields are to be searched when using a search box on a tabular form. See below.
While it is possible to create sophisticated, powerful applications without using Code Customization Wizards, I found these tools to be very helpful. In my example application I wanted to be able to use the logged in users name to populate a field when the end user was adding a new support request. I also wanted to filter the table based on the name of the logged in user. A code customization wizard made this very easy to do, as shown below.
Rather than creating a show table page from scratch for use by end users, I was able to copy my existing page, which did not utilize the filter for the logged in user, then add the code customization to my newly create page. Note: the copied tabular page referred to the same add, edit and show pages as my original. So I did need to create pages, with a lower security level, to be used with this new filtered table. However, page wizards made that easy to do as well.
Iron Speed Designer is a very powerful tool for creating all types of data driven web applications. While the many wizards allow for novice users to create attractive, functional web applications quickly and easily, the program will be most valuable to developers who need to modify and customize applications. I would recommend this program for both developers who work within organizations as well as those who develop web based applications for customers and clients. Iron Speed Designer will allow you to create comprehensive, robust and attractive web based applications.
Pricing varies but starts at $545 for the Professional Editon, to $1,895 for the Enterprise Edition.
NOTE: This review has dealt primarily with the product, but I have to add that my experience with the company the make the product has also been impressive. The communication I had with front line sales people, as well as others "higher up" the corporate ladder were cordial, professional and most importantly helpful. It was evident to me in both verbal and written conversations that they care deeply about their customers and have pride in there product. While no program is perfect, a strong desire to make an already excellent program better was evident. I have "inside" information that there are even better things in store for developers who choose to utilize Iron Speed Designer for developing .NET Web applications.
I have created an end user account: Login name: Sample User Password: Password
an example staff member account: Login name: Joe Tech Pasword: Tech
and an administrator account Login Name: Admin Password: Admin