It is important to take a lesson from history. The better technology doesn't necessary win. It is the technology with the mindshare and the marketing.<br><br><div class="gmail_quote">On Tue, May 6, 2008 at 6:34 PM, Kevin Smith <<a href="mailto:kevin@mcweekly.com">kevin@mcweekly.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">Peter Bengtsson wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Jacob Kaplan Moss then held a longer talk about the history and<br>
success of Django. At the questions and answers afterwards I asked one<br>
of the questions:<br>
"What key thing do you think made Django so successful?"<br>
His answer was rather long but never mentioned a single hint about<br>
features or technology but primarily about how they prioritized the<br>
community adaptation. As he knew I was there to represent Zope he said<br>
"I respect what you've done with Grok but I think Zope is for<br>
developers whereas Django is for users".<br>
I'm tempted to exit at that but I think it's a point worth taking on<br>
board if we want to regain the traction we had when zope2 was hot. Or<br>
is that already what we're doing?<br>
</blockquote></div>
<rant><br>
That kind of put down burns me up.<br>
<br>
Lately I've been playing with DJango and CherryPy to take advantage of Google AppEngine technology and it feels like it's 10 years behind Grok/Zope3. Has he gone through the tutorial lately?<br>
<br>
"Design your URLs"<br>
<br>
urlpatterns = patterns('',<br>
(r'^articles/(\d{4})/$', 'mysite.views.year_archive'),<br>
(r'^articles/(\d{4})/(\d{2})/$', 'mysite.views.month_archive'),<br>
(r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'mysite.views.article_detail'),<br>
)<br>
<br>
C'mon regexp dispatching? GROK SMASH.<br>
<br>
Views:<br>
<br>
def year_archive(request, year):<br>
a_list = Article.objects.filter(pub_date__year=year)<br>
return render_to_response('news/year_archive.html', {'year': year, 'article_list': a_list}) render_to_response (blah, blah,blah.... what??<br>
<br>
render_to_response blah blah is better for users? GROK SMASH<br>
<br>
Templates:<br>
<br>
{% extends "base.html" %}<br>
<br>
{% block title %}Articles for {{ year }}{% endblock %}<br>
<br>
{% block content %}<br>
<h1>Articles for {{ year }}</h1><br>
<br>
{% for article in article_list %}<br>
<p>{{ article.headline }}</p><br>
<p>By {{ article.reporter.full_name }}</p><br>
<p>Published {{ article.pub_date|date:"F j, Y" }}</p><br>
{% endfor %}<br>
{% endblock %}<br>
<br>
Yeah, stick that in your DreamWeaver. GROK SMASH<br>
<br>
And "This is Just the Surface".<br>
Yeah, don't forget to install Apache, mod_python, psycopg2/posgresql, and set your PYTHONPATH to include DJango/create a symbolic link to DJango. Cuz that's what users like to do. :) GROK SMASH<br>
<br>
Wait until you find out all the stuff they still can't do that Zope already discovered, solved and refactored 10 years ago.<br>
<br>
There's a whole lotta Django apps that could be written super-easy on Zope2, but.... where's all the python code. Don't need much really... Hmmm... but I wanna write python code....<br>
<br>
They were successful due to brilliant marketing (kudos man), a mostly-developed python answer to RoR, a good sense of timing and strong community development skills.<br>
<br>
Perhaps grok is being too nice. GROK SMASH YET ANOTHER ROR RIPOFF.<br>
</rant><br>
<br>
Of course a real advantage for DJango is that they are AppEngine ready. Interestingly the Datastore is much more akin to the ZODB than it is to an RDB.<br>
<br>
No hard feelings. :)<br><font color="#888888">
<br>
Kevin Smith</font><div><div></div><div class="Wj3C7c"><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Grok-dev mailing list<br>
<a href="mailto:Grok-dev@zope.org" target="_blank">Grok-dev@zope.org</a><br>
<a href="http://mail.zope.org/mailman/listinfo/grok-dev" target="_blank">http://mail.zope.org/mailman/listinfo/grok-dev</a><br>
</div></div></blockquote></div><br>