plonewars.com

January 16th, 2007

Plone products, Plone content management software directory

Plone products, Plone content management software directory

Originally from del.icio.us/tag/plone by tragati


from Yoda http://plonewars.com/2007/01/16/plone-products-plone-content-management-software-directory-3/







January 16th, 2007

PloneFormGen — plone.org

PloneFormGen — plone.org

Originally from del.icio.us/tag/plone by hrck


from Yoda http://plonewars.com/2007/01/16/ploneformgen-a%c2%80%c2%94-ploneorg-3/







January 16th, 2007
January 16th, 2007

Mikko Ohtamaa: Hacker’s story – How Plone changed my life

This story
is greatly inspired by Tom Lazar’s blog entry On
Living ‘The Life[tm]‘
. He tells his story. I feel that I need to tell mine,
in hope to inspire and encourage people. And naturally, when it’s once well written
down, I don’t need to reinvent my background story in every occasion.

 

I am an
entrepreneur, and have been a full time entrepreneur few months now. Nowadays,
when people ask what my job is, I answer “I am hacker”.  Usually the conversation ends there, with a
strange expression on the questioner’s face. It’s much easier say to be a
hacker than to explain all this open source and contracting stuff to people
outside IT scene. And I like being called a hacker. I think I was born to be a
hacker.

 

What hacker
does? He codes. By coding I don’t refer to programming alone, but to all
activity happening at the front of computer which requires a lot of typing and
results to new wonderful things. A hacker codes, with passion, a code which does miracles.
Passion is the key element. All the expertise gushes from the natural love for
the technology. This brings expertise which cannot be achieved in 8/24 job, in
company training, in office environment or at the university classes. You need
to be an adventurer who lives in Internet to stay in constant touch with the
latest technology. You don’t do these things to get a comfortable office with
nice salary – you do it to create a better world for people to live.

 

I have been
writing code since I got my first PC as 8-years-old kid. It had black and white
Hercules monitor, which greatly limited running games. So, I just had my text
mode and GWBASIC interpreter, and all I could do was to type code. Thanks,
Bill. Since then I have been coding everything: embedded, server, web, WAP,
Windows, Unix, UI, protocol, 3D games, mobile phones, ring tones, you-name-it.
And I am pretty sure that I have reached my limits as a software developer.

What kind of person I am?

It might come
as a surprise, but I didn’t study computer science in the university. I studied
industrial engineering and management. By far, it has been the best choice in
my life. It has crucially made me a person I am now. In class room, I learnt
basics of quality, project management, and basic managerial stuff. But the real
growing happened outside class room.

 

Mainly due
to high team spirit in our student organization, a bit unsocial guy, like I
was, turned out to be a nice friendly guy who can actually handle people and
management stuff too. Nowadays, I love be at the stage. I love to discuss with
people. I love to help people. I insult people less with not-so-well-though
phrases. I can take any criticism people throw at me. The sharpest edges of my
nerdish, fly agaric like, nature have been polished out. I am not a natural
born leader, I know my weaknesses, but I have gained enough social skills to
run a business.

 

Thank you
for student organization activities! (The actual growth process consists of sitting
in student organization meetings, parties, lots of vodka, sauna, crazy
stuff done naked, and causing havoc for general society. And lots of vodka.)

Tipping point of the life

The tipping
point of my life was on spring 2006. Tipping point
is a book by Malcolm Gladwell, much hyped by Ruby folks (whose active efforts
of marketing and making out-of-box experience easy as possible might some day
be the nail in Plone’s coffin). I am not sure whether I can apply the term ‘tipping
point’ to something qualitative as life, but oh boy, my life took a totally
different course then.

 

I had done
little experiments with
Plone. Gosh, Plone was hard to learn. Plone is candy outside, monster inside.
Don’t ever think about asking documents in open source world, but even the
slightest code comments would have been really helpful when I was sunk in the
incomprehensive software layers of Plone and Zope. Anyway, I felt that I could
give something back to Plone community, so I released and patched few Plone
products. I don’t know what I hoped when I added a little signature to release
notes “will work for food”.

 

