-
Hello all,
The following modules do not exist anymore in 13.1.6.1
ConditionalActionState, ConditionalControllerState, ConditionalObjectView now are under the ModelArtifact omprella.
Also Logic.Win merged with Logic module. So you need to remove all code and change the usings in case you have them install in your projects.
There are a few breaking changes in 13.1.6.1, so please post in the forums in case you get lost with the new super fast and flexible logic ruling engine.
In short everything that has to do with Logic Rules is now handled by the logic modules and there are a few classes like LogicRuleManager, LogicInstallerManager, LogicRuleCollector, LogicRuleEvaluator etc that do all the hard job. The design now is very clean and easy to follow and I am sure it will reduce many strange issues we had and will help to build new modules based on the Logic engine!
-
After I posted the Contolling DevExpress XtraGrid Part-2 (Master Detail) I got many requests to speak about how easy will be to make a behaviout conditional so I am going to explain again how ModelArtifact module was build that is based on eXpand logic architecture Is based on the eXpand Logic architecture and more specifically at eXpand Conditional Logic architecture. That means that Conditional Logic architecture is designed to execute conditional logic rules and from the name of the module one can easily understand that the rules are responsible to change the state of model artifacts, and what are the model artifacts? Controllers and actions. tell how and when the state is changed So for all modelartifacts have a common attribute the Module (one can define
Διαβάστε περισσότερα »
-
You have used pivoted property attribute to design custom analysis views like and you want to navigate to that view from the navigation menu. You also want to execute automatically the Bind Action fro the view make it editable and hide the toolbar. You can of course use eXpand to make all that happen declaratively Navigation Create a read only parameter like public class CurrentShellSiteOid : ReadOnlyParameter { public const string CurrentShellSiteOidParameterName = "CurrentShellSiteOid" ; public CurrentShellSiteOid() : base (CurrentShellSiteOidParameterName, typeof ( Guid )) { } public override object CurrentValue {
Διαβάστε περισσότερα »
-
This one is the most complex implementation of the logic architecture cause this module is really a facade module. ActionState and ControllerState modules are hosted within it. But the implementation for each one of them as you see in the image bellow really looks alike In order to control the different in model schema than the one that is provided bu defaul I have override the require methods of ControllerStateModule public class ControllerStateModule : ConditionalLogicRuleProviderModuleBase <TArtifactStateRule> where TArtifactStateRule : IConditionalLogicRule { public override string LogicRulesNodeAttributeName { get { return ControllerStateRulesNodeWrapper
Διαβάστε περισσότερα »
-
I have been pretty silent the last few weeks , but I have not been lazy so eXpand has now many more modules and features that I am going to speak about in my next posts. A Logic Module has been implemented and that lead to some breaking changes to ModelArtifactState / AdditionalViewControlsProvider modules ModelArtifactState The previous schema of ModelArtifactState rules was like < ModelArtifact > < ConditionalControllerState IsNewNode = " True " > < ControllerStateRule ID = " tests " TypeInfo = " DevExpress.ExpressApp.SystemModule.AboutInfo " IsNewNode = " True " /> </ ConditionalControllerState > </ ModelArtifact >
Διαβάστε περισσότερα »
-
eXpand says hi to its new Pivoting module. Show In Analysis action similar to show in reports (see also Devexpress example ) All Pivot control settings can be controled at runtime using the Pivot Settings action see for example the Pivot Options View settings view ModelArtifacteState module has been used to create a Show In Analysis , Pivot Settings Permissions that can be applied to the Roles you want . [ NonPersistent ] public class ShowInAnalysisPermission : ControllerStateRulePermission { public override string ControllerType { get { return typeof ( ShowInAnalysisViewController ).FullName; } set { base .ControllerType = value ; }
Διαβάστε περισσότερα »
-
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
Διαβάστε περισσότερα »
-
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
Διαβάστε περισσότερα »
-
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
Διαβάστε περισσότερα »