This site was developed in 2009 and 2010 by Donn Edwards. Initially the project was started to get FishWise Pro working, but I realised that the technology might be useful or interesting to other programmers.
The original data for this site came from the Access 97 Northwind Traders sample data file. There is a comparable data file available on SQL Server, and a free NorthWindNET version on CodePlex. This file is unsuitable for Mustang, and the original Mustang tutorial guides the user to make some changes to the data structure to improve it and make it more logical. The most obvious problem with Northwind is that the code and data is in the same file, making program updates impossible. But then Northwind is a technology demo, not a "real" application.
Also, there are some useful fields missing, notably a DateTimeStamp and UserId field, to note which user made changes and when it was last updated. Also. there is no provision for a "Soft Delete", where data is retained but marked as deleted. The DeleteInd field handles this.
Mustang was pioneered by Russell Westwood in the 1990's, originally using Clipper, the dBase compiler. When Windows 3.1 eclipsed MS-DOS and both dBase and Clipper failed to provide anything usable in Windows, Russell eventually turned to Microsoft Access, and when Access97 proved to be quite powerful, Mustang in Access (MiA) was born. Mustang generates a multi-user data-driven application in record time. Unfortunately at the end of 1999 support and development of the Access97 version was terminated, and the remains of the Mustang User Group were left to support the product themselves.
I was employed by the Jockey Club of Southern Africa to assist them with their MiA development and to use the Miami technology I had developed for this purpose. During the period 2000-2006 Miami was greatly expanded, not only for the Jockey Club project, but also for numerous other projects, including FishWise, AmaYeza and Men's Clinic. The next step forward was to create DataMover, a data transfer and synchronisation tool that has been used since 2005 by Men's Clinic to send updates between clinics on their WAN.
If you'd like to see how the Mustang/Miami generated Access version of Northwind would look, you can download the installation setup file (28.5MB) and install it on Windows 98, 2000, XP or Vista. This is a runtime version, so the source code is not displayed, and unless you have a copy of Access 97 installed, you will not be able to modify the data, except through this program.
At the end of 2008 I was asked by Dennis Polack, a Mustang User Group stalwart and developer of FishWise, to help him develop the Fish Wise Pro web site. The idea was to put his entire FishWise database on the web in a form that would allow some trusted users to edit the data, and everyone to be able to see the data. Part of the reason for this is that it is difficult to distribute an Access application that has over 500MB of data, as well as several thousand pictures. He was also getting close to the Access97 1GB file size limit, especially after doing data updates.
Initially we looked at using the Microsoft Dynamic Data technology, but it didn't allow us to customise the pages enough. Then we found DevExpress.com and their awesome ASPxGridView and Editors™ product. It provides almost all the functionality we needed to enable users to see the data, search for stuff, zoom in to edit or view records in more detail, and generally explore the data in a browser. It's fast, stable and relatively easy to learn and program. Their product support is fantastic.
Eventually we upgraded to the DXperience™ ASP.NET Subscription in order to use the tabbed pages control as well. I spent approximately 6 months learning to use VB.NET, Visual Studio 2008, and the ASPXGridView control. This was usually done on a Friday, so in all I spent around 30 days actually working on the project. During that time I asked the DevExpress people 9 questions, such as How to show/Hide the Add button and how to position the FilterRowMenuIcon. Their answers were always helpful and prompt.
After getting the Northwind data to display in Visual Studio, we tested it with the FishWise data, and were encouraged by the results. We noticed that some of the more complex pages were running slow, and after exploring the code samples and demos and asking questions, sorted out the speed issue. We found a hosting company that could support DotNetNuke and ASP.NET, because the "lite" FishWise site uses DNN. Then we posted the Northwind version of the site and asked for feedback from some user forums. This site is the direct result of that experience. I decided to continue working on the Northwind site separately from FishWise, and use the lessons learnt from both to strengthen the other.
In addition to the code generated by Miami, we needed a menuing system to link all the tables together and provide easy navigation. I used a customised version of GRC's Script-Free Pure-CSS Menuing System that you can get by downloading this page and this CSS style sheet. The menus have been customised and simplified for text-only display. This avoided a lot of unnecessary script programming and complexity. Check out this page for further details, including downloads.
Hosting is provided by Arvixe. I am using their basic windows hosting package, on a Microsoft IIS7/Windows 2008 Server, using Microsoft SQL Server 2008 as the database engine. Files are uploaded using the FTP, and data updates to the SQL Server are done using DataMover (via ODBC) and SQL Server 2008's "SQL Server Management Studio" application. This is remarkable in itself, since the data source is in South Africa, and the hosting company's servers are in the USA, almost halfway around the globe.
Security: we do not use Adobe's Flash, Air or Acrobat technologies. Nor do we use Microsoft's Silverlight technology. The only "insecure" technology in use is JavaScript, but since it is part of the ASPxGridView package, you're unlikely to encounter any malicious code. User input into fields is tested for malicious scripts. In this way we have attempted to minimise any security risks on this site.

We have added the ability to post Comments by using a great service called "Echo Live" from the guys at JS-Kit.com.
It has been incredibly easy to implement with a simple bit of script code at the bottom of static pages. Comments can be
"post-moderated" which means they are moderated after they have already appeared on the site, but only appear in the RSS feed
once the moderator has approved them. If they are not acceptable to the moderator they can be deleted. The service costs $12 per year
per domain, which is extremely good value for money.
Anonymous posting can be disabled, and there is both an HTML and RSS feed of all the comments posted. There are a gazillion other helpful options and features, including integration into other serices like Facebook and Twitter.
Pages displaying this logo have not been generated, but coded by hand. I use EditPad Pro as my text editor. If the page does not display this icon, then it was mostly generated by Miami. The site.master page is also hand coded, even though it is invoked by the generated pages.
Pages displaying this logo have been generated by Miami, using only the data structure and Miami keywords for additional control.
There are a number of keywords that can be used, such as ones to hide or display a field, or control its width.
This site does not require flash, but does require Javascript for the database viewing and editing functions. When you log in a cookie is placed on your machine, but it may be deleted when the session is over. The cookie contains an obfuscated version of your user name, but no other personal information. The cookie has a lifespan of 20 hours.
| Advertisement Advertisement |