Wish List - plugin management and namespacing
-
My "SketchUp API Wish List" post listed a number of wish list items, but didn't go into detail on any of them:
http://forums.sketchucation.com/viewtopic.php?f=180&t=44949
This post discusses two items in more detail, suggesting an existing implementation which could serve as a model:
- plugin management (eg, installation, signing, vetting)
- plugin namespacing (eg, classes and modules, files)
In a typical software development project, programmers select components, fit them together, and test the results. This process provides a fair amount of protection against broken or malicious code, naming conflicts, etc.
Plugin environments, in contrast, have no such oversight: users simply download and install plugins, hoping for the best. To make such an approach safe and reliable, the plugin environment needs to address a number of issues. SketchUp does not do this, at present.
Fortunately, there are excellent plugin implementations to use as models. Google Chrome Extensions, for example, handle a broad range of architecture, management, and security issues. Here are some short videos which describe their approach, rationale, etc:
How to build an extension
http://www.youtube.com/watch?v=e3McMaHvlBYIdentity, Signing and Auto Update
http://www.youtube.com/watch?v=rNkfs8-uRTESecurity
http://www.youtube.com/watch?v=DO-nzPqhdXwIn many ways, Google Chrome Extensions are very similar to SketchUp plugins. For example, both systems use CSS, HTML, and JavaScript for user interaction. In any case, the challenges they face are quite similar.
If you know of other plugin (etc) environments that have good ideas to offer, please suggest them!
Advertisement