Skip to main content

Traject integration in Plone

Project description


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

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
* 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"

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

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.


0.1 (2011-10-03)

- Initial release

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.trajectory-0.1.tar.gz (7.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page