[Grok-dev] Plone Conference Trip Report

Christopher Lozinski lozinski at freerecruiting.com
Tue Oct 20 20:47:10 CEST 2015

I just got back from the Plone Conference.  Very interesting.

Plone is really the biggest user of Zope.  160 people at the
conference.  Reportedly 200 last year.  Reportedly 100 Plone developers
were at the Python Conference in Montreal.  And lots of local plone
conferences.   They finally banished Archetypes and have moved Plone 5
to Dexterity. 

Mostly they have eliminated Grok from Plone.  Too confusing to have zcml
Grok.  Grok is still used in many Plone products, but has been
eliminated from the core.   They were all quite amazed when I showed up
to talk about grok in a lightening talk.

The other argument that they make is that ZCML is easier to read and
reuse.  Grok is a bit of
black magic, hard to debug.

They also liked Pyramid decorators on views. 

The counter argument is that grok supports inheritance, which the other
two approaches do not.
Remember inheritance, that little thing that python provides....

And of course Grok is way way easier for beginners.  It looks just like
python code.  You do not even realize what is going on.  And with grok,
everything is in a single file.

No point making those arguments.  They have their point of view.

So I did meet a few people who are interested in grok.  And of course
they are all interested in the ZODB.

Of course a lot of people like Pyramid.  Kotti is a content management
system built on Pyramid that runs on top of SQL.  Great polished
presentation, but I never did see the code to operate on a tree node,
with a list of heterogeneous children.  ZODB is brilliant for that.  

Over at blogory.org/group/zodb is a link to how to operate on a list of
heterogeneous content types. 
What a pain.

Let alone the performance issues.  With Grok, I can control which
objects are stored together in a transaction.  Just update the
_p_changed attributed before committing the transaction.  Or I can
control what objects get pickled together, I have that code.  Pickled
Object and Dictionary.   ZODB makes it so easy to do the optimizations
your application requires.

And of course pyramid hides the ZCA.  How can I do my custom moveTo
methods without ZCA?   It is a really big question.
What does substance D do?

Why is that important?  Well my biggest risk in life is the death of
Grok.  I had not  anticipated the stampede away from it. 
Now I better understand why it was so discouraged on this list.  What do
I do about it?  Release a new version of grok with a ZMI.  Not that hard
to do.  And a few people are interested.  That is enough.  A lot of the
plone people will then pick up
on my zmi. 

I went to the conference to do a sprint on this topic.  One adviser said
position it as a zope.zmi sprint.  Plone has a ZMI.
It badly needs love.  They keep saying they want to get rid of it, but
in fact they depend on it for catalog management and some other stuff. 
It is the Zope 2 ZMI with IFrames, and manage_main.  Just think how much
extra typing they waste.  But all their attention went into the client
facing gui's.  I understand that.  One person did sprint with me a bit
on Friday.  We had a very useful discussion and a code walk through.  
There are more grok developers out there than are active on this mailing

Martijn Faassen had one client who he turned over to an English
company.  There were two others in Holland I think. 
If your company is using grok, I would be glad if you would send me a
url, so that I can link to them from

I also met David. a Plone and Zope Board member who did the grok logo. 
The first one was done by Martijn's girlfriend.  It was then fixed up
for the web by David. He still has the physical grok club in his house. 


More information about the Grok-dev mailing list