Monday, May 17, 2010

Iron Speed Designer

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.

appwizard.jpg (143973 bytes)

A variety of Page Styles are available.

pagestyles.gif (103376 bytes)

Choose the Database

helpdeskmdb.jpg (157588 bytes)

Choose the Tables (TIP:  Select all of the tables)

helpdesktables.jpg (148745 bytes)

Ready to Run or Modify

readytorun.jpg (226853 bytes)



Iron 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.
05-17-10

No comments:

Post a Comment