Metadata-Version: 1.0
Name: dolmen.app.content
Version: 0.2
Summary: Dolmen applications content utilities
Home-page: http://gitweb.dolmen-project.org/
Author: Souheil Chelfouh
Author-email: trollfot@gmail.com
License: GPL
Description: 
        
        `dolmen.app.content` provides out-of-the-box utilities for Dolmen
        applications content.
        
        Getting started
        ===============
        
        We import Grok and grok the package::
        
        >>> import grok
        >>> grok.testing.grok('dolmen.app.content')
        
        We create a `dolmen.content` content::
        
        >>> import dolmen.content
        >>> class Mammoth(dolmen.content.Content):
        ...    grok.name('A furry thing')
        >>> manfred = Mammoth()
        >>> manfred.title = u'A nice mammoth'
        
        Indexes
        =======
        
        `dolmen.app.content` registers two indexes to catalog the
        `dolmen.content.IBaseContent` created inside a Dolmen application::
        
        >>> from dolmen.app.content import indexes
        
        
        Base indexes
        ------------
        
        The `dolmen.app.content.indexes.BaseIndexes` handles the title and the content type of an IBaseContent content::
        
        >>> indexes.BaseIndexes.__grok_indexes__
        {'content_type': <grok.index.Field object at ...>, 'title': <grok.index.Text object at ...>}
        
        >>> indexes.BaseIndexes.__grok_indexes__['content_type']._attribute
        '__content_type__'
        
        
        Searchable text
        ---------------
        
        `dolmen.app.content` provides a simple 'ISearchableText'
        implementation, allowing full text searches. It comes in two parts.
        
        The index::
        
        >>> indexes.SearchableIndex.__grok_indexes__
        {'searchabletext': <grok.index.Text object at ...>}
        
        The adapter::
        
        >>> from zope.index.text.interfaces import ISearchableText
        >>> adapter = ISearchableText(manfred)
        >>> adapter.getSearchableText()
        u'A nice mammoth'
        
        
        Thumbnailing
        ============
        
        Thanks to `dolmen.thumbnailer`, `dolmen.app.content` provides a base
        thumbnailing policy, using ZODB blobs as storage and introducing a new
        scale.
        
        Scales
        ------
        
        Let's introspect our Miniaturizer component::
        
        >>> from dolmen.app.content import thumbnails
        
        >>> thumbnails.BlobMiniaturizer.factory
        <class 'dolmen.blob.file.BlobValue'>
        
        >>> print thumbnails.BlobMiniaturizer.scales
        {'mini': (250, 250), 'square': (64, 64), 'thumb': (150, 150), 'large': (700, 700), 'small': (128, 128), 'preview': (400, 400)}
        
        The new scale, 'square', scales down and crops the original image to
        provide a square thumbnail. This is done using a IThumbnailer adapter::
        
        >>> from dolmen.thumbnailer import IThumbnailer
        >>> thumbnails.SquareThumbnailer
        <class 'dolmen.app.content.thumbnails.SquareThumbnailer'>
        >>> IThumbnailer.implementedBy(thumbnails.SquareThumbnailer)
        True
        
        
        Credits
        =======
        
        All Dolmen packages are sponsorised by NPAI (http://www.npai.fr)
        
        Changelog
        =========
        
        0.2 (2010-02-01)
        ----------------
        
        * Added dolmen.blob include in configure.zcml.
        
        * Cleaning dependencies. The package is now zope.app free and relies
        on the latest Grok evolution.
        
        
        0.1 (2009-11-02)
        ----------------
        
        * Initial release
        
Keywords: Grok Zope3 CMS Dolmen
Platform: Any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Zope3
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
