PluginID / ModuleID



  • Upto now I haven't had the need to create new plugin IDs since the introduction of the new forum. All I did was convert existing plugins to R20. Using the classic API I kept using the originally obtained plugin IDs, but used some made-up module ID for the projectdefinition.

    Now that I am needing new plugin IDs, I am wondering what to do.
    The plugin ID generation page on the new forum mentions the following:
    The suggested MAXON API domain space, based on your profile, is: use.yourdomain.C4DS.*

    In my projectdefinition files I made up the moduleID as com.c4ds.<plugin-name>
    based on the examples from the SDK which use net.maxonexample.cinema4dsdk

    If the asterisk mentioned in the suggested domain space is placeholder for the pluginname, then I end up with 4 labels in the module ID. Or should "use.yourdomain" be seen as a single label and not 2?
    Not sure what to do here.


  • Global Moderator

    Hi Daniel, thanks for reaching us on this issue.

    With regard to the generation of IDs for plugins or maxon registries the way to go is easy:

    • Standard IDs can be generated easily by providing a label and clicking on Get PluginID.
      0_1547468344324_d505b990-6bdc-4515-9dea-0aa1debee9ee-image.png
    • Maxon IDs instead are created assembling a string containing a reverse domain and the identifier you choose.

    In the case of a new Maxon ID in order to grant as much as possible the uniqueness of the ID, it's highly recommended that you own the domain from which you extract the reverse notation.

    Let's depict a use case with regard to this last scenario:

    • Mr. Developer is a freelance (but this also applies to a company) owning UVW.xyz registered domain;
    • Mr. Developer has then registered an account on plugincafe and has set in his profile Website: www.uvw.xyz
    • Then he wants to register a new maxon ID and as soon as he hits the pluginID creation page he's provided with
      0_1547477893354_279ce1b9-7d3e-4ec3-a69b-74b13bb1e3b7-image.png
    • Mr. Developer will then use xyz.uvw.<identifier01>, xyz.uvw.<identifier02> and so on, paying attention to avoid conflicts.

    Alternatively Mr. Developer doesn't own a domain and has NOT set a website in his profile. Then he will be provided with the standard suggestion
    0_1547479302158_a35472c1-a069-4a13-8633-da244ef14dd6-image.png in order to use in his code use.yourdomain.mrdeveloper.<identifier01>, use.yourdomain.mrdeveloper.<identifier02> and so on, paying attention, even in this case, to avoid duplicated IDs.

    Hoping this helps to understand the whole picture, feel free to come back with any further question.

    Riccardo



  • OK, thanks for the examples.
    This explains a lot.
    Guess I was confused by the "use.yourdomain" to represent 2 labels of a domain space, but actually is just one: "be" in my case, should I have a domainspace registered in Belgium. Right?

    Oh, wait ... now I get it (I think).
    Assuming "co.uk" you indeed do have a 2-label domain.
    Just for the record, the reverse domainspace name would it then be:

    uk.co.mrdeveloper.<identifier01>

    or

    co.uk.mrdeveloper.<identifier01>

    Or am I all wrong ... again?


  • Global Moderator

    Hi Daniel,

    having a registered domain it's not mandatory but it's indeed suggested in case your plugins are supposed to be sold.

    Assuming you own theshinyplugin.co.uk, your suggested reverse domain to use to generate maxon IDs is uk.co.theshinyplugin.*, which then will allow you to generate uk.co.theshinyplugin.id01, uk.co.theshinyplugin.id02, and so on...

    The most important thing a developer should put attention to is to do the best to avoid potentially ID duplication and a good way to start doing it is to own a domain.

    Best, Riccardo