We were using ABP version 8.1.3 it works fine and wanted to update the project. After updating to ABP 8.2.2, menu items disappeared. We tried redirection via the URL, but it redirects to the authorization url and then back to the home screen. We have completed our update based on the guide (https://abp.io/docs/latest/release-info/migration-guides/abp-8-2). The authorization project and Swagger are working, but there is an issue with the web application. Even though we logged in with the admin account, it appears this way. We have checked the database, and the seed data seems to have been created successfully.
I found my mistake. 'UrunYonetimiFeatures.Enable' and 'MusteriYonetimiFeatures.Enable' have the same string value, which is causing the error.
using MerkezYonetim.Localization;
using MusteriYonetimi.Features;
using UrunYonetimi.Features;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace MerkezYonetim.Features
{
public class MyFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var urunYonetimiGroup = context.AddGroup("UrunYonetimi", L("UrunYonetimi"));
urunYonetimiGroup.AddFeature(
UrunYonetimiFeatures.Enable,
defaultValue: "false",
L("Enable"),
valueType: new ToggleStringValueType());
var musteriYonetimiGroup = context.AddGroup("MusteriYonetimi", L("MusteriYonetimi"));
musteriYonetimiGroup.AddFeature(
MusteriYonetimiFeatures.Enable,
defaultValue: "false",
L("Enable"),
valueType: new ToggleStringValueType());
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<MerkezYonetimResource>(name);
}
}
}
in one FeatureDefinitionProvider class i couldnt create 2 different group.
when i comment one of them it works fine.
I have created a tiered main application and added a new module to it using the suite. My goal is to enable or disable this module for specific tenants, and I need to do this at runtime, managed by the admin from the main application. I'm having trouble finding the correct approach to achieve this. I'm torn between using features and permissions. If I use features, do I need to add a RequireFeature attribute at the beginning of each ApplicationService within the module? What is the proper way to handle this?
In my main app i created this :
public class MyFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var myGroup = context.AddGroup("MyFeatureGroup", "My feature group");
myGroup.AddFeature(
"MyModuleFeature",
defaultValue: "false",
displayName: LocalizableString
.Create<FeaturesDemoResource>("MyModuleFeature"),
valueType: new ToggleStringValueType()
);
}
}
In my module i created this :
public class MyModule : AbpModule
{
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var featureChecker = context.ServiceProvider.GetRequiredService<IFeatureChecker>();
if (!featureChecker.IsEnabledAsync("MyModuleFeature").Result)
{
throw new BusinessException("This tenant does not have permission to access this module.");
}
}
}
When I create a new project with ABP Suite version 8.2.0, the initial migration file and seed data do not support Oracle databases.
In previous versions, this datatype was NUMBER(1).
I changed all of the initial migration files, but this time the seed data caused problems and I couldn't resolve them.
How can I configure version 8.2.0 with Oracle?
any update ?
Thank you, I get it.
Have you had a chance to review it?
I know this MVC example. The thing is i need hub in the application layer. in this example it is in web layer.