Importing a Model Database into a SmartFramework ERD Diagram

Creating a new Diagram File

First create a new "SmartFramework Diagram" using the File → New Wizard in Progress Developer Studio:

The new file should be named with the .smfdia file extension. 

Importing the Database Schema into the Diagram

Zalmoxis - the underlying ERD Designer - provides different ways of importing a database schema into the Diagram. The easiet way is to import directly from a connected Project Database. 

Select the project database to import into the diagram:

When you have existing relations in the SmartDB.SmartRelation table (Relation Maintenance) it may be recommended to skip the "Infer table relations". This can always be repeated later from within Zalmoxis. 

Importing SmartFramework Relations and Tables from an AppServer

The SmartFramework ERD editor supports importing and exporting of SmartTable and SmartRelation definitions from an AppServer backend.

To import existing Table and Relation definitions from a SmartFramework backend, select the SmartFramework Repository → Pull... option from the context menu of the main diagram. This option is not available for a Partition (subject area).

After that, the following wizard will be shown in which you need to specify the arguments for your AppServer connection. The AppServer needs to be setup as a proper AppServer with support for the SmartFramework.

This sample shows how to import from a local PASOE (http) connection. It is also possible to use the classic AppServer. After a successful "Test Connection", you can "Finish" to import the Table and Relation definitions from the backend.

In my example, I can now open the "Data" area and verify that relations have been imported from the Backend (it's recommended to use the "Arrange all" option in the Area diagram.. 

Exporting SmartFramework Relations and Tables from an AppServer

The export of updated SmartTable and SmartRelation definitions is performaned in the same way using a wizard on the main diagram.

Using the SmartFramework to maintain SmartTable and SmartRelation definitions

The integration with Zalmoxis ERD has been implemented to provide a more intuitive user interface to maintain the extended meta schema properties in the SmartDB.

SmartTable Maintenance

The fields of the SmartTable Maintenance have been mapped to either existing properties of the Zalmoxis table property sheet or new properties have been added to the "SmartFramework" property category.

For the maintenance of the Description and Unique Key Fields, a "multiple fields" picker dialog was implemented which can be opened using the Ellipsis button on the Description or Unique Fields property.

SmartRelation Maintenance

The fields of the SmartRelation Maintenance have been mapped to either existing properties of the Zalmoxis table property sheet or new properties have been added to the "SmartFramework" property category.