Then, I got
the first email. Someone was asking for help. Kindly, I wanted to help. It
appeared that someone had fell in love with Plone, but this incomprehensive
software layers part was a bit too much for her. I ended up doing a month worth
of working hours for little fee. My Plone consulting career just had started.

 

I didn’t
find my office work very rewarding; Plone work as
an open source hacker was much more fun. I started to be more active in Plone
community – I got more work propositions. Then I though passed my mind: if I
could do this for my life.

 

Plone has the most functional business
ecosystem from all those numerous open source projects I have seen. Companies really make money making Plone services and
it creates push for Plone. I don’t know how Plone ecosystem has evolved to be
Plone ecosystem. But If I had not picked Plone I wouldn’t be where I am today.


Going incorporated

in Autumn
2006, I told to Ardites, my former
employer, that I want to go for my own business. They kindly offered a soft landing to the entrepreneurship world. I was able to work for them as a
part-timer and later as a subcontractor, providing basic workload for myself
and thus guaranteed that I had butter on my bread. My advice: If you want to go
for your own business, always ask possibility of doing some kind of deal with
the current employer. Don’t burn bridges, but tell how it’s a good option for
both of you.

 

Currently I
have two contracting projects unrelated to Plone which take the greatest share
of my time, but also provide some stable income. After nine months, I have had
five clients who have paid for Plone tasks. A fun point is that all those are
foreigners. A contractor is a rare sight here in my beloved home country where national
social system is strong. Not everyone wants to be a wage slave in a safe,
stable, environment.

 

I got
myself incorporated at the turn of the year.

 

Now, when I
am not a hacker alone anymore, but a manager too, I want to impose my hacker
values to business life: Openness, altruism and the pride of one’s work. There
are already some companies doing it and
they have inspired me to take these steps. Let’s see if hackers make good
managers.

 

I am hiring
one of my good friends as my associate. He is not hacker as I am, but I really
need the pair of extra hands. My biggest worry is that if I can offer enough
work for my buddy. Instead of getting Plone contracts through open source
community, I hope we can aim for non-technology specific web site deals. General
web sites might not pay as well as platform specific consulting, but I doubt whether I can get enough work through Plone community.

 

The future               

I have a
vision. The vision is “software product business.” Consulting business
is easy, but you’ll never get rich with it. Every penny you got is tore off
from some poor bastard’s back skin – if it’s not you then it’s your colleague. Thus,
you’ll need to create new business, by definition, not just help others.
Unfortunately, I am 30k€ – 100k€ short of cash to start bigger
product development ventures. Let’s see how things will turn out.

 

Ultimately,
what I  thought I want to do in my life is to make video games. It’s my
childhood dream. Write games, direct them and product them. Tell my stories
and then watch when people are enjoying. I want to be kind of an architect of
fun. Unfortunately game business has high risks and is quite costly, one AAA
title costing over 10 million euros.  As I said, I am still a bit short of cash.

 

I also want
Jaguar and a house in Australia – little silly dreams.

 

Meanwhile,
if you need a Plone hacker or have extra 10 million euros, you know where to get
my email.

May day monster

Seek to understand then be understood. – Stephen R. Covey, author

;-)

 

Mikko Ohtamaa: Hacker’s story – How Plone changed my life

Originally from Planet Plone by Mikko Ohtamaa <mikko@redinnovation.com>


from Yoda http://plonewars.com/2007/01/16/mikko-ohtamaa-hackers-story-how-plone-changed-my-life-2/







January 16th, 2007

Mikko Ohtamaa: First post

The Earth is calling

Mikko Ohtamaa: First post

Originally from Planet Plone by Mikko Ohtamaa <mikko@redinnovation.com>


from Yoda http://plonewars.com/2007/01/16/mikko-ohtamaa-first-post/







January 16th, 2007

Mikko Ohtamaa: Lost’n'found

