Activities of "BassaSolutions"

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.

  • ABP Framework version: 4.2.0
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

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"));
    });
  • ABP Framework version: v3.3.1

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?

  • ABP Framework version: v3.3.1

Good morning,

I have hangfire job parameters that needs a custom serializer to be serialized.

For newtonsoft, I can add it like this:

    var settings = new JsonSerializerSettings {Formatting = Formatting.Indented};
    settings.Converters.Add(new LhirModelsJsonConverter());
    var serializedData = JsonConvert.SerializeObject(bundle, settings);

How is it possible to define this custom serializer for a specific job, so that it is automatically used for serialization and deserialization of its arguments? I do not want to manually serialize the data before each insert and deserialize on the worker.

I use hangfire with the abp backgroundjob interface:

  [BackgroundJobName("lhirInsert")]
  public class FhirInsertArgs
  {
      public LhirData LhirData { get; set; }
  }
    _backgroundJobManager.EnqueueAsync(new LhirInsertArgs
    {
        LhirData = serializedData
    });

Best regards and thank you for your help, Kevin

The error occurs as soon as nuget server of abp.io is added. (If removed, it correctly downloads all available nuget packages and throws error for the ones of abp that are not accessible).

Showing 41 to 49 of 49 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on January 14, 2025, 14:54