IOC by BaseImpl
30 Οκτωβρίου 09 10:11 μμ | tolisss | 0 σχόλια   
In this post I am going to provide some why’s on DevExpress.ExpressApp.BaseImpl assembly. Why it is not signed? It is not strongly typed signed cause no module is referencing it. By doing so DevExpress encourages users to modify that assembly up to their needs. BaseImpl is only referenced at your front end. Most of Xafers i know have their own version of baseImpl . If you have your own version of baseimpl development of your domain classes would be much easier eg.instead of writing code to add a new property to a user though a controller , you could just describe/add that property to user class. Why persistent classes are there Xaf has been design to provide a an IOC approach to us. By that I mean that Xaf modules not use or know anything about persistent classes

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

Δημοσίευση στην κατηγορία: ,
Merge UserModel with Application Model
22 Οκτωβρίου 09 06:23 μμ | tolisss | 0 σχόλια   
By Martin Praxmarer Tired of making all DetailView Layout and ListView Layout in the ModelEditor instead at Runtime where you immediatly see the results? The Solution is eXpands ModelDiffs Module. Setup: Create a new User and give it a name like “ModelAdmin”. Next Create a new Role “ModelAdmin Role” – and create a new Model Combine Permission. Set the Modifier to “Allow”, and set the Difference Name to the Name of your Application Model: Now assign the created User to this new Role. Last step is to open the User Difference Model, and set the Model to “Non Persistent” since we dont want to save User changes here. Thats it. Now you can start your Application, make changes in Detail- and ListViews, and when you exit the Application all changes are merged to the

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

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

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

Δημοσίευση στην κατηγορία: , ,
Xaf Tip #10 New DevExpress Xaf module
21 Οκτωβρίου 09 01:45 πμ | tolisss | 0 σχόλια   
Today i ll reveal a big and mysterious secret. It seems that DevExpress has a new module that very few people know about it. I happen to notice it when i try to run feature center demo, cause I have recompile my sources I got a compilation error (have not recompile the secret hidden module ImageSourceBrowser.Win that's why) For you that do not have recompile your sources there is a new module waiting for you. What it does? Do not know :(. I tried searching but nothing so better you ask DevExpress about it Technorati Tags: Xaf Tips

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

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

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

Δημοσίευση στην κατηγορία: , ,
DxCore addin to drop database at design time
12 Οκτωβρίου 09 02:10 μμ | tolisss | 0 σχόλια   
When using ORM tools like XPO and even more when using application frameworks like Xaf since they create the database for you you often change your object so much that you have to drop the database in order your ORM to create it again so you do not have to deal with any kind of conflict. Tired of doing that I wrote a small DxCore addin and added to expand addins. To use it you have to configure it by telling which connection string will use from your application configuration file   and bind the dropDatabase command to any shortcut key you like eXpand is available at http://code.google.com/p/expandframework/ Technorati Tags: DxCore , Visual Studio plugins

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

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

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

Δημοσίευση στην κατηγορία: , ,
Free Microsoft Visual Studio, SQL Server, Windows Server and more
01 Οκτωβρίου 09 12:38 πμ | tolisss | 0 σχόλια   
  Your company builds web sites and web application on behalf of others. Your company currently has less than 10 employees. THEN THE FOLLOWING IS GIVEN FOR FREE TO YOU 3 licenses of Visual Studio 2008 Professional Edition 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web) 2 licenses of Expression Web 3 4 processor licenses of Windows Web Server 2008 R2 4 processor licenses of SQL Server 2008 Web Edition DotNetPanel control panel (enabling easy remote/hosted management of your servers)   VERY VERY COOL anoucement today by ScottGu as part of the WebsiteSpark program Technorati Tags: Free Microsoft , WebSitePark

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

Δημοσίευση στην κατηγορία: ,
BDD in a few hours
27 Σεπτεμβρίου 09 01:04 πμ | tolisss | 0 σχόλια   
What is all that fuzz about BDD? BDD stands for behavior driver design and its about learning to pass the knowledge that you have as a developer to your clients cause as everyone can understand that there is no value if you and your application can do amazing things if your clients have no idea on it. I am not going to tell you more on that but I am going to provide a series of link of people that speak on both subjects 1st of all you should listen to this great podcast that will explain to you the differences of BDD with TDD and why you should follow that process Scott Bellware on BDD and Lean Development Smart and experienced guys in the above podbast eh ? ok after watching the above I am pretty sure that you are convinced that this is the way. Basically it

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

