XAFers Community Standup. (Live QnA)


  • Introductions
  • Announcements
  • Localization Demo
  • WindowsControllers vs ViewControllers
  • XPO Web API
  • Live QnA

Questions to discuss:

  1. Should I start a project with XAF today?
  2. Where and how to start with XAF?
  3. What about scalability?
  4. What about performance?
  5. What about UI customization?
  6. What is an ObjectSpace, Session, UnitofWork?
  7. What is the purpose of an ObjectSpace inside a view?
  8. When to use the Session and when to use ObjectSpace?
  9. Nested ObjectSpaces vs Root ObjectSpaces?
  10. Where to put my business logic?
  11. Controllers life cycle?
  12. MessageBox in Web?
  13. Why the get of the persistent properties is executed more than once?
  14. Why the OnSaving method triggers more than one time?
  15. FindObject vs GetObjectbykey methods?
  16. Roles child and parent (deny and allow)
  17. Dbupdater do a really need it? 
  18. Best practices on data representation, when to use POCO or non persistent objects to represent data (avoid unnecessary data load)
  19. Model Designer Best Practices?
  20. How the modifications by layer and/or users are applied?
  21. ModelAssembly.dll Why is generated? 
  22. Source Control (Model -merge conflicts)
  23. Testing (Best Approach)
  24. CI/CD (Best Approach)

Here is the video of the event:

If you need hosting for your XAF application take a look to Contabo VPS. We have been using it for more than 10 years with great results.

Disclaimer: We are affiliate it to Contabo. Profits generated by this link will be used for covering cost of Meetup subscription, XAFers Weekly hosting and other community events.

New YouTube Channel and XAFers Training

Yes I did, inspired by my friend and DevExpress MVP Joche I decided to give it a try and start my own channel, also Javier Suarez in .Net Conf Xamarin sounds like me (a thick Spanish accent) so why not? If you are interested in XAF, XPO and Xamarin (and if you are here, you probably are) then subscribe and I will try to have new content every 15 days or at least monthly.

What would you guys think about a series of videos reviewing all XAF modules, the ones from DevExpress first and then all modules done by the community?

Here is the link for the channel:


Lastly, I am really excited to say that xafers.training is finally live. We plan to host sessions two Saturdays a month covering XAF, XPO, Xamarin and a lot more. We are starting with 5 courses:

Well, that is it for today. See you next time. XAF out!

XAF Web – Add CSS Style

First, I have to admit CSS and Javascript are not my stronger points. With that out of the way, some times a simple change makes a big difference in the appearance of your app.

Well, let’s change the color of the header bar in our XAF Web application.

public class AddStyleController : ViewController

        protected override void OnViewControlsCreated()

            LiteralControl style = new LiteralControl();
            style.Text = "<style type='text/css' scoped>.white { background-color: palegreen; }</style>";


And good to go:

Source Code: https://github.com/jjcolumb/BlogDemo

Until next time, XAF out!


Speaker Invitation to CodeCamp Santo Domingo

I am really excited to say I was invited to speak at CodeCampSDQ. My talk would be about Real world experiences using advanced ORMs in the mobile ecosystem. Translation: I will be talking about XPO and Xamarin.

Abstract: In this talk, I will guide you on why and how to choose an ORM that reduces the cost of development, makes your model database-agnostic while keeping a consistent performance.

Date is May 30 so I hope to see a few of you over there 🙂

Update: Conference has been postponed due to COVID-19. There is not new date set yet so I will update it here as soon as I have more information.

Can’t wait!

See you next time. XAF out!

XAF Win – Actions Placement in the Ribbon

When talking about actions placement we have a lot of choices. We can change the action container in the model or if doing it by code:

public class MyViewController : ViewController {
    public MyViewController() {
        SimpleAction myAction = new SimpleAction(this, "MyAction", "View");
        myAction.ImageName = "Action_SimpleAction";

Here we can change the category (“View”) that map to that action container and that will be enough. We can also change the index inside the action container if we need a specific order. We can create a new Ribbon Template like shown here. A little cumbersome right? But what do we do if we want to have our action in a separate RibbonGroup and/or RibbonPage?

Continue reading