Activities of "mattw@agilenova.com"

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.

  • ABP Framework version: v7.0.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:

[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.List1.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, ValueTask1 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)

  • Steps to reproduce the issue:"
  1. Start "abp suite"
  2. Load 7.0 solution file
  3. Exception thrown "An internal error occurred during your request!"

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.

  • ABP Framework version: v6.0.2 pro
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

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:

  1. How can I change the login path used by OpenIddict in ABP 6.x?
  2. Can I determine the login path during authorization? i.e.) Use a request parameter on authorize to tell openiddict to use a specific login path.

Any advice is appreciated!

  • Grant Type: Auth Code
  • ABP Framework version: v6.0.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Due to the restriction above, I am trying to add a Language (extra) property to the CMS Page object. Please confirm the steps:

  1. I added the extra property in the AppDomainModule: ObjectExtensionManager.Instance .AddOrUpdate<Page>(options => { options.AddOrUpdateProperty<string>("Language", options => { options.DefaultValue = "en"; }); } );
  2. I mapped the property to a column in AppEfCoreEntityExtensionMappings ObjectExtensionManager.Instance .AddOrUpdateProperty<Page, string>( "Language", options => { options.MapEfCore(b => b.HasMaxLength(10)); } );
  3. I created and ran the migration successfully to add the Language column to the CmsPage table
  4. I copied the Razor / Admin pages from the CmsKit source code (retrieved using get-source) and copied into my Web project's Pages/CmsKit/Pages folder and renamed the model classes and updated the @model to reference the new class names
  5. I customized the .cshtml views to include the new Language field.

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.

  • ABP Framework version: v6.0.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

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. more

Also, you can generate a YourModuleExtensionConfiguration by inheriting from ModuleExtensionConfiguration.

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 found the issue. I had to manually assign the OpenId permission to the admin user in order to see the menu option.

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),
  • ABP Framework version: v6.0.0 Commercial
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no (monolothic)
  • **Theme: ** Lepton (not LeptonX)

Please advise.

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:

  1. I can tag BlogPosts as admin in the portal and so default CMS tags are working.
  2. I confirmed that the custom entity type exists, as it is visible in the portal.
  3. I confirmed that required parameters are included in the Ajax proxy request: volo.cmsKit.admin.tags.entityTagAdmin .setEntityTags({ entityType: 'Value', entityId: valueId, tags: tags }) .then(function (result) { finishSaving(result); });

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.

  • CreatePolicies: List of policy/permission names allowing users to create tags under the entity type.
  • UpdatePolicies: List of policy/permission names allowing users to update tags under the entity type.
  • DeletePolicies: List of policy/permission names allowing users to delete tags under the 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?

  • ABP Framework version: v5.3.4
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no (monolithic)
  • Exception message and stack trace: See above
  • Steps to reproduce the issue:
    1. Define a custom entity type
    1. Create a custom page with TagEditorViewComponent
    1. Use volo.cmsKit.admin.tags.entityTagAdmin to add the tag to an existing entity
Showing 1 to 10 of 17 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on January 14, 2025, 14:54