A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Check | Expected Result | PASS | Documentation Reference | ||||||||||||||||||||||
2 | GENERAL | |||||||||||||||||||||||||
3 | Does the plugin have a coherent name? | The plugin must be self-explanatory in its name, like "Simple Equalizer" | https://developers.volumio.com/plugins/writing-a-plugin#volumio-plugin-init | |||||||||||||||||||||||
4 | Is the plugin archive less than 10 MB? | The plugin archive must be less than 10 MB | ||||||||||||||||||||||||
5 | Does the plugin have a full english translation? | Plugin shall have a full english translation. | ||||||||||||||||||||||||
6 | Does the plugin have additional translations? If yes, changing the language of system, does the plugin change its language? | Plugin shall automatically switch to a different language | ||||||||||||||||||||||||
7 | Once the plugin is installed, is the available plugin list visibile? | Yes. Otherwise the plugin has a non-compliant package.json | https://developers.volumio.com/plugins/writing-a-plugin#packagejson-example | |||||||||||||||||||||||
8 | ||||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||
10 | LIFECYCLE | |||||||||||||||||||||||||
11 | Does the plugin starts when clicking start, does the indicator become green? | Indicator becomes green, plugins start well | https://developers.volumio.com/plugins/index-js#on-start | |||||||||||||||||||||||
12 | Create a typo in a function call on the onStart function. Does the system crash? | System does not crash | ||||||||||||||||||||||||
13 | Does the plugin stop correctly when stopped? Are its functionality disabled? | All plugins functionalities shall stop if plugin is set to stopped | https://developers.volumio.com/plugins/index-js#on-stop | |||||||||||||||||||||||
14 | Does the plugin require some configuration before being started? | Plugin shall not need any configuration to be started and have sane defaults as configuration | ||||||||||||||||||||||||
15 | If the plugin needs to start a daemon, does it do via systemctl? | Yes, all daemons shall be started via systemctl, not via exec or execSync | https://developers.volumio.com/plugins/index-js#using-daemons | |||||||||||||||||||||||
16 | INSTALL | |||||||||||||||||||||||||
17 | Does the plugin need to build modules or other components? | No, plugin shall not compile anything on user device | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
18 | Does the plugin need to write,edit or create folders on /volumio /myvolumio folders? | No, plugin does not need to modify any of those files | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
19 | Does the plugin re-installs or overwrites utilities, configuration files or daemon already present? | No, plugin does not need to modify any of those files | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
20 | Does the plugin install libraries or anything similar (e.g. in /usr/local/lib )? | These files should remain in the plugin folder and only be symlinked to the system path (ln -sf ...) and not copied or moved. | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
21 | Does the plugin deletes its plugin folder on a failed install? | Yes. If installation failed there should be a cleanup to not show a broken plugin. | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
22 | Does the plugin install.sh end with echo "plugininstallend" | Yes, this way the installer knows installation is finished | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
23 | Does the installer script fetch external libraries\archives ? If yes, is the URL hardcoded or dynamic? | The package\library URL shall be hardcoded and point to same version. Point to /latest version or parsing of url is not allowed | https://developers.volumio.com/plugins/plugin-structure#installsh | |||||||||||||||||||||||
24 | RESILIENCY | |||||||||||||||||||||||||
25 | Does the plugin use sync calls? If yes, are all of them properly handled by try catch? | The sync functions shall always be wrapped in try catch | ||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | MUSIC SERVICE | (Applicable only if it's a music service plugin) | ||||||||||||||||||||||||
30 | Search any string, like Paolo or Pink or BBC. Do search results appear? | Yes, otherwise your plugin is breaking search. | ||||||||||||||||||||||||
31 | Search any string that you know your plugin will return a result. Do results from your plugin appear? | Yes, otherwise your plugin is not returning search results correctly. | ||||||||||||||||||||||||
32 | If plugin exposes a source, is the source icon white on transparent background? | Yes. Otherwise have a look at the other volumio icons and provide a 500px x 500 px transparent PNG as icon | ||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |