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

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!


Δημοσίευση στην κατηγορία: ,
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

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

Δημοσίευση στην κατηγορία: , , , ,
Implementing Master-Detail with No Code
13 Αυγούστου 09 11:31 μμ | tolisss | 0 σχόλια   
  eXpand already has this scenario enabled for windows forms applications. What you have to do is set 2 attributes and you are done!!! You have force your grid to display a child grid view eXpand is hosted at http://code.google.com/p/expandframework/ Technorati Tags: expand , DevExpress , Xaf

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

Δημοσίευση στην κατηγορία: , ,
eXpand 0.0.0.8 is out
24 Ιουλίου 09 02:12 μμ | tolisss | 0 σχόλια   
I am releasing a new version of expand this time using continuous integration provided by TeamCilty DictionaryDifferenceStore has now be able to work at all Security Scenarios (Complex or simple). There is one catch though if you want to use your own custom User or Role objects and you cannot modify any of the nested Role/User List view of the DictionaryDifference Views get latest version of expand here http://code.google.com/p/expandframework/

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

Δημοσίευση στην κατηγορία: , , ,
Continuous integration for eXpand
24 Ιουλίου 09 02:08 μμ | tolisss | 0 σχόλια   
First of all thank you very much for your good words in eXpand . I am going to continue releasing modules and the next one will be a big one so please bear with me. But since I am relasing a lot of code and some other developers contact me that they want to contribute also. I think its time to to move on to apply a more continous integration to our build proccess. What I mean by that? the paragraph bellow was takes from martinfowler.com The easiest way for me to explain what CI is and how it works is to show a quick example of how it works with the development of a small feature. Let's assume I have to do something to a piece of software, it doesn't really matter what the task is, for the moment I'll assume it's small and can be done in a few hours. (We'll explore

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

Δημοσίευση στην κατηγορία: , , , ,
Configurable low level datastore filtering provider module for Xaf
20 Ιουλίου 09 12:30 πμ | tolisss | 0 σχόλια   
This one is hard to explain so I would start with one scenario that can be implemented with ease. You have a request to create a windows form application that the data should be filtered according to the active skin, also the request says that Customers should be shared through skins. Another request for the same project is application data to be filtered according to the active user but customers to be shared across all users For such scenarios that are: Filter data at a low level so any logic above this level to still function (see validation rules) I have develop FilterDataStore module and I am going to release it as part of eXpand 0.0.0.7 To configure the module one have to add a filter provider at its application configuration file (see A practical guide

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

Δημοσίευση στην κατηγορία: , ,
DxCore plugins for Xaf are moving
19 Ιουλίου 09 11:36 μμ | tolisss | 0 σχόλια   
I am realizing a new version of eXpand (0.0.0.7) that will contain a configurable low level datastore filtering provider module and I am going to merge Coderush plugins into it as well. You have to download latest version of eXpand from http://code.google.com/p/expandframework/downloads/list and add only the following assemblies into your community folder if you are not interested in eXpand  DevExpress.ExpressApp.ModelEditor.v9.1 eXpand.Utils Wintellect.Threading eXpandAddIns

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

Δημοσίευση στην κατηγορία: , , , , ,
Runtime distribution of model changes to a group of users
14 Ιουλίου 09 12:15 πμ | tolisss | 0 σχόλια   
I am going to demonstrate one more application scenario using eXpand and DictionaryDifferenceStore module. We are going to create to roles (hrempolyers , courierempoyers) and we are going to assign a difference Cutomer listview to each one of them Listview for HR people will see customers grouped by their birthday and listview for courier grouped by their address For both roles the navigation menu will contain the default User button that was provided by xaf . see how to setup DictionaryDifferenceStore module In the next video I have already created 2 extra Roles HRRole with Hr1, Hr2 Users CourRole with Cour1, Cour1 Users inside The above video was recorded with eXpand v0.0.0.6 http://code.google.com/p/expandframework/downloads/list Technorati Tags: eXpand ,

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

Δημοσίευση στην κατηγορία: , , ,
Generate runtime members -- eXpand
10 Ιουλίου 09 02:12 μμ | tolisss | 0 σχόλια   
  Today I am going to saw you how easy is the Generation of runtime members. eXpand provides a controller that extends model schema and allow runtime generation of members without writing even 1 line of code ( Xaf power to the people!!!) For doing this You have to use a combination of features from eXpand.DictionaryDifference.dll && eXpand.ExpessApp.Win.dll This generation is doable due to the fact that we have use use DictionaryDifference module to store the model in the database, and since there is a clear distinguish between user model and application model, we can have use dictionarydifference UI to set the Model editor attribute that does that expansion, which is the IsRuntimeMember attribute defined at eXpand.ExpressApp.SystemModule.AddRuntimeFieldsFromModelToXPDictionary

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

Δημοσίευση στην κατηγορία: , , , ,
Real World FrameWork (eXpand)– First release
08 Ιουλίου 09 04:01 πμ | tolisss | 0 σχόλια   
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

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

Δημοσίευση στην κατηγορία: , , , , ,
TDD, Xaf, Typemock and eXpand
25 Ιουνίου 09 02:26 πμ | tolisss | 0 σχόλια   
If you do not know about TypeMock see some cool video tutorials here . TDD is an software design approach that states: In order to design your software from the correct angle and don’t get lost in the info you have first write down a test that describes a behavior and then by using tools like ReSharper to actually create the “at most as code is required to make that test past” There is an excellent video from Gary and Oliver on how to TDD with Xaf . These guys know a lot but you have to analyze each word they say to get the real power out of it. Nice work guys!! and we love to see more videos like that but going deeper onto the “software design” stuff. Test Driven Development Techniques Now that I am sure that you know what is TDD is I am going to saw you the

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

Δημοσίευση στην κατηγορία: , , , , , ,
eXpand RWF = (Real world framework)--->First thoughts
22 Ιουνίου 09 11:55 μμ | tolisss | 0 σχόλια   
The last few months me and my friend John have been working on a framework build using X af . It is called XafPoint and has almost 40 generic modules!!! What is it? What it does ? It is build using the same architecture as Xaf and contains abstract modules like the Xaf one’s so we can build our every day scenario. How it was build ? Since I am  from the first beta day a Xaf user I managed to have a strong and abstract layer just above xaf. Then I met john that had a large project and he was using SharePoint services to implement it. But when I told him some cool stuff on Xaf he got very excited and he told me that he wanted to use Xaf as the data management feature of SharePoint so we tried and in a few months join our knowledge and tools and we build a

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

Δημοσίευση στην κατηγορία: , , ,

Search

Go

Το Ιστολόγιο

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

Συνδρομές