The Adapt framework and authoring tool are built around plugins. You can't avoid using them. And you shouldn't! Making full use of Adapt means choosing good plugins.
Basic criteria for plugins
- Framework compatibility: Determine which framework version your Adapt module will use. This is important even if you are using the authoring tool, since the framework is the engine of the authoring tool. Make sure that plugin you are reviewing is compatible. Check the data in the bower.json or package.json. It's nice when the README indicates framework compatibility, but it is not required.
- Authoring tool compatibility: If you are using the authoring tool, it is essential that the plugin contain a file named properties.schema—it won't work without it.
- Functionality: Does it do what it says it does? Does it even work? Sooner or later, you've got to test it. If you test it early in your evaluation and it works, don't stop there. Continue with your assessment so that you're not burned when the module goes live.
Each developer is responsible for the plugins they introduce into their environment. That's why standard, core plugins from the Adapt should be used whenever possible. They have been thoroughly tested and proven robust by a multitude of implementations. The Adapt core developers are committed to their maintenance: bugs are squashed and code is updated alongside new versions of the framework.
Core plugins are not your only option. Adapt was built to be extended and to accommodate the creativity of other developers. You're missing out if you are not exploring plugins created by third-party developers. You're also being naive if you think all third-party plugins are high-quality. You must do your "due diligence."
Here's some flags that should increase your caution:
- Incomplete package; missing example.json, properties.schema, or README;
- Inconsistent names and/or other evidence that the plugin development is incomplete. Modifying another plugin is a legitimate practice. But, by the time the developer is finished, there should be no evidence, other than proper attribution, that it began as a copy.
- Lots of code that has been commented out without meaningful comments. If left in place, it may be a sign that the code is not finished, that the developer is not confident how the plugin works, or that the developer is sloppy.
- Does the repository of the plugin give evidence that the code is maintained? Commits and/or releases are necessary to fix bugs and to stay in sync with major framework updates.
There are ways to gauge a developer's credibility. Strong credibility may bolster your confidence in the code; but ultimately it is the plugin code that you are using in your course. Credibility is just one piece of the puzzle.
- Is the developer a company or an individual? Companies tend to have more staff for maintenance and to be more protective of their reputations. (Yep, indeed there are some excellent freelance coders out there who don't want to pass along crap; but there are as many if not more student coders who are dropping their experiments across the internet.)
- Is the developer actively involved in the Adapt community? Do you find their name in the technical forum or in the Gitter rooms? Have they contributed by reporting issues or by submitting code?
- Does the developer's GitHub site contain other Adapt-oriented repositories?
- Does the repo for the plugin show any activity for Issues? Closed issues can provide evidence of how professional and quick the developer is. Open issues that are old and languishing may be evidence that a repo has been abandoned or that the developer is inattentive.
A curated list of plugins
Below is a link to a spreadsheet of plugins that satisfy us at Adapt Tips. Consider it a starting point for your own evaluations. (You have to take responsibility for your own decisions because we are making no guarantees or warranties on behalf of these plugins. And I state that with the strongest legal intentions I can muster!) You can download the spreadsheet; delete those that don't suit your needs; add others that pass your inspections. We'd welcome recommendations from you. Send us a link to the repo and tell us why you like it.
Our recommended plugins are available as a free download to those who have created an account on our website.