Long time no see, eh? 😳 I won't offer no excuses, but I have been plenty busy with things that you'll benefit in some way or another, far more than…
For all of you using AL Object ID Ninja, please read this post. There will be scheduled maintenance of AL Object ID Ninja back end on October 9, 2021, at…
If you are using AL Object ID Ninja already then you may want to read this post. If not, then first install AL Object ID Ninja, then read this post 😀
Since its launch three weeks ago, this extension has exploded far beyond my expectations. As of this morning, Ninja has been installed 5.916 times, there are 2.047 Business Central apps that use Ninja to assign object IDs, and there are currently around 13.37 million blob read and write operations per week performed on my Azure Storage and around 6.75 million Azure Function calls per day. These numbers nearly doubled in the past ten days, and while there is a definite cap to how far this can grow, I expect all of this to grow at a steady rate for the foreseeable future.
Which brings me to the important part. AL Object ID Ninja is free, and it will stay free. Right now there is absolutely no fear of it even remotely approaching the limit I’ve set (at the moment, Ninja is costing on average €1 per day against my €125 monthly allowance that comes with my Visual Studio subscription, so there is aaaaaa lot of room to grow. However, since Ninja grew beyond my wildest dreams already, and since I know it’s far from hitting the roof any time soon, if nothing changes, in a couple of months it could hit a €3 per day threshold that would make me pretty uncomfortable.
That said, I have been working on some important back-end improvements to keep costs (much) lower while providing even more functionality. The reason why I went there wasn’t costs at all – it was actually some new functionality I wanted to add that I realized would drive costs a bit up, so I had to do something.
All of this is to finally announce this important announcement: at some point during the weekend, there will be a major upgrade to the AL Object ID Ninja back end, and over the course of the next week there will be two new versions of AL Object ID Ninja extension. The old extension will not work with new back end, and new extension will not work with old back end.
That’s it. If you care about nitty-gritty details, then read on.(more…)
First things first. Yesterday evening, I’ve released AL Object ID Ninja v1.2.0 and there is really nothing new that you’d care about, functionally speaking. Check the changelog if you will, but trust me, you won’t be really blown away. But yes, unfortunately, it did merit a full minor version rather than just a patch number increase.
That’s it. If you only care about what’s new, then this is where you stop reading. But if you care to know what kind of a rocky ride I’ve had yesterday wrestling with Azure and fighting like mad to keep this service free, then read on.
I won this fight, by the way 😎(more…)
I have just released version 1.1.0 of AL Object ID Ninja. Here’s what’s new.
In previous versions, you could only synchronize full information. This type of synchronization simply recorded in the back end whatever it finds in the front end. For example, if the back end had object IDs
50100..50105, and the front end only has object IDs
50104..50106, then the full synchronization, will drop whatever was recorded previously, and will replace it with
This type of synchronization may be good enough for teams who are only just starting development in AL, and have no existing repos. They can just start assigning numbers, and then synchronize later as needed.
However, if you are an active team with dozens of developers working in different branches, and you start using AL Object ID Ninja after objects already exist in your repo, if you only run synchronization from master branch, then any of object IDs already assigned in those other development branches will not be visible to AL Object ID Ninja. Instead of preventing object ID collision, AL Object ID Ninja would lead you right into it in this case.
For all these scenarios, you have Update synchronization.(more…)