Search:     Advanced search

PlanSwift Plugin Development Guidelines

Article ID: 2238
Last updated: 04 Jan, 2012
Add comment
Views: 396
Comments: 0
Posted: 04 Jan, 2012
by Ramsey M.
Updated: 04 Jan, 2012
by Ramsey M.

PlanSwift Plugin Development Guidelines

*** Please Note: This document is still in development and is subject to change  ***

What is a plugin?

                A plug-in (or plugin) is a set of software components that adds specific abilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. A PlanSwift plugin can be classified as any component that improves PlanSwift’s functionality. There are primarily (3) types of plugins:
1.       Third party software integrations (import/export, direct communications with other softwares)
2.       Templates, Parts, Assemblies (predefined PlanSwift items, including types, layouts, reports, lists etc.)
3.       Automation Tools (PlanSwift Items that automate processes like the Joist Tool)
A plugin can be any one of these but can also be a combination of all three.

General Requirements:

As a plugin developer you have agreed to abide to the rules and guidelines set by PlanSwift concerning plugin creation. The Plugin must be 100% your own creation. Reverse engineering someone else’s work and submitting under your name will not be accepted.
1.       Third Party Software Integrations
a.       If you integrate with software other than your own proprietary software you must be in compliance with that software’s API and terms and conditions.
b.      If you are compiling executable applications these applications must be
digitally signed with a valid code signing certificate.
c.       Any third party integrations requiring additional components to be installed must be fully documented and provided by the developer.
2.       Your content must not contain any copyrighted material unless you can provide express written consent from the content owner.
3.       You may not use the words ‘PlanSwift’ or ‘Swift’ in the plugin name without prior written consent from PlanSwift.
4.       Full documentation must be provided for the following items:
a.       Full description of the plugins functionality
b.      Program requirements and or dependencies
c.       Install / uninstall instructions
d.      Usage instructions
e.      Technical Support contact information
The documentation must include text in the form of a MS Word document that will be transferred to our Knowledgebase and included in our official help files. Your documentation can include the following media types:
a.       Text
b.      Images (*.jpg, *.png, *.bmp) Sized to 640x480. There can be a larger image but it must be accompanied by the same smaller version. i.e. image1-lg.jpg and image1-sm.jpg. Please include the images in a zipped folder separate from the word document.
c.       Video (YouTube Link, vimeo link)
5.       Plugins must not defer from the base PlanSwift structure when creating or editing PlanSwift items such as parts, assemblies and digitizer templates. The existing default properties must be maintained as this will ensure that plugin A created by Developer X will work well with plugin B created by Developer Z. Additional properties may be included but the cost through price total must follow the defaults.
6.       Plugin Versioning – All Plugins are required to start at version 1.0

  

The Plugin Review Process:

Once you have been approve to develop plugins you can access the Plugin Management portal in your account. This is the area where you can upload and maintain your plugins. You can upload as many revisions of your plugin package as needed. The Plugin Review process will not begin until you press the ‘Submit for Review’ button. The Plugin review process can take up to 3 weeks to complete depending on workloads, plugin type, etc. It is very important to make certain that you, the developer, have fully reviewed, tested, and documented your plugin. If your Plugin required additional software a copy must be provided to PlanSwift so that we can be sure that it is working properly.
Once the plugin has been submitted for review the plugin status will be set to ‘Submitted’. When we start the review process the status will be changed to ‘In Review’ and you will receive notification. If the plugin does not meet the necessary requirements the status will change to ‘denied’ and you will receive notification with instructions to correct the deficiencies. Once the deficiencies are corrected you will resubmit for review. 
                A word about deficiencies and review. We are NOT your plugin testers. It will be very apparent to us if you have not followed through with any testing of your own. If this is the case the plugin goes back to the bottom of the review queue and is started over, up to a 3 week process. If this is not the case the deficiencies are usually minor such as some additional documentation needed, these deficiencies are immediately reviewed when resubmitted.

In the case where the requirements are met, the status is updated to ‘approved’. At this point the plugin is live and available in the PlanSwift Plugin Store.

Plugin Update Review:

When producing an update to a plugin there are some considerations to think about. 
1.       If your plugin changes in a way that is only compatible with a newer version of PlanSwift you will need to upload this as an entirely new plugin.
2.       Ongoing maintenance type updates can be made to existing plugins granted that they are still compatible with PlanSwift versions in the compatibility range that was set. However all updates that are submitted for publishing will still require the review process. When updates are submitted for review you will need to leave a comment as to what has changed and supply additional documentation if it requires it.

 

Plugin Versioning:

As stated in the general requirements ALL new plugins must start at version 1.0. As you process updates you may change the version on the plugin accordingly. The suggested method of versioning is as follows:
  • The build number ( 1.0.0.X)is automatically incremented by the plugin packager in the PlanSwift software.
  • The third number id is left as ‘0’. This is not used in the plugin system.
  • The minor version (1.X.0.0) is manually incremented by the developer as the maintenance update. These usually include minor enhancements, textural changes, and the occasional bug fix.
  • The major version (1.0.0.0) again is manually incremented by the developer when major changes are made such as new features or expanded content.
If your plugin changes in a way that is only compatible with a newer version of PlanSwift you will need to upload this as an entirely new plugin.
In your Plugin Management portal you will have access to all of your uploaded plugin files.
 
 
This article was:  
Add comment
Prev  Not what you're looking for? Suggest a topic  Next
Developer Documents     COM Object Model