Παρουσίαση με Ετικέτες

DX-Nuspec files hosted on GitHub
22 Απριλίου 14 12:41 μμ | tolisss | 0 σχόλια   

DevExpress offers a great installer for their components and frameworks. But if you work in a continuous integration environment or have to deal with different versions of the components NuGet packages are the better way to deploy and version-control  dependencies. This project contains .nuspec files for  DevExpress WinForms, Web and XAF assemblies. It is not an official release and it is not supported by DevExpress.

This is the description of the DX-Nuspec files, open sourced from Sergej Derjabkin a casual community contributor! The files are available in https://github.com/derjabkin/DX-Nuspec and of course they will be distributed as a submodule from eXpandFramework v13.2.9.1.

Δημοσίευση στην κατηγορία:
How to use an eXpand module with an existing XAF application
01 Αυγούστου 11 12:25 μμ | tolisss | 0 σχόλια   

Let me describe for a moment how we at DX work. We build and sell software which means that we only sell and provide support for products that have been built and tested by us! However I am here as a framework evangelist and huge XAF fan. This makes it my duty to spread the word as much as I can and make XAF even bigger. To this end through collaboration within the XAF community, we have been building and supporting eXpand. This framework follows XAF to the letter and takes things even further. eXpand gets its inspiration from real life situations and bases itself on examples from DX SUPPORT CENTER. eXpand is the first open source project based on the DevExpress eXpressApp Framework (XAF). More info is available at www.expandframework.com and our very existence relies on your efforts! Anyone is welcome to contribute and enjoy the rewards. It is not necessary to be a XAF guru, we can all manage to create a behavior taken from DevExpress code central. Let’s work together to enhance our beloved XAF!

Using an eXpand module with an existing XAF application is an issue that is being raised a lot recently and I am sure it deserves a post and a place in Xpand Wiki. The following information applies to any Xpand module. Note that installing an Xpand module is almost as easy as using a XAF one.

Introduction

Firstly, as a base type for our application components it is imperative to use XpandWinApplication or XpandWebApplication. Therefore we need to reference Xpand.ExpressApp.Win or Xpand.ExpressApp.Web assemblies from our application projects and replace their components’ base types accordingly,

image

Additionally we need to reference Xpand.Persistent.BaseImpl. Having similar architecture with XAF, eXpand modules use interfaces and their implementations are hosted in the BaseImpl assembly. Xpand modules know how to locate the Business Objects they require so this is all we need to do at this point.

Note; it is possible to use a custom BaseImpl assembly.

Registering in Toolbox

Now, unless we are a XAF guru, we have to register the assemblies in the VS toolbox. I suggest creating the toolbox items within a new Xpand Tab as shown. At this point we don’t have the resources to create our own ToolBoxCreator utility. If any VS IDE guru wants to contribute such a tool, we owe him one!

image image

Registration

Registering and using a module is as easy as dragging and dropping it into the Application Designer. The designer will then add all required references and modules for us.

image

Give us your feedback

Was this post useful to you? Do you want to learn more about Xpand framework? We would love to hear your feedback!

Happy eXpanding!


