2009-01-26 56 views
4

我正在研究一个基于Django的Web应用程序,其中社区在网站上加油,就像维基。内容以HTML的形式出现,用户可以自由地分叉文章/章节或对现有内容进行自己的修改并将其添加到当前的“工作版本”中。每篇文章/章节(原作者[s])的维护者将可以选择接受这些更改。使用Git面向社区的网站内容修订系统

我们还计划维护任何给定文章的两个版本 - 或至少是视图 - 作者批准的编辑版本和免费版本社区编辑版本。

在详细的历史记录之上管理所有这些分叉,合并和分支的修订系统开始听起来很像源修订系统。所以我正在考虑使用Git来管理这些修订。

我的问题与在这种类型的东西比较有经验,我:

  • 是否值得的努力和在此之后,这将是比在RDBMS滚出来的东西更好?

  • 如果是这样,粗略地说,我应该如何去实现这与Django/Python?

在更加醒目的答复希望再次询问,这对我来说很重要

+0

我以为我昨天看到这个问题,但现在我找不到它。你删除了旧的并重新发布了吗? – 2009-01-26 21:28:38

+0

是:( 我在非常奇怪的小时发布了最初的一个,它得到了1个回复,我不确定在这种情况下在SO上做什么,通常形式有凹凸功能。希望我没有因为这样做而愤怒任何人,但对此的反馈对我来说非常重要(如上所述) – Karan 2009-01-26 21:54:50

回答

2

你可以考虑考虑如何ikiwiki作品。这是一个简单的维基系统,可以由一个真正的版本控制系统支持(我使用它与一个Git仓库)。

1

GitPython是一个与Git存储库交互的python库。我玩过它,但没有用于制作。它看起来坚实而且相对容易使用,并且正在积极开发之中。

如果您在将Git与Django项目集成时遇到困难,您可以查看Mercurial。我非常喜欢Git,它的优雅和强大的数据模型,但是Mercurial提供的功能类似于Git,并且它是用python编写的,所以它对你来说可能更容易。

0

我刚看到这个Reddit上:

https://launchpad.net/django-wikiapp/

Django的WikiApp是Django的一个可插拔 应用程序,旨在 提供一个完整的维基(为“完全真 小值“)。

HIH,

4

我不知道任何Django的模块这将提供你想要的东西(至少维基即用一些轻量级markip语言,加上版本控制系统可编辑文本),但你可以查看Git Wiki上的InterfacesFrontendsAndTools页面,“Wiki,博客等”部分。等等,你可以找到有:

  • wikiri:用Python写的简单,单文件维基,与历史可选Git支持跟踪
  • Chuyen:用Python写一个博客软件,使用Django的网页框架和Git作为其数据存储后端通过PyGit
  • Pystl:非常简单,Python中的小型博客引擎,使用Git进行版本控制。
1

django-rcsfield可能会对您有所帮助。它是Django web框架的一个领域(比如models.TextField) - 底层 - 对其内容进行版本化。名称中的'rcs'是修订控制系统的缩写。

http://code.google.com/p/django-rcsfield/