7
This repository has been archived on 2023-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
Michael van Tellingen cc38634519 Add adapters.get_segment_adapter to set the segment adapter on the request
object.

Previously the segment adapter was set globally with the request as
attribute. This causes thread safety issues. Instead we now initialise
the segment adapter for each request and set it as attribute
2017-05-31 13:33:22 +02:00
2017-05-24 11:03:35 +02:00
2017-05-28 09:13:08 +02:00
2017-05-28 09:13:08 +02:00
2017-05-24 11:03:35 +02:00
2017-05-24 11:03:35 +02:00
2017-05-31 10:37:45 +02:00
2016-11-07 11:42:06 +01:00
2017-05-29 10:00:41 +02:00
2017-05-31 10:30:38 +02:00
2016-12-13 14:26:45 +01:00
2017-05-31 11:11:52 +02:00
2016-11-28 15:20:10 +01:00
2016-11-07 11:42:06 +01:00
2017-05-24 11:03:35 +02:00
2017-05-31 11:22:39 +02:00
2017-05-31 10:37:45 +02:00
2017-05-24 11:03:35 +02:00

.. start-no-pypi

.. image:: https://readthedocs.org/projects/wagtail-personalisation/badge/?version=latest
    :target: https://readthedocs.org/projects/wagtail-personalisation/

.. image:: https://travis-ci.org/LabD/wagtail-personalisation.svg?branch=master
    :target: https://travis-ci.org/LabD/wagtail-personalisation

.. image:: http://codecov.io/github/LabD/wagtail-personalisation/coverage.svg?branch=master
    :target: http://codecov.io/github/LabD/wagtail-personalisation?branch=master

.. image:: https://img.shields.io/pypi/v/wagtail-personalisation.svg
    :target: https://pypi.python.org/pypi/wagtail-personalisation/

.. end-no-pypi

Wagtail Personalisation
=======================

Wagtail Personalisation is a fully-featured personalisation module for `Wagtail CMS`_. It enables editors to create customised pages - or parts of pages - based on segments whose rules are configured directly in the admin interface.

.. _Wagtail CMS: http://wagtail.io/

.. image:: logo.png
   :scale: 50 %
   :alt: Wagxperience
   :align: center


.. image:: screenshot.png


Instructions
------------
Wagtail Personalisation requires Wagtail 1.10 and Django 1.11.

To install the package with pip::

    pip install wagtail-personalisation

Next, include the ``wagtail_personalisation`` and
``wagtail.contrib.modeladmin`` app in your project's ``INSTALLED_APPS``:

.. code-block:: python

    INSTALLED_APPS = [
        # ...
        'wagtail.contrib.modeladmin',
        'wagtail_personalisation',
        # ...
    ]

Make sure that ``django.contrib.sessions.middleware.SessionMiddleware`` has
been added in first, this is a prerequisite for this project.


Changing segments adapter
-------------------------
To change the segments adapter, first make a new one based on the
``BaseSegmentsAdapter``

.. code-block:: python

    class YourSegmentsAdapter(BaseSegmentsAdapter):
        # Add your own logic here

Add the ``PERSONALISATION_SEGMENTS_ADAPTER`` setting to your settings.py and
choose your own adapter.


Sandbox
-------

To experiment with the package you can use the sandbox provided in
this repository. To install this you will need to create and activate a
virtualenv and then run ``make sandbox``. This will start a fresh Wagtail
install, with the personalisation module enabled, on http://localhost:8000. The
superuser credentials are ``superuser@example.com`` with the password
``testing``.
Description
Rule-based personalisation for Wagtail CMS maintained by cavemanon for RocksForMedia.
Readme 2.7 MiB
Languages
Python 87.3%
HTML 9%
SCSS 1.9%
JavaScript 1.4%
Makefile 0.4%