Software Side Roads

Scenic Detours Along the Way to Release


Overview – Rhino3D Plugin Licensing Through Cloud Zoo

Rhino3D is an excellent 3D modeling and CAD package from McNeel Associates. They have a flexible architecture called the Cloud Zoo used in licensing their own software and, optionally, by party tools built using their framework. McNeel supplies a thorough Cloud Zoo Plugin Licensing Guide. This is the first in a series of articles written while my first licensing implementation as a Rhino plugin vendor is still fresh in my mind. Hopefully others will find it useful. The Rhino developer documentation is complete from a technical perspective; this is more of a planning/project management summary.

This list and my experience are related from the perspective of a .NET plugin, but the procedure for C++ is analogous. A list of the tasks required of a third party when setting up this infrastructure, as done in my own XRay Rhino3D Plugin, is:

  • Create a code signing key, which involves several steps including McNeel performing a signing to create a signing certificate for the plugin vendor.
  • Implement several inherited methods inside the plugin matching a basic flow of:
    • Rhino to plugin: Please Load
    • Plugin to Rhino: Please check for a license.
    • Rhino to plugin: Here are the results of the license check. Please either continue loading or return an error code.
    • Plugin, optionally: Please supply more information.
    • (loading concludes, either successfully or unsuccessfully)
  • Create tools to answer http queries from the cloud zoo: these are in the form of server software that you need to host. The principal requirement is to answer questions about whether a given license may be assigned to a user/group with yes/no.
  • Create tools or scripts to inform McNeel of additional products and licenses via http.

I left that list unordered because the actual flow of development may differ. The technical documentation supplied for Cloud Zoo data objects and code requirements is quite thorough and I won’t duplicate any of that except to note that the licensing communication between the Rhino plugin vendor’s server and McNeel is a set of simple JSON object POSTs, PUTs, and GETs.



One response to “Overview – Rhino3D Plugin Licensing Through Cloud Zoo”

  1. […] detailed in a previous post providing an overview of Rhino3D cloud zoo licensing for plugins, McNeel provides an easy-to-uptake way to handle licensing for Rhino plugins in a way that is […]

Leave a Reply

About Me

The focus of my work is writing software tools in support of engineering and financial analysis plus taking care of the source and results data for quality and documentation purposes. Most of my professional time has been spent in the engineering, particularly naval architecture, and finance sectors. Many side tasks which aren’t strictly central to my deliverables crop up and must be dealt with. These posts are notes on the little side tours and cul-de-sacs along the way.

Newsletter

Discover more from Software Side Roads

Subscribe now to keep reading and get access to the full archive.

Continue reading