Bespin for Drupal (B4D) will introduce a collaborative, web-based code editor that will lower the barriers to spontaneous and collaborative coding and will provide synchronous, collaborative, node editing to the Drupal community.
There is no code yet. Alpha release is anticipated for July 16th 2010. The purpose of this project page pre-release is to facilitate community communication.
Google Summer of Code 2010 Scope
Any suggestions or discussions would be nice in the issue manager. The use case is focused on similar space as Gobby: http://gobby.0x539.de/trac/wiki/Features and Etherpad: http://etherpad.org/ i.e. a collaborative node editor, not so much a file/code editor.
Features:
Please provide feature feedback via the issue manager. Any ideas that are outside the GSoC 2010 should be tracked here: #822232: Input Filter Driven Syntax Highlighter and will not receive much attention until the end of August 2010.
- Drupal controlled access (perhaps with token urls?). #822238: How to AAA?
- Node editor initiates and ends Bespin sessions regardless of other collaborators. #822330: How to lock node editing and begin/end session?
- PHP, JavaScript, HTML syntax highlight. (comes with Bespin)
- Contributor contributes highlighting (maybe). #822346: Contributer Highlighting
- Basic UI integration. An edit node link that opens Bespin client in a pop-up. #822340: UI Integration
Strategy:
The above features will be provided by using the Bespin Editor/Client with new Bespin plug-ins to speak Drupal Services and by deploying mobwrite on Drupal. Drupal will replace all Bespin server functionality, save an independent mobwrite.
- Using the Bespin Editor/Client pretty much as is.
- Creating a Bespin Editor plug-ins to provide node access via Drupal Services.
- Creating a Bespin Editor plug-ins to provide user access via Drupal Services.
- A possible Bespin Editor plugin to preform contributor highlights.
- Deploying mobwrite on Drupal/LAMPHP stack.
Anticipated Requirements:
- Bespin employs HTML5's canvas tag - HTML5 is required.
- Bespin is licensed under the MPL and thus installers will need to download the client separately from the B4D module.
- B4D development will focus on D7. There are no existing intentions of a D6 port.
- Drupal Services.
- Real-time collaboration requires mobwrite which is Apache and will need to download the code separately from the B4D module.
Bigger Picture
Future B4D usage scenarios could include:
- Real file editing and VCS API.
- A feature of Drupal SCM that enables a user to apply a patch to code at the point of issue tracking and without leaving the Drupal website.
- Spontaneous code editing sprints with real-time multi-user editing and collaboration tools immediate available via the web.
- OT rather than diff/match/patch of mobwrite.
More Info:
- Initial development of B4D is provided as a Google Summer of Code 2010 Project.
- GSoC Proposal can be found here: http://groups.drupal.org/node/59798
- For more information on Bespin, please visit its wiki: https://mozillalabs.com/bespin/
- A Bespin Discussion on Drupal Integration: http://groups.drupal.org/node/59798
- A Bespin Discussion on its Server Roadmap: http://groups.google.com/group/bespin/browse_thread/thread/6de8c718d64232a0
- A mobwrite only implementation - without the Bespin Editor - might be interesting. More info can be found here: http://code.google.com/p/google-mobwrite/
Downloads
Project Information
- Maintenance status: Unsupported
- Development status: No further development
- Last modified: June 11, 2011