Currently we don't have a clear plan to implement Blazor SSR for CMS Kit Public side. We'll wait and see how the new Blazor Web App framework goes, than we decide. As we can see, even Microsoft makes it the default framework in the documentations, probably it'll be a fundamental option for web development in the future of Asp.Net Core. But we'll see in time.
But for SEO enhancements, we planned that issue but haven't started working on yet, I'll inform you when it's clear but it won't be included in v8.1 for sure.
Probably it happens because of SecureStorage
Have you configured it for production for each platform?
You have to take some action on your device, you can try following this topic: https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/storage/secure-storage?view=net-maui-8.0&tabs=android
Hi,
Most of the problems came from Perfect Scrollbar on Blazor, because in the Blazor Logic, DOM is updated at runtime without page refresh. So PS can't handle it.
We removed the perfect scrollbar from Blazor UI in the LeptonX version 3.1 (compatible to ABP v8.1.0) and the native scrollbar will be visible in the newer versions.
Hi,
You can override the following sections to make it fit to your conditions:
Probably you're familiar with this but if you struggle in any topic you can follow Overriding Services steps to override services in your application.
Menu items are added in here:
https://github.com/abpframework/abp/blob/73cd37f06717d1f920d224e00c1e4380a1244cf3/modules/cms-kit/src/Volo.CmsKit.Public.Web/Menus/CmsKitPublicMenuContributor.cs#L32-L41
But as a better single-point approach you can override MenuItemPublicAppService
and add Host menu items always.
https://github.com/abpframework/abp/blob/73cd37f06717d1f920d224e00c1e4380a1244cf3/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuItemPublicAppService.cs#L40
Even you show menu items from host, CMS Kit pages or blog post won't be opened, you should override PagePublicAppService
and modify logic and make it includes Host entities too:
https://github.com/abpframework/abp/blob/dev/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs
And same for BlogPostPublicAppService
https://github.com/abpframework/abp/blob/dev/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Blogs/BlogPostPublicAppService.cs
You can use Disabling Data Filters feature for disabling
IMultiTenant
feature in the queries.
Hi, AbpApplication can't be initialized without retrieving application-configuration. So, it's not possible to initialize the same application without application configuration. Here are 2 ways to go:
1 ) You can cache application-configuration once it's retrieved and read application-configuration from local storage if it's not available, and you have to implement offline cases on each page. It's tough and complex way.
2 ) You can handle it if the backend isn't reachable and show the error page. (In that way application can't be opened without restarting when backend is available again)
Here the steps to show error in your application:
MauiProgram.cs
, find the following code block and remove itapp.Services.GetRequiredService<IAbpApplicationWithExternalServiceProvider>().Initialize(app.Services);
App.xaml.cs
and initialize it in here and show an error page when it can't be initialized. Change the MainPage = serviceProvider.GetRequiredService<AppShell>()
section in theconstructor with the following pattern: try
{
serviceProvider.GetRequiredService<IAbpApplicationWithExternalServiceProvider>().Initialize(serviceProvider);
// Regular scenario, everything is fine:
MainPage = serviceProvider.GetRequiredService<AppShell>();
}
catch (Exception ex)
{
MainPage = new ContentPage { Content = new Label { Text = ex.Message } };
// Log the exception with your tracking tool, AppCenter, Sentry, etc.
// Crashes.TrackError(exception);
}
It seems the previous bug has been solved with the latest patch release.
Since it was a bug, your credit has been refunded
Can you check if overriding LogoUrl
and LogoReverseUrl
works or not?
In the LeptonX both of them should be defined at the same time since it supports client-side dark/light changes.
A default BrandingProvider should be included in your project by default.
[Dependency(ReplaceServices = true)]
public class MyProjectBrandingProvider : DefaultBrandingProvider
{
public override string LogoUrl => "/logo.png";
public override string LogoReverseUrl=> "/logo-dark.png";
}
Hi,
Confirmed that menu overflow it a bug of leptonx and we'll work on it.
For rest of the features;
Have you updated your blazor wasm bundles after switching between layouts with abp bundle
command?
Try updating them cleanly, run abp clean
first and then execute abp bundle
command inside your blazor wasm project.
Yes, you need to add view imports to work that cshtml file work properly. Then, you'll be overridden the default logic page, you can make any changes according to LeptonX HTML demo
Can you check if abp-script
tags are colored (Tag helpers are imported)
If not, you can crate a_ViewImports.cshtml
file in the same folder with following imports:
@using System.Globalization
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling
_(Or you can add them into the same file, but creating ViewImports is suggested.)