Hello, I'm looking to make a Collaborative Fiction tool meant for multiple users and I was wondering if Ikiwiki would be a good base for that. Its plugin system looks very powerful, but I'm worried if I'd have to lock down too many things for it to be viable.
Heres the requirements list that I've made so far
I want something that can easily let me see information about my friends' world building.
World building involves
- Characters
- Player Characters
- Settings
- Major Events
- Cool Things (Magic Items for example)
I want to be able to see whatever they feel like is the best entrypoint
I want to be able to see a general list of everything they make
I want them to be able to choose who can see their work
I want them to be able to choose who can edit their work
I want people to be able to contribute to the same World or Project
I want people to be able to receive suggestions on their work?
I want people to be able to use their characters and settings to write stories in both realtime and asynchronously
As for implementation. My original idea for this was to build a wrapper around git. This wrapper would allow someone to log in using Discord. If it is a new account, it would create a new git repo for them. Each user only has 1 git repo for simplicity's sake.
The repo has folders and files in it, and each folder and file has user controlled access on it. A file or folder can be publicly viewable, only viewable to themselves, or only viewable to others they choose.
On top of that, they can allow others to edit their files.
I figure this is easily doable by just having the wrapper handling all this role based stuff. I'm not sure if a database or the files themselves would have the information for this rbac feature.
I also figure having it be built on git would also allow people to use their own choice in editor, instead of whatever client I create. This has been a pretty important use case to people I talk to about this project.
When I looked over ikiwiki's abilities, it seemed like most of this was already done by ikiwiki and I'd like to avoid doing work someone else has already done, and contribute to a project. Pushing free software is always great.
I figure it could be implemented by giving every user their own ikiwiki, having some sort of centralized auth server that does the rbac and login. I'd also probably want to tighten the git access to be more similar to traditional git hosting web services.
My users aren't developers, and should have the more confusing but powerful features of git left to git. They're just people who have fun writing fiction about their original characters and fiction with no intent of publishing anything. So the focus is entirely on making sure the software is enjoyable to use.
I was wondering if anyone could tell me if this is outside the scope of ikiwiki's abilities, or if theres a more intelligent way for me to implement this idea using ikiwiki.
Hello,
"I want them to be able to choose who can see their work, I want them to be able to choose who can edit their work" - how do you see this controlled?
"I want people to be able to use their characters and settings to write stories" - what do you mean - other than have one pages 'My list of characters' and anorher page 'My story' - what else does the software need to be able to do?
"in both realtime and asynchronously" -- could you please tell more details about this feature? Do you mean 'live' collaborative editing when there are several users editing a page at the same time?
Thanks.
Hi gry, thanks for the questions.
I'm imagining a user can go to a page and go to a "permissions" tab, then add people to different roles such as "editor" and "reader". Non-logged in users, and any user, would be presented as an individual user on this page, to make it easier on the user.
I pretty much just mean people having pages and a good index, yes.
I should have left this part out, I realized its essentially a whole different project. I just mean real time comments.
Thanks for pointing out where I could be more clear!
Okay, a few points
Hope it helps.
It definitely does grys.
And yes, the permissions are important because people have said they want to be able to write stuff, but keep it hidden from their players until its time for them to see it. Players also tend to like to do this for character notes as well, keeping things hidden and there just for themselves. The ownership is necessary because of culture, players don't see their character as part of the story but the story as part of their experiences.