Ok, so there is no documentation, but in the latest preview there is the option to get blazor side server application... But I am pretty sure the result is broken. There is no Host project that can be started.
We would like to migrate as soon as possible, because waiting 20 seconds for a page is not ok to offer to any user.
I could not find any documentation to blazor server on the abp docs, there is just a description of a blazor client setup. Is it already in version 4.2.2? I'd be glad if you can point me to some documentation.
Thanks!
There are 2 main issues:
My questions:
Ok, so there is nothing like a 'color changer' to simply adopt your lepton theme? This would be a helpful feature. I would assume that most of the customers want to use their own company colors, instead of the generic ABP ones.
In the documentation, there is no information on how to use all our company brand colors with ABP commercial Lapton Theme. https://docs.abp.io/en/abp/latest/UI/Blazor/Branding
What we did:
/* Your Global Styles */
.btn.btn-primary {
color: #fff;
background-color: #1fb787;
border-color: #12b581;
}
.lp-opened-sidebar .lp-sidebar, .lp-closed .lp-sidebar {
background: #1fb787;
background: linear-gradient(7deg, #1fb787, #78c6be);
}
:root {
--primary: #1fb787;
--secondary: #78c6be;
--sidebar-bg: #1fb787;
}
header {
background: #78c6be;
}
Now there are still many small things missing, like focused inputfield color or cancel btn colors,..
Is there somewhere a documentation what needs to be done to change all colors?
Thank you!
I found the solution, it had to be added directly into useHangfireDashboard:
var backgroundJobOptions =
context.ServiceProvider.GetRequiredService<IOptions<AbpBackgroundJobOptions>>().Value;
app.UseHangfireDashboard("/jobs", new DashboardOptions
{
DashboardTitle = "MyProject Background Jobs",
DisplayNameFunc = (jobContext, job) =>
{
var jobType = job.Args.First().GetType();
var abpJobType = backgroundJobOptions.GetJob(jobType);
return abpJobType.JobName;
}
});
I added it,the defined job name is still not displayed.
I put it directly after
// Configure Hangfire
context.Services.AddHangfire(config =>
{
config.UseSqlServerStorage(configuration.GetConnectionString("Default"));
});
Documentation https://docs.abp.io/en/abp/latest/Background-Jobs says that the jobsname can be set via an argument: [BackgroundJobName("emails")]
But in Hangfire, the jobname is then still "HangfireJobExecutionAdapter<EmailArgs>.Execute" instead of "emails".
How can the jobname be set?
Hi, this guided me into the right direction, thank you. The solution was pretty simple: Hangfire has a helper function to define json serializers for it globally:
var settings = new JsonSerializerSettings {Formatting = Formatting.Indented};
settings.Converters.Add(new LhirModelsJsonConverter());
GlobalConfiguration.Configuration.UseSerializerSettings(settings); // <-- from Hangfire.GlobalConfiguration
This can be applied in OnApplicationInitialization(). The converter will then be correctly applied to all models of the defined base class.
Yes I have a service to deal with it. Now the problem is just that whoever uses the queue has to remember to do it with the service, and any errors will only occur on runtime.
And ABP is wrapping the jobs in such a way that I found no solution to extend it?
So best is the best way to implement the hangfire queuing logic by myself instead of using the ABP job library?