Traject integration in Plone
Project description
Introduction
============
This product provides URL routing capability to Plone content. Powered by the
awesome traject library by Martijn Faassen and based on a similar library called
megrok.traject.
Note: this is still a proof of concept, need more testing.
What It Does
=============
Basically, this project allow your content to be a routing based app. For example,
with this product, you can have something like:
* site/folder/myApp - a traject enabled content, resolved through graph
traversal
* site/folder/myApp/models/1 - returns a SQLalchemy model object, resolved
through url routing
Enabling routing for content type
==================================
Hook this into ZCML::
<adapter factory="collective.trajectory.components.Traverser"
for="myproduct.content.mycontent.MyContent
zope.publisher.interfaces.IRequest"/>
where `myproduct.content.mycontent.MyContent` is the class of the content
type which will be the root of the URL routing.
Registering route patterns
===========================
Registering patterns is pretty much like how its supposed to be done in
normal traject. However, the model class will need to be inherited from
`collective.trajectory.components.Model`
from collective.trajectory.components import Model
from myproduct.content.mycontent import MyContent
import traject
class MyModel(Model):
def __init__(self, item_id):
self.item_id = item_id
def factory(item_id):
return MyModel(item_id)
def arguments(obj):
return {
'item_id': obj.item_id
}
pattern = u'models/:item_id'
traject.register(MyContent, pattern, factory)
traject.register_inverse(MyContent, MyModel, pattern, arguments)
Additional Info
================
* The returned models acquire attributess from your MyApp object through
Acquisition, so that templates behave as it should, and portal tools
available through current context.
* Views are simply the standard plone browserviews, nothing fancy.
Changelog
=========
0.1 (2011-10-03)
----------------
- Initial release
============
This product provides URL routing capability to Plone content. Powered by the
awesome traject library by Martijn Faassen and based on a similar library called
megrok.traject.
Note: this is still a proof of concept, need more testing.
What It Does
=============
Basically, this project allow your content to be a routing based app. For example,
with this product, you can have something like:
* site/folder/myApp - a traject enabled content, resolved through graph
traversal
* site/folder/myApp/models/1 - returns a SQLalchemy model object, resolved
through url routing
Enabling routing for content type
==================================
Hook this into ZCML::
<adapter factory="collective.trajectory.components.Traverser"
for="myproduct.content.mycontent.MyContent
zope.publisher.interfaces.IRequest"/>
where `myproduct.content.mycontent.MyContent` is the class of the content
type which will be the root of the URL routing.
Registering route patterns
===========================
Registering patterns is pretty much like how its supposed to be done in
normal traject. However, the model class will need to be inherited from
`collective.trajectory.components.Model`
from collective.trajectory.components import Model
from myproduct.content.mycontent import MyContent
import traject
class MyModel(Model):
def __init__(self, item_id):
self.item_id = item_id
def factory(item_id):
return MyModel(item_id)
def arguments(obj):
return {
'item_id': obj.item_id
}
pattern = u'models/:item_id'
traject.register(MyContent, pattern, factory)
traject.register_inverse(MyContent, MyModel, pattern, arguments)
Additional Info
================
* The returned models acquire attributess from your MyApp object through
Acquisition, so that templates behave as it should, and portal tools
available through current context.
* Views are simply the standard plone browserviews, nothing fancy.
Changelog
=========
0.1 (2011-10-03)
----------------
- Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for collective.trajectory-0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf1dc97cf22347e556b33c99e125ebd7a044fd5b31ff78562593ac678ffbdc95 |
|
MD5 | be7e229f90ec356dc9ff70454298da86 |
|
BLAKE2b-256 | 32d01591c3b00a00efed120a9f0a23151bd0e317c445fec2fbb52709815e8ca0 |