{ "info": { "author": "Sebastian Vetter", "author_email": "sebastian.vetter@tangentsnowball.com.au", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: Unix", "Programming Language :: Python" ], "description": "=======================================\nFancy CMS-style page editing for Django\n=======================================\n\n.. image:: https://travis-ci.org/tangentlabs/django-fancypages.png?branch=master\n :target: https://travis-ci.org/tangentlabs/django-fancypages?branch=master\n\n.. image:: https://coveralls.io/repos/tangentlabs/django-fancypages/badge.png?branch=master\n :target: https://coveralls.io/r/tangentlabs/django-fancypages?branch=master\n\n.. image:: https://requires.io/github/tangentlabs/django-fancypages/requirements.png?branch=master\n :target: https://requires.io/github/tangentlabs/django-fancypages/requirements/?branch=master\n :alt: Requirements Status\n\n\n**Note:** This is a work in progress and part of this project will likely\nchange and could potentially break things. Be careful with using it.\n\n\nFancypages provides an easy way to edit content in your Django project.\n\nAnother content management system, you ask? No it is not! Rather, it is a\n*content enhancement system* (CEnS) because it provides a user with the\ncontrolled ability to edit content on a page.\n\nThe way this Django app works is inspired by `django-frontend-admin`_,\n`django-content-blocks`_ and other similar apps. Especially, the use of\ntemplate tags to define customisable sections in a Django template is\nbased on the ideas in the two apps mentioned above.\n\n**Warning:** There's currently an issue with *django-model-utils* 2.0+ and\nDjango 1.5.5. Until this is resolved, we advise to use **version 1.5** with\nthat specific version of Django.\n\n.. _`django-frontend-admin`: https://github.com/bartTC/django-frontendadmin\n.. _`django-content-blocks`: https://github.com/KevinBrolly/django-content-blocks\n\n\nOscar and Fancypages\n--------------------\n\nFancypages has originally been developed to extend the functionality of\n`django-oscar`_ by giving a the client limited control over content editing and\ncomplement the Oscar dashboard. The need of other (non-Oscar) projects for a\nsimiliar content editing funtionality lead to the separation of\n`django-oscar-fancypages`_ into a separate app.\n\nAfter several months of experience with maintaining both apps separately, we've\nmade the decision to maintain the Oscar integration as part of fancypages\navailable in ``fancypages.contrib.oscar_fancypages``. This should make it\neasier to maintain both code bases and provide better integration for both.\n\n**Note:** `django-oscar-fancypages`_ is now deprectated and will no longer\nreceive feature updates.\n\n\nScreenshots\n-----------\n\n.. image:: https://raw.github.com/tangentlabs/django-fancypages/master/docs/source/images/screenshots/homepage_editor_hidden.png\n\n.. image:: https://raw.github.com/tangentlabs/django-fancypages/master/docs/source/images/screenshots/homepage_editor_opened.png\n\n.. image:: https://raw.github.com/tangentlabs/django-fancypages/master/docs/source/images/screenshots/homepage_edit_block_form.png\n\n.. image:: https://raw.github.com/tangentlabs/django-fancypages/master/docs/source/images/screenshots/homepage_block_menu.png\n\n\nDocumentation\n-------------\n\nInstallation instructions and documentation are hosted on the incredible \n`readthedocs.org`_:\n\n https://django-fancypages.readthedocs.org\n\n.. _`readthedocs.org`: http://readthedocs.org\n\n\nProjects Using Fancypages\n-------------------------\n\n* The Chocolate Box: https://www.chocolatebox.com.au\n* Which Right Choice: https://www.whichrightchoice.com\n* Freetix: https://www.freetix.com.au\n* Agatha Christie: http://www.agathachristie.com\n\nLicense\n-------\n\n``django-fancypages`` is released under the permissive `New BSD license`_.\n\n.. _`New BSD license`: https://github.com/tangentlabs/django-fancypages/blob/master/LICENSE\n\n\n.. image:: https://d2weczhvl823v0.cloudfront.net/tangentlabs/django-fancypages/trend.png\n\n\n=========\nChangelog\n=========\n\n\n0.3.1\n-----\n\n* Remove the ``target=\"_blank\"`` attribute that used to be added by\n ``wysihtml5`` when sanitising link tags.\n* Rename the ``advance.js`` config file for ``wysihtml5`` to\n ``wysihtml5-config.js``.\n* Minify ``wysihtml5-config.js`` used for customising ``wyshtmls5`` to\n reduce size.\n* Fixes #25 (1): getting the child pages of a ``FancyPage`` used the\n ``PageNode``'s method ``get_children`` which would return a queryset\n of ``PageNode`` instances. ``FancyPage`` now provides its own\n ``get_children`` method that returns the corresponding queryset of\n ``FancyPage`` instances.\n* Fixes #25 (2): using the API to move pages in the hierarchy failed with\n an internal server error caused by changes during refactoring. The calls\n to the API are now using the UUID as expected instead of the model's PK.\n\n\n0.3.0\n-----\n\n* Provide the actual object for a block in the ``rendered_block`` tuples to\n allow more flexibility in the templates, especially in ``container.html``.\n\n* Move the block selection modal markup from within the container into the\n body of the page. This means we only need a single modal including all\n available blocks. Also it avoids problems with displaying the modal.\n\n* Switch the models for ``FancyPage`` and ``TreeNode`` to use Django's\n swappable API and loosen the relationship between the two. previously, the\n ``FancyPage`` model was a subclass of both the ``AbstractFancyPage`` and the\n ``AbstractTreeNode`` which caused issues in *django-oscar-fancypages* when\n integrating with the ``Category`` models. The use of the swappable API\n simplifies the handling of this relationship and makes customising the tree\n node used for the ``FancyPage`` easier.\n This adds two settings ``FP_NODE_MODEL`` for the tree node model class that\n will default to ``fancypages.PageNode`` and the ``FP_PAGE_MODEL`` which \n defaults to ``fancypages.PageNode``.\n\n* Interacting with blocks and containers has completely moved to the RESTful\n API for blocks and containers. This makes the use of AJAX calls to create,\n update and delete blocks more consistent. ``FancyPage`` models are still\n edited through the dashboard and are currently not available via the REST\n API.\n\n* Fancypages provides a *Twitter* block that allows to specify a username and\n pull the user's twitter feed. This requires the ``twitter-tag`` django app\n which has caused issues before. This requirement has now been removed and\n the *Twitter* block is now only available when the ``twitter-tag`` app is\n installed. If it is not, the block won't be registered with fancypages and\n won't be available to be added.\n\n* UUIDs are now available on all models that are exposed via the REST API as\n well as the ``FancyPage`` model. This makes sure that content blocks,\n containers and pages are uniquely identifyable. This will support later\n features such as versioning and import/export.\n\n* Major improvements to the integration tests to run Selenium test using\n saucelabs. It now covers a few fundamental use cases such as adding a new\n content block, deleting a content block and changing the content of a text\n block. The plan is to run these tests against various browser versions on\n saucelabs to make sure that the UI is working consistently on the most common\n browsers.\n\n* Integrate `django-oscar-fancypages`_ as ``contrib`` package into fancypages.\n The main reasons for this decision was to ease maintainability for both\n projects and to avoid duplication between the two projects. The official\n integration of fancypages with Oscar now lives in\n ``fancypages.contrib.oscar_fancypages`` and should be used instead of the\n external package. As a result the configuration required to use fancypages\n in a standalone or an Oscar project has changed and will need to be updated\n when migrating from a previous installation. We have tried to provide full \n backwards compatibility but there might be potential hickups in moving to\n this version of fancypages. If you come across any issues or use cases that\n we haven't anticipated, please open an issue on github.\n\n* Containers in fancypages are now language aware by having a ``language_code``\n attribute that is available on the model. The language code **has** to be\n set and default to the ``LANGUAGE_CODE`` setting of your project. The main\n principle for dealing with multi-language sites is to have a separate\n container for each available language to allow total flexibility in setting\n up content for different languages. This might seem like a lot of additional\n work but there is a good reason for it. Different languages come with\n different cutural habits and experiences, e.g. what people in Britain might\n find hilarious might not work in the same way for people from Germany.\n Therefore, the content addressed to users speaking different languages often\n has to be adapted to work in the same or similar way. As a result we decided\n to allow complete freedom in the way the \"same\" content is presented for\n users speaking different languages. More details on this will be available in\n the docs.\n\n\n.. _`django-oscar-fancypages`: https://github.com/tangentlabs/django-oscar-fancypages\n\n\n0.1.0\n-----\n\nThe first public release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tangentlabs/django-fancypages", "keywords": "django,cms,pages,flatpages", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-fancypages", "package_url": "https://pypi.org/project/django-fancypages/", "platform": "linux", "project_url": "https://pypi.org/project/django-fancypages/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tangentlabs/django-fancypages" }, "release_url": "https://pypi.org/project/django-fancypages/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Make content editing in Django fancier", "version": "0.3.0" }, "last_serial": 1139299, "releases": { "0.3.0": [] }, "urls": [] }