Skip to main content

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

Project description

https://badge.fury.io/py/django-fiction-outlines.svg 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:

History

0.3.1 (2018-10-16)

  • Now compatible with both Python 3.7 and 3.6

0.3.0 (2018-08-08)

  • Support for Django 2.1

0.2.2 (2018-04-19)

  • Bug fix: override model_utils until my submitted bug fix for created/modified timestamps is merged upstream.

0.2.1 (2018-04-14)

  • Add created and modified auto timestamps to all tree models.

0.2.0 (2018-04-13)

  • Add export functions. A view is provided for users to export outlines as either OPML, JSON, or Markdown documents.

0.1.5 (2018-04-09)

  • Improvements to length estimate calculation.

  • Improvements to test coverage.

0.1.4 (2018-04-07)

  • Hotfix release for tag field issue.

0.1.3 (2018-04-07)

  • Bugfix release for migrations

0.1.2 (2018-04-02)

  • Bugfix release.

0.1.1 (2018-04-01)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-fiction-outlines-0.3.1.tar.gz (37.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_fiction_outlines-0.3.1-py3-none-any.whl (62.0 kB view details)

Uploaded Python 3

File details

Details for the file django-fiction-outlines-0.3.1.tar.gz.

File metadata

  • Download URL: django-fiction-outlines-0.3.1.tar.gz
  • Upload date:
  • Size: 37.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.7.0

File hashes

Hashes for django-fiction-outlines-0.3.1.tar.gz
Algorithm Hash digest
SHA256 d5ff337bbd5bc9c159ab3cff3e8f1f03f2cde7de0dcb4f0b95978ebc37dbad71
MD5 2c3b453fbcc550791dd91ad947595e89
BLAKE2b-256 4f56bdc28889e9c322a6228c46868dcc422645b1471ccc9dcb4437334c2d9830

See more details on using hashes here.

File details

Details for the file django_fiction_outlines-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: django_fiction_outlines-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 62.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.7.0

File hashes

Hashes for django_fiction_outlines-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c406e8d197ef14753116ee73387a3426941cfa91ea216c27424038967241fd1
MD5 66629822ac7651bf285e3be39dbf055c
BLAKE2b-256 76bf0d05dc428cbeac4ff8a2c167cc48691f8d58ac6fa07a08da7550f73c7934

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page