Hello, I am receiving an error when attempting to add an ABP 7.0 solution to "abp suite" for crud generation. The error is ""An internal error occurred during your request!" and it is received immediately upon "Add an existing solution" OR when selecting the 7.0 solution (once added).
Please note that the only enum in the entire application referencing "Medical" is this class: namespace Redacted { public enum ConditionType { Medical, Behavioral } } Note: I have not assigned a database/datasource in "abp suite". The error occurs on the initial load.
What would cause this type of serialization error? Is there a cache / directory that I should try removing?
Please advise.
[06:10:21 ERR] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "An internal error occurred during your request!", "details": null, "data": {}, "validationErrors": null }
[06:10:21 ERR] Error converting value {null} to type 'System.Int32'. Path 'Properties[4].EnumValues.Medical', line 115, position 23.
Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Int32'. Path 'Properties[4].EnumValues.Medical', line 115, position 23.
---> System.InvalidCastException: Null object cannot be converted to a value type.
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(TextReader reader, Type objectType)
at Volo.Abp.Suite.Services.PersistanceService.YrnKPR8BUX(String )
at System.Linq.Enumerable.SelectIPartitionIterator2.MoveNext() at System.Collections.Generic.List
1.InsertRange(Int32 index, IEnumerable1 collection) at Volo.Abp.Suite.Services.PersistanceService.GetEntitiesAsync(Guid solutionId) at Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync(Guid solutionId) at lambda_method1822(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask
1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
Hello,
Are there any plans to support Angular (in the UI) for several modules, including: forms, cms-kit and payments? I see that File Management is supported but am looking for the referenced modules also.
Thanks, Matt
I am interested in redirecting the user to the registration page (/Account/Register) instead of the login page (/Account/Login) in some cases. I believe OpenIddict supports changing the path but I'm not sure how this should be done within ABP or done dynamically.
I have two questions:
Any advice is appreciated!
Due to the restriction above, I am trying to add a Language (extra) property to the CMS Page object. Please confirm the steps:
How do I update the services and DTOs to return the updated Page/PageDto with the new field? I was thinking of trying CreateMap<Page, PageDto>().MapExtraProperties(); but I get a compile time error: The type 'Volo.CmsKit.Admin.Pages.PageDto' must be convertible to 'Volo.Abp.Data.IHasExtraProperties' in order to use it as parameter
Please advise on next steps to allow CmsKit to support an extra property in the Page object. Thanks!
Is there a way to save and retrieve localized content (i.e. Blog names, Blog posts) in CmsKit? Specifically, I would like to create different pages by culture and then have ABP display / filter the displayed blogs/blog posts by the selected culture (e.g. ?culture=en-US vs ?culture=es-SV). I've seen this done in OrchardCore and other CMS systems and am hoping that ABP CmsKit supports something similar.
Thanks, Matt
Hello,
The module must be developed with the Module Entity Extensions system in mind. All the official modules support this system wherever possible.
moreAlso, you can generate a
YourModuleExtensionConfiguration
by inheriting fromModuleExtensionConfiguration
.There is no direct method for
CmsKitModule
.
It requires the type ModuleExtensionConfiguration for the action.
You're right.Regards
Hello,
I have a similar requirement. I wish to extend the CmsKitModule by adding extra properties. Is adding the Module Extension Configuration in the product roadmap for a future release (and, if so, when)?
Thanks
I followed the migration guide to upgrade from ABP 5.3.x (commercial) to ABP 6.0.0 (commercial), including the addition of cadministration.SetSubItemOrder(OpenIddictProMenus.GroupName, 2); to MyProjectAppMenuContributor.cs. Per the screen snapshot, the menu is not appearing in the portal:
//Administration
var administration = context.Menu.GetAdministration();
administration.Order = 5;
//Administration->Identity
administration.SetSubItemOrder(IdentityMenuNames.GroupName, 1);
//Administration->OpenIddict
administration.SetSubItemOrder(OpenIddictProMenus.GroupName, 2);
//Administration->Language Management
administration.SetSubItemOrder(LanguageManagementMenuNames.GroupName, 3);
//Administration->Text Template Management
administration.SetSubItemOrder(TextTemplateManagementMainMenuNames.GroupName, 4);
MyProjectWebModule.cs depends on the OpenIddictPro modules:
typeof(AbpOpenIddictProWebModule),
typeof(AbpAccountPublicWebOpenIddictModule),
Thank you. That's just what I needed to resolve the permission issue.
I am receiving an authorization exception when attempting to assign a tag to an entity using the cms-kit-admin-proxy.js in a custom page. The server trace includes: [12:13:51 INF] Request starting HTTP/1.1 PUT https://REDACTED/api/cms-kit-admin/entity-tags application/json 88 [12:13:51 INF] No CORS policy found for the specified request. [12:13:51 INF] Executing endpoint 'Volo.CmsKit.Admin.Tags.EntityTagAdminController.SetEntityTagsAsync (Volo.CmsKit.Admin.HttpApi)' [12:13:51 INF] Route matched with {area = "cms-kit-admin", action = "SetEntityTags", controller = "EntityTagAdmin", page = ""}. Executing controller action with signature System.Threading.Tasks.Task SetEntityTagsAsync(Volo.CmsKit.Admin.Tags.EntityTagSetDto) on controller Volo.CmsKit.Admin.Tags.EntityTagAdminController (Volo.CmsKit.Admin.HttpApi). [12:13:51 WRN] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "An internal error occurred during your request!", "details": null, "data": {}, "validationErrors": null }
[12:13:51 WRN] Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. Volo.Abp.Authorization.AbpAuthorizationException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. at Volo.CmsKit.Admin.CmsKitAdminAppServiceBase.CheckAnyOfPoliciesAsync(IEnumerable`1 policies) at Volo.CmsKit.Admin.Tags.EntityTagAdminAppService.SetEntityTagsAsync(EntityTagSetDto input)
I am executing the script as admin and have confirmed the following:
The CmsKit documentation refers to policies but I'm not sure if they are required or optional and where to define them on my Value entity type.
Please let me know how to resolve this exception. Do I need to define policies on the entities and, if so, how do I do that?