I am about to start porting my plugins to R21 and hence have been looking into the new plugin licensing manual of the R21 SDK documentation.
Most of the information is quite clear, except for a few details I am missing.
(I am sure most will understand the general concept of the information, but might also be interested in some of the details below. So, while this post is for my own benefit, I hope it can also provide information to others)
Example is the call
GetGeneralLicensingInformation. It provides productId, systemId, userId, licenseId and userName.
Obviously, the productId is an identification of the product and would rather be useless for purpose of plugin registration, except in those cases where there's a need to know difference between cinema4D or teamrender, and commercial versus education, lite, nfr, etc ..
However, in most cases, plugin developers might skip this productId to generate plugin licenses.
The systemId, being hardware related might be useful to distinguish between different workstations, although hardware-upgrades performed by user overtime might result in a same workstation to be detected as a different one. (correct ?)
The userId seems to be the most potential piece of information to be used for flexible plugin licensing, in the way that a single user can have different workstations (work and home) for a single cinema4d license. Here the systemId will be different but the userId not. To be flexible and allow a same user to purchase a single plugin license (to be used on a home or office workstation) it seems the easiest would be to only use the userId for generating the plugin license.
But what about a single user / company having multiple licenses? Is the userId the same for all licenses?
Documentation also doesn't mention the licenseId. Is this something which changes each time a new rental contract is started? What about next Cinema4D releases? Do these affect any of the Ids?
Probably not the userId, nor the systemId. Maybe the productId? What about the licenseId?
So, while the Plugin Licensing Manual provides quite some information, it still leaves out specific details needed to know, as a 3rd party developer, what exactly to use.