Plone’s stock search functionality has several shortcomings

  • Search form doesn’t utilize Plone’s content model and is based on scripts containing a lot of hard coded location information, making customizing and creating variants difficult.
  • Plone’s Smart Folder functionality provides rich search criteria, but doesn’t provide easy end user interface to do arbitary queries – searches are static, created by the site manager.
  • The underlaying architechture, Zope’s ZCatalog, doesn’t support boolean queries or multiple sort keys.
  • According to the research (sorry, Finnish only!) made at University of Jyväskylä, Plone’s default search result listing can be confusing. Try it yourself: go to plone.org and type “Eclipse” to the search field. The first hit is a screenshot instead of the tutorial you are probably looking for.
    • Searches don’t utilize content type in the ranking, only word counts in the text matter.
    • The results lack location information. If there are similiar titles under many folders, the result will be ever more confusing. A simple use case would be a folder per company department, each folder having “personell” page. One couldn’t distinguish pages from each other in the result listing.

A new product, Custom Search,  addresses these problems

  • Search forms are Archetypes based objects, meaning they appear in the navigation tree, they have permissions, etc.
  • Adding new forms and search fields can be done through-the-web easily If you have need very custom code, the search items can be extended using the normal class inheritance and schema magic which is used for the all Plone content types.
  • Numeric, boolean and ranged search indexes are supported. This is useful if your content types have attributes like a price.
  • Custom Search uses AdvancedQuery product by Dieter Mauer as a backend. AdvancedQuery monkey patches ZCatalog to support boolean queries and multiple sort keys.

Here are some screenshot examples what Custom Search can currently do.

For some use cases, Custom Search is already very usable. It still lacks some functionality like batching support (all search are displayed on one page) and adding boolean conditions to the queries.

Mikko Ohtamaa: Lost’n'found

Originally from Planet Plone by Mikko Ohtamaa <mikko@redinnovation.com>


from Yoda http://plonewars.com/2007/01/16/mikko-ohtamaa-lostnfound/







January 16th, 2007

Mikko Ohtamaa: Organical growth problems in open source codebases

One common feature in nearly all community driven open source projects
is that they grow organically – stuff gets added when people need it.
People come from different backgrounds, have different principles and
goals. You cannot command them into engineering discipline like in big
corporation world. This leads to tangled codebase.

I have been working with few Python based open source projects (Plone,
Zope, Django and Python itself, all community driven) and then with
Java projects (Eclipse, IBM led).

  • Community driven code borns through natural evolution
  • Corporate driven code borns through design and discipline

In my opinion, the strong lead might
lead to higher quality code base which is more fun to work with (i.e.
gives less headache).

  • If there are big payrolls involved someone is usually paid to
    create documentation and there might be even useful comments in the
    source code due to formal reviews. Less try-to-see-how-it-works, less
    dive-into-source, less headache.
  • The style is consistent. You don’t see code like
    MyClass. my_function(). getAnotherFunction(). isthisreasonable().  Java has standard coding conventions, when Python lacks them. The result is eye hurting soup to read. Since
    good auto complete is nearly impossible to implement in Python IDEs, double
    checking function naming is even more PITA.
  • More polish. You won’t find XXX, TODO, etc. in code in a critical moment when you thought the subsystem was already working
  • After things are once done without too much thinking, phasing them out is difficult. “This method will be deprecated” warnings may stay in the code many years.

In community driven open source projects, at least code conventions could be forced in the scope of the project itself. Other kind of strict rules might not work. Decrease too much the degree of the freedom and soon you don’t have committers at all.

I have myself patched some Plone products. It’s very unmotivating when your freshly baked cake gets tossed away when the codebase maintainers point things you are not interested in and thus your patches are rejected.

Mikko Ohtamaa: Organical growth problems in open source codebases

Originally from Planet Plone by Mikko Ohtamaa <mikko@redinnovation.com>


from Yoda http://plonewars.com/2007/01/16/mikko-ohtamaa-organical-growth-problems-in-open-source-codebases/







January 16th, 2007

Mikko Ohtamaa: First steps with Django

