Skip to content

Instantly share code, notes, and snippets.

@mrkrstphr
Last active December 27, 2015 01:19
Show Gist options
  • Save mrkrstphr/7243845 to your computer and use it in GitHub Desktop.
Save mrkrstphr/7243845 to your computer and use it in GitHub Desktop.
Plugins

Martha Plugins

Essentially, we need a plugin system that:

  1. Allows third-party developers to extend the functionality
  2. Allows users to easily find, install, update, and configure plugins through the application
  3. Allows developers to include images and css that are made available in the public folder
  4. Allows developers to denote PHP library dependencies for their Plugins
  5. Allows developers to denote Plugins that their Plugin depends on
  6. Allows for the organization, procuring, and proper versioning of all the third party resources

In other words, if I am a developer, I should be able to write a plugin, specify which third-party libraries I need, specify any other plugins I depend on, specify any JavaScript libraries I depend on, and finally, declare which CSS and image resources I have.

As a user, I would expect the system to be able to show me available plugins, let me install those plugins, and take care of everything the plugin needs to operate.

{
"name": "vendor/plugin-name",
"description": "",
"keywords": [],
"homepage": "http://internet.org",
"require-php": {
"vendor/package": "dev-version"
},
"require-plugin": {
"vendor/plugin": "dev-version"
},
"require-js": {
"library": "version"
},
"assets-js": [
"directory"
],
"assets-css": [
"directory"
],
"assets-images": [
"directory"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment