Base solution for your next web application

Activities of "JapNolt"

We followed the directions you provided above and it seems to partially work. It seems like the overridden methods are called when editing the Edition features and Tenant features.

Here is a list of items that are still NOT working.

  • Feature caches (edition and tenant) are not being cleared when setting a feature using the overridden methods.
  • FeatureChecker code is not working in the app services (aka. FeatureChecker.IsEnabled). The overridden methods are not getting hit. I assume that the RequiresFeature attribute doesn't work either, although I didn't test that.
  • The GetAll method in AbpUserConfigurationController is not calling the overridden methods. So the Angular client side is receiving incorrect feature values.

To prove this, we override all the "GetValue" methods in the FeatureValueStore. For a specific feature, AppFeatures.MaxUserCount, we are hard coding the value to "1000".

  • We are then checking this feature value in the GetCountries method of the DemoUiComponentsAppService application service. But it is returning "0" instead of "1000".
  • When looking at Browser Dev Tools and inspecting the GetAll method, "0" is returned instead of "1000".

We will send a link by email to download our "test" project.

Any ideas on how we can do this?

We are able to override SetEditionFeatureValueAsync like you have done here. But we aren't able to override the GetValueOrNull in order to add our own layer between editions and tenant settings. Our GetValueOrNull override never gets called.

We did try that. We can also replicate in the vanilla project from aspnet zero. Heres what I did there.

Add this override to the existing aspnet zero class FeatureValueStore:

public override Task<string> GetValueOrNullAsync(int tenantId, string featureName)
{
    return base.GetValueOrNullAsync(tenantId, featureName);
}

Add this to the core module, as like mentioned above:

Configuration.ReplaceService<IFeatureValueStore, FeatureValueStore>(DependencyLifeStyle.Transient);

The override here never gets hit. I tested by doing the CreateFriendshipWithDifferentTenant api request in the FriendshipAppService which calls for FeatureChecker.IsEnabledAsync.When IsEnabled is called for I would expect my override to get hit. Are we missing something?

We are looking to extended the abp features functionality by adding our own layer between tenant and edition feature sets. We think there are a few different methods we might be able to override in order to achieve this. We are adding our overrides to this file, which is part of abp. One of which is GetValueOrNullAsync from the AbpFeatureValueStore.cs, although when running our project, this override is not being called.

Is there something we are missing or something else we need to do in order for our override to be called?

I was mistaken. I was thinking events work across different contexts(aka two browser tabs), but I think they are only within the same context. Thus a trigger in one browser window wouldn't be received in another window or tab. Is that correct?

We have a abp.event that is listening in a component that is used in two different angular modules. But it seems like we only receive an event if it is triggered in the same module as the abp.event.on. Is that expected? And is there a recommendation on how to handle this scenario where it is in two different modules?

There is also no way to delete a webhook subscription. Is this by design or an oversight?

I find it odd that when calling the AddSubscription API in the WebhookSubscriptionAppService, I can pass in the IsActive property and it is honored. But when I try to "toggle" the IsActive property with UpdateSubscription API, the IsActive is not honored. Feels like a bug to me but maybe I'm not understanding something??

Github issue: https://github.com/aspnetzero/aspnet-zero-core/issues/5009

Showing 1 to 10 of 64 entries