Entries For: December 2005
December 31, 2005
: Nice overview of ATMultimedia Bundle
Jean-Francois Roche recently gave a talk about PloneMultimedia at the Plone Belgium users group meeting.
His slides provide a nice overview of this powerful suite of products, which include:
- ATAudio, for handling audio files including music downloads and podcasting
- ATPhoto, which provides some powerful photo management features, including import and export from Flickr
- ATVideo, which provides tools for handling video files
There is also supposedly video, courtesy of Mr. Topf, but the link appears to not be working right now. :-(
A screencast would be nice -- like PrimaGIS, these are tools that are even more impressive to see than to read about.
December 29, 2005
: Marketing, mindshare and blogging
Why a great blogging product and better documentation are a powerful way to market Plone.
Check out "The Great Drupal Blogging Project, Part One."
I think it illustrates something important about how Plone's
approachability and blogging features are criticall for building
mindshare among opinion leaders.
In this story, Linux-Watch.com editor Steven J. Vaughan-Nichols
begins recounting his path towards installing his own CMS for a
personal, blog-oriented website.
I decided that my first problem wasn't that I'm a klutz at Web design. No, my biggest problem was that I don't have the time to manually put up a decent-looking Web site.
So, it was that I decided to put up one using a blogging-oriented CMS (content management system). By that, I do not mean using an existing CMS like Blogger or Live Journal. I mean actually setting up my own instance of a CMS on one of my Linux servers.
After confessing his limited PHP/Perl technical skills, Vaughn-Nichols continues...
Thus, I ruled out the CMSs that require a good amount of technical expertise. The goal, after all, is to come up with a Web site that requires minimal time for yours truly.
I looked at some other CMSs, such as Plone/Zope and WordPress, but I wasn't sure where to go.
So, I asked some of my fellow tech journalist buddies at the Internet Press Guild what they used. Robin "Roblimo" Miller [...] suggested that Drupal might fill the bill.
He uses it himself for his personal site, and one of our comrades, Bob Young, founder of Red Hat, uses it for his current company, the publish-it-yourself powerhouse Lulu.
I then did a spot of research and decided that Drupal seemed liked it was the ideal combination of power and ease of use, with WordPress a close second.
Pay very close attention to the process here.
He first decides what qualities he needs. He gets a bit
intimidated by the apparently-steep learning curve of leading
products. Then, he asks his nerdy friends what they use. Then he
does some research, and feels better about moving forward.
It's not a techical, objective, rational process. It's based
on feeling, intuition, and recommendations from trusted friends.
Now you can criticize it as poor decision making, but it is how real human beings tend to make decisions, and there is a snowball effect from it.
Why do Vaughn-Nichols' nerdy friends use (and recommend)
Drupal? Apparently, because it has pretty decent blogging
features out-of-the-box, and is in many other ways a moderately
competent CMS for power-users.
And that is a lesson that I think Plone should take to heart. Having
a good blogging features that are front-and-center in a general-purpose
open-source CMS platform is a critical marketing feature, because
then technology opinion makers (who tend to write a lot, that's why
they're opinion makers) will use it for small projects, get confidence
in it, and recommend it to friends. That builds mindshare and
recognition for the product.
And actually, come to think of it, it's not just about
blogging tools. It's about all of the features that together make
a product like Plone suitable for quick-and-dirty
publishing/writing/community projects as well as complex, enterprise
projects. Things like a simple and clean install process, great entry-level documentation, awesome
usability, easy skinning, and the "Web 2.0" features that many
tech opinion leaders now expect (great blogging, great commenting &
discussion tools, great RSS feeds, etc.) Plone is world-class in
some of these areas, and could use more attention in others.
That's the connection between "grassroots" features and "enterprise"
projects. Mindshare and critical mass are built one small successful project
at a time.
December 28, 2005
Alan Runyan: Best Practices
While 'best practices' change as we evolve Plone and learn what works and what doesnt. We must document them or we risk hurting ourselves in the long run.
The Phone Calls
Its not a conspiracy theory. I am on the phone, all the time, with people around the globe. Most of my jabbering has something to do with Enfold Systems and Plone. Other times its keeping up the social ties that keep me connected to developers, partnered companies, and friends. Recently I was on the phone with a great developer chewing the fat about 'best practices'. Of course that word was only muttered by myself (which I find myself constantly saying such words, and if I could see myself 5 years ago - I would either castrate myself or wash my mouth out with soap^H^H^H^Hzope) not the other developer -- he chooses his words wisely and rarely talks about 'community'. He knows that his involvement is limited to things that impact his life; he's clients need to be happy and he has a gas coding in Python and he enjoys Zope. Its amazing how similiar he is with a lot of developers in the world of open source, Zope, Python, etc. At one point he was burning the midnight oil to push the boulder forward; now he picks his battles and is more upfront what he is willing to work on for himself and others. NOTE: Clients *pay* him to work on what they need. He cant get around that. Anyway.. he wants to document the development process and manage people's expectations - so he doesnt have to clean up the toilets after some newbie clogs them up and the Zope system overflows from rubbish choking the toilet.
Guts on the Table
In the land of open source - you see how the sausage is made. And its not pretty. It's people working their ass off to code. Some code is great; lots of it sucks. But the thing is -- no one can predict where it (any code) will be at some (future) point. Most of the people working their ass off are doing it because its their passion. And my friend's passion is helping other people; besides coding. With all of the guts on the table; people are easily confused. What is a good product? What is the best way to extend the system? etc. etc. How do we answer these? We can write books but we learn valuable lessons every day and the books are outdated very quickly. Now only the guts are on the table, which can scare and confuse people. It's also a weird experience for people coming into the community.
There is no Talk there is only Do
Since people see all of the guts and its as easy to participate as posting a email -- everyone is a back seat surgeon. Saying what should happen. But most commonly the charge is This is Wrong and That is Right. Offering the Correct Way (Tao of Snot) amounts to little more than adding unwanted noise; unless you are being constructive. And if you are gonna to bother to be *that* constructive you might as well just Do It and punt on the talking about whats wrong. Show people whats right. The guy on the other end of the phone - is big on Doing not Talking, at least not into talking about doing.
How Things are Done
I just made a post talking about Best Practices of Plone Development. Of course it was ramblings similiar to this web log post. But it was narrower in scope - I hope it benefits someone. In fact the email title was Best Practices for Sustainable Development - cant git more ConsultingSpeak than that -- I love it. So this guy asks, "How do I do this" and the entire time I'm writing this I'm wondering, "Has this guy programmed anything in Python outside of the context of Plone?" And I think thats what is bothering my buddy on the phone. He is realizing that a lot of people who are doing things like Managing Skins/Scripts Through The Web (affectionately known as TTW) are doing it because they have no Python Programming context. To say it bothers him is a understatement.
Been There
I came to Python through Zope. I did everything through the web. It was "The Hook". The problem was no one told me that what I was doing was not durable. Also I dont know if I had the capacity to understand (over the internet - in person, if someone sat me down - i would have understood) that what was happening and what I was trying to accomplish -- was basically programming Python using a Web Framework and a Object Persistence System. NOTE: I had never used any form of persistence besides insert,update,delete in a relational database; much less a persistent object system or something so transparent and easy as ZODB. So a lot of the magic and power of Zope that I saw and was being "led" into using, was simply ZODB and Python. But I was doing it the wrong way -- in the Zope Management Interface not on the file system. Not with tests. Not with a framework such as CMF/Plone. Not with a community that has upwards of 3-4 conferences per year (2 Plone conferences, 1 PyCon and 1 O'Reilly - add EuroPython and OSCOM and you have a lot of Zope/Plone presence). Now we do. And we have Been There Done That. We should really share our experiences; talk at conferences; leave evidence of our knowledge via documentation. And people who receive this knowledge should feel compelled to redistribute it publicly.
My Friend My Friend
He is quite pissed about the state of documentation but also pissed about how newcomers expectations are being handled. He wants people to understand how to use the technologies we all use on a daily basis. He wants to raise them by their bootstraps and get them to speak, think and act like competent developers. Not to pigeonhole them into a web interface - but show them the power of Zope/ZODB/Python and let them make their own informed decisions. I think he would like: People to use version control (SVN), people to use doctests, people to understand python, people to understand persistence and then work themselves into leveraging Zope the way they need it. He wants them to make their own decisions. I commend my ernest friend.
There are less important things to care about
I, on the other hand - sort of care a tad less. I believe tha people can be sandboxed into use Archetypes to create "content types", simple "tools" and write tests. Then use something like Entransit to formally delivery the content out of Plone and into data sources like XML and RDBMS that is then served by a technologies that fit their brain (read ASP, JSP, PHP, Python). I know, in my heart - My Friend is right. But I know in my slackgland that people are lazy (like myself) and just want something to work and arent interested in upfront pain. Zope to me was the "last admin interface I ever had to write" -- I could use Zope and I would never have to make an administrator interface again; I could focus on using the data that came from the content authors. I'm still tha way. Plone is the ultimate Content Management System that excels at content authoring and overall production. Entransit is the repeatable way to push content into another system; then use your skills to go from there. I have less important things to care about than building a better mousetrap or teaching people that bobo is superior to servlets or ASP.
WTF is the Point?
Ugh. I'm not sure where I am in this post by now. I can say in full confidence we need a Zope/Plone Best Practices document/tutorial - that is kept up-to-date. Everyone needs to tune out the people offering advice without commitment to putting in the elbow grease. I urge everyone to write documentation and solicite feedback -- those who incorporate feedback and cultivate contributions are the people who will help the community and project the most and personally get the most out of participation. Finally I would like to thank My Friend and all other people in the Zope/Python communities
for being such great people. I cant express how much fun it is to see Zope/Plone grow -- all the while introducing new people to the Python language. Zope is the best damn application server on this or any other planet. We just need to be a tad more convincing.
December 22, 2005
Alan Runyan: "Make a Better World"
James Booker applied to Plone and evagelism.
Plone is top 10 Content Managment Systems
So have you checked out Google rank lately? Content Management
- by Google. Besides Plone being one of the best Content
Management Systems (NOTE: We are not interested in Enterprise Content
Management) in the entire marketplace - Google searches and websites
are starting to really increase dramatically. A search for Plone
yields over 15 million results when googled. And ya know -- that query
is really telling.
Plone makes money; car dont make no money
If you have seen Hands on a Hard Body
there is a guy who says "Truck make money; car don't make no money" and
that is absolutely true. Trucks can make money but most
importantly -- Plone makes money. Look at the google results for searching for Plone
-- we have consulting firms galore advertising. This is
indicative of people making money -- because they are paying money for
these adwords. Not hosting services or low-cost services.
But business oriented consulting; people providing solutions with
Plone.
Giving back?
Are these people giving back? A lot of these companies are not involved in the Plone Foundation.
Which is mildly depressing to say the least. But not only that -
they dont contribute to the protection of Plone or advancement of
Plone. ZeoMega for instance helped the Plone Foundation with a
booth for the O'Reilly conference. I've never heard of Opatros or
Enomaly. Are they giving back? Are they helping with
Marketing?
Ways of Giving Back
- Submit your website's to plone.org to be listed on plone.org
- Tag your website's with plone-site using del.icious.us - it looks like we have over 600 sites taged.
- Sites that are using Plone should have a link to plone.org -- to increase our google rank along with
icon
You
should always ask your client. I've never had a client that did
not want to link to plone.org -- they are getting a very capable
product for free. Enfold Systems didnt do the skin/design for Oxfam America but they were so happy with Plone they agreed to put a plone powered icon with a link to plone.org.
- Help out with marketing analysis. Donate to the Foundation. Come to a Symposium or Conference and do a presentation or sponsor a sprint.
- Contribute code, enhancements, pay developers to work on features or work on documentation.
- Be creative - you started a company - what can help both your organization and Plone?
Open Source is not a Fad
I
believe a lot of people have "caught on" to this Open Source as the
DotCom phenomenon and a great place to make money without having to
contribute. But if I was a client looking at firms to provide
solutions with Open Source -- I would ask for firm evidence they are
tightly involved with the project. There are reasons:
- If you are not a contributor or work with the project - if there are deep changes need to be made for your client - there is ZERO possibility of the code going back into the main project. Which is a shame - because deep changes (if applicable) are what Open Source evolution are all about.
- You are a consumer of Open Source but have ZERO legitimacy which means you will not be able to control your destiny. Most vendors who work with large CMS provides - are not used to this relationship between organization and community but the idea of Controlling Your Destiny is critical in Open Source. Because the software exists today but if no one pushes the software further or the people who are pushing - move it into a direction you do not like -- you will have no recourse.
- If you only take and do not give - that is Evil. I am not a fan of Bush and I'm not interested in politics on the internet (only in person ;). But if you are a constant taker of Open Source gifts without any contribution -- you are doing Evil. Sorry to say it - but you are. Dont be evil. Its Christmas - people! It's the time for *giving*.
Laissez le bon temps Roulez
And on that note - I'm gonna load up my Egg Nog with some Myers Dark Rum and crank up James Booker's Junco Partner and do a tad of coding. At Enfold Systems we have recently been working with Democracy in Action which is a ASP similiar to GetActive.
We now have a Python API into Democracy in Action in our SVN. svn
co https://svn.enfoldsystems.com/public/deminaction -- they are
inexpensive. Cant wait till we show you guys how and where we are
using it -- its gonna blow you away!
Oh and before I leave..
the title of this blog - is inspired by James Booker's song.
Which you really should listen to while reading this posting.
Some lyrics:
"The world we know is built on skills, but that alone dont count"
"You gotta live and give; share and care"
"Everybody lets sing let freedom ring"
"Society is the priority, we're all one part of a whole
Whenever people shout, we gotta here them out,
Everyones a beautiful song."
fsck honkey ole Richard Stallman - I elect James Booker as the new Free Software Movement spokesman.
Everyone
please be safe over the New Year - I hope this project and community is
as inspiring to you as it is to me each day. If not start giving
a little more, and go buy the Junco Partner album -- if giving isnt
making you groove enough
your friend and dictator, alan runyan
December 20, 2005
Jon Stahl: Thanks, Martin!
A shout-out to Martin Aspeli, who made my life happier this week...
... by writing the Creating A Custom Navigation Section how-to on Plone.org. I have been struggling for a while to grok a sensible way to implement dynamic drop-down menus for a Plone site. (Limi is probably getting a headache as I type this, but hey, the customer is sometimes always right.) Martin's timely article provided the "missing link" for me between Plone's navigation and the various CSS/javascript drop-down menu techniques.
Thanks, Martin! You're are, for this among so many other reasons, a rock star.
And while we're on the subject, check out the Mid-Peninsula Regional Open Space District for a nice example of how drop-down navigation can actually open up the design of a site quite a bit.
December 15, 2005
Jon Stahl: What Can Plone Learn From Ruby On Rails' Marketing?
Plone and Ruby on Rails aren't the same thing, but there's a lot Plone can learn about marketing and building mindshare for an open-source toolkit.
So, the buzz this week among web developers is the new Ruby on Rails site. For a new product with a rather small number of users, they sure have a lot of buzz. How do they do that?
As my colleague Steve Andersen pointed out, they do a great job of breaking down their core message and presenting it in digestible chunks with pretty pictures.
What lessons should the Plone community learn from their polished efforts?
December 05, 2005
Jon Stahl: Interview with Alan Runyan
Tom Parish interviews Alan Runyan about Plone and the Plone community.
Jon Stahl: COREBlog2 Released: Another (Pretty Good) Plone Blogging Tool
The fast-moving landscape of blogging tools for Plone shifted yet again with this week's release of COREBlog2, a leading Zope blogging product, in a Plone-compatible version.
One of my biggest obsessions of late is the state of community & collaboration Products for Plone. (See my baseline rant of a few weeks ago.) One of the topics I went on about at some length there (and on the Plone-devels mailing list) was the somewhat sorry state of blogging products for Plone. To make a long story short, there are about five halfway decent blogging products for Plone, but none that are truly outstanding and full-featured. Seems suboptimal to me.
Since I wrote that initial piece, the landscape of blogging tools has continued to shift -- in promising ways. Kai Diefenbach, the creator of EasyBlog, released a 1.0 version and announced his intention to refactor EasyBlog and use the fast-evolving modular services of the Quills 1.0 branch, on which Tim Hicks has been quietly doing some great work. That's a great move towards a more collaborative product landscape, and hopefully the combined forces of two leading Plone blogging development efforts will result in an accelerated development effort. Bravo to Tim and Kai for making the connection.
Then, early last week, another interesting development: Atsushi Shibata released COREBlog2, which is the first Plone-compatible version of COREBlog, the leading blogging product for Zope. COREBlog2 has a very polished front-end with most of what you'd expect in a blogging product. It also looks like it's being developed a Z3/Five-ish style.
COREBlog2 looks like a nice product, but it's still a few syllables short of being the Last Word in Plone blogging products. Here's a quick rundown:
Good things about COREBlog2
- A sensible, fully-fleshed-out blog entry schema. Headline, subheader, excerpt, body text, extended text, categories, etc.
- Sends pings to notification services.
- Trackbacks and comments can be open, closed or hidden.
- Nice, clean default templates.
- Support for comments from non-logged-in users.
These are all things that are missing (or mostly missing) from current Plone blogging tools.
What COREBlog2 seems to be lacking:
- Tools to prevent (and quickly clean up) comment and trackback spamming. Plone isn't being targeted right now, but it will as more folks use it to blog. Best to solve the problem while it's not an urgent one. WordPress' option to moderate unauthenicated commenters comments until the admin approves, then to automatically publish comments from folks whose previous comments have been approved works pretty well.
- COREBlog2 needs to have an option to require users to register/login to post. That's appropriate for some sites.
I'm not technical enough to offer an opinion on the quality of the underlying code, but I'd love to see some comments on it if anyone out there is so inclined. (Hint hint.)
OK, So where does this leave us?
Where to from here? How do we get a great blogging product out into the wild? It seems to me like COREBlog2 provides a solid front-end (and maybe a solid back-end, too). No idea where Atsushi wants to take it or if he's looking for contributions/collaborators. (There doesn't even seem to be public SVN yet, but the code is GPL, so that's a good sign.) Tim Hicks' work on FatSyndication, FatTrackback, etc. -- Five-ified core services that blogs (and other content types!) need is also very worthy, and Limi has explicitly stated that he thinks its a smart direction to pursure. Kai clearly has a head of steam up on the problem, and is looking to pitch in collaboratively.
Personally, I think it would make a lot of sense to try to wire together Tim's back-end work with COREBlog's polished front end, and try to fill in the missing features around comment and trackback abuse.
What do you think?
December 04, 2005
Alan Runyan: Task-oriented Documentation
Ofer randomly emails me things he finds on the net. Today I had some time to read the blog posting he sent to me which was a guy ranting about the status quo in Open Source CMS. While I think he missed the point with Plone; he got one thing right.
I'm not into blogs. When I'm on the computer these days - there is no time for faffing about with weblogs. I have my set of weblogs - I dont even have a RSS client that rolls them up. I goto them manually. Thats how lame I am. Ofer pointed me to a weblog entry where this guy is fed up with open source cms systems. Buddy, we all are fed up with the state of CMS that is why the Plone project is trying to fix it.
So this guy's major complaints are:
Make it easy to install. --
I think Plone is a winner in this category.
Make it easy to get started. --
I think Plone needs to focus on this
Write task-based documentation first.
I think this is critical for Plone to take over commercial markets.
Separate the administration of the CMS from the editing and managing of content.
I explain this below. Basically out-of-the-box we should give people a concept of 'microsites' and staging. I have written about this numerous times about using accessrules to apply retail views using portal_skins.changeSkin method. Not only does this need to be documented it needs to be considered best practices.
Users of a public web site should never -- never -- be presented with a way to log into the CMS.
Since users dont have a understanding of the above changeSkin using accessrule. They think that Plone is *required* to act this way.
Stop it with the jargon already.
We are getting better about this
Why do you insist Web sites have "columns"?
This was because he didnt understand that you could change the skin to a retail view.
You will notice that if we would explain this 'applying retail views using hostnames to differentiate admin from public' we would have solved most of this guys complaints. Education is very important. In fact it is what is keeping Plone from widespread adoption. It is not a technology problem. It is creating quality mateirals, presenting the mateirals and people being able to discover the materials.
So here is my reply to this guy but since I dont read/use weblogs much. His weblog system asked for me to comment but when I tried to post it said his weblog was not accepting comments (why did it allow me to reply to this weblog?). I think he was using something called movable type which is regarded to be on the best weblog systems around. Then why does it have such a obvious usability problem? *smirk*
My response which was rejected because Comments are not allowed on this entry.
If the biggest problem you have with a CMS is 3 column layout -- either your not looking hard enough or your requirements are rather shallow. I do agree that the state of CMS is rather sad.
Your problem with Plone, is that you do not understand how to apply a different view to your website. You were trying to customize the Plone administrative interface.:
- You should not try to customize the plone admin interface. It simple to create a folder off the root of your Plone called, say, public_website.
- Create a skin using Zope PageTemplates (this could be hard for you as well - not sure if you like ZPT). You have to read up on how to create a skin. Then register it as say "RetailView".
- Create a AccessRule in your public_website that when you go into that folder and the URL is a retail url such as <a href="http://mysite.com/">http://mysite.com/</a> that it applies the RetailView.
- Finally set your virtual host to point mysite.com to the public_website and set admin.mysite.com to point to Plone. voila.
I think its very difficult to support all the aspects of site building in one application. For instance, it will be difficult for other systems to handle the translation functionality that LinguaPlone gives you with Plone. Then add EnSimpleStaging which gives you a simple versioning and Staging solution, ouf-of-the-box.
In my world its not about if something is called mambots or if it has 3 columns. I need to be able to make sophisticated websites that fulfill business rules and can be customized quickly, easily and maintain robustness. In my experience Plone seems to accomplish this very well although it requires understanding of the system (just like it would require you to understand best practices of interwoven or vignette).
Its not what Plone can do for you
Plone is the livelihood for tens of companies supporting an estimated revenue of approximate 100 million dollars globally. What are the companies doing? Why are they not helping with documentation? Task-oriented documentation would be fantastic contribution to the Plone community in which we could all use to pass to our clients -- if it was quality. I will save the 'what others are contributing' rant for another time. But I would like for the community to reach and help work on a area of Plone that is sorely lacking. Documentation. Specifically Task-Oriented documentation.
Documentation that clearly states: Here is the problem, Pre-requisites, Tasks, Post-instructions, Conclusion. This way people can easily look up specific problems and solve them in a uniform manner.
The amount of documentation is not the problem (there are 4 books and countless articles, blog entries, online tutorials) its a systematic way of introducing people into concept of Plone and making it better. We need someone who has endurance and can overhaul our documentation story to the public for Plone.
December 03, 2005
Jon Stahl: Calendar Sprinting
Looks like the Calendar Sprint crew is off to a flying start.
Cheers to Nate Aune and the Calendar Sprint gang who appear to not only be making some good progress on assessing and improving the state of calendaring functionality for Plone, but taking great day-by-day notes, too.
They're even webcasting. That's hot. Could this be a new standard in sprint documentation?

December 02, 2005
Jon Stahl: GIS in Plone With PrimaGIS -- Screencasts Available
Check out two new screencasts showcasing the capabilities of PrimaGIS, a collaborative web mapping application for Plone. It's an eye-opening demonstration of the power of the Plone platform, and how well it plays with other open-source frameworks.
Josh Livni of Livni Consulting has put together two screencasts showcasing PrimaGIS.
For those of you not following the open source mapping world, PrimaGIS is a collaborative web mapping application for Plone. It builds on top of the open-source MapServer application, and uses the Python Cartographic Library (PCL) and Zope Cartographic Objects (ZCO) to expose powerful interactive GIS mapping capabilities inside of a Plone-powered website.
OK, alphabet soup. Here's the deal: PrimaGIS makes it easy to build powerful web-based mapping applications inside a Plone site. That's cool.
And it's a great showcase not only for open-source web-based mapping tools, but it really shows off how Plone can be used to power amazing web-based applications that manage and display content in innovative ways. It can also suck in data from other GIS repositories -- this is Google-map mashups, only practical and useful, and standards-based.
Check out the screencasts. It'll be the best ten minutes of your week.
Also worth noting in the rapidly-maturing world of GIS in Plone: WorldKit.