JOSE JAVIER COLUMBIE
Hello everyone!
Its been a while. World is crazy right now so please be safe and take care of yourself and your families and if you want to follow real analytics of all this craziness take a look at some great Dashboards Llamachant have put together. The numbers are scary :(
We have lots of great links this issue from Blazor Early Preview, Xpand Model Editor to XPO supporting SQL Server Encryption.
XAFers Training is finally live so whooo!
And lastly, in the middle of all of this at least some good news: the long time overdue MVP status of Joche Ojeda. Thanks for all you do Joche and congrats again.
Be safe XAFers and see you next week. This time for reals :)
Getting Started
COVID-19 Analysis By Llamachant
Information is power and being on top of the COVID-19 news is a must these days. Llamachant give us a nice visualization of the confirmed cases, new cases, numbers of death and a lot more. Be prepared numbers are scary. Everyone please be safe.
XAF - New Community Modules, Videos, Articles and Welcoming a New DevExpress MVP
New Community Modules and the official announcement of our new MVP. They also featured our video from XAFers Arizona about easing the learning curve in XAF. If you have not watched it, stop and do it now. LLamachant video and this one are my first two suggestion for anyone starting XAF today. As always great article to keep the community up to date.
XAF
eXpressApp Framework - Early Access Preview (v20.1)
Always dying to try the new versions and early previews. In this case number one in the list is Blazor. We have videos below in English and Spanish testing XAF Blazor. I am also looking forward to the Model Editor for .NET Core and .NET Standard Projects and even if is not in this article (it is in the roadmap) to the action permissions of the security system.
Xpand.XAF.ModelEditor at master · eXpandFramework
This looks like magic. Take a look at the requirements:
DevExpress or eXpandFramework installation is optional. There is no need to install the package to more than one project in your solution or to update it if you add/remove projects. The package is version agnostic in regards to DevExpress version, meaning you do not have to update when you change your DevExpress version.
This sounds awesome because we still have no model designer in Net Core projects or when using nugets.
XAF Sample: Security Preview Module – Llamachant Technology Ltd
Another great module from Llamachant. How many times do we want to check if certain roles have permissions to some object? In my case a lot of times I have been in that situation. With this module we can switch roles in an instant. In their own words: "In this sample module, we allow certain users to switch between security roles quickly rather than having to log in and out as different users. This is ideal when using a single role per user but can easily be expanded to allow multiple roles."
XAF How to share values across your application with the ValueManager class - YouTube
How to have global values ready for us in our XAF application in an agnostic way? The answer is using the ValueManager class. From DevExpress documentation: 'In a Windows Forms application, a value manager will store the value in a regular property. In an ASP.NET application, HttpSessionState will be used instead." Want to know more...
XAF/XPO Implement a Custom Criteria Language Function Operator (ICustomFunctionOperator) - YouTube
Have you created your own Custom Criteria Function? Want to learn how? Take a look at this video on how to implement and consume one. These type of functions are really handy and one example use is the CurrentUserId() we have everywhere in our apps.
XAF Web
XAF Web and Azure Deploy Tool - YouTube
Proof of concept tool for XAF Web Deployments in Azure. Create a Service Principal, log into your account, create an App Service, create a Database and/or Azure SQL server, use the connection string from the newly created database, upload your deployed files and do all of that with just one click.
XAF Blazor
Carl Franklin's Blazor Desk Show
Blazor Road Show was cancelled. Bummer. The last one was in Los Angeles and we had the privilege to be there (I am not bragging, maybe a little). Well, don't worry March 31 and April 2, Carl Franklin from .NET Rocks! is hosting this free online webinar. I highly recommend it and he also have several times available for almost every time zone. Don't miss it
Q&A's from "Building your first Blazor App"
Q: Is there an easy connection to MS SQL databases? A: Well, clientside cannot connect directly, you will need to connect to some WebAPI or something. Serverside Blazor can directly connect with either EntityFramework or DevExpress XPO or you can roll your own data layer.
For more common questions and answer take a look at this article.
XAF - 20.1 Blazor Early Access Preview First Look - YouTube
First look at XAF Blazor. Modern Look? Modules Implemented? Blazor promise is the new front end for XAF that we have been waiting for a long time and that XAF mobile and/or XAF SPA (React) did not deliver. Personally I am really excited about this direction that XAF decided for and I can't wait to use it in a real project. Blazor it is coming!!!!
XAF Mobile
Xamarin Dynamic Forms (XAF Backend) - YouTube
Medical Clinic, Insurance Companies, Inspections. Those are synonyms for big forms to fill out and the actually vary by region, by season or they need the flexibility of changing them on the fly. Here is a possible solution/proof of concept to deal with this issue and get away from static forms. It all starts with a XAF backend.
XPO
eXpress Persistent Objects - Early Access Preview (v20.1)
If you are like me you are just waiting for an early preview to comes out to test it right away. In this 20.1 version keep an eye on XPO Officially Supporting Microsoft.Data.SqlClient, Always encrypted of SQL Server and not yet in the early preview Database Schema Migrations.
Creating an XPO connection provider for SAP HANA Database (Day 1) - YouTube
There are a lot of support tickets regarding an XPO connection provider for SAP HANA. Well Joche Ojeda is working on it and here we have a first look at it. In the video we see how XPO is already connecting and it is actually creating tables. And that was DAY 1. Let's wait for DAY 2, 3, and 4. :)
XAF - User Authentication and Group Authorization API in .NET Core Apps: Blazor Server, Web API/OData v4 and More (powered by XPO)
We have been seeing a lot of effort on samples using XAF - User Authentication and Group Authorization API in Non XAF Apps. From DevExtreme, WinForms, ASP.Net MVC to now Blazor Server. Really nice tutorials with step by step highlighting features from XAF security system: Role-based access control with multi-database permission storage, Authentication and Authorization. Clone the repo and go crazy on it.
Testing XPO with SQL Server and Always Encrypted - YouTube
From DevExpress Blog: XPO v20.1 supports Always Encrypted for SQL Server 2016+. You can now read, update, sort and filter encrypted column data (the last two operations depend on encryption mode). This video actually show you what this mean and its limitations. (Not LIKE in your Queries sorry)
XPO Offline Data Sync (XAF to XAF) - YouTube
The name is self explanatory. Are you using XAF in a remote location where online access is scarce. Well with this tool you can have a solution for that scenario. Work offline, then sync trough multiples DB. That means you can for example sync from SQL Server to MySQL. Isn't that neat? We always ask for offline in mobile phones but sometimes XAF to XAF is a great solution.
BIT XPO Extender - YouTube
BIT XPO Extender - How to add new properties to persistent objects without recompiling. Named first Metadata Builder XPO Extender comes to the rescue when clients need to add one more field to the app after deployment, the also want to use that property in reports, dashboard etc. If we plan ahead we can have that taken care in no time. See it in action.
Tips And Tricks
How to delete all temporary files from (bin,obj,packages) your solution folder | Joche Ojeda
Sometimes you want to send a zip with your visual studio solution or project, but after you archive your files you realize that the file size is huge, well worry no more you can use the following script (a .bat file) to clear all the temporary files in your visual studio solution. The result is mind-blowing like from 4GB to 53 MB. Give it a try.
Testing
XAF - 10 New Help Articles on Lightweight Unit Tests and Azure DevOps Integration with EasyTest + Survey
DevExpress have been putting a lot of time in testing lately from Unit Test, Azure DevOps and Easy Test, to all of them working together. This have been a need for the community for a long time so I just want to recommend everyone at home to take a time to go through this series of 10 articles about testing. You will thank me later.
Links to Bookmark
How To: Find and deactivate a problematic Controller "on the fly" via an application UI for troubleshooting purposes | DevExpress Support
Old ticket but so good it needed to be included in this issue. I have been working in some advanced application profiling and built a similar tool to this one only to find out Dave already had it available and it works great. In his own words: "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."
Spanish
XAF - 20.1 Blazor Preview Lo usarias en tu proximo proyecto? - YouTube
Primer vistazo a XAF Blazor. Que tal luce el UI? Que modulos ya estan implementados? Cuales todavia? Blazor promete un nuevo front end para XAF que hemos estado esperando por mucho tiempo y que XAF mobile y XAF SPA (React) no llego a cumplir. Lo usarias en tu proximo proyecto? Pues si me lo preguntan a mi, la respuesta es: en cuanto salga.
Probando .NET 5 Preview con XAF y XPO (Spanish) - YouTube
Acaba de salir el primer preview de .Net 5. No pudimos contenernos y decidimos probarlo y grabarlo ya de paso. Hacemos pruebas de consola, windows forms y por supuesto XPO y XAF. Net 5 promete acabar con todo el multitarget. :)
BIT XPO Extender - Youtube
BIT XpoExtender, como agregar nuevas propiedades a objectos persistentes sin recompilar el Código. Gran herramienta para darle la flexibilidad al cliente de extender su modelo sin necesitar un nuevo deployment. Necesitas un nuevo campo en tus clases? Estara disponible en los reportes. La respuesta es si y sigue el link para verlo en accion.
Sincronizacion de base de datos con Xamarin Forms usando OfflineDataSync - YouTube
Necesitas que tu aplicacion de Xamarin trabaje fuera de linea y se sincronize con tu base de datos en cuanto se reestablezca la conexion? Aunque no esta todo el flujo (Background tasks etc) este video demuestra claramente como syncronizar SQLite con SQL Server. Como dice Joche: referencia un nuget, inserta tu connexion string y sacalo a pasear.
Add to your Calendar
Xafers Training
XAFers Training is finally live and we are really excited about it. XAF, XPO, OData training in English and Spanish every month. If you are stuck home now for the COVID-2019 and want to gain some skills go and check them out.
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 (Scottsdale, AZ) | Meetup
This 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. The next event is still TBD but join the group to be the first to know about their next meetup.
meetup.comXAF, XPO And Xamarin
Feel free to join our facebook group to discuss about xamarin, xpo and xaf related topics and post your doubts to get assistance with other members.
facebook.comXAF-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