Unfortunately, this is not in our plans at the moment 😔
By default, ABP saves all custom properties in the ExtraProperties
field as a single JSON
, object. If you prefer to create a tablespace for a custom property, you can configure it as follows in the EntityFrameworkCore
project in the class MyProjectNameEfCoreEntityExtensionMappings.cs
.
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
"SocialSecurityNumber",
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(64).IsRequired().HasDefaultValue("");
}
);
However when you do this, you cannot change the value type and name as the property will be kept as a separate column in the database table, so you should use the default.
As mentioned in this document, you can save the data with the name and value type you want in the ExtraProperties
column by using SetProperty
.
Then run the yarn install && gulp command on your terminal.
A small fix:
Since gulpfile
has been removed from abp v5.0.*
templates, you will get an error when you do yarn install && gulp
with it. However, you can do the same with the following command, FYI.
abp install-libs
References:
Can you check the below link if you haven't already? 👇👇
https://community.abp.io/articles/how-to-setup-azure-active-directory-and-integrate-abp-angular-application-lyk87w5l
Yes that's right, there's no direct way to achieve this.
https://support.abp.io/QA/Questions/456/How-to-Insert-Photo-In-ABP-Suite#answer-fc6a1a07-a8fd-c0d6-f43a-39f80a4c98d0
Hi,
Unfortunately, product service
does not support code generation with Suite
in versions 4.*.*
. This is valid even if you add SuiteTemplates.dll
manually. Please wait for 5.0.0-rc.1
to come out or try it in version 5.0.0.beta.*
.
Hi,
You can define permissions to be available only at the host/tenant or both levels.
myGroup.AddPermission(
"BookStore_Author_Create",
LocalizableString.Create<BookStoreResource>("Permission:BookStore_Author_Create"),
multiTenancySide: MultiTenancySides.Host //set multi-tenancy side!
);
For more information 👉 https://docs.abp.io/en/abp/latest/Authorization#multi-tenancy
Hello,
Slowness is a very relative concept, how much of a slowness are we talking about?
I see that you are in a tiered structure. Is the Redis server up?
If Redis is not up please see here 👉 https://stackoverflow.com/a/69371513/9922629
If redis is up can you send logs of a run cycle, please?
Hello,
Thank you for the information 🙏🙏
I created an internal issue related to the topic because the issue only exists in the lepton theme.
In the meantime, I'd like to share some information for more elegant error handling.
In general, we do not want users to go to the Error page, so I generally prefer to use a method like the one below.
I am creating a method inside MyProjectNamePageModel
(class inherited from AbpPageModel
) as below.
protected void ShowAlert(Exception exception)
{
Logger.LogException(exception);
var errorInfoConverter = LazyServiceProvider.LazyGetRequiredService<IExceptionToErrorInfoConverter>();
var errorInfo = errorInfoConverter.Convert(exception, false);
Alerts.Danger(errorInfo.Message);
}
The errorInfoConverter.Convert
method here makes the message of a BusinessException(or others Abp's exceptions) thrown in the domain appear in the UI, if you don't need it, you can remove it.
Then, with a code like the following, we ensure that the user stays on this page instead of a separate page when the error is thrown.
public async Task<IActionResult> OnPostAsync()
{
try
{
ValidateModel();
//Your CODE
return RedirectToPage("/");
}
catch (Exception exception)
{
ShowAlert(exception);
return Page();
}
}
For more information you can check here.
You probably already know, but I still wanted to share this information in case it helps users who have the same problem, I hope it helps 👋