Metadata-Version: 1.0
Name: z3c.jsontree
Version: 0.6.0
Summary: JSON RPC item tree for Zope3
Home-page: http://pypi.python.org/pypi/z3c.jsontree
Author: Roger Ineichen and the Zope Community
Author-email: zope3-dev@zope.org
License: ZPL 2.1
Description: This package provides an JSON-RPC item tree implementation for Zope3.
        
        
        Detailed Documentation
        **********************
        
        ============
        JSONRPC Tree
        ============
        
        This package offers a JSONRPC tree view which can be used as navigation tree.
        Let's show how we can register our jsonrpc tree view:
        
        >>> from zope.configuration import xmlconfig
        >>> import z3c.jsonrpc
        >>> context = xmlconfig.file('meta.zcml', z3c.jsonrpc)
        >>> context = xmlconfig.string("""
        ... <configure
        ...     xmlns:z3c="http://namespaces.zope.org/z3c">
        ...   <z3c:jsonrpc
        ...       for="*"
        ...       class="z3c.jsontree.jsonrpc.JSONTreeItems"
        ...       permission="zope.Public"
        ...       methods="loadJSONTreeItems"
        ...       layer="z3c.jsonrpc.testing.IJSONRPCTestSkin"
        ...       />
        ... </configure>
        ... """, context)
        
        Now we will setup some content structure based on the default zope folder class:
        
        >>> from zope.site.folder import Folder
        >>> site  = getRootFolder()
        >>> content = Folder()
        >>> site['content'] = content
        
        And we need to be able to get an absoluteURL for the form:
        
        >>> import zope.interface
        >>> import zope.component
        >>> from zope.location.interfaces import ILocation
        >>> from zope.traversing.browser.interfaces import IAbsoluteURL
        >>> class FakeURL(object):
        ...     zope.interface.implements(IAbsoluteURL)
        ...     zope.component.adapts(ILocation, zope.interface.Interface)
        ...     def __init__(self, context, request):
        ...         pass
        ...     def __str__(self):
        ...         return u'http://fake/url'
        ...     def __call__(self):
        ...         return str(self)
        
        >>> zope.component.provideAdapter(FakeURL)
        
        
        JSON-RPC proxy
        --------------
        
        If we call our JSON-RPC tree item method, we can see the different JSON data
        on the different contexts:
        
        >>> from z3c.jsonrpc.testing import JSONRPCTestProxy
        >>> siteURL = 'http://localhost/++skin++JSONRPCTestSkin'
        >>> proxy = JSONRPCTestProxy(siteURL)
        >>> proxy.loadJSONTreeItems('z3cJSONTree')
        {u'treeChilds': {u'childs':
        [{u'hasChilds': False,
        u'contextURL': u'http://fake/url',
        u'url': u'http://fake/url/@@SelectedManagementView.html',
        u'linkHandler': u'',
        u'content': u'content',
        u'iconURL': u'',
        u'id': u'z3cJSONTree.::content'}],
        u'id': u'z3cJSONTree'}}
        
        The content object has no items and returns some empty JSON data:
        
        >>> proxy = JSONRPCTestProxy(siteURL + '/content')
        >>> proxy.loadJSONTreeItems('z3cJSONTree')
        {u'treeChilds': {u'childs': [], u'id': u'z3cJSONTree'}}
        
        
        =======
        CHANGES
        =======
        
        0.6.0 (2010-09-23)
        ------------------
        
        - reflect changes in zope packages, use new package externals
        
        - fix broken tests
        
        - Fix className handling in javacsript, it seems that newer version of JQuery
        can't handle $.className.has(ele, ...) use $(ele).hasClass(...) instead.
        
        - Fix: getParentsFromContextToObject, don't return a parent chain if an item
        is a location proxied NotFound error object. It's possible that such a
        NotFound object will wrap a context which we don't allow in our parent
        chain at all.
        
        
        0.5.1 (2009-03-10)
        ------------------
        
        - Fix: use imports from newest packages e.g. zope.site.folder.Folder
        
        - Fix: be smart to NotFound error objects. NotFound errors are not locatable.
        
        
        0.5.0 (2008-04-16)
        ------------------
        
        - Fix: adjust ITreeItems adapter. Added additional discriminator which
        prevents to get missused as /@@/ adapter if configured with base registry
        
        - implemented ITreeItems adapter which is responsible for list all items listed
        in tree
        
        - Initial Release
        
Keywords: zope3 z3c json rpc tree
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope3
