Hi, to change the logo for semi-dark (dim) theme, you can use the --lpx-theme-dim-bg
variable in the CSS and add your logo URL:
:root {
--lpx-theme-dim-bg: url('<URL>');
}
Also, you can use --lpx-logo
and --lpx-logo-icon
for the small logo, which is only shown when the menu collapsed. For example:
:root .lpx-theme-dim {
--lpx-logo: url('/assets/images/logo/logo-light.svg');
--lpx-logo-icon: url('/assets/images/logo/icon.svg');
}
Hi, since you are using a tiered application, we suggest to use Redis as the distributed cache. If you are not using it now, or it has some transient problems, getting localization values may take a while. But, normally after first fetching the localization entries, it should work faster.
So, can you confirm that your Redis server is always up, and there is no transient errors or downtimes on your Redis server?
Hi, thanks for the detailed information and all the code snippets. You're correct that AsyncPeriodicBackgroundWorkerBase
executes the job globally at fixed intervals across all tenants, and that it doesn't directly support tenant-specific execution intervals out of the box.
If you want to apply tenant-specific execution time, you can:
DoWorkAsync
method, determine whether it's the correct time to run for each tenant, based on values stored in your database. (I guess you are already doing it with ExecutionTime
property).Optionally, you can optimize the interval (e.g., 15–30 minutes) to reduce delay while still not being too frequent.
For the second question, it seems you are on the right track and storing a LastRunOn
value per tenant to ensure tasks only runs once a day. Maybe you can improve it;
ExecutionTime
) stored in your database.Since, setting Timer.Period
is a global setting and affects the entire background worker, you need to have a check mechanism to determine when to run for per tenant.
Regards.
Hi, you can use static or dynamic C# API Proxies. Here is the documentation for both approaches:
Also, we provide Modular Monolith tutorial, you can check that: https://abp.io/docs/latest/tutorials/modular-crm
Thanks for updating the main question and providing version. However, I need more information to better assist you. So, can you please explain what you did, and how can I reproduce the same problem?
For example, what do you mean by saying "when click on customized default page"? Also, please share all of your steps.
Hi, the Idle Session
feature checks inactivity on the JS side. So, if you scroll down on the page, click a section, or perform any other event, it can reset the idleTracker. So, are you sure that there is no inactivity on your side and that it's not triggering the dialog to confirm to sign in/sign out?
Regards.
Hi, can you please provide information? For example, what is your ABP version, or did you change/update the changePassword page?
Regards.
{ "culture": "en", "texts": { "PaymentRequests:CreationDateMin": "Minimum Creation Date", "PaymentRequests:CreationDateMax": "Maximum Creation Date", "PaymentRequests:PaymentType": "Payment Types", "PaymentRequests:Status": "Status", "PaymentRequests:Search": "Search", "PaymentRequests:TotalPrice": "Total Price", "PaymentRequests:Currency": "Currency", "PaymentRequests:State": "State", "PaymentRequests:Gateway": "Gateway", "PaymentRequests:ExternalSubscriptionId": "External Subscription ID", "Plans": "Plans"
}
}
It Provide me working code.
You can use this approach for any of our modules and update any localization you want. But, unfortunately, currently, when you install an ABP Module, we don't include the localizations for each module, because if we do this, and update localizations/or add new localizations, you would not get the localization entries and it could cause missed localization entries in your application. This is why we don't provide all localization values for the relevant modules.
Regards.
[sayedzakaria] said: the module project doesn't have any angular UI
Hi, I've created a main application (Issue9365), and then created a new module with DDD template named Issue9365.ProductModule
:
Then, imported the new module to the main solution via ABP Studio, and confirmed the below dialog:
After that, I opened ABP Suite, selected the product module and generated CRUD pages:
Then, I opened the product module's angular
folder and successfully saw the generated code as follows:
So, it generated the CRUD pages for Angular UI. However, to be able to use it in my main project, I need to make some changes in my main angular project. And therefore, https://github.com/abpframework/abp/issues/20827#issuecomment-2624232973 I followed steps in this thread, and successfully saw the page in my main application.
Please check all of these steps, and try to find the missing step. If you are still not able to make it work, please let me know.
Regards.