Δημοσίευση στην κατηγορία: , , ,
Xaf Tip # 7 Dangerous Switch
24 Σεπτεμβρίου 09 03:09 πμ | tolisss | 0 σχόλια   
My good friend Martin Praxmarer while we are working on some cool feature for the new ModelDifference eXpand module pointed out the existence of an evil switch Suppose your team is responsible for creating a module with some kind of Permission so when the system is granted that permission a block of code will be executed, something like if (SecuritySystem.IsGranted( new MyPermission())){     //do something } and then you pass your module to another team or another consumer and he decides to use the “EVIL ONE” property that is exposed by DevExpress.ExpressApp.Security.SecurityBase class is name IsGrantedForNonExistentPermission and can be changed easily as shown in the next image What it does? As its name states inverse the behavior of the SecuritySystem.IsGranted

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

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

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

Δημοσίευση στην κατηγορία: , , ,
Xaf tip # 6 Linq your Session queries
17 Σεπτεμβρίου 09 04:07 μμ | tolisss | 0 σχόλια   
Pretty silent these days eh? I am working on a big refactoring on DictionaryDifference and have not much time to blog. But have another tip for my Xaf Tips series today maybe not strictly Xaf but is an XPO tip that you can use with your Xaf applications . The Problem Suppose your are a strongly typed fun like me or you want to use linq to query objects inside a transaction. In order linq to be used with XPO DevExpress provides XPQuery<T> class but unfortunately this do not support transactions. So the following test fails var work = new UnitOfWork(); new User(work){UserName = "Sam" }; User firstOrDefault = new XPQuery<User>(work).Where(user => user.UserName == "Sam" ).FirstOrDefault(); Assert.IsNotNull(firstOrDefault); The solution

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

Δημοσίευση στην κατηγορία: , , ,
I now am a DX-Squad member
12 Σεπτεμβρίου 09 01:49 πμ | tolisss | 0 σχόλια   
Great Saturday today cause I just received my DX-Squad membership today :) and I am very happy. I wanted to say a big thanks and that i am honored by that invitation. DX-Squad is a similar program than Microsoft MVP. If you want also to be a member read more about it here

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

Δημοσίευση στην κατηγορία:
Xaf tip #5 Running Controllers everywhere
08 Σεπτεμβρίου 09 01:12 πμ | tolisss | 0 σχόλια   
I recently being asked a lot about a way of making Xaf front end (that is your Solution.Win,Solution.Web) able to host controllers. To many of them i answered that is not possible cause of the Xaf architecture but haven’t thought of it, It was a rushed answer. Anyway i do not have to make a lot of thoughts on it since my friend Panagiotis Kefalidis share that trick with us. First lets give an example of why you want to run controller in your front end. Many security systems need to have access to your executable and through it to your main form. For Xaf the only way to get access to your form is through a controller. So the trick is to fool Xaf front end to make it behave like a module. Modules are capable to run controllers. And how you can do that? It is really

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

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

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

Δημοσίευση στην κατηγορία: , ,
Firefox is DevExpress friendly
26 Αυγούστου 09 12:56 μμ | tolisss | 0 σχόλια   
Did you now that there is a DevExpress search engine provider for FireFox? http://mycroft.mozdev.org/search-engines.html?name=devexpress Just install that beauty and every time you want to search something by using this excellent post Master the Firefox search engine bar with keyboard shortcuts use your keyboard press some keys and you are searching DevExpress Technorati Tags: FireFox , DevExpress

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

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

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

Δημοσίευση στην κατηγορία: , , , , , ,
Blogger Video embedding resolved
25 Αυγούστου 09 02:04 πμ | tolisss | 0 σχόλια   
I recently most ModelArtifactState and with the congratulations for it I got many complains about the video quality. This is because I host my videos to YouTube which has many drawbacks The actual resolution of YouTube videos is limited to 320 x 240 pixels. The video suffers from strong compression (limited to 250 kbps). The YouTube watermark may overlap your video. The customization of the video playback controls is limited. But where to host my files? Little more googling and I came to Google sites that offer 100Mb / per site and 11mb per file limits. I think that is enough After talking to a flash guru like Kostas Efimeros I got the info I need. I should convert my videos to FLV format using for example SUPER which is a free FLV video encoder and use JW FLV

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

Δημοσίευση στην κατηγορία: ,
Xaf tip # 4
21 Αυγούστου 09 02:18 μμ | tolisss | 0 σχόλια   
This is my 4th post on my Xaf tips series Runtime Member creation on TypesInfo and XPDictionary When you are developing modules and need to generate runtime member you should be carefull which method you choose because the following is valid always Assert.IsNull(XafTypesInfo.Instance.FindTypeInfo( typeof (Country)).CreateMember( "TestMember" , typeof ( string ))); and this one not Assert.IsNull(XafTypesInfo.XpoTypeInfoSource.XPDictionary.GetClassInfo( typeof (Country)).CreateMember( "TestMember" , typeof ( string ))); So to test my sayings create a new Xaf Application add a controller and call public   override   void CustomizeTypesInfo(ITypesInfo typesInfo){     base .CustomizeTypesInfo(typesInfo);    

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

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

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

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

Search

Go

Το Ιστολόγιο

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

Συνδρομές