Plugin Evaluation Criteria


The UBC CMS Support team reviews all plugins that are included as part of the WordPress installation. We do this to ensure that this platform remains a stable, secure and supportable product for the UBC community. The following are the initial criteria we use to evaluate a plugin.

Code Review

  • Are there any pending security bugs in the bug tracker? What are they and how long have they been there?
  • Is it performing sql queries directly? If so, does the module escape user input?
  • How does it handle user input? Is it being escaped? Is user input cleaned before printing it out in a page?
  • Are permissions check in place? Are the checks manual or does the code rely on other core methods?
  • Is the code well documented? Does it follow WordPress coding standards?
  • Is the javascript code and css well structured? Does it follow follow a standard?
  • Does it have readme, install and upgrade files?
  • Does the plugin create or modify existing database tables?
  • Is the license of the plugin GPL?

Security

  • Does this plugin write any file to the disk? if so where are the file stored and how does it handle file deletion in temporary or cache?
  • Does the plugin prevent malware from inserting code inside the WordPress core?
  • Does the plugin create any sort of remote connection to the developer's web server?
  • Does the plugin use forms? Does it use nonces properly?

Lifespan/Activity

  • How long has this plugin or 3rd party program been around?
  • How many developers are working on it?
  • Is there a roadmap? What does it look like? What is the release life cycle?
  • What is the average turn around time for critical bugs?
  • How active are the forums or mailing list discussions?
  • Do other programs use or depend on this library?

Support

  • Is there user documentation? Is there documentation for developers?
  • Is a documentation generation system like phpDocumentor used?
  • How quickly do the developers respond to requests?
  • Are newer and older versions of Wordpress supported?
  • What is the learning curve like?
  • Is the module usable through the Wordpress interface or does it require users to work with HTML, CSS, theme changes or other advanced techniques?

Compatibility

  • Does the it conflict with other existing plugins or modules or other updates?

Cost/Benefit

  • Will the module work with Wordpress MU as is, or would some re-write be needed?
  • How complex are patches to apply? (# of classes, files, and db tables affected)
  • What % of our users would benefit from this new module or plugin?
  • Is there a fee to purchase or use the plugin?

Redundancy

  • Does the current setup already provide this service?
  • Is this capability already planned for an upcoming WordPress release or update of a currently supported plugin?
source: https://wiki.ubc.ca/Documentation:WordPress_Plugin_Evaluation_Criteria

Leave a Reply

You must be logged in to post a comment.