Δημοσίευση στην κατηγορία: ,
eXpandFramework v10 released
04 Οκτωβρίου 10 11:25 πμ | tolisss | 0 σχόλια   
Our team is happy to announce a stable v10 version for windows platform. In order to help the community adopt expand further we have publish an expand dedicated site at www.expandframework.com . Forums are available also for discussion over various cases at http://expandframework.com/forum.html A big thanks to our sponsors http://expandframework.com/sponsors.html (only 5 for now :) but we expect more), all are happy to provide a pro license to anyone that is interested to help building expandframework. Also our team is building a wiki over our new site , so if you have modules, controllers, ideas , want to be a dedicated wiki writer or you want to actively help expandframework development please write us at [email protected] . You can find the

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
Make your navigation behave
20 Σεπτεμβρίου 10 01:03 μμ | tolisss | 0 σχόλια   
Xaf provides a very easy to configure navigation system and in this post i will speak about expand approach to make Xaf’s navigation system behave better than the one provided by default. To enable eXpand extended navigation behaviour one can use the ViewShortcutProccesor attribute either at BO level or at View level as shown in the next image Now what this ViewShortcutProccesor can do to speed up your development? Navigate to a detailview using a ReadOnlyParameter the above readonly parameter taken from eXpand feature center and is defined as     public class ExternalApplicationKeyParameter : ReadOnlyParameter     {         public ExternalApplicationKeyParameter () : base ( "ExternalApplicationKey"

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Controlling DevExpress XtraGrid Part-3 (The Columns)
30 Αυγούστου 10 01:58 μμ | tolisss | 0 σχόλια   
Continuning the Controlling XtraGrid Control series.. Contolling DevExpress XtraGrid Part-2 (Master Detail) Controlling DevExpress AspxGridControl at runtime Controlling DevExpress XtraGrid Control at runtime With the great help of DevExpress Support Guys eXpand now has an engine that can push any class property to your model and then using the power of modeldifference module allow you to change its value at runtime. See for example how simple we have define all the the options of a GridColumn and push them to the model public interface IModelColumnOptions : IModelColumnOptionsBase {     IModelGridColumnOptions GridColumnOptions { get ; set ; } }   public interface IModelGridColumnOptions : IModelNode {     IModelGridColumnOptionsColumn

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
3 pictures 3000 words!!!
03 Αυγούστου 10 05:30 μμ | tolisss | 0 σχόλια   
The last few months i have been silent but not lazy at all so I post the next 3 pictures to give you an idea what eXpand will deliver by v10   So what you think? I just can’t wait to finish.

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Controlling DevExpress AspxGridControl at runtime
08 Απριλίου 10 01:45 μμ | tolisss | 0 σχόλια   
Using the same approach we did for controlling DevExpress XtraGrid at runtime .

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Controlling DevExpress XtraGrid Control at runtime
24 Μαρτίου 10 09:42 πμ | tolisss | 0 σχόλια   
When I first met DevExpress I was amazed by their XtraGrid control. What a configuration monster!. Xaf exposes some of the configuration but not all. eXpand allows you to control all configurations of XtraGridControl per view as shown bellow

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
New MemberLevel Security module
16 Φεβρουαρίου 10 11:22 πμ | tolisss | 0 σχόλια   
eXpand has a new module that make its easy to protect selected members from selected object instances. It does the above by checking if in the current system has been granted a eXpand.ExpressApp.MemberLevelSecurity.Win.Security.ProtectRowMemberPermission with an allow Modifier. Then it will allow you to protect selected members of an object as shown in the image above I have protected (minus sign) boths phones but not the fax (plus sign). So a user that do not have permission will see or for listviews There is also a non object instance depented permission for use as suggested by K18110 So when you create a new role you have to add the following permision by default role.AddPermission( new MemberAccessPermission ( typeof ( object ), null , MemberOperation .Read,

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
Collaborating with Xaf and IO module
18 Ιανουαρίου 10 01:02 μμ | tolisss | 0 σχόλια   
.NET provides a lot of ways to collaborate between systems. All of them are based on data serialization. XPO is missing that, and have a client project that could not live without some generic type of serialization. So I create a simple but powerful IO engine It can serialize any object that inherits DevExpress.Xpo.XPBaseObject. It will also serialize any object that is related to the root object of serialization. To control the export engine A serialization graph can be provided . Object's properties can be serialized according to Serialization Strategy enumeration      public enum SerializationStrategy     {         SerializeAsValue = 0,         SerializeAsObject,

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
eXpand presentation at XERP
21 Δεκεμβρίου 09 11:12 πμ | tolisss | 0 σχόλια   
XERP is an open source movement in order to create a .Net profitable enviroment. eXpand is serving the same goal and did a presentation of current state eXpand at 1st XERP meeting. I have demo the creation of a simple domain without writing any code. The modules used in the session WorldCreator for runtime Domain objects modelling + any custom scripting required to achieve the goal AdditionalViewsControlProvider for disaplying controls and bound them to domain objects ModelDifference module to configure the application model . ModelArtifact to make conditional a behaviour expressed by a controller  

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
Dynamic types in any application?
16 Νοεμβρίου 09 01:08 μμ | tolisss | 0 σχόλια   
WorldCreator a module designed to work with Xaf can really work without it!!!! Suppose you have a non xaf application and you use Xpo as your dataLayer and you want dynamic types then WorldCreator can for sure help you. You just reference WorldCreator and eXpand .BaseImpl assemblies and use an approach similar to the specs bellow [Test] public   void Can_Create_Types_In_A_Non_Xaf_Context() {     new PersistentClassInfo(Session.DefaultSession){Name = "Test" }.Save();     var typeCreator =         new TypeCreator(             new TypesInfo( new List<Type> {                                             

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Filtering a listview of objects according to their childs
09 Νοεμβρίου 09 02:11 μμ | tolisss | 0 σχόλια   
  The Problem 1 A common requirement in any OOP application is the ability to filter a listview of objects according to their childs in whatever level they belong. eXpand can solve the above by the use of propertypath filters. So in an Customer—>Orders--->OrderLines relationship the filter bellow are enough to filter your customer list view according to any property value of their Orders child collection with the one bellow you can filter customer list view by any property value of orderlines collection of customers orders collection In the video bellow i demo 1. the above functionality that is hosted at eXpand.ExpresApp assembly, 2. eXpand.ViewVariants module for creating views without the model editor (that is badly needed now that we can have multiple

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , , ,
Dynamic Types with WorldCreator source code is out
02 Νοεμβρίου 09 03:50 μμ | tolisss | 0 σχόλια   
WorldCreator is a xaf module that provide dynamic persistent types for your application and runtime members for your existing classes. That means that you can define dynamic types at runtime through a UI (xaf views) save them in the database and let your imagination free !!! Installation Very simple you just register the selected assemblies bellow   and add the required classes you want from .Persistent.BaseImpl At my previous post IOC by BaseImpl I have explain the use of DevExpress.Persistent.BaseImpl assembly so in the same concept eXpand now has its own eXpand.Persistent.BaseImpl that will host a default implementation of persistent interfaces used from eXpand As you can see at the above image there are to types of prefixes on those classes Persistent—>

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , ,
Yes Xaf can do it before lunch!!!
21 Οκτωβρίου 09 04:18 μμ | tolisss | 0 σχόλια   
Maybe not with the build in modules and not exactly before lunch but the difference between traditional programming and Xafing is really great. I am going to continue my posts on WorldCreator module and going to inform you about the progress up to here. New persistent objects have been designed and added to eXpand .BaseImpl assembly in order module consumers to be able to change that implementation The code that creates the Dynamic types and synchronies Xpo dictionary and model dictionary  at application startup is there as well Sample application installation created and can be download, so I can get some feedback on it from anyone will play with it Not Implemented Create Dynamic types without restarting the application Not tested for web  Cannot create

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
Sneak Peek: Dynamic Types with World Creator module
15 Οκτωβρίου 09 08:08 μμ | tolisss | 0 σχόλια   
Dynamic Types is one of the most wanted feature in any framework. Luckily me I met Emilio DabDoub of Signia software and one of the Coordinators of XERP project and he hire me to port an old code that he had that could provide that feature and much more into xaf . Also he agreed to publish that module into eXpand . Technorati Tags: WorldCreator , eXpand

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Saving settings to database instead of cookies
14 Οκτωβρίου 09 01:14 μμ | tolisss | 0 σχόλια   
  THE PROBLEM –> HTTP 400 Bad Request (The data is invalid) Xaf provides peristent of your web listview setting to cookies using Options | SaveListViewStateInCookies attribute in the Application Model. But due to the limit in request buffer size of IIS your web browser will receive a HTTP 400 Bad Request (The data is invalid) when you overcome it. DevExrpess suggest you either persist individual listviews in order you never overcome that limit or as Microsoft also suggested here to add a registry value to raize that limit. SOLUTION ModelDifference module provides the Options | SaveListViewStateInDataStore that can persist your listview settings to your user model and thus to the database and since your model is persistent also at database Technorati Tags:

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
One way associations
08 Οκτωβρίου 09 08:14 μμ | tolisss | 0 σχόλια   
If you are tired of writing both parts of an association or if you want to add an association to an object that you do not own check eXpand ’s ProvidedAssociation attribute. Creating OneTo Many public   class Employee:BaseObject {     public Employee(Session session) : base (session)     {     }     private EmplyoeeContract _EmplyoeeContract;     [ProvidedAssociation]     [Association( "EmplyoeeContract-Employees" )]     public EmplyoeeContract EmplyoeeContract     {         get         {             return

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
ModelDifference Module
07 Οκτωβρίου 09 12:40 μμ | tolisss | 0 σχόλια   
DictionaryDifferenceStore has been refactored and added the following features Localization Support Multiple application support Ability to change application model without restarting User,Role differences for web and win environments Persist web settings instead of cookies to the database Ability to work as a standalone module without  having to inherit eXpand.ExpressApp.Win.WinComponent/WebComponent as you saw in previous videos Martin Praxmarer provided great help in that refactoring and I am going to host him here to speak on some of the above subjects and I ll speak on the rest Here are the issues implemented / fixed issues see also: How to get eXpand latest version Technorati Tags: ModelDifference , eXpand

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
How to get eXpand latest version
05 Οκτωβρίου 09 01:08 πμ | tolisss | 0 σχόλια   
I have some bad and some good news. The bad first, until we manage to have full continuous integration in order eXpand new features to be immediately available (nightly builds) we are not going to make any more releases. eXpand release policy will be the same as DevExpress that is we make a release exactly after DevExpress And now for the good. eXpand will provide build scripts that you can use them to compile the source code. The trunk of source code will contain the most current work. So you first download the code as shown at How to download eXpand source code from google subversion and along with the code a set of batch files will be downloaded. You just double click at buildall.bat and eXpand will be compiled and register to the gac. To unregister it use

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
How to zero your application startup time
21 Σεπτεμβρίου 09 11:10 μμ | tolisss | 0 σχόλια   
For this question don’t we all of us spend a lot of time ? But I think it is allowed to use a trick to spend our selves that time. Add to your model to attributes NotifyIcon, MinimizeOnClose. Since I am using Xaf I am going to present that with it but the code should be very similar to any other windows application so here are our attributes NotifyIcon: will add a tray icon for your app at the system tray with a context menu that will allow you to terminate your application and display it when you double click the icon public   partial   class NotifyIconController : WindowController {     public   const   string NotifyIconAttributeName = "NotifyIcon" ;     public NotifyIconController()    

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , ,
ModelArtifactState Xaf Power to the people
02 Σεπτεμβρίου 09 11:34 μμ | tolisss | 0 σχόλια   
Yesterday i was speaking with my friend John Pouliezos and he asked me how to the implement the following  scenario. John has managed to create a SharePoint feature and now he can have Xaf views as SharePoint lists. Cool eh? What he wanted is the following: for specific User roles to be able to filter a specific web listview by parsing the current browser url. Step1 : for specific User roles to be able to filter a specific web Aha sounds like ModelArtifactState’s job a lot. Cause that module is able to enable or disable behaviours /controllers (doing something) using permissions or the model. We are going to use permissions for this one So no code is needed for step1 ModelAsrtifactState module is going to help us. Step 2 : John explain to me the urls are

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , ,
eXpand 0.0.0.10 is out
01 Σεπτεμβρίου 09 06:21 πμ | tolisss | 0 σχόλια   
Latest version of eXpand is out and recompiled with Xaf 9.2.4 version New Module Additions AdditionalViewControlsProvider Validation ModelArtifactState WizardUI see ( Bend Xaf Applications with Model Artifact State Module ) Fixes enhancements via Google issues here Get latest version of expand here http://code.google.com/p/expandframework/ Technorati Tags: Xaf , eXpand , Release

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
ModelArtifact AdditionalViewControlsProvider And MasterDetail videos republished
25 Αυγούστου 09 02:23 μμ | tolisss | 0 σχόλια   
Since I got many complaints about the low resolution of my videos I am on a search for a better video hosting service than YouTube. Robert suggested to use Silverlight service at Blogger Video embedding resolved but this one looks the same as YouToube. After spending some more time on researching on this I came across http://blip.tv/ excellent hosting service To get an idea how good they are I suggest you read their FAQs They accept almost all kinds of  Videos They are free They do not change the video after uploading The customization of the video playback controls is unlimited . You can configure almost anything on their well design interface I am going to use that excellent service to republish my videos So if you want to see those videos again in good

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , , , , ,
Bend Xaf Applications with Model Artifact State Module
17 Αυγούστου 09 11:07 πμ | tolisss | 0 σχόλια   
How many times have you said “What a great pattern MVP is!!!” Look for example how is implement the hint engine of main Xaf demo. I will try to explain that implementation. Controllers There is a windowcontroller called AdditionalInfoController and from it 2 controllers derive WebShowAdditionalInfoController and WinShowAdditionalInfoController. What they do? they enable inserting any kind of control as the first control of a view. They are the engine, they implement a behaviour and they also serve as the Observer design pattern Observer pattern: Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. I am going to refactor the code from the main demo and create 3 new modules

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , , ,
Περισσότερες Δημοσιεύσεις Επόμενη »

Search

Go

Το Ιστολόγιο

Ιστορικό Δημοσιεύσεων

Συνδρομές