Wednesday, July 8, 2009

Real World FrameWork (eXpand)– First release

Refactoring was too time consuming cause I had to work with all modules together and they are almost 40 of them.

Because I want to focus only at the modules that we are going to release at first alpha version I am going to talk only about those.

eXpand as I already said has almost the same architecture as Xaf .The number of project we are going to released are 11.

eXpand.Utils
That project is holding reusable classes that can be used through other modules. Also dynamic Linq library is hosted here

eXpand.Xpo
CustomCollections, ConnectionProviders, ValueConverter, FunctionOperators, CustomXPObjects, TypeConverters, Attributes that are specific to Xpo are hosted here.

eXpand.BaseImpl
Is the same as ExpressApp.BaseImpl and is holding base implementations of Persistent Objects that are used from other modules. Generic ValidationRules belong also here

eXpand.Base
All objects that they are not xaf oriented but they have some kind of dependency with any Persistent object are using should go here

eXpand.ExpressApp
This one is the first generic module that will hold controllers that can run in both win,web environments. Also will host classes that derived from classes of DevExpress.ExpressApp module. Like custom CollectionSources,ViewExtensions,DictionaryHelpers,DataStoreProvider,XafApplicationExtensions,ObjectSpaceProviders

eXpand.ExpressApp.Win
This is the second generic module that will hold controllers that are specific to win enviroment. WinListEditors, WinPropertyEdtiors, WinTemplates, WinApplication derived classes and anything is windows targeting belongs here.

eXpand.ExpressApp.Web
This is the third generic module that will hold controllers that are specific to web enviroment. WebListEditors, WebPropertyEdtiors, WebApplication derived classes and anything is web targeting belongs here.

eXpand.ExpressApp.Security
BasePermissions and Security engines for different artifacts should go here

eXpand.ExpressApp.DictionaryDifferenceStore
Using this module you can save your model at your database instead of disk. Also it generates the UI required so you can modify your Model.xafml,User.xafml, or assign User.xafml to any user, or combine models with each other. Its a very flexible module that provides a distinguish between Model.xafml and User.xafml. If you change the model using the current model editor at runtime, only your user model is going to be modified now you can change your model.xafml for all users since its store at the database with ease making your product support less painful cause the model “work” is now centralized.

eXpand.ExpressApp.DictionaryDifferenceStore.Win
Only a Model editor propertyEditor is defined here for the momemt


eXpand.ExpressApp.DictionaryDifferenceStore.Web
Only XpoWebModelDictionaryDifferenceStore class that is responsible for enable any further element / debugging of the of the DictionaryDifferenceStore for web

Important: This is the 1st alpha version so code will be subject to many changes. Wiki’s are going to be written in the next few weeks and many blog post by me demonstrating the use of controllers and modules released

 

bellow you can see a code analysis using NDepend (read more )

image image

An open source project hosting the above modules can be found at

http://code.google.com/p/expandframework/downloads/list

ps: For all contributors of eXpand a professional license For TypeMock, NDepend, NCover can be provided in order to help building it

Subscribe to XAF feed
Subscribe to community feed

DiggIt!

0 comments:

Post a Comment