Session E-MERE

The Mere Mortals Framework

Kevin McNeish
Oak Leaf Enterprises, Inc.


Learn how the Mere Mortals Framework can help you create Visual FoxPro desktop applications that easily scale to three-tier, Windows DNA compliant architectures. The live demonstration of Mere Mortals also highlights its many features such as scalability to client-server and the Internet, multi-lingual capabilities, robust security and solid object-oriented design. You will see how the Mere Mortals Framework can save you development time and money as well as provide a stable, flexible foundation for building your Visual FoxPro applications.

From the Desktop to the Internet

Many Visual FoxPro developers create one application that runs on the desktop, then create a completely separate application for the Internet. In contrast, the Mere Mortals Framework allows you to leverage the investment in your desktop application by providing an architecture that lets you access your desktop application via the Internet. Mere Mortals provides this scalability by applying the design principles of Microsoft's Windows DNA (Distributed Internet Architecture).

The main pitfall that prevents VFP developers from scaling their desktop applications to the Internet is that they place the majority of their application logic in the user interface. When the user interface goes away and is replaced by a thin HTML front end, their application logic is lost. Based on this premise, the Mere Mortals Framework guides you into placing your application logic in business objects rather than the user interface. These business objects can then be accessed from your Visual FoxPro front end and/or they can be compiled into a COM server that can be accessed via Active Server Pages (ASP/ASP+). In addition, you can also access these objects from tools such as Rick Strahl's West Wind Web Connection.

It comes down to this-where you place your application logic has everything to do with the scalability of your application.

Flexible Business Object Architecture

The Mere Mortal Framework's flexible business object architecture is another key element in the ability to scale between multiple architectures and clients. The following diagrams show the structure of Mere Mortals business in a variety of desktop and Internet architectures.




Flexible Data - VFP Cursors, ADO, HTML, XML

Mere Mortals business objects are designed to server up data in a variety of formats such as Visual FoxPro cursors, ADO, HTML, XML. Different clients need data served up in different formats. For example, a Visual FoxPro front end works best with cursors. An Active Server Pages front end works best with either ADO, HTML or XML. Our business objects give you the flexibility you need by providing data in all of these formats.

Many developers need to access both Visual FoxPro data as well as client-server data (SQL Server, Oracle, etc). Mere Mortals allows you to easily scale to client server by providing a thin data layer that can easily be changed at design time or dynamically at run time.

Multi-Lingual Capabilities

Mere Mortals allows you to easily create multi-lingual applications. We provide these capabilities in two different ways. First, we have integrated with Steven Black's INTL toolkit, a popular Visual FoxPro 3rd party product. Second, you can simply use the Framework's built-in multi-lingual capabilities. As shown in the diagram below, the Framework allows end users to translate the forms, toolbars, menus and application messages themselves.

Changing the Framework to Suit Your Needs

One of the biggest complaints developers have against frameworks is that they are difficult to change to suit your needs. In contrast, the Mere Mortals Framework is built with complete flexibility in mind.

By means of our Abstract Factory, you can easily replace Framework components with your own custom components without hacking the Framework files! The Abstract Factory also gives you the same kind of flexibility for your own applications. You can easily adapt the applications you create to suit individual end-user needs, by means of flexible application behavior and flexible user interfaces.

Application Security

The Mere Mortals application security allows you to specify user and group access to any elements of your application-from the menu or form-level down to an individual user interface control. As shown below, our "Security Setup Mode" allows end users to specify security settings by directly manipulating the secure user interface control-without having to go to a separate "User" or "Group" maintenance form.

Integration with 3rd Party Products

Rather than reinventing the wheel, we have integrated Mere Mortals with a number of popular 3rd party products. This makes it easy for you to retain the time and energy you may already have invested in these tools:

  • West Wind Web Connection
  • Steven Black's INTL Toolkit
  • Stonefield Database Toolkit
  • FoxAudit

Mere Mortals Framework Builder

The Mere Mortals Framework is not an application generator. However, the Framework does include a data-driven builder that allows you to quickly and easily set the most-used properties on Framework classes. For example, the diagram below illustrates our Grid Builder.

The Grid Builder gives you the ability to:

  • Change the RecordSource without deleting the column ControlSource settings
  • View the most common Column settings simultaneously
  • Easily specify the class of the control to be added to new columns
  • Apply properties such as Font Size and Header Spaces to all columns simultaneously


We get high marks from our customers on the documentation that we provide with the Framework. Our documentation doesn't just tell you how to use the Framework classes, but also gives you background information on the technologies and architectures used within the Framework. Our documentation includes:

  • A 350+ page Developer's Guide that gives you both step-by-step "how-to" information as well as educational overview information.
  • A "Jump Start" Guide that gets you up and running quickly by taking you step-by-step through each phase of the development process.
  • A "What's New" Guide that lists all changes made to the Framework since the previous version
  • A "Mere Mortals Guide to Object-Oriented Programming" that contains information regarding design patterns and object-oriented features of Visual FoxPro.
  • Unified Modeling Language (UML) diagram of Framework classes


vorheriger Vortrag D-VFXB

zur Übersicht der Gruppe FWK

nächster Vortrag D-ACOD



Frankfurter Str. 21 b


D-61476 Kronberg

per Fax an:


oder per e-Mail an:

© Texte, Grafiken und Inhalt: ISYS GmbH