Starts in:
0 DAY
4 HRS
23 MIN
7 SEC
Starts in:
0 D
4 H
23 M
7 S

Activities of "hikalkan"

Hi,

You have already investigated the code base and understood most of the details :)

  1. As you've written, individual components (those touches to database) are already cached, so object building doesn't get much time I think. This is a big object and if we use distributed cache, it will be serialized to redis and probably it will take more time to get from cache. However, we will work on in the next versions. Probably we can do some imporvements here.
  2. This is a good idea to optimize the caching when we implement it.
  3. It resets the cache if the user changes his/her own data (e.g. permissions). If you change data of any other user, it is not reset. That means if you change permission of a user, it might take a few minues to take the effect, in a tiered architecture.

We've done some performance improvements with the version 4.3. This topic is in our TODO list for the version 4.4.

Have a nice day.

no need to wait. you can just upgrade to latest devart package in your own application.

Hi,

Unfortunately, removing a property is not possible and we've never thought such a requirement before. AddOrUpdateProperty is for extra properties, not for the properties of a class. As you know, normally, no way to remove a class property on runtime. As I know, also there is no way to remove an attribute on runtime.

I suggest you to create a new method in your custom service and use it in the client side.

As an alternative, you can add [DisableValidation] attribute to the CreateAsync method to disable validation. In this case, you can implement the validation yourself inside the method.

This problem occurs since you are registering a second data seed contributor but not removing or replacing the original one.

Actually, you don't have to replace it just set admin email/password. Open MyProjectNameDbMigrationService in your solution, find the SeedDataAsync method, find this line:

await _dataSeeder.SeedAsync(tenant?.Id);

Change it like:

await _dataSeeder.SeedAsync(
	new DataSeedContext(tenant?.Id)
		.WithProperty("AdminEmail", "...........")
		.WithProperty("AdminPassword", "..............")
	);

I believe we should add this to the startup template, so it will be easy to understand it.

BTW, if you want to override a service, you should replace it as documented: https://docs.abp.io/en/abp/latest/Dependency-Injection#replace-a-service

Answer

Thanks for reporting. This issue will be resolved in next release (4.3).

Hi,

Feature system can be used to completely enable/disable a module or enable/disable some features of a module. However, the module should implement the logic for disable/enable itself, because it depends what module does.

For pre-built modules, we have designed the chat and file management module that supports fully disable it per tenant. For example, see the feature management modal for the file management module:

You can disable per edition or tenant. Even if you enable, you can control the storage limit for tenant/edition.

Identity and account module also has some features those can be enabled/disabled per tenant/edition.

However, other pre-built ABP Commercial modules are typically fundamental and business independent modules. So, we didn't design them to be enabled/disabled per tenant.

For your own modules, you can design them so that they are enabled/disabled per tenant. ABP framework provides the feature infrastructure for it.

Thanks a lot @michael.sudnik for your great explanations. This would be a good feature for the framework. I created an issue: https://github.com/abpframework/abp/issues/7423 We will work on this in the next weeks.

I am closing this ticket. You can re-open and add comment if you want.

This is not implemented for the Blazor UI yet. Still work in progress.

Hi @lalitChougule,

ABP uses standard EF Core transaction approach and it should also cover raw SQL operations.

I suspect that your UOW is not transactional. Can you put a breakpoint, debug and check if current UOW is transactional (Inject IUnitOfWorkManager and check it's Current property).

If your request is not GET, ABP automatically starts transaction. If you are sure that your UOW is transactional, then we will try to reproduce it in our side.

Hi,

We are happy to see you like the ABP Framework and recommend to your friends :)

For the year 2021, we have 2 new projects:

  • market.abp.io: A marketplace that you can sell or buy ABP based modules & themes.
  • jobs.abp.io: You can hire developers or apply for jobs.

Availability dates are not clear yet.

Thanks.

Showing 31 to 40 of 76 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06