Skip to main content

A CMS framework for Django built on a heterogenous tree editor.

Project description

Widgy: Tree Editor for Django
=============================

.. image:: https://travis-ci.org/fusionbox/django-widgy.png?branch=master
:target: http://travis-ci.org/fusionbox/django-widgy
:alt: Build Status

Widgy is a content editor somewhat in the line of CKEditor. It is not a
WYSIWYG editor though. Widgy is more suited than CKEditor for editing
pages, as in a CMS because it allows you to edit specific parts of the
page and those parts know how to render themselves. Whereas a WYSIWYG
stores its data in HTML, Widgy stores it in a Tree where each node can
render itself.

Widgy is available under the Apache Version 2.0 license. Contribute on github.

Documentation
-------------

Read Widgy's documentation at http://docs.wid.gy.

Installation
------------

Install with pip. ::

pip install django-widgy

When developing Widgy, it might be handy to clone the repository then install
it. ::

git clone git://github.com/fusionbox/django-widgy
cd django-widgy
pip install -e .

Design Philosophy
-----------------

Read about Widgy's data model at
http://docs.wid.gy/en/latest/design/data-model.html.


Contributing
------------

There is a developers mailing list available at `widgy@fusionbox.com
<https://groups.google.com/a/fusionbox.com/forum/#!forum/widgy>`_

Running the Tests
^^^^^^^^^^^^^^^^^

::

make test

``make test`` will run both the JavaScript and Python tests. To test one
or the other, use ``make test-js`` or ``make test-py``.

Coverage
********
Once coverage_ is installed (``pip install coverage``), the Makefile
has two commands to help report on code coverage. ::

make coverage

will run the tests with coverage enabled and generate HTML coverage
files. ::

make browser

will run the tests and open the coverage report in your web browser.

.. _coverage: http://nedbatchelder.com/code/coverage/


Changelog
=========

0.3.2 (2014-10-16)
-----------------

Bugfix release:

