What Plone can learn from Rails
Rails and Plone are not the same thing
Rails is for pretty simple sites
Focuses on little site re-use
Comparing apples and oranges
Easy to be envious of Rails
Went from nowhere to huge quickly
Why?
Just hype and marketing?
Yes a bit
Really hit a new audience
Compare to...
...Java struts, ASP, PHP
I believe it has...
A shallow learning curve
Zope has the famous Z shaped learning curve
So what can Plone learn?
Keep the learning curve shallow
1 Product refresh is damn helpful
Yes it's a hack, but new developers use it
Fiddle, refresh, fiddle, refresh
Can we find a way around problems for example
Refresh only views, or skins or zcml?
Not everything in Rails can be refreshed
But enough
2 New terms are confusing
Viewlets, portlets, zcml, oh my
I don’t know what a portlet is. Or a component, module, block, or snippet.
The last system I evaluated had something called "mambots" which, to me, sounded
like robotic assistance for breast-feeding.
http://adaptivepath.com/ideas/essays/archives/000365.php
New acronym or name is a barrier
A view in Plone is similar to a view in Django, but...
...a view in Rails is completely different
Can't win
3 Every new technology introduced is a barrier
Some things like Page Templates rock, glad they got invented
In rails you write .rxml
... or .rjs, a wrapper around Ajax
I would much rather write Ajax
If it was Ajax
... a new developer could pick it up quickly
... I could write it whilst sat in hotel in Milan with no internet connection
New wrappers or new technologies
Can be more effort than they are worth
4 Zope 2 is a barrier
It's fantastic, old, quirky and wierd
Fun text on button in moodle
Use carefully -- it can
make Apache/PHP crash ...[snip]
Then again... some ZMI messages
So many old ideas can get in the way
Do we need Script (Python), External Methods any more?
Do we need the ZMI?
Does it help?
5 Don't forget TTW
People love TTW, it's great
It's the ZODB persistence that sucks
Yay for generic setup
6 Trying to separate presentation is good
Writing Ruby in rHTML is hacky
Can get even uglier in helpers
Hard to keep up as things grow
#rails sucks
No matter how fun Rails is I will always miss #plone
Geoff Davis
8 Avoid making Plone do everything
You can't its not possible
People get frustrated and leave trying to bend it
A ticked off developer or failed project
...can do more harm than a happy one
9 Keep unit tests easy to write
Developers will avoid writing them otherwise
I really like Rails test fixtures
10 Marketing really does help
Seen those Rails "20 minutes build a whole site" demo?
They use scaffold
It's a peice of $%&^
Should never be used in the real world
Does nothing good
Yet everyone thinks that's what rails can do
We shouldn't lie, but we can focus on...
...building an application incrementally
11 We need a 37 signals
We've got lots of cool companies
But do any have recognition outside Plone?
Conclusion
...what I'd really like to do is give a new talk...
What Rails can learn from Plone
Credits
| Help: | Ian Cottee, Geoff Davis |