Hi, <br>while trying to grok Martian, I wanted to try it with a small example. The result is a grokker for Elixir schema definitions. It generates zope.interfaces with zope.schemas for it, and make the class implement some interfaces so that it can be traversed in grok.<br>

<br>Elixir is a module that allows you to write one class and does everything whats needed for you to be able to persist it. It looks a bit like a Interface with schemas:<br><br>class Movie(Entity):<br>    title = Field(Unicode(30))<br>

    year = Field(Integer)<br>    description = Field(UnicodeText)<br><br>Now, what did I get working:<br>- The class at it is, will be grokked, and I create a Interface with schema information out of it.<br>- Together with a custom traverser, I can look at instances that I saved to the database before.<br>

- Edit and Displayforms<br><br>Whats does not work<br>- I was just playing around and I decided to stop, before the  &quot;commit the changes to the database&quot; stuff. I tried it once in an interactive shell, and that worked.<br>

<br>Whats too unfinished<br>- I just made mappers for three different schema types, I do not retrieve all attributes from the elixir schema information<br>- I did not dig into relations either, might be complicated, but maybe not.<br>

- Somehow, my views got loaded to early, before I grokked the model data. Also, the dynamically generated interface cannot be easily referenced. So an EditForm looks like that currently:<br><br>class Index(EditForm):<br>
    grok.context(Movie)<br>
    def update(self):<br>        self.form_fields = grok.Fields(Movie.grokked_interface)<br><br>I just wanted to play around with all this stuff, I have no itch scratching me, so I stop here for now, and look at it at a later time again, maybe at the Neanderthalsprint. <br>

<br>Meanwhile if somebody has an urgent interest for getting this stuff to work, please contact me and I&#39;ll clean the stuff up and publish it.<br><br>Best regards,<br><br>          Patrick<br>