<div dir="ltr"><div><div><div><div><div><div><div>All the packages have READMEs and tests.<br></div><div>But yes... Most of the work was done by myself and given the amount of work needed in the code, the documentation always came last sadly.<br>Given the lack of interest initially for the project in the community, It failed to gain more attention from people</div><br></div>Cromlech uses some ZTK packages, if they are detached enough from the whole stack. The idea is to have something you build from bricks, one at a time, not to start with more code than you can understand.<br></div>Having a complete understanding from the request creation to the final response was key to produce quick and quality code, for problematics I could never resolve with Grok itself.<br></div>Having less overhead and more direct compatibility with generic python packages (base WSGI ones especially) is very appreciable.<br></div><div>It's incredibly satisfying to be able to intervene at the right level in the stack, when you need it, without having to rely on a ton of adapters, events and subscriptions.<br></div><div><br></div>Historically, the starting point was to remove zope.publisher. It's so entangled in the rest that we ended up stripping down everything, piece by piece.<br></div>Martijn and myself coded "dawnlight", that is the base publisher here and Crom/Grokker to use Venusian and more a flexible registration system for components.<br></div>These ideas were at the base of Morepath, I took a more grokkish approach with Cromlech.<br><br><div><div>Finally, a lot of effort was put into making the "framework" agnostic, regarding the DB and the request/response objects.<br></div><div>The security system is very light and flexible, allowing a very simple security or a very complex one.<br><br></div><div>In term of productivity, it's very hard to assess.<br></div><div>What I can definitly say is that we gained a lot of flexibility while stripping down the base code to a minimal.<br></div><div>It's faster, easier to maintain, easier to understand and is a solid base to build on.<br></div><div>Too often, Grok/Zope2/Plone feels like you're fighting against it or bending it to fit your needs.<br></div><div>I think it's profitable to actually code what you need, starting from a simple base instead of having to deal with a lot of decisions already made for you that may cripple your project.<br><br></div><div>i hope I make sense in this mail. I can sound confusing as it's difficult to summarize years of decisions, code and try to sparkle an interest at the same time.<br></div><div>There is a simple demo here : <a href="https://github.com/Cromlech/CromlechCromDemo">https://github.com/Cromlech/CromlechCromDemo</a>, that does a few things.<br></div><div>It's interesting to dissect the anatomy of an application, here : <a href="https://github.com/Cromlech/CromlechCromDemo/blob/master/src/cromdemo/src/cromdemo/wsgi.py">https://github.com/Cromlech/CromlechCromDemo/blob/master/src/cromdemo/src/cromdemo/wsgi.py</a><br></div><div>The focus of my work was to have concise, fast and explicit code , i hope it speaks for itself.<br><br></div><div>Thank you for your interest so far.<br></div><div>- Souheil<br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-09 18:36 GMT+01:00 Christopher Lozinski <span dir="ltr"><<a href="mailto:lozinski@freerecruiting.com" target="_blank">lozinski@freerecruiting.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"> <div><div><blockquote type="cite"><div>On Mar 9, 2017, at 6:10 PM, Souheil CHELFOUH <<a href="mailto:trollfot@gmail.com" target="_blank">trollfot@gmail.com</a>> wrote:</div><br class="m_3381690873866443408Apple-interchange-newline"><div><br><a href="https://github.com/Cromlech" target="_blank">https://github.com/Cromlech</a><br><br class="m_3381690873866443408Apple-interchange-newline"></div></blockquote><br></div><div>Well I took a look at it. </div><div><br></div><div>Many of the package names looked familiar.  They all had a one line description of what they do. </div><div><br></div><div>Sadly more documentation was lacking.  </div><div><br></div><div>But I linked to it anyhow, from Pylang.info.  </div><div><br></div><div>I wonder if your company is similarly much more productive than your competitors?   It would make very good anecdotal evidence.</div><div><br></div><div>The problem is that there are not that many users.  I share Paul’s belief of staying close to ZTK users. </div><div><br></div><div>But maybe we can take a step in your direction.  If we could remove one library from Grok/ZTK, and replace it with your stuff, what would it be?</div><div><br></div><div>My biggest unhappiness is with zope.publisher.   Just massive and hugely confused.  Grok views are confused and tangled up with it.  It even calls zope.app stuff.</div><div><br></div><div>Grok guys contorted things to work with the ZTK model.  I would love to rip it out and throw it out. </div><div><br></div><div>I have my own traversal. </div><div><br></div><div>I have thought of grabbing the Pyramid Publishing software.   Maybe yours would be better.  That would be one or two packages I could take from you.  Good for both of us. </div><div><br></div><div>What do you think?  </div><div> </div><div>Warm Regards</div><div>Chris</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></blockquote></div><br></div>