push_pin
lock
Questions migrating from COM to Hybrid/web model
Old situation: 10 years ago, I created a C# application (let's call it TheApp.exe) that is called from within Superoffice 8 (by using a GUI - Web panel button). Inside TheApp, the currently logged on Superoffice user is used to perform various tasks in Superoffice (via SuperOffice.COM.Application) Workflow for the end user: from within SuperOffice, the user clicks on the button. That opens TheApp.exe on his computer (no need for a separate login). His actions within TheApp are stored in the SuperOffice database (under his own username). Closing TheApp brings the user back to SuperOffice, where he sees the screen updated with the extra data that was filled in via TheApp. New situation: The client is moving towards Superoffice 10.5.4 running on IIS on-prem (the hybrid model?) My question: how do I adjust TheApp to the new situation, providing the same workflow to the end user? Problems I'm running into: 1) How to make the button in SuperOffice in the browser work to open TheApp.exe on his computer? 2) How to make sure the user does not have to login again from within TheApp? Instead, TheApp should be impersonating the user that was already logged in via the browser SuperOffice session (or alternatively: via Windows 11?) 3) Which protocol to use to communicate with SuperOffice from within TheApp? I see there is a Netserver route or a WebApi route. What I've tried: 1) Register a custom protocol on the end user's pc that forwards to TheApp.exe. Calling a url with that protocol when clicking on the Web panel button in SuperOffice. This sort of works, although every time the user clicks on the button, he receives a browser message that it is trying to open an external application. So not a clean solution yet 2) In the url, I was able to provide the <usec> parameter, which gives me a SOTicket in TheApp. 3) Here I'm a bit stuck which protocol to use. I tried using SuperOffice.CRM.Services and then in code do a SoSession.Authenticate(SOTicket); That gives me an error though. Also, I wonder how the assembly knows where SuperOffice is running so where to connect to exactly. I think I'm missing something there. So far it feels a little like failing forward. I'm not sure if any of the steps/solutions I've come up with are the way to go, or if there are better ways of solving my problems. Any help would be much appreciated.
11 u, 6 m geleden | 08:25 a.m.
Laatste antwoord
Hi Frank! Migrating from SuperOffice v8.x to v10.x has some hurdles. NetServer uses dependency injection to configure database dependencies and logging. Navigating around the application is still supported using SoProtocol , albeit not as uniform as it was in the windows client. For onsite installations, we still support passing the usec credential as a template variable, but not in the online environment. So you should still be able to use it as before, just making the right changes for NetServer will make SoSession.Authenticate work as expected. We have a GitHub repo that demonstrates these DI changes, but is geared more towards the online environment. I will add a onsite version today for you. We've also introduced the Screen Designer , for minor UI customizations. More to follow in an email. Best regards!
9 u, 56 m geleden | 09:36 a.m.