Skip to content
A reusable Django app for managing fiction outlines. Part of the larger MACEOutliner project.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
docs
fiction_outlines
tests
.bumpversion.cfg
.coveragerc
.gitignore
.pyup.yml
AUTHORS.rst
CODE_OF_CONDUCT.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
Makefile
Pipfile
Pipfile.lock
README.rst
manage.py
pytest.ini
setup.cfg
setup.py
test_requirements.txt
tox.ini

README.rst

Django Fiction Outlines

https://circleci.com/gh/maceoutliner/django-fiction-outlines.svg?style=svg https://coveralls.io/repos/github/maceoutliner/django-fiction-outlines/badge.svg?branch=master Documentation Status

A reusable Django app for managing fiction outlines. Part of the broader maceoutliner project.

Documentation

The full documentation is at https://django-fiction-outlines.readthedocs.io.

Quickstart

Install Django Fiction Outlines:

pip install django-fiction-outlines

Add it and dependencies to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'taggit',
    'rules.apps.AutodiscoverRulesConfig',
    'fiction_outlines',
    ...
)

Add rules to your AUTHENTICATION_BACKENDS:

AUTHENTICATION_BACKENDS = (
    'rules.permissions.ObjectPermissionBackend',
    'django.contrib.auth.backends.ModelBackend',
)

Unless you like to live dangerously, it is STRONGLY recommend you configure whichever database you use for outlines to have ATOMIC_REQUESTS to True.

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": "outlines",
        "ATOMIC_REQUESTS": True,
    }}

Add Django Fiction Outlines's URL patterns:

from fiction_outlines import urls as fiction_outlines_urls


urlpatterns = [
    ...
    url(r'^', include(fiction_outlines_urls)),
    ...
]

Features

  • Provides models for managing series, outlines, characters, locations, and arcs.
  • Provides tools for managing multiple arcs within the context of a broader story outline.
  • Validates that arcs and outlines follow principles of MACE nesting, and seven point story structure.
  • Calculates estimated length of final manuscript based on complexity of outline.
  • Objects are associated with users to enable permission management.
    • NOTE: Django Fiction Outlines uses an object permission manager called django-rules. This allows extremely flexible permission schemes without crufting up your database or model logic. By default, fiction_outlines will restrict any view or editing to the owner of the object.

What It Doesn't Do

  • Provide a full UI for managing the changes. An API and views are provided, but templates are very basic. It is expected that you will override the templates to match your overall project.
  • Outline the whole story for you.
  • Write the story for you.
  • Do your laundry.

Running Tests

Does the code actually work?

$ pip install -r test_requirements.txt
$ pytest
$ pytest --flake8

Credits

Tools used in rendering this package:

You can’t perform that action at this time.