ContributionsMost RecentMost LikesSolutionsRe: MYOB API Running Slow Today If not using invoice numbers, which is optional, we check for duplicate invoices by comparing customer and sale data including customers number if supplied, JournalMemo if supplied, ShipTo Address if supplied and CurrencyCode if supplied. TransPost will not import a sale if it matches exactly on all the criteria. A similar test is applied to other transaction types. In the latest version the same test is reapplied, after a pause, when retrying. The problem is working out just how long the pause has to be for this to be reliable. Today it seesm to have needed to be rather long. Re: Developer Communication - Issues Authenticating 3rd Party access to MYOB customer’s ledgers. I got in touch with the API Support team on 21st August, as soon as I realised there was a problem but apparently 2 weeks after the change was inmplemented with no notification. Tana's response suggests that they were blind-sided by this too so not much help there. It is clear they have little more knowledge about this change than us add-on developers. Talk about which browser one uses displays a complete ignorance of the fact that Windows applications do not use external browser apps to communicate over the internet. They can either use a browser control in a form or converse via GETs and POSTs etc. What has changed is the format/structure of the response. The specification of the change to that response needed to be published clearly many months before the change-over. Several weeks after this change we are finally getting an admission that the json response we had all been relying on for over a decade is not being returned. Also I completely fail to see why the response should trigger the launching of Edge. That is completely unnecessary and a hideous distraction. Re: C# WebBrowser -> WebView2 solution Interesting stackoverflow post. It might have been about using VB.NET but the code example was C# so I tried it out and got back a page of junk from MYOB which was a dreadful ad for the whole API concept, raving on and listing all the end points as if the recipient was a newby user who might be about to start developing an add-on. Certainly not stuff to throw at add-on users as if they were beginner developers. It possibly sheds light on the thinking behind all this. Zero has been rated as having better add-ons so someone in marketing, who has no idea what change management is, and thinks everything that comes in via the internet has a browser at the other end, has provoked this awful process round behind the back of those in MYOB who know anything about software and change management etc. It is the kindest theory I have been able to formulate so far! Re: Developer Communication - Issues Authenticating 3rd Party access to MYOB customer’s ledgers. I had it working for 3 of my 4 applications briefly and have been testing, as responsible developers do before deploying new versions. Today I find it is not working again so took a look at what came back from the request and found that far from it being a response providing the necessary oauth token and possibly a few other pertinent data items I had got back a page or so of a html ranting on about how wonderful MYOB was for small developers. If someone thinks that sort of thing is appropriate to shove in the faces of the clients of add-on developers whenever they install the add-on software on a new PC or for a new employee they should think again. It looks as though someone is of the impression that this authorization only gets applied when a fresh new developer starts up a new ad-hoc app for in-house use. I suspect that the perpetrators are probably unaware of how this is used and driven by some marketing/fashion motivation, quite unaware of any change management process. Myob is losing ground to Xero partly because Xero has a better range of add-ons. Breaking the existing add-ons is a long way from how to fix that. Could you please escalate this. It cannot just be fixed by linking to other developers discussions as to how to get round the problem. It is simply not acceptable to have add-ons being broken by ad-hoc changes without notice. The change management process should involve planning and notification well in advance, similar to the way it was managed for the upgrade to use TLS1.2 back in 2017, when we were given ample notice to enable us to prepare new releases. Re: Developer Communication - Issues Authenticating 3rd Party access to MYOB customer’s ledgers. Yes, I have benefitted from the advice given by Steve_PP but it is too much to expect him to keep on helping with on-going issues. He may have solved this problem and has helped a few of us to do so too but some of us do have on-going issues. I have just had to promise a user that their latest renewal will be extended to reflect the period that they cannot use our system. They will not be the only ones. That on top of not getting new sales until we have this solved. if MYOB were advised that the change would be transparent to all add-ons they perhaps did not understand what a variety of add-ons there are out there. Also such statements from people/organisations selling something need to be taken with a full handful of salt. Some testing would have been in order and roll-back immediate once the problem emerged. What they should have done is leave the existing structure/process in place, implement the new one via a different URL and notify all of us developers as to what they were doing and that they would be closing down the original after we all had sufficient time to adapt, say sometime next year. that would provide time for everyone both within MYOB and us developers to test in development, not on live systems. I still think this demonstates a shocking lack of proper change management process. Re: C# WebBrowser -> WebView2 solution I am still mystified as to why people keep on about IE versions and Edge. I am trying to make a WinForms app work and the relevant thing is what dlls are needed and how they are used, not what browser I, or my users, use. I suspect the issue is that the perpetrators did not understand that fact. I suspect that is an issue about where that //desktop redirect goes but the real meat is not that but the data that is returned. I have two apps that use the same code. One now works having disabled the error that arises from the redirect, but on my test PC as opposed to my development PC it launches Edge, quite unnecessarily as far as I can see. Can anyone explain what that redirect is meant to do? I have never understood that. There is no reason I can see why an actual external browser should come into it. The other app fails, despite using the exact same code (same source files!) The only difference, apart from addressing a wider set of end points which should not be relevant, is a different code and secret. Off to examine possible differences in their csproj files. Re: Developer Communication - Issues Authenticating 3rd Party access to MYOB customer’s ledgers. Do you not have a change management process? I an somewhat horrified that you have not: Realised that most developers do not update their systems just to keep them fashionably up to date, too busy reacting to basic business functionality requirements Announced this change well ahead so we could prepare for it Supplied sample code, also well ahead, to assist in that preparation Backed this change out, with suitable apologies, when the scale of the problem emerged You give the impression that you think it is just a matter of someone (end users?) upgrading their browser but in fact it is a matter of rebuilding a Windows application to use a completely different set of browser classes, with different, non-equivalent properties and methods. It all has to happen within the software and the classes it uses. Replacing IE with Edge on the outside does nothing to solve the problem. Most people selling Windows software, like us and many of your add-in developers, would need to go through a process of: 1. Modifying code and testing it 2. Regression testing to ensure that the changes did not break something else 3. Updating the deployment package to ensure all the necessary addins get in 4. Testing the build install package 5. Updating to a web site 6. Notifying end users that they really do need to upgrade This does not happen over a weekend. Also finding out that it needs to be addressed because one of our users raised the issue with us, probably about a week after you did it does not help. We cannot take on new users so no new customers, no license sales until this is fixed. Re: C# WebBrowser -> WebView2 solution "I am betting that when MYOB finally switch fully" You mean there are more changes they are planning to throw at us without notice? Where in all this is their change management process? Back in the days when I worked for large corporates (Telstra, IBM) there were change management teams who would absolutely have dropped on this behaviour. Asked questions like "Have you advised the stakeholders?" and "Have you checked when their changes to accomodate this will be ready?" not just the obvious questions like "Is it fully tested?" One of my customers suggested, when I explained what was going on, that the appropriate reaction was a registered letter to the directors. Not going to go quite that far but this is close to putting us out of business, certainly killing sales in the near future. The faithful who love the product will hang in for a while and I am telling them to stay away from our Online Authorisation button until we have a new release but this is going to take more than just a day or two. Even when we get it going, and I have not got a working compile yet, there will need to be full regression testing and reworking the deployment package to make sure the end users get a nice install from the download. The license certainly does not cover home visits and the customer base stretches from Katherine to the Cook Islands. Is anyone from MYOB folloowing this thread? Re: C# WebBrowser -> WebView2 solution Nice thought but sadly not the answer. Have rebooted and tried other solutions that use mostly the same code but no further forward. The problem arisies consistently on all the versions of the app I have tried. Will resume picking over my csproj files tomorrow so if you have any more brilliant thoughts happy to hear about them. Re: C# WebBrowser -> WebView2 solution In wandering around places like StackOverflow looking for a solution to my problem (not finding WebView2.CoreWebView2InitializationCompleted despite having the WebView2 dlls when all the other WebView stuff seems fine) I found something about bindingRedirect - could this be relevant to your issue? Perhaps the version of one of the dlls on the target PC be different.