If I choose a display language that has a different date format (e.g. en-gb), then the time-ago is calculated incorrectly within the entity change history widget view component.
The {entityChange.ChangeTime}
needs to be replaced by {entityChange.ChangeTime:o}
to ensure that it is rendered in the ISO 8601 format, regardless of which culture is being used.
Mike
I have found that after creating around 20 organization units, it now takes a while (5 seconds) to open the create / edit user modal dialog. After some investigation, it seems to be the following lines
@for (var i = 0; i < Model.OrganizationUnits.Length; i++)
{
<input asp-for="@Model.OrganizationUnits[i].IsAssigned">
<input asp-for="@Model.OrganizationUnits[i].DisplayName" />
<input asp-for="@Model.OrganizationUnits[i].Id" />
}
I replaced this with the following and it is now is back down to less than a second to open the dialogs.
@for (var i = 0; i < Model.OrganizationUnits.Length; i++)
{
<input type="hidden" id="OrganizationUnits_@(i)__Id" name="OrganizationUnits[@(i)].Id" value="@Model.OrganizationUnits[i].Id">
<input type="hidden" id="OrganizationUnits_@(i)__IsAssigned" name="OrganizationUnits[@(i)].IsAssigned" value="@Model.OrganizationUnits[i].IsAssigned.ToString()">
}
I have excluded the DisplayName input as we did not need that.
Is it something to do with dialogs? Or the asp-for
tag helper and the associated extra generated validation properties? I am not able to delve into the cause of the performance difference, but maybe you could investigate it?
Best regards,
Mike
Can you let me know the status of the CMS kit? Has it been released and is it stable? Is it your intention to release it and document it? There is nothing in the documentation yet.
We are looking at creating a simple internal user voice type system to track feedback and ideas.
Many thanks, Mike
There is no authorize attribute on the IdentityUserAppService.GetAvailableOrganizationUnitsAsync()
method, which would allow any unauthenticated user to discover the OU structure!
Maybe there are also other cases where this has been missed?
(p.s. Great to see the DB provider field in the new question template!)
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
The role claims are not being saved as the UpdateClaimsAsync()
method within the IdentityRoleAppService
class is missing a await RoleRepository.UpdateAsync(role);
at the end.
I was able to fix it by replacing the IdentityRoleAppService
and appending the missing line in the overriden method.
[15:06:22 ERR] Error occured while adding the module Volo.Identity.Prowith source-code to the solution "2ae0add0-a136-48b3-889f-e331d74b2f66".. System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func
2 predicate)
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.ChangeDomainTestReferenceToMongoDB(ModuleWithMastersInfo module, String moduleSolutionFile) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 201
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.RemoveUnnecessaryProjectsAsync(String solutionDirectory, ModuleWithMastersInfo module, String[] projectFiles) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 151
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.AddAsync(String solutionFile, String moduleName, String startupProject, String version, Boolean skipDbMigrations, Boolean withSourceCode, Boolean addSourceCodeToSolutionFile, Boolean newTemplate, Boolean newProTemplate) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 98
at Volo.Abp.Cli.Commands.AddModuleCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\AddModuleCommand.cs:line 59
at Volo.Abp.Suite.Controllers.AbpSuiteController.AddModuleAsync(AddModuleInput input)
[15:06:38 ERR] Error occured while adding the module Volo.Identity.Prowith source-code to the solution "2ae0add0-a136-48b3-889f-e331d74b2f66".. System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func
2 predicate)
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.ChangeDomainTestReferenceToMongoDB(ModuleWithMastersInfo module, String moduleSolutionFile) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 201
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.RemoveUnnecessaryProjectsAsync(String solutionDirectory, ModuleWithMastersInfo module, String[] projectFiles) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 151
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.AddAsync(String solutionFile, String moduleName, String startupProject, String version, Boolean skipDbMigrations, Boolean withSourceCode, Boolean addSourceCodeToSolutionFile, Boolean newTemplate, Boolean newProTemplate) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 98
at Volo.Abp.Cli.Commands.AddModuleCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\AddModuleCommand.cs:line 59
at Volo.Abp.Suite.Controllers.AbpSuiteController.AddModuleAsync(AddModuleInput input)
[15:07:27 ERR] Error occured while adding the module Volo.AuditLogging.Uiwith source-code to the solution "2ae0add0-a136-48b3-889f-e331d74b2f66".. System.ArgumentNullException: Value cannot be null. (Parameter 'path')
at System.IO.Path.GetFullPath(String path)
at System.IO.DirectoryInfo..ctor(String path)
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.RemoveProjectByPostFix(ModuleWithMastersInfo module, String moduleSolutionFile, String targetFolder, String postFix) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 186
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.RemoveUnnecessaryProjectsAsync(String solutionDirectory, ModuleWithMastersInfo module, String[] projectFiles) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 150
at Volo.Abp.Cli.ProjectModification.SolutionModuleAdder.AddAsync(String solutionFile, String moduleName, String startupProject, String version, Boolean skipDbMigrations, Boolean withSourceCode, Boolean addSourceCodeToSolutionFile, Boolean newTemplate, Boolean newProTemplate) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\SolutionModuleAdder.cs:line 98
at Volo.Abp.Cli.Commands.AddModuleCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\github\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\AddModuleCommand.cs:line 59
at Volo.Abp.Suite.Controllers.AbpSuiteController.AddModuleAsync(AddModuleInput input)
I am using MongoDB
I tried to add the Identity and Audit Logging modules through the abp suite for an existing solution.
Hi,
I am implementing my own entity change tracking and am using MongoDB.
There is a bug, which means that the sorting is only being applied to the current page of entity change results. https://github.com/abpframework/abp/blob/f4c7def47a97c77e4fa2813f52e8ebe61598f095/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs#L179
Paging should be performed after the sort, same as this line: https://github.com/abpframework/abp/blob/f4c7def47a97c77e4fa2813f52e8ebe61598f095/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs#L58
Best regards,
Mike
Hi,
I have been trying to get the entity auditing working, but then I found out through the documentation that it is not supported for MongoDB. https://docs.abp.io/en/abp/latest/Audit-Logging
Is there a reason that this has not yet been implemented for MongoDB? Can you let me know if this is planned to be supported? Can you let me know how I might go about implementing this myself?
Many thanks,
Mike
Hi,
The existing OU functionality allows us to define a hierarchy of OUs and then specify the users which are within the OUs. We are then able to define the roles for an OU, which results in those roles being applied to the users within the OU.
However, we have a requirement where we need to able to assign a role to a user, which should only give them the role permissions for the specific organizational units defined by the role.
The idea would be the following.
I have looked at all the existing documentation regarding organization units and looked at many existing software solutions to discover how it works from a users perspective and I believe the above design would work well.
I am wondering if you are planning to extend the OU functionality to include this feature in the future? Or anything similar? Is there already a request of backlog item for it?
If not, are you able to make any recommendations about how we should go about implementing this functionality?
My current thinking is
I settled on the "Restricted Access" rather than "OU Specific" as I think "OU Specific" does not make it clear what its purpose is and can be confused with the existing ability to add roles to an OU. I also chose to extend permissions to be "Restricted Access" and to make a distinction between normal roles vs "Restricted Access" roles to make it clear what a user with the role will be able to do and there would be no confusion about if the user will have access to all data or only data associated with particular OUs.
Your help is greatly appreciated,
Mike
When I try to move an organization unit to a different parent (e.g. move Production under Central)... I can see in the preview that I am requesting to move it where I want to
and the confirmation dialog is correct. However, after completion, it has not moved. This appears to be the case when trying to move organization units to any different level, including to the root level.
Mike