django-system-maintenance 0.4.6
A Django app to document and track the administration and maintenance of computer systems
License: BSD License
Keywords: sysadmin system administration documentation maintenance

*************************
django-system-maintenance
*************************

``django-system-maintenance`` is a Django app to document and track the administration and maintenance of computer systems.

Source code is available on GitHub at `mfcovington/django-system-maintenance <https://github.com/mfcovington/django-system-maintenance>`_.

.. contents:: :local:


Installation
============

**PyPI**

.. code-block:: sh

    pip install django-system-maintenance


**GitHub (development branch)**

.. code-block:: sh

    pip install git+http://github.com/mfcovington/django-system-maintenance.git@develop


Configuration
=============

Add ``system_maintenance`` and its dependencies to ``INSTALLED_APPS`` in ``settings.py``:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'django.contrib.humanize',
        'markupfield_helpers',
        'project_home_tags',
        'system_maintenance',
    )

Add the ``system_maintenance`` URLs to the site's ``urls.py``:

.. code-block:: python

    from django.urls import include, path


    urlpatterns = [
        ...
        path('system_maintenance/', include('system_maintenance.urls', namespace='system_maintenance')),
    ]


By default, lists of maintenance records, etc. are paginated with 30 records per page. This value can be customized in ``settings.py``:

.. code-block:: python

    SYSTEM_MAINTENANCE_PAGINATE_BY = 50

This app is compatible with ``django-project-home-templatetags``. Check out its `Configuration Documentation <https://github.com/mfcovington/django-project-home-templatetags#configuration>`_ if you want this app's top-level breadcrumb to link to your project's homepage. To activate ``project_home_tags`` functionality, you must define ``PROJECT_HOME_NAMESPACE`` and, optionally, ``PROJECT_HOME_LABEL`` in ``settings.py``:

.. code-block:: python

    PROJECT_HOME_NAMESPACE = 'project_name:index_view'    # Namespace of homepage
    PROJECT_HOME_LABEL = 'Homepage'    # Optional; Default is 'Home'


Migrations
==========

Create migrations for ``system_maintenance``, if necessary:

.. code-block:: sh

    python manage.py makemigrations system_maintenance


Perform migrations for ``system_maintenance``:

.. code-block:: sh

    python manage.py migrate


Usage
=====

- Start the development server:

.. code-block:: sh

    python manage.py runserver


- Login and add yourself as a system administrator: ``http://localhost:8000/admin/system_maintenance/sysadmin/add/``
- Visit: ``http://127.0.0.1:8000/system_maintenance/``


*Version 0.4.6*


Revision History
================

0.4.6 2018-12-14

- Add missing migration


0.4.5 2018-12-13

- Remove ``MarkupField`` args already defined by markupfield helper


0.4.4 2018-12-06

- DRY up with markupfield_helpers


0.4.3 2018-12-06

- Include migrations when packaging for distribution


0.4.2 2018-11-26

- Add ``django-project-home-templatetags`` compatibility for breadcrumbs
- Include tests in distribution


0.4.1 2018-11-05

- Make compatible with Django 2.1
- Python>=3.4; Django>=2.0,<3.0


0.4.0 2018-11-05

- Make compatible with Django 2.0
- Drop Python 3.2 and 3.3 compatibility
- Python>=3.4; Django>=2.0,<=2.0.9


0.3.2 2018-11-05

- Set upper bound of <2.0 for Django version
- Python>=3.2,<3.8; Django>=1.7,<2.0
- Final version that will be compatible with Django 1.11.16


0.3.1 2018-11-05

- Prepare for upgrade to Django 2+
- Update dependency version requirements


0.3.0 2018-11-04

- Add unit tests and functional tests
- Add links to view raw markdown
- Update configuration instructions in README
- Set next page to System Maintenance home page if accessing authentication page directly
- Fix maintenance record status so it defaults to 'In Progress'
- Resolve Django 1.10 deprecation warnings
- DRY and simplify


0.2.0 2015-12-12

- Redirect to sysadmin authentication page instead of 404 if current user is not a sysadmin
- Make pagination customizable via ``settings.SYSTEM_MAINTENANCE_PAGINATE_BY``
- Open System Maintenance admin page in a new tab
- Add missing imports for plain text markup fields
- Add installation instructions to README
- Add default app configuration


0.1.0 2015-11-02

- A Django app to document and track the administration and maintenance of computer systems