Search This Blog

Showing posts with label community. Show all posts
Showing posts with label community. Show all posts

Monday, December 12, 2016

Implementing State Machines at the Business Object vs Controller levels - YOUR FEEDBACK IS NEEDED!!!

I wanted to seriously question the current approach for declaring state machines in code using the StateMachine<T> class and IState/IStateMachineProvider interfaces (Predefined State Transitions Created in Code) and hear what you think of it in general. The main reasons behind this interest are the limitations this originally implemented approach has compared to other available solutions and hence associated support costs.



"Yet Another Controller"© 
In fact, in certain scenarios, creating a custom Controller with the SingleChoiceAction Action or a set of SimpleAction Actions can be simpler and more straightforward than defining a coded State Machine at a domain level. To give you a concrete example of such an alternative solution, check out this Controller that eventually does the same thing as the code in the original documentation article above, but with old-good SimpleAction objects manipulated on View and other suitable events. You can find another example with a SingleChoiceAction in this test project (it's from this SC ticket, so process it with the Project Converter tool first). Even though the alternative Controller-based approach requires more code, it allows you to provide a more granular control over created states and their visual representations. It is cleaner and easier to understand/extend for other business requirements, because it is your own code that uses only the basic XAF APIs.


Implications of using the questioned approach
Contrary to that, the questioned approach is really a bit shorter with the help of 'state', 'transition' and 'state appearance' abstractions defined near your business class, but everything has its own trade offs.

Friday, September 30, 2016

How to find and deactivate a problematic Controller "on the fly" via an application UI for troubleshooting purposes

I wanted to repost a troubleshooting tip our old XAFer and MVP Dave Hesketh has kindly provided in the Support Center today. BTW, Dave also provides XAF training and custom development services, based out of Ontario, Canada, so this may be not the last thing you would want to learn from him and his website

So, let me focus on the problem and solution he described at https://www.devexpress.com/kb=T433881 and also also quickly show it all in action with one of the XAF demos:

"I have come across a few scenarios where something seems to be slowing down an XAF solution and it is tough to determine where the issue exists. This can then lead to hours of tearing out controllers to try and determine if one is problematic.

To make this process easier, I have created a module that you can add to an XAF solution to Enable and Disable controllers on the fly.

Once you add this module to your solution, you will find the "Show Controller Settings" action in the Tools menu. In the dialog that appears, you can enable or disable any controllers you wish, or click the "Disable Custom Controllers" to disable non-DevExpress controllers (A good starting place). 

Please note: Once you enable or disable controllers, you must re-open a view for the change to take effect. 
This solution has been tested on existing Win Applications only."





I remember a couple of similar requests from other guys, and indeed, this dynamic exclusion of Controllers without recompiling and restarting the whole app can be helpful when researching certain complex problems like performance or behavioral/visual side effects. For many other cases, the built-in Diagnostic Actionapplication log files, and performance profilers would suffice pretty well. 

Anyway, let's check how to use Dave's module with our MainDemo.Win app. Consider the following steps:

Sunday, August 17, 2014

Are you ready for some serious Xafari?

I am a bit late with this announcement, and you might have already been aware of the XAFARI.NET platform from our news feeds in developer groups, but here we go. 

If you do not recall my introduction blog post "Meet XAFARI - a business platform from Galaktika Corp", please refresh your memory first to learn more on this powerful business platform, which is built on top of eXpressApp Framework (XAF) to provide more reusable modules and components for various verticals.

The main reason for this post is that XAFARI got an English version of their website (it was only in Russian previously), which means that more XAFers could benefit from the numerous features this commercial third-party platform provides:



To learn more on pricing, features and services, including but not limited to access to the source code, online documentation, priority support, etc), check out http://galaktikasoft.com/xafari/buy (of course, free trial included):

Tuesday, October 22, 2013

Русскоязычное сообщество DevExpress XAF разработчиков

На днях добрые люди подкинули ссылку на недавно самоорганизовавшееся сообщество, где собираются русскоязычные XAF пользователи и делятся своим опытом. В частности там есть представители наших давних заказчиков и партнеров из DevPark и Galaktika.  Поэтому уверен, что всем, кто использует DevExpress XAF и еще при этом говорит и понимает по-русски, будет интересно вступить в эту группу:
https://groups.google.com/forum/#!forum/russian-devexpress-xaf

чтобы, так сказать, других посмотреть и себя показать: обсудить что-то, поделиться накопленным опытом, спросить совета и др.

Надеюсь, что достаточно много наших узнает об этой группе и всем будет полезно и интересно:

Пользуясь случаем, хочу напомнить о нашем корпоративном блоге на Хабре, так что там тоже можно общаться, узнавать новости о наших продуктах на русском, а также задавать вопросы и получать ответы от сотрудников DevExpress.

Кстати, получить больше информации о других сообществах вокруг DevExpress XAF можно тут: 

https://www.devexpress.com/Products/NET/Application_Framework/xaf-community.xml


Удачи!

Friday, April 12, 2013

Edit multiple records in a ListView and save the changes at once

Do not miss one more cool contribution from the XAF community (thanks Nick Blake) at
SystemModules - Make it possible to edit multiple records in an editable ListView at once and save the changes only when needed


View on screencast.com »



BTW, you may be interested to know that the standard ListViewAutoCommitController and DetailViewController classes were refactored into a single and more powerful ModificationsController one in version 13.1. Please add this ticket into your Support Center favorites to learn more about this feature.

Tuesday, October 30, 2012

New (official) FaceBook and Twitter pages for XAF & XPO

I already blogged in the past about our unofficial groups in social networks, but decided to create official accounts, because they provide a way more capabilities for managing information and communicating with our users, plus have a fixed url that is easy to remember and recognize.
So, feel free to like us on FaceBook and follow on Twitter. As always, we look forward to hearing from you, sharing news and answering your questions about our tools.
BTW, there are also various changes coming to the XAF landing page in the coming weeks (probably once 12.2 is out)...So, let see what develop!