[Grok-dev] music tutorial incomplete

Steve Schmechel steveschmechel at yahoo.com
Wed Feb 16 12:16:04 EST 2011

Hello Jose,

I am the original author of the tutorial.  It did work at one time and I
can confirm that currently it does not work.  I have not had time to fix
it or move it to the new document repository and I am not sure when
that time will be available.

I am sorry to hear that it has caused you frustration, but for the
moment all I can offer is empathy.

I made the tutorial for the same reasons you express, I *really* like
Grok, but somewhere between all the howto's and actually setting out to
do something reasonably complicated, there is still a steep hill to

How to set up the environment, organize source code/templates/static
files, get the whole project under source control, establish unit
testing up front, understand what the development cycle should look
like, how to package it for production, etc.

All of these topics (in sets of one or two) are covered in various
howto's and tutorials.  However, each one leaves out the rest for
clarity or convenience and there is no official roadmap or template for
the overall development cycle.  

In reality, there are many individual roadmaps for developers that are
familiar with Zope/ZCA/Plone architecture and they are all valid and
Grok helps each of these developers be more productive.  

For myself, Grok development goes in fits and starts; I discover some
new trick and I am amazed at how fast things progress with just "a few
lines of code".  Then I try to add one more feature and spend hours
looking at six-page stack-trace dumps and searching Google.  The hard
part is that, I can never estimate how long it will take to implement
something, and without asking for help from the community, I would
probably end up hopelessly stuck.

Unfortunately, if you are leaving an environment that has a clear (or
mandatory) opinion about the whole development cycle (Django, Rails,
ASP.NET, Web2Py, etc.) and which optional components are "officially"
supported, the only thing you can be sure of is that your previous
techniques likely won't work efficiently with Grok, and the idea that
"you can do it any way you want" is not very comforting.

It seems that you need to really invest the time to struggle and
understand the ZCA and come up with your own difficult development
process, before you can really see Grok and his club as your liberating
hero.  I am sure that there is a class of application where the
cost-to-benefit ratio for climbing the learning curve is just too good
to resist.  (Content management systems, customer extensible and
integrated applications, multi-developer enterprise apps, etc.)

Unfortunately, for the type of small web applications I have needed to
create I generally end up reaching for something simpler and less
powerful, where I can make slow, steady progress, understand my
mistakes, and often re-implement a needed feature from scratch in the
same time it takes for me to figure out how to use and configure an
existing ZCA component.

If you are really looking to work on a project where the benefits of
Grok will pay off, please don't let my failings make you lose heart.
The people in the Grok community are very helpful and have done great
work in reducing the previous "Z-shaped" learning curve to sort of an
"M-shaped" learning curve.

If you are having specific problems or questions with my tutorial, ask
and I will try to answer them.  Overall, it may be too full of bad
practices to make it worth carrying forward.  Some Grok-guru could
probably re implement the whole set of requirements in under a half hour
on a screen-cast, using better coding techniques and without ever
breaking a sweat.  That would be the thing to watch!

Unfortunately, the Grok/Zope culture is not that keen on doing
screen-casts for new users.  It is more of a professional association,
meeting and helping one another on IRC and on mailing lists.  You might
be best served by simply starting on the project you want to work on,
and establish a dialog on IRC, asking questions as you go.

That seems to be how other successful, new Grok developers have
conducted their business.

Best of luck,

--- On Wed, 2/16/11, Jose Galvez <jose at cybergalvez.com> wrote:

> From: Jose Galvez <jose at cybergalvez.com>
> Subject: Re: [Grok-dev] music tutorial incomplete
> To: grok-dev at zope.org
> Date: Wednesday, February 16, 2011, 9:17 AM
> Thanks for the reply. Sorry if my
> post sounded hot headed, I was just 
> frustrated last night. I plan on trying to work through a
> couple more of 
> the tutorials. There is something very appealing about Grok
> that I am 
> not willing to give up on yet. Given the recent
> improvements are there 
> any tutorials that I should try first? any resources /
> documentation 
> that will make learning grok easier?
> Jose
> On 02/16/2011 03:48 AM, Jan-Wijbrand Kolman wrote:
> > On 2/16/11 4:11 AM, Jose Galvez wrote:
> >> I have been trying for the last couple of days to
> complete the music
> >> tutorial, and I think it is incomplete. If you
> follow the instructions
> >> as printed the application is incomplete.
> Specifically where it breaks
> >> down is adding songs, there is no logical linkage
> from a song to a
> >> performance, nor is it explained to use song.py,
> here is the url for
> >> songs mapped? This tutorial is very frustrating
> and should either be
> >> fixed or removed.
> > This is *very* unfortunate, my apologies.
> >
> > Thank you for reporting this - we're in the process of
> updating Grok's
> > documentation, but it is quite a bit of work. I hope
> you're not too put
> > off by this not to try Grok a bit more.
> >
> > Maybe the original author of the tutorial could spend
> a few minutes
> > getting you up to speed?
> >
> > regards, jw
> >
> >
> > _______________________________________________
> > Grok-dev mailing list
> > Grok-dev at zope.org
> > https://mail.zope.org/mailman/listinfo/grok-dev
> >
> >
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> https://mail.zope.org/mailman/listinfo/grok-dev


More information about the Grok-dev mailing list