Metadata-Version: 1.0
Name: Kotti
Version: 0.6.0
Summary: Kotti is a high-level, 'Pythonic' web application framework. It includes a small and extensible CMS application called the Kotti CMS.
Home-page: https://github.com/Pylons/Kotti
Author: Daniel Nouri and contributors
Author-email: kotti@googlegroups.com
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: =====
        Kotti
        =====
        
        Kotti is a high-level, *Pythonic* web application framework.  It
        includes a small and extensible CMS application called the **Kotti
        CMS**.  |build status|_
        
        Kotti is most useful when you are developing applications that
        
        - have complex security requirements,
        - use workflows, and/or
        - work with hierarchical data.
        
        Built on top of a number of *best-of-breed* software components, most
        notably Pyramid_ and SQLAlchemy_, Kotti introduces only a few concepts
        of its own, thus hopefully keeping the learning curve flat for the
        developer.
        
        .. |build status| image:: https://secure.travis-ci.org/Pylons/Kotti.png?branch=master
        .. _build status: http://travis-ci.org/Pylons/Kotti
        .. _Pyramid: http://docs.pylonsproject.org/projects/pyramid/dev/
        .. _SQLAlchemy: http://www.sqlalchemy.org/
        
        Kotti CMS
        =========
        
        You can **try out the built-in CMS** on `Kotti's demo page`_.
        
        The Kotti CMS is a content management system that's heavily inspired
        by Plone_.  Its **main features** are:
        
        - **User-friendliness**: editors can edit content where it appears;
          thus the edit interface is contextual and intuitive
        
        - **WYSIWYG editor**: includes a rich text editor
        
        - **Responsive design**: Kotti builds on `Twitter Bootstrap`_, which
          looks good both on desktop and mobile
        
        - **Templating**: you can extend the CMS with your own look & feel
          with almost no programming required
        
        - **Add-ons**: install a variety of add-ons and customize them as well
          as many aspects of the built-in CMS by use of an INI configuration
          file
        
        - **Security**: the advanced user and permissions management is
          intuitive and scales to fit the requirements of large organizations
        
        - **Internationalized**: the user interface is fully translatable,
          Unicode is used everywhere to store data
        
        .. _Kotti's demo page: http://kottidemo.danielnouri.org/
        .. _Plone: http://plone.org/
        .. _Twitter Bootstrap: http://twitter.github.com/bootstrap/
        
        Support and Documentation
        =========================
        
        `Click here to access Kotti's full documentation
        <http://kotti.readthedocs.org/>`_
        
        License
        =======
        
        Kotti is offered under the BSD-derived `Repoze Public License
        <http://repoze.org/license.html>`_.
        
        
        Thanks
        ======
        
        Thanks to the following people for support, code, patches etc:
        
          - Andreas Kaiser
          - Andreas Zeidler
          - Christian Neumann
          - Gouji OCHIAI
          - Jeff Pittman
          - Mike Orr
          - Marco Scheidhuber
          - Nuno Teixeira
          - Steffen Lindner
          - Tom Lazar
          - `The University of Coimbra <http://uc.pt/>`_
          - `Consipere <http://www.consipere.com/>`_ 
        
        
        Change History
        ==============
        
        0.6.0 - 2012-03-22
        ------------------
        
        - Add Japanese translation.
        
        - Enforce lowercase user names and email with registration and login.
        
        - Moved SQLAlchemy related stuff from kotti.util into kotti.sqla.
        
        - You can also append to 'Node.__acl__' now in addition to setting the
          attribute.
        
        0.6.0b3 - 2012-03-17
        --------------------
        
        - Have the automatic ``__tablename__`` and ``polymorphic_identity``
          for CamelCase class names use underscores, so a class
          'MyFancyDocument' gets a table name of 'my_fancy_documents' and a
          type of 'my_fancy_document'.
        
        0.6.0b2 - 2012-03-16
        --------------------
        
        - Make the 'item_type' attribute of AddForm optional.  Fixes #41.
        
        - ``kotti.util.title_to_name`` will now return a name with a maximum
          length of 40.  Fixes #31.
        
        0.6.0b1 - 2012-03-15
        --------------------
        
        - Use declarative style instead of class mapper for SQLAlchemy resources.
        
          Unfortunately, this change is backwards incompatible with existing
          content types (not with existing databases however).  Updating your
          types to use Declarative is simple.  See kotti_calendar for an
          example:
          https://github.com/dnouri/kotti_calendar/commit/509d46bd596ff338e0a88f481339882de72e49e0#diff-1
        
        0.5.2 - 2012-03-10
        ------------------
        
        - A new 'Actions' menu makes copy, paste, delete and rename of items
          more accessible.
        
        - Add German translation.
        
        - Populators no longer need to call ``transaction.commit()``
          themselves.
        
        0.5.1 - 2012-02-27
        ------------------
        
        - Internationalize user interface.  Add Portuguese as the first
          translation.
        
        - A new 'Add' menu in the editor toolbar allows for a more intuitive
          adding of items in the CMS.
        
        - Refine ``Node.copy``.  No longer copy over local roles per default.
        
        0.5.0 - 2012-02-15
        ------------------
        
        - Move Kotti's default user interface to use Twitter Bootstrap 2.
        
        - Add a new 'File' content type.
        
        - Add CSRF protection to some forms.
        
        - Remove Kotti's ``FormController`` in favor of using ``pyramid_deform``.
        
        - Use plone.i18n to normalize titles to URL parts.
        
        - Add a separate navigation screen that replaces the former
          intelligent breadcrumbs menu.
        
        - Use ``pyramid_beaker`` as the default session factory.
        
        - Make ``kotti.messages.send_set_password`` a bit more flexible.
        
        0.4.5 - 2012-01-19
        ------------------
        
        - Add 'kotti.security.has_permission' which may be used instead of
          'pyramid.security.has_permission'.
        
          The difference is that Kotti's version will set the "authorization
          context" to be the context that you pass to 'has_permission'.  The
          effect is that 'list_groups' will return a more correct list of
          local roles, i.e. the groups in the given context instead of
          'request.context'.
        
        - Add a template ('forbidden.pt') for when user is logged in but still
          getting HTTPForbidden.
        
        0.4.4 - 2012-01-05
        ------------------
        
        - The "Forbidden View" will no longer redirect clients that don't
          accept 'text/html' to the login form.
        
        - Fix bug with 'kotti.site_title' setting.
        
        0.4.3 - 2011-12-22
        ------------------
        
        - Add 'kotti.root_factory' setting which allows the override Kotti's
          default Pyramid *root factory*.  Also, make master templates more
          robust so that a minimal root with '__parent__' and '__name__' can
          be rendered.
        
        - The 'kotti.tests' was factored out.  Tests should now import from
          'kotti.testing'.
        
        0.4.2 - 2011-12-20
        ------------------
        
        - More convenient overrides for add-on packages by better use of
          'config.commit()'.
        
        0.4.1 - 2011-12-20
        ------------------
        
        - Modularize Kotti's Paste App Factory 'kotti.main'.
        
        - Allow explicit setting of tables that Kotti creates
          ('kotti.use_tables').
        
        0.4.0 - 2011-12-14
        ------------------
        
        - Remove configuration variables 'kotti.templates.*' in favour of
          'kotti.asset_overrides', which uses Pyramid asset specs and their
          overrides.
        
        - Remove 'TemplateAPI.__getitem__' and instead add 'TemplateAPI.macro'
          which has a similar but less 'special' API.
        
        - Factor snippets in 'kotti/templates/snippets.pt' out into their own
          templates.  Use 'api.render_template' to render them instead of
          macros.
        
        0.3.1 - 2011-12-09
        ------------------
        
        - Add 'keys' method to mutation dicts (see 0.3.0).
        
        0.3.0 - 2011-11-30
        -------------------
        
        - Replace `Node.__annotations__` in favor of an extended `Node.annotations`.
        
          `Node.annotations` will attempt to not only recognize changes to
          subobjects of type dict, it will also handle list objects
          transparently.  That is, changing arbitrary JSON structures should
          just work with regard to calling `node.annotations.changed()` when
          the structure was changed.
        
        0.2.10 - 2011-11-22
        -------------------
        
        - 'api.format_datetime' now also accepts a timestamp in addition to datetime.
        
        0.2.9 - 2011-11-21
        ------------------
        
        - Remove MANIFEST.in in favour of using 'setuptools-git'.
        
        0.2.8 - 2011-11-21
        ------------------
        
        - Remove 'PasteScript' dependency since that would result in spurious
          errors when installing Kotti. See
          http://jenkins.danielnouri.org/job/Kotti/42/TOXENV=py27/console
        
        0.2.7 - 2011-11-20
        ------------------
        
        - Add 'PasteScript' dependency.
        
        - Fix #11 where 'python setup.py test' would look into a hard-coded
          'bin' directory.
        
        - Structural analysis documentation. (Unfinished; in 'analysis' directory
          during development. Will be moved to main docs when finished.)
        
        0.2.6 - 2011-11-17
        ------------------
        
        - Add `Node.__annotations__` convenience attribute.
        
          `Node.__annotations__` will wrap the annotations dict in such a way
          that both item and attribute access are possible.  It'll also record
          changes to dicts inside dicts and mark the parent `__annotations__`
          attribute as dirty.
        
        - Add a welcome page.
        - Delete the demo added in version 0.2.4.
        
        0.2.5 - 2011-11-14
        ------------------
        
        - Add 'TemplateAPI.render_template'; allow templates to be rendered
          conveniently from templates.
        
        0.2.4 - 2011-11-13
        ------------------
        
        - Adjust for Pyramid 1.2: INI file, pyramid_tm, Wsgiref server, pcreate and
          pserve. (MO)
        
        - Add Kotti Demo source and documentation.
        
        0.2.3 - 2011-10-28
        ------------------
        
        - ``Node.__getitem__`` will now also accept a tuple as key.
        
          ``folder['1', '2']`` is the same as ``folder['1']['2']``, just more
          efficient.
        
        - Added a new cache decorator based on ``repoze.lru``.
        
        0.2.2 - 2011-10-10
        ------------------
        
        - Change the function signature of ``kotti.authn_policy_factory``,
          ``kotti.authz_policy_factory`` and ``kotti.session_factory`` to
          include all settings from the configuration file.
        
        0.2.1 - 2011-09-29
        ------------------
        
        - Minor changes to events setup code to ease usage in tests.
        
        0.2 - 2011-09-16
        ----------------
        
        - No changes.
        
        0.2a2 - 2011-09-05
        ------------------
        
        - Fix templates to be compatible with Chameleon 2.  Also, require
          Chameleon>=2.
        
        - Require pyramid>=1.2.  Also, enable pyramid_debugtoolbar for
          ``development.ini`` profile.
        
        0.2a1 - 2011-08-29
        ------------------
        
        - Improve database schema for ``Nodes``.  Split ``Node`` class into
          ``Node`` and ``Content``.
        
          This change is backward incompatible in that existing content types
          in your code will need to subclass ``Content`` instead of ``Node``.
          The example in the docs has been updated.  Also, the underlying
          database schema has changed.
        
        - Improve user database hashing and local roles storage.
        
        - Compatibility fix for Pyramid 1.2.
        
Keywords: kotti web cms wcms pylons pyramid sqlalchemy bootstrap
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Framework :: Pylons
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: License :: Repoze Public License
