The AuditingHelper class does not appear in my codebase. Is it something that I need to override?
I am seeing the same problem in AspNetZero v7.2.0 MVC jQuery.
I opened the following issue as requested above.
https://github.com/aspnetzero/aspnet-zero-core/issues/3569
More detials are provided there.
AspNetZero v7.2, MVC, jQuery
Often (but not always), the username is not recorded in the AuditLog during login. It seems to work reliably during logout. Also, it does not appear to record the tenant in either case. I have looked, but can not see in the code where the AuditLog is being written. I have also tried to force a few SaveChanges() on the current UnitOfWorkManager in various places to see if I could figure out if the log is being written by ABP dlls; but I was unsuccessful. Where is this happening? How can I add more information to the AuditLog record before it is written?
Thanks.
AspNetZero 7.2.0 MVC Core jQuery. Where is the best place to put code that will execute just once during user login?
What is the proper way to publish a notification from a tenant user event to the host? Any host user that subscribes to the notification should receive it.
Using a null in the tenantIds array causes AbpBackgroundJobs to fail when attempting to process the AbpNotifications table.
await _notificationPublisher.PublishAsync(
notificationName,
notification,
severity: NotificationSeverity.Info,
tenantIds: new int?[] { null }
);
While we are at it...can someone explain the logic to me for use of the EntityId, EntityTypeAssemblyQualifiedName, & EntityTypeName fields in the AbpNotificationSubscription table? It seems as though an exact match between these fields and the notification EntittyIdentifier parameter will allow the notification to occur. But if the notification EntityIdentifier parameter is specified and the subscription specifies nulls across those fields, then the match does not happen and no notification is distributed.
From my perspective, the logic should be this...(but please correct me where I'm wrong).
The publisher provides as much information as is available and allows the subscriber to decide what information is desired. If the notification is unrelated to a specific object, then those Entity-related fields do not get populated. But if the notification is related to a specific object, then those fields will be populated. The subscriber (with the help of UI controls) uses the chart below to decide the level of information used to filter the notifications. <br> | No. | EntityId | EntityTypeAssemblyQualifiedName | EntityTypeName | NotificationName | Result | | --- | -------- | ------------------------------- | -------------- | ---------------- | ------ | | 1 | null | null | null | set | Receive any notification of the specified name, even if EntityIdentifier parameter has been specified. | | 2 | null | null | set | set | Receive any notification of the specified name, but only when EntityTypeName matches the EntityIdentifier parameter of the notification. Theoretically, the same class name could be loaded from different assemblies and all would apply. For example: System.Reports and Custom.Reports assemblies could each have implementations of CommonReportNotifier. Perhaps not likely...but possible. | | 3 | set | null | set | set | Same as #2 above, but in this case, the entityId must match the specific record. This is the best scenario to use for placing a "watch" on an object to monitor changes. | | 4 | null | set | set/null | set | Same as #2, but in this case, notifications would be distributed only for a specific assembly. | | 5 | set | set | set/null | set | Fully-qualified match. The user would receive notifications only for a very specific object instance of a specific type in a specific assembly. |
besquare,
I saw that someone created a similar project on freelancer. Was that you? Have you made any progress? I'm interested in collaborating on this e-commerce package for use in my company's project.
Many years ago (at a different company), I used the HikaShop component on Joomla. https://www.hikashop.com/
The HikaShop team did a 1st-rate job of modelling the data and UI for a feature-rich e-commerce experience. They even opened their source code to me at one point so I could help them improve the product. So, I know they are open minded to working with other teams. It would be phenominal if the HikaShop team would take their knowledge domain and implement a holistic, permanent addition to the AspNetZero solution.
.
Ugh. Not the answer I was hoping for. I'll use a separate project as you suggest. Thank you for the clarification.
I finally reached the end of my development cycle and had some time to look at this issue.
Although the AspNetZero product uses the Abp Docs Module, there is not a clearly defined path for implementing the Abp Docs Module in a custom project built upon AspNetZero.
I probably should have continued this existing issue, but ended up opening a new issue instead.
Here is the link to that issue: Docs-Module-Integration
Thank you. The Filter Parameters section in the link you provided appears to describe the desired behavior. I'll investigate further on our next iteration of product development.