Proposed McMyAdmin Extension development guidelines.
April 30, 2013 at 11:51 AM
McMyAdmin is moving more towards the point that part of its strength will be in the extra features provided by 3rd party extensions provided by other users. This of course naturally points things in the direction of a 'extension marketplace' where people can distribute extensions.
So that in mind, there would be some sense in having a set of guidelines for what Extensions should or should not do in order to provide a good user experience.
Below is a first draft of the restrictions. Comments are invited by users and developers.
Extensions must (mandatory)
- work on Internet Explorer 9 (or newer), Google Chrome and Mozilla Firefox as a minimum with equal functionality on all 3 browsers (exceptions may be made for bleeding-edge technologies such as WebGL)
- warn the user before deleting or modifying any user data (such as permissions)
- store user configuration using the extension configuration APIs and not via any other means.
- not modify the McMyAdmin control panel outside of their own designated tab.
- not permanently store any sensitive data (such as usernames, passwords, ip addresses, etc)
- not manipulate any of McMyAdmins existing functionality.
- not use obfuscated source code. All extension source should be human readable.
- not attempt to replace the version of jQuery loaded by McMyAdmin
Extensions should (strongly advised, but not entirely mandatory)
- conform to McMyAdmins overall look and feel (using the same CSS classes) where possible.
- avoid using 3rd party services outside of the developers control.
- not modify McMyAdmins own settings without notifying the user that it is about to do so first.
If you have any comments about the existing proposed rules or would like to suggest some of your own, you may post them below.