Metadata-Version: 2.1
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
Provides-Extra: test
