Naming: plugin vs plugin



  • Several years ago, when I started my first plugin, I didn't need to distinguish when referring to plugin in plural. Since I only had one plugin project, when I mentioned plugins, I meant multiple "plugins" (nodeplugin, commandplugin, ...) inside my plugin project.

    Years went by, and now I do have quite a few plugin projects, each resulting in a cdl64, xdl64, dylib or xlib file. Still, each of these plugin projects consist of different "plugins".

    Therefore, I was wondering what would be the appropriate term to use in order to distinguish between a plugin-file, something that the user refers to as "plugin", and the actual plugin, which represents a single entity, which represents a CommandData, NodeData, ToolData, DescriptionToolData, ...



  • Imho, just call it plugin component. :)



  • Hi Daniel, thanks for reaching out us.

    With regard to your question, which sounds more as a theoretical question rather a technical one, I can just provide personal considerations here:

    • a plugin is the whole project supposed to deliver a certain set of new functionalities to extend the base application;
    • the added functionalities brought by plugin can be spread across multiple libraries (.dll, xlib, xdl64) with each eventually internally implementing multiple components (NodeData-derived classes can also be considered "hooks" to Cinema)
    • libraries composed by sole MAXON API components are also called a "modules"

    Hoping this can make some sense to you, feel free to come back and provide further considerations.

    Best, Riccardo



  • @r_gigante
    Yes indeed, the question is more theoretical than technical. That is the reason I originally posted it in the section "Forum information & resources", as it was more intended to try and agree on a naming convention to be used in the forums.
    I don't mind seeing the topic moved to the development section instead.

    From a user/customer point of view the whole set of new functionalities is considered a "plugin".
    Internally, however, it can consist of many "plugins" (scenehook, nodedata, message, ...).
    Which is confusing to explain in written. When does "plugin" mean the latter, when does it mean the former?
    For instance, the SDK documentation has a page dedicated to Plugin Types. Here "plugin" is meant as the latter, the "component".
    But the introduction of the SDK has a whole page dedicated to Plugin Directory Structure. Here "plugin" is meant as the former, the "new functionality for Cinema 4D".

    When I started developing ... "new functionality for Cinema 4D", a few years ago, it took me a while to understand that "plugin" was used with two meanings. At first I thought you could only write a "plugin" (new functionality) using one specific "plugin" (component) type.
    It took me quite a while before understanding that you could have more than one "plugin" (components) into a single "plugin" (new functionality).

    Just a few days ago, I needed to describe a problem, but it took me quite a while to figure out how to describe without confusing anyone, as I had this plugin, which consisted of plugins, which eventually resulted in missing plugins.

    So far, I haven't yet made up my mind how I should further refer to "plugin" and "plugin" in order to distinguish them ...



  • Hi Daniel, thanks for sharing your further considerations.

    I see your points and maybe we should consider to update our documentation to reflect the notes above. I will discuss with the team and maybe we could come with a better introduction where the "plugin" term is used in a less generic meaning.

    Cheers, Riccardo


Log in to reply