eXpand your XAF

Expand is a framework that sits on top of XAF and adds more capibility to the product. We have some screencasts to show you some of the capibilities.
Models in eXpand Minimize

As you know XAF computer generates software from a user defined model. It actually uses three models which it merges together to do this. The first is an application model, which is generated automatically from your XPO classes. This model can be edited by the developer and is saved in a model differences file. These model differences files are really just xml files stored in the application directory. Next there are differences files for both a potential Windows version of the software and a Web version of the software. Finally after the software is distributed to end users there is a model differences that the end-user with sufficient permissions can edit. So the basic flow is.

Application model -> overridden by programmer changes -> overridden by changes for specific environment (Windows or Web) -> overridden by end-user changes.

The biggest weakness is that the information is stored in XML files and if all users run the program from the same directory (Web users, Terminal Service Users) then they all share the same changes. So basically all users are running the same model and will see the same software.

eXpand adds a great deal of flexibility to this arraignment. First it adds the ability to have an unlimited number of models and to assign those models to specific roles or even individual users. Second it stores the models in a database eliminating the problems with handling XML files. If user “Mary” is assigned a specific model then she will get that model whether she is signed into her workstation or someone else’s. eXpand also adds a number of features to the model itself, extending it and giving eXpand programs considerably more flexibility than straight XAF programs.

In these screencasts we will explore some of what eXpand brings to the XAF table.

The home of eXpand is located here.

  
 
Using Role Models Minimize

In this screencast we will demonstrate how to make a clone of a model, make a change in the clone and use it as the bases for users having a particular role.