phax / phoss-smp

phoss SMP - a Peppol and OASIS BDXR SMP Server, CEF eDelivery compliant
127 stars 37 forks source link

Suggestions for improvements #292

Open JonasZal opened 3 weeks ago

JonasZal commented 3 weeks ago

Hi Philip,

as we are heading to the new national eInvoicing system we need to update a large amount of service groups to a new AP. While you have great functions for mass update of URL and certificate it could be great to have those functions combined as well. Moreover, if certain SMP uploads all participants on the Peppol Directory (as we do), then I think it could be reasonable to postpone the Directory update until all the records are updated. The reason for this is a rather long update process that IMHO is not as critical as SMP service per se. To overcome this I, disabled Directory updates.

And one more, if I hit from UI "Update all Business Cards in Peppol Directory" instead of putting it as a background job, the form waits for the completion of the task and with such amount of Business Cards it ends up with an error "Gateway time-out".

P.S. these remarks are not critical, nor they could be ever relevant to someone else in the future. So, it's up to you.

Thank you once more for the great tool.

phax commented 3 weeks ago

Hi Jonas, Thank you for your suggestions. I try to structure your suggestion

  1. Combining the "Change Endpoint" and "Change Certificate" functionality on one page: that doesn't make sense in most cases, as certificates are (in Peppol) updated every 2 years, whereas the endpoint URLs (usually) change less often. As such I don't see a broader use for combining these functionalities. Please let me know what you think.

  2. Postponing the Peppol Directory updates is a good proposal. From a practical point, that would mean you a) Start queueing PD changes, b) Perform activities as needed and c) Stop queueing PD and push all queues changes to the PD. This sounds fair, but opens up for new error scenarios like a) People forget to stop to queue PD changes, so it may lead to more support "Why are my changes not in the Directory?" b) This queue needs to be persisted to avoid information loss on restart - potential source of new errors :) As an alternative, already process I suggest the following a) Go to SMP Setttings, and disable "Directory auto update" b) Perform your activities c) Go to SMP Settings and re-enable "Directory auto update" d) Go to "Business Card" page and push the "Sync all" button

  3. Running the "Update all Business Cards in Peppol Directory" in background: good suggestion. Will do :)

Please let me know, if I captured the essence correctly. Thanks, Philip

JonasZal commented 3 weeks ago

Hi Philip,

as I needed to update all endpoints to a new AP (including the certificate), I thought that it could be a great additional feature along with the other two existing now. And the motive for this is efficiency, as when you change AP using both functions all records must be updated twice (including PD updates). However, you are correct, it's not a very common procedure, so no reason adding it. When I proposed postponing PD updates, my idea was more like this:

  1. Initiate AP URL update as background work
  2. Background worker performs AP URL updates
  3. Background worker automatically collects all changes
  4. Background pushes all changes to PD So, it only relates to background worker. If I want to make manual changes, then I can always go with the alternative approach (actually that is how I did that) you suggested. With the current set-up, if I stop PD auto-updates and initiate background AP update relevant for 500 service groups out of 6000. Then with "Sync all", I will push 6000 changes instead of 500.
phax commented 3 weeks ago

Thanks, I think I got the point. Let me see if this can easily be implemented :)