Hi,
I'm considering doing something like StreamStory ( see also http://sourceforge.net/projects/storystream/ ), but on Drupal. It is a way of writing collaborative stories where anyone can pick up a story, fork it and add a new alternative for readers to follow.
I imagine this is fairly easy to accomplish with Drupal; you'd only have to let anyone (probably passing through the permission system) add a new link/option to any node. All those links would go at the bottom of the node and would point to other nodes (existing or not).
It sounds fairly basic but I'm not sure this could be accomplished with any of the existing modules. I've searched but I may have skipped it. Do you think any existing module could be easily used (or adapted) to this end?
Thank you.
Comments
Here's how I would do
Here's how I would do it...
Create a custom content type called Story Segment. This will be used to create the various segments (or forks) of a story. This content type should contain a description field where the author can describe their segment, a body field where the segment text is placed, and a connected_segments field.
The connected_segments field will be a CCK nodereference that will allow the writer of the next segment to attach their segment to the original story. The nodereference should allow multiple entires. By default the nodereference field will show only a linked title to the other node but with some themeing you can make it also show the description. This screencast is a good walk-through of how to do that. (http://geoffhankerson.com/drupal/cck-nodereference-screencast.html)
The only problem I have so far come up with in my quick thinking through of this is that any user that has the ability to connect a segment to another segment would also have the ability to edit that segment or remove other segments. That could upon up some opportunities for big problems...
Additionally you could just use comments to allow users to post back their link, but that doesn't seem quite as nice.
Yeah, but...
Thank you for the pointers, but, yes, what I'd like is for people to be able to add a connection but not be able to edit a node. So what I'm guessing is connections should be independent from the main content of the node.
I know it looks fairly simple a plugin to do, and it is, but I just wanted to know if something like this was already available or previously done, to avoid repeating the work.
Anyway, thank you again for your ideas :)
Books?
It has just occurred to me that you might be able to use the Book module from core to allow people to add pages to a book. As several pages can be nested under a parent page. And the nested pages can then become parents for other nested pages.
You can see it in action over in the Handbooks section of the site. It is pretty customizable and just might do you what you want.