JOSE JAVIER COLUMBIE
Hello XAFers,
Finally we are back, a lot of crazy projects and experiments with Blazor in the last couple of weeks.
Our 4th XAFers Community Standup was (wait for it...) AWESOME and I can't wait for the next one. A couple beers, some great XAF discussions and a few community emails afterwards with new suggestions and reaching out because they actually enjoyed the conversation 🙄🙄. That is music to my ears and it actually gives us more motivation to keep pushing forward.
I want to thanks everyone who has star, forked and contributed to Awesome XAF . Together we will make the XAF ecosystem more powerful and grow the community at the same time.
A lot of great links in this issue, you guys have a great week and as always XAF out!
SPONSORED LINK
Add XAF Testing to your Toolbox
Two brand new courses in XAFers Training (EasyTest and Unit Test)
Next sessions are coming up in August 8th.
Want to avoid regressions and ship software quickly and more reliable? Then you can not afford to not include testing in your applications.
Spoiler Alert: New Advanced Testing Course with complete CI/CD implementation coming soon 🧨🧨🧨
Getting Started
Announcing DevExpress Support For .NET 5 Preview
DevExpress controls, components, and frameworks from v20.1.6 onwards are officially compatible with .NET 5 preview 6 or later.
XAF
XAFers Community Standup - July 9th 2020 - Best Practices - YouTube
Our Best Practices Community Standup happened on July 9th and it was awesome. We missed Manuel but we had a lot of great topics suggestions and we covered them all. Dennis (PM for XAF and XPO) attended and answered questions on the chat. He will be doing that on the next one again so get your questions and your drinks ready and don't miss it.
If you missed it, don't worry, here is the recording where Dave (from LLamachant), Joche (BITFrameworks) and myself discussed best practices based in our years developing with XAF.
See you in the next one.
XAF: Blazor Server UI for desktop and mobile browsers (CTP) - YouTube
Looking good XAF Blazor 🧨🧨🧨.
Features available in this preview: Forms Authentication with a login and password, role-based authorization & basic user, role and permission management in the UI, multiple UI themes, and a runtime theme chooser.
XAF Security: User Authentication & Group Authorization API | DevExpress
Nice looking Landing Page for the XAF Security API with a lot of cool demos. We are using XAF security in 90% of all our Non XAF Projects. Is anyone else doing the same?
XAF Security: Overview of .NET User Authentication & Group Authorization API for EF Core and XPO ORM - YouTube
Great video showing how to implement XAF Security API in a non XAF APP.
Security - Protected content text changed to asterisks
Breaking Change and UX improvement: Changed the default value of the IModelApplication.ProtectedContentText property from "Protected Content" to *******
XAF Blazor
XAF - Non-Persistent Objects, Unsaved Data Confirmations and Other Blazor UI Enhancements (v20.1.6)
It is exactly on the name all the goodies that XAF Blazor is shipping already in 20.1.6
The Enhanced Validation Messages are looking nice and also the DevExpress .NET Framework Unified installer now includes a Model Editor for .NET Standard projects that in previous versions it was only available with the .NET Core Components installer.
XAF Blazor - Playing with the UI - YouTube
Small video showing a quick teaser of some UI customization on XAF Blazor
XAF Blazor Playlist - YouTube
Google Maps Property Editor, Waze Integration, Signature Property Editor, Javascript at controller level. XAF Blazor is looking more promising by the minute.
Blazor - Roadmap 2020 (Mid-Year Update)
Based on survey results and Support Center feedback, DevExpress have finalized the 2020.2 Roadmap. Now we know what controls to expect on XAF Blazor :)
Blazor Snippets - Visual Studio Marketplace
We are doing a lot of Blazor experiments and projects (we want to be ready for the official release) and these snippets are really helpful, hope you guys find them useful as well.
Hybrid Blazor apps in the Mobile Blazor Bindings July update | ASP.NET Blog
Major new features in the 0.4 Preview 4 release:
New Hybrid Apps feature enables mixing Blazor native UI components with Blazor web UI components in the same page. This one is HUGE!
Hybrid Apps are hosted in a new BlazorWebView component that uses a browser component to contain the web part of the app. No remote or local web server; all your code runs in the app’s process.
New blazorhybrid project template that supports Android, iOS, Windows (WPF), and macOS for creating hybrid apps
XPO
The IObjectLayerAsync, IDataLayerAsync, IDataStoreAsync interfaces have been changed | DevExpress Support
What Changed
The UpdateSchemaAsync and CreateObjectTypeAsync methods were added to the IObjectLayerAsync, IDataLayerAsync and IDataStoreAsync interfaces for Blazor WebAssembly support.
This change will not affect the majority of XPO users but of course it did to us :) (check link below)
How should I implement UpdateSchemaAsync and CreateObjectTypeAsync for the interface IDataStoreAsync (t902153) | DevExpress Support
As always DevExpress support goes above and beyond ti help us when we hit a roadblock.
XPO Offline Data Sync - YouTube
Quick overview of the XPO Offline Data Sync as discussed in our last XAFers Community Stand-up.
Doubt about apply best practices for XPO | DevExpress Support
If you are starting with XPO check the rest of the links below for a great rundown on Sessions, Unit of Work, Concurrency and more.
I know a lot of this questions are in the docs but I always like a XAFer who is not afraid to ask and is eager to learn. Thanks Bernini
Help understanding XPO sessions | DevExpress Support
Sessions and UnitOfWork work with the data store via the intermediate abstract layers - Object Access Layer and Data Access Layer. The latter manages an IDataStore instance that makes a physical connection to a data store.
Sample of dealing with Optimistic Concurrency issues
When a concurrency issue occurs, XPO raises LockingException. The best you can do is catch this exception, and notify the user that it is necessary to reload data.
Sample of reading one field in one record on XPO
The XPQueryExtensions.Query<T>(Session) method creates the XPQuery<T> class. It doesn't load data from a database. LINQ to XPO doesn't load all data into the memory, it creates an SQL query that loads only required records from a database.
Modules
eXpandFramework - YouTube
Check the eXpand Framework youtube channel here. Want to get a visual of how the modules works? Don't forget to subscribe.
eXpandFramework Modules: AutoCommit, CloneMemberValue, CloneModelView, MasterDetail and OneView
One module each week. First, all official DevExpress modules, then all community modules, LLamachant modules, Ultra modules, eXpand and more…
Well, I got a lot of requests to review expand Modules so we decided to push it up a little bit on the queue :)
Tips And Tricks
Feature request: Add shorter SetPropertyValue again | DevExpress Support
Sorry VB developers.
Alex Miller, great suggestion to add this to our own abstract base class.
Relevant Tickets
The CurrentUserId operator doesn't work in non-XAF applications | DevExpress Support
This is awesome. We were able to workaround it in our non XAF apps (especially Xamarin) doing something like this:
ValueManager.ValueManagerType = typeof(SimpleValueManager<>).GetGenericTypeDefinition();
var application= ValueManager.GetValueManager<ISecurityStrategyBase>("SecuritySystem_ISecurityStrategyBase");
application.Value = new CustomSecuritySystem(loginResult.Authenticated, loginResult.Username, loginResult.UserId);
But now coming out of the box and with support. All I can say is Yesss!
How to create instance of SecuritySystem in OData .NET Core | DevExpress Support
Also a really interesting ticket.
To quote Dennis: SecuritySystem.XXX properties are null, because nobody set them in a non-XAF application like we do it in an XAF application (where we also have ValueManagers for each platform).
Spanish
Modulo de XAF de la Semana - Playlist - YouTube
No nos olvidamos de la comunidad en español y ya nos pusimos al dia con los videos de los modulos que teniamos en ingles. Nos quedan unos cuantos modulos y de hecho tambien veremos los de eXpand, LLamachant, Ultra etc asi que mantenganse al tanto.
Lista variada de videos de XAF, XPO, Azure, Blazor - YouTube
Generacion de Datos Aleatorios, File Data en Dropbox, Localizacion, Deploy en Azure y mas videos en espanol acerca de XAF, XPO, Xamarin y mas. Si tienen alguna peticion no duden en contactarnos.
Add to your Calendar
Xafers Training
Next sessions are coming up on August 8th. XAF Training tailored to meet the needs of the client. Whether you are a novice or an experienced developer, we guarantee our training will be a helpful resource to expand your skillset.
Jobs
XAF Jobs – Xafers Jobs Community
From their website more than 300 XAF developers already registered. Let's spread the word so companies start posting more jobs for us.
Social Media
XAFers Arizona User Group | Meetup
Next event is August 13th 10:00 am (GMT -7) Our XAFers Community Standup takes place the second Thursday of every month. There is no agenda, no formality, no dress code required, and a beer or a coffee is highly encouraged. Let's just talk about what we love and share our experiences regarding XAF, XPO, Blazor and more.
The group goal is to meet and help others developer using DevExpress Express App Framework. All skill levels are welcome, we will cover topics from getting started to really complex and advanced scenarios.
meetup.comXAF, XPO, Blazor And Xamarin - Facebook Group
Feel free to join our Facebook group to discuss about Xamarin, Blazor, XPO and XAF related topics and post your doubts to get assistance with other members.
facebook.comXAF-Community/community - Gitter
Manuel Grundner, a DevExpress MVP created an XAF chat at https://gitter.im/XAF-Community/community. If XAFers want to discuss development questions here is another place for it.
gitter.im