I have been poking around with Django few days now. I have been doing Plone development two years, so pardon me if my comments on Django are inaccurate. Here is a bit mindflow pouring out of my head. Again pardon for not-so-well-ordered content.

On the blue corner…

Django is a web development framework. You can easily implement small site functionality on it. Django has a bit hype around it now when the father of Python, Guido van Rossum, named it as the preferred framework for Python web development.

Plone content management system/(running on Zope application server) is complete content management solutions which ships with tons of stuff like permissions. workflows, complete skinnable UI. Plone has been here for years, there are a lot of real companies doing web development and some developers estimated Plone installation base be several thousands.

Naturally both are open source.

Common for both of these web platforms is that they are based on Python programming language. Currently, Python is my favorite as a wrist saving language. Python has compact, easy-to-read, syntax: You type less – you are more productive.

Test-fix-restart

Plone takes aeons to boot (it loads nearly 10 MB Python code to memory). This makes Python code debugging painful, even on the latest monster machines. (Note: this doesn’t concern CSS/HTML development). Plone used to have on-the-fly code replacing, but with the latest Plone/Zope versions it usually fails due to Zope 3 dependencies. Zope 3/Five doesn’t support hot replacing code, does it?

Django boots in one second.

The best of both

Django doesn’t have a hiearchial content tree which makes things like automatic navigation trees, permission inheritance, etc. difficult. On the other hand, a big part of Plone codebase internals deal with acquistision: you have extra things to worry about.

Django is good when you don’t need through-the-web content editing, the content is mostly static and there aren’t many people working on your site (permissions).

Also, Django is based on traditional relational SQL databases. Plone’s object-oriented Zope database, though is better for hierarchial content like most of CMS deal with, is simply weird. This scares off management people.

Why Zope backend is better for CMS? For example, it has field level automatic permission support, hiearchy (SQL doesn’t do trees very well) and built-in capabilities to deal with HTML (e.g in search). The high level of integration is also needed when building very high performance sites – tuning database access on product level à la Plone’s Cache-Fu product is the only way to achieve high level dynamic performance for content.

Templates are a big part of web development, since in the end, it alls goes to down to ugly HTML hacking. Django uses its own template language. I wonder what lead to yet-another-template-language decision, since the world is already full of template language engines (Smarty, Velocity, XSLT bunch, Freemarker). Unlike Zope’s TAL, Django is a generic string replacement language. TAL co-opereates with HTML tags so that it doesn’t break the structure of template document. Though the latter might be more painful to write, I prefer it because in the end it gives you easier toread results.

Hype(r)space

Even though Plone is an old project, it lacks the marketing it deserves. Plone is tons of times more mature than Ruby on Rails & co. but when you mention Plone everyone is like “huh?”. People even know Django better. I wonder where Plone would be today if it had buzz around it like RoR or Django.

Common woes

Let’s hope that organic growth, one of my favorite topics, don’t harm Django codebase as much as it has harmed Plone. Looks like Django already had some mixed styles in its coding conventions.

Mikko Ohtamaa: First steps with Django

Originally from Planet Plone by Mikko Ohtamaa <mikko@redinnovation.com>


from Yoda http://plonewars.com/2007/01/16/mikko-ohtamaa-first-steps-with-django/







January 16th, 2007

Epoz / Maik Jablonski / Personal / Zentrum für Lehrerbildung / Universität Bielefeld

Epoz / Maik Jablonski / Personal / Zentrum für Lehrerbildung / Universität Bielefeld

Originally from del.icio.us/tag/plone by rufo


from Yoda http://plonewars.com/2007/01/16/epoz-maik-jablonski-personal-zentrum-fa%c2%bcr-lehrerbildung-universita%c2%a4t-bielefeld/







January 16th, 2007

Welcome to the OASIS CMS Training Web Site —

Welcome to the OASIS CMS Training Web Site —

Originally from del.icio.us/tag/plone by andrewburkhalter


from Yoda http://plonewars.com/2007/01/16/welcome-to-the-oasis-cms-training-web-site-a%c2%80%c2%94/