Easier sharing of Wagtail drafts
Easier sharing of Wagtail drafts.
Wagtail Sharing makes it easier to share Wagtail draft content for review by users who don’t have access to the Wagtail admin site. It allows you to define an alternate hostname and/or port on which to expose the latest revision of all of your Wagtail pages.
For example, let’s say your Wagtail site is running on http://mysite.com. You’ve created a draft page at slug /path/to/draft, but haven’t yet published it. Wagtail Sharing lets you expose that draft page at some other domain, for example http://sharing.mysite.com/path/to/draft.
In another use case, you might have a published page at http://mysite.com/already/published/page, and you’ve made some draft changes. Wagtail Sharing lets you expose those draft changes at http://sharing.mysite.com/already/published/page while still keeping the same published content at your regular domain.
These examples obviously work best when you have some method of restricting access to http://sharing.mysite.com, for example by only exposing that subdomain on a private network.
Wagtail Sharing lets you create separate sharing sites for each Wagtail Site you have defined. It also supports a configurable visual banner on shared pages to remind reviewers that content may differ from your published site.
This new logic only applies to GET requests. Other HTTP methods like POST defer to standard Wagtail handling.
Install the package using pip:
$ pip install wagtail-sharing
Add wagtailsharing as an installed app in your Django settings:
# in settings.py INSTALLED_APPS = ( ... 'wagtailsharing', ... )
Run migrations to create required database tables:
$ manage.py migrate wagtailsharing
Replace use of Wagtail’s catch-all URL pattern:
# in urls.py -from wagtail.wagtailcore import urls as wagtail_urls +from wagtailsharing import urls as wagtailsharing_urls ... -urlpatterns.append(url(r'', include(wagtail_urls))) +urlpatterns.append(url(r'', include(wagtailsharing_urls)))
This project has been tested for compatibility with:
- Python 2.7, 3.5
- Django 1.8, 1.9, 1.10
- Wagtail 1.6, 1.7, 1.8, 1.9