Использование Git для ориентированной на сообщества системы ревизии контента сайта - PullRequest
4 голосов
/ 27 января 2009

Я работаю над веб-приложением на основе Django, в котором сообщество подпитывает контент на сайте, почти как вики. Контент представлен в форме HTML, и пользователи имеют полную свободу разбирать статьи / главы или вносить свои собственные изменения в существующие и добавлять их в текущую «рабочую версию». Ответственный за каждую статью / главу (первоначальные авторы [ы]) будет иметь возможность принять эти изменения.

Мы также планируем сохранить две версии (или, по крайней мере, просмотры) любой статьи: утвержденную автором версию редактирования и бесплатную для всех версию редактирования на основе сообщества.

Система ревизий, которая бы управляла всем этим разветвлением, слиянием и ветвлением поверх подробных историй, начинает походить на то, что делает исходная система ревизий. Поэтому я рассматриваю возможность использования Git для управления этими ревизиями.

Мой вопрос к тем, кто более опытен в подобных вещах, чем я:

  • Стоит ли усилий, и после этого будет ли это лучше, чем что-то выкатывать в СУРБД?

  • И если это так, примерно, как я должен идти о реализации этого с Django / Python?

спросил снова, надеясь получить больше ответов, это очень важно для меня

Ответы [ 5 ]

4 голосов
/ 28 января 2009

Я не знаю ни одного модуля Django , который бы предлагал то, что вы хотите (по крайней мере, вики, т.е. редактируемый текст с небольшим облегченным языком разметки в сочетании с системой контроля версий), но вы можете взглянуть на InterfacesFrontendsAndTools страница в Git Wiki, раздел "Вики, блоги и т. Д.". Среди прочего вы можете найти там:

  • wikiri : простая однофайловая вики, написанная на Python, с дополнительной поддержкой git для отслеживания истории
  • Chuyen : программное обеспечение для ведения блога, написанное на Python, с использованием веб-фреймворка Django и Git в качестве бэкэнда для хранения данных через PyGit
  • Pystl : очень простой, небольшой движок блога в Python, использующий Git для контроля версий.
2 голосов
/ 27 января 2009

Вы можете рассмотреть, как работает ikiwiki . Это простая вики-система, которая может поддерживаться реальной системой контроля версий (я использую ее с Git-репозиторием).

1 голос
/ 17 марта 2011

django-rcsfield может быть полезным. Это поле (например, models.TextField) для веб-фреймворка Django, которое - под капотом - версирует свой контент. «Rcs» в названии - сокращение от системы контроля версий.

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

1 голос
/ 27 января 2009

GitPython - это библиотека python, которая взаимодействует с репозиториями Git. Я играл с этим, но не использовал его в производстве. Он кажется надежным и относительно простым в использовании и находится в стадии активной разработки.

Если у вас возникли трудности при интеграции Git с вашим проектом Django, вы можете взглянуть на Mercurial. Я настоятельно предпочитаю Git с его элегантной и мощной моделью данных, но Mercurial предлагает функциональность, аналогичную Git, и написана на python, так что вам будет проще.

0 голосов
/ 27 января 2009

Я только что видел это на Reddit:

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

Django WikiApp является подключаемым приложение для Джанго, которое направлено на предоставить полную вики (для действительно небольшие значения «завершено»).

Е.И.В.

...