- Allow WidgyAdmin to check for ReviewedWidgySite without review_queue
installed [Scott Clark, #265]
- Fix handling of related_name on ProxyGenericRelation [#264]


0.3.1 (2014-10-01)
------------------

Bugfix release for 0.3.0. #261, #263.

0.3.0 (2014-09-24)
------------------

This release mainly focusses on the New Save Flow feature, but also includes
several bug fixes and some nice CSS touch ups. There have been some updates to
the dependencies, so please be sure to check the `How to Upgrade`_ section to
make sure that you get everything updated correctly.

Major Changes
^^^^^^^^^^^^^

* New Save Flow **Requires upgrading Mezzanine to at least 3.1.10** [Gavin
Wahl, Rocky Meza, #241]

We have updated the workflow for WidgyPage. We consider this an experiment
that we can hopefully expand to all WidgyAdmins in the future. We hope that
this new save flow is more intuitive and less tedious.

Screenshot of before:

.. image:: https://raw.githubusercontent.com/fusionbox/django-widgy/master/docs/_images/new-save-flow_before.png
:alt: Widgy Page Admin Old Save Flow

Screenshot of after:

.. image:: https://raw.githubusercontent.com/fusionbox/django-widgy/master/docs/_images/new-save-flow_after.png
:alt: Widgy Page Admin New Save Flow

As you can see, we have rearranged some of the buttons and have gotten rid of
the Published Status button. The new save buttons on the bottom right now
will control the publish state as well as the commit status. This means that
now instead of committing and saving being a two-step process, it all lives
in one button. This should make editing and saving a smoother process.
Additionally, we have renamed some buttons to make their intent more obvious.

Bug Fixes
^^^^^^^^^

* Updated overridden directory_table template for django-filer 0.9.6. **Requires
upgrading django-filer to at least 0.9.6**. [Scott Clark, #179]
* Fix bug in ReviewedVersionTrackerQuerySet.published [Gavin Wahl, #240]
* Made commit buttons not look disabled [Justin Stollsteimer, #250, #205]
* (Demo) Added ADD_PAGE_ORDER to demo settings [Zach Metcalf, #248]
* (Demo) Updated demo project requirements [Scott Clark, #234]
* Make Widgy's jQuery private to prevent clashes with other admin extensions [Gavin Wahl, #246]

Documentation
^^^^^^^^^^^^^

* Update recommend ADMIN_MENU_ORDER to clarify django-filer [Gavin Wahl, #249]

How to Upgrade
^^^^^^^^^^^^^^

In this release, widgy has udpated two of its dependencies:

* The minimum supported version of django-filer is now 0.9.6 (previously 0.9.6).
* The minimum supported version of Mezzanine is now 3.1.10 (previously 1.3.0).

If you ``pip install django-widgy==0.3.0``, it should upgrade the dependencies
for you, but just to be sure, you may want to also run ::

pip install 'django-filer>=0.9.6' 'Mezzanine>=3.1.10'

to make sure that you get the updates.

.. note::

Please note that if you are upgrading from an older version of Mezzanine,
that the admin center has been restyled a little bit.


0.2.0 (2014-08-04)
------------------

Changes
^^^^^^^

* Widgy is now Apache Licensed
* **Breaking Change** Use django-pyscss_ for SCSS compilation. [Rocky Meza, #175]

Requires an update to the ``COMPRESS_PRECOMPILERS`` setting::

COMPRESS_PRECOMPILERS = (
('text/x-scss', 'django_pyscss.compressor.DjangoScssFilter'),
)

You may also have to update ``@import`` statements in your SCSS, because
django-pyscss uses a different (more consistent) rule for path resolution.
For example, ``@import 'widgy_common'`` should be changed to ``@import
'/widgy/css/widgy_common'``
* Added help_text to Section to help user avoid bug [Zach Metcalf, #135]
* Allow UI to updated based on new data after reposition [Gavin Wahl, #199]
* Changed Button's css_classes in shelf [Rocky Meza, #203]
* Added loading cursor while ajax is in flight [Gavin Wahl, #215, #208]
* Get rid of "no content" [Gavin Wahl, #206]
* Use sprites for the widget icons [Gavin Wahl and Rocky Meza, #89, #227]
* Only show approve/unapprove buttons for interesting commits [Gavin Wahl, #228]
* Updated demo app to have new design and new widgets [Justin Stollsteimer, Gavin Wahl, Antoine Catton and Rocky Meza, #129, #176]
* Added cloning for WidgyPages [Gavin Wahl, #235]
* Use a more realistic context to render pages for search [Gavin Wahl, #166]
* Add default children to Accordion and Tabs [Rocky Meza, #238]

Bugfixes
^^^^^^^^

* Fix cursors related to dragging [Gavin Wahl, #155]
* Update safe urls [Gavin Wahl, #212]
* Fix widgy_mezzanine preview for Mezzanine==3.1.2 [Rocky Meza, #201]
* Allow RichTextPage in the admin [Zach Metcalf, #197]
* Don't assume the response has a content-type header [Gavin Wahl, #216]
* Fix bug with FileUpload having empty values [Rocky Meza, #217]
* Fix urlconf_include login_required handling [Gavin Wahl, #200]
* Patch fancybox to work with jQuery 1.9 [Gavin Wahl, #222]
* Fix some import errors in SCSS [Rocky Meza, #230]
* Fix restore page in newer versions of Mezzanine [Gavin Wahl, #232]
* Use unicode format strings in review queue [Gavin Wahl, #236]

Documentation
^^^^^^^^^^^^^

* Updated quickstart to cover south migrations with easy_thumbnails [Zach Metcalf, #202]
* Added Proxy Widgy Model Tutorial [Zach Metcalf, #210]

.. _django-pyscss: https://github.com/fusionbox/django-pyscss

0.1.6 (2014-09-09)
------------------
* Fix migrations containing unsupported KeywordsField from mezzanine [Scott Clark]
* Rename package to django-widgy


0.1.5 (2013-11-23)
------------------

* Fix Widgy migrations without Mezzanine [Gavin Wahl]
* Drop target collision detection [Gavin Wahl]
* Fix Figure and StrDisplayNameMixin [Gavin Wahl]
* Avoid loading review_queue when it's not installed [Scott Clark]
* Fix multi-table inheritance with LinkFields [Gavin Wahl]

0.1.4 (2013-11-04)
------------------

* Add StrDisplayNameMixin

0.1.3 (2013-10-25)
------------------

* Fix image widget validation with the S3 storage backend

0.1.2 (2013-10-23)
------------------

* Fix Widgy admin for static files hosted on a different domain

0.1.1 (2013-10-21)
------------------

* Adjust ``MANIFEST.in`` to fix PyPi install.
* Fix layout having a unicode ``verbose_name``

0.1.0 (2013-10-18)
------------------

First release.

Basic features:

* Heterogeneous tree editor (``widgy``)
* CMS (``widgy.contrib.widgy_mezzanine``)
* CMS Plugins (``widgy.contrib.urlconf_include``)
* Widgets (``widgy.contrib.page_builder``)
* Form builder (``widgy.contrib.form_builder``)
* Multilingual pages (``widgy.contrib.widgy_i18n``)
* Review queue (``widgy.contrib.review_queue``)

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-widgy-0.3.2.tar.gz (1.8 MB view details)

Uploaded Source

File details

Details for the file django-widgy-0.3.2.tar.gz.

File metadata

File hashes

Hashes for django-widgy-0.3.2.tar.gz
Algorithm Hash digest
SHA256 32884dbacd7f9b64a6511ed504e490d38c945485439a750feb1e37b30e952da5
MD5 7b59c2dc9d6c42118760130397e6e988
BLAKE2b-256 4b5e01c9bb3dd66cfb2026456351bb252329a949b1e427627575916eae3c1ce9

See more details on using hashes here.

Supported by

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