Space Walk is built around a plugin system that forms one of the three pillars of the project (see application and protocol for the other two). The application is responsible for maintaining the network connection and then relays all the messages to the loaded plugins via the JavaScript window.postMessage
API.
Plugins are integrated into the application as iframes
and can thus be hosted everywhere on the internet. To load a plugin, all you need to do is to enter the plugins URL and you are good to go. On the plugin side, you only have to include a small lib-space-walk.js
library that offers you a few simple callbacks and functions to send and receive messages.
Space Walk builds on the open source development ecosystem of github and similar services. through github pages, it is very easy to deploy new plugins simply through your git command line. I hope that this facilitates sharing and collaboration among developers and helps to spread the bigger idea of this project.
Following is a list of publicly available plugins for Space Walk. If you have developed your own plugins, I'd be more than happy to add them to the list. Just send me an email.
loading...To get started developing your own plugins, it is best to just look at the source code of one of the simpler plugins available. The Debugger plugin for example, just takes whatever messages it receives from the framework and writes them into a div.
It is quite likely that your plugin is only concerned with a subset of space walk features. Each message carries a type property at its root level, letting you discern different features and message types. See the protocol section for a more detailed explanation.
As mentioned above, one of the goals of this project is to create a community and facilitate sharing through the central protocol and the simple use of web hosted plugins.
In the spirit of the open source movement, I encourage everyone to make their plugins available to the public (see list of recommended plugins). Thanks to github (and other, similar services) doing both in one step is easy and a very convenient way to work. All you have to do is to host your plugin on github, and make it available as github pages. Then deploying your plugin is just as simple as pushing to the gh-pages
branch.
Following is a canonical, step by step instruction on how to set it up with git and github. Following these instructions will create a github hosted repository with a gh-pages
deployment branch and a development
dev branch. (The master
has been turned into the gh-pages
branch which acts as our new master
.)
gh-pages
branch and push it to github.gh-pages
master
branch from the origindevelopment
branch and optionally push it to the origin
The workflow is then to work in the development
branch, and to merge and push the changes to the gh-pages
branch to deploy. This should be both quick and convenient to work with.