[Grok-dev] spotlight on: megrok.traject
Aroldo Souza-Leite
asouzaleite at gmx.de
Mon Jan 25 05:58:42 EST 2010
Hi Martijn,
am I wrong in the expectation that an object of a non-Grok class
'SomeForeignModel'
(see attachment) would be instantiated by 'factory' in
'TrajectForSomeForeignModel'
as a result of the request defined in 'pattern' and that this object (or
some view of it) would
be shown in the response?
If this is what 'megrok.traject' does to a non-Grok model, then I got
stuck where
think I should implement a view for the non-Grok class
'SomeForeignModel'. How can I do this?
Perhaps I just didn't get the basic idea of the 'megrok.traject' usage
for non-Grok classes?
Regards,
Aroldo.
Martijn Faassen wrote:
> Spotlight on...
>
> megrok.traject is a package that allows a different way to publish your
> models than the traversal that is most commonly used in Zope
> applications. With megrok.traject you can define explicitly what kind of
> URLs you want to publish your models on, instead of having to construct
> an object hierarchy.
>
> A model can be anything that you want to have views for, and doesn't
> need to be a persistent ``grok.Model``. In fact megrok.traject is most
> suitable for objects that are not stored in the ZODB, as the ZODB makes
> traversal easy.
>
> What kind of models could you publish with megrok.traject then? It
> could be just Python objects you design yourself. In this case you can
> use ``traject.Model``. You tell it under what URL pattern it should
> appear and how it is to be constructed, and you're done.
> ``traject.Model`` is very lightweight: it's just a ``grok.Context`` that
> can be hooked up by a "traject pattern".
>
> Alternatively you may want to treat your models even more lightly: you
> may wish to hook up models that are defined by a package that is not
> under your control at all. You could have for instance an ORM such as
> SQAlchemy define the models in an entirely different package that knows
> nothing about how these models should be presented on the web in your
> application. You can then use ``traject.Traject`` to associate such
> models with a URL pattern in your application.
>
> You can look at the megrok.traject documentation for more information:
>
> http://pypi.python.org/pypi/megrok.traject
>
> The low-level implementation is a reusable library called ``traject``,
> and its documentation can give you more details:
>
> http://pypi.python.org/pypi/traject
>
> If you still don't understand why megrok.traject would be useful for
> *you*, don't worry. Grok's traversal method of publishing objects isn't
> going anywhere, and megrok.traject is just an option. If you have
> questions, we'd very much like to hear them on grok-dev however, so that
> we can improve megrok.traject and its documentation.
>
> Volunteers who would want to write a tutorial oriented towards beginners
> that uses megrok.traject would also be very welcome!
>
>
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> https://mail.zope.org/mailman/listinfo/grok-dev
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: app.py
Type: text/x-python
Size: 1570 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/grok-dev/attachments/20100125/507a3864/attachment.py
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: app.txt
Url: http://mail.zope.org/pipermail/grok-dev/attachments/20100125/507a3864/attachment.txt
More information about the Grok-dev
mailing list