Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Git For Community-Oriented Website Content Revision System

I'm working on a Django-based web app in which the community fuels the content on the site, much like a wiki. Content is in the form of HTML, and users have total freedom to fork articles/chapters or make their own modifications to existing ones and add them to the current 'working version'. The maintainer of each article/chapter (the original authors[s]), will have the option of accepting these changes.

We're also planning on maintaining two versions - or at least views - of any given article: the author-approved edits version and the free-for-all community based edits version.

The revision system that would manage all this forking, merging and branching on top of detailed histories is starting to sound a lot like what a source revision system does. So I'm considering using Git to manage these revisions.

My question to those more experienced in this type of thing than I:

  • Is it worth the effort and after that, will it be better than rolling something out in a RDBMS?

  • And if so, roughly, how should I go about implementing this with Django/Python?

asked again in hopes of catching more replies, this is very important to me

like image 413
Karan Avatar asked Mar 01 '23 01:03

Karan


2 Answers

I don't know any Django module which would offer what you want (at least wiki i.e. editable text with some lightweight markip language, coupled with version control system), but you can take a look at InterfacesFrontendsAndTools page at Git Wiki, section "Wikis, blogs, etc.". Among others you can find there:

  • wikiri: simple, single-file wiki written in Python, with optional git support for history tracking
  • Chuyen: a weblog software written in Python, using the Django web framework and Git as its data storage backend through PyGit
  • Pystl: very simple, small blog engine in Python, using Git for version control.
like image 88
Jakub Narębski Avatar answered Mar 05 '23 16:03

Jakub Narębski


You might consider looking at how ikiwiki works. It's a simple wiki system that can be backed by a real version control system (I use it with a Git repository).

like image 35
Greg Hewgill Avatar answered Mar 05 '23 14:03

Greg Hewgill