Think about Loose Coupling | |
PerlMonks |
Re: Zope and CMSby jeorgen (Pilgrim) |
on Jan 18, 2002 at 05:39 UTC ( [id://139702]=note: print w/replies, xml ) | Need Help?? |
Note that I didn't say "Zope is a big bag of suck." Didn't accuse you of saying it ;-) You can't create a custom data model in Zope (say, a categorized catalog of your favorite books with relationships to their authors) without programming in Python. A real CMS does not require programming just to do basic data publishing. You can actually, with through-the-web ZClasses. But you don't want to. It gets kind of messy. Hierarchical storage is still storing object references in properties (attributes) of other objects. The problem with Zope's hierarchical data structure is that it has a hard time modelling anything that isn't hierarchical. Think of my previous example of a catalog of books. You would need book objects and author objects with a many-to-many relationship. There is no obvious way to do that in Zope, at least not without custom Python programming. For such simple things you don't need python programming. Just use the template language DTML and the web-editable SQL methods. That is how I did euliberals.net (which is just a hobby project). As a side note, I like to put things into an RDB but I do have some oo-fanatic colleagues who prefer to use messaging back and forth with catalogs to keep track of certain attributes and combine things, etcetera. My development cycles however go way shorter when pushing as much as possible of the processing and data into SQL. Think of the ZODB (Zope object databse) as one more dimension to think in. One of the boons of object orientation in general is that you can think spatially, which is easier for many people than to think in "flat" subs and libraries. It doesn't make sense to compare Zope to Perl. You should compare Python to Perl and Zope to things like OpenInteract, Apache::PageKit, and Apache::ASP. I'm guessing that this perl you were writing was not using a framework like those. No, I wasn't. My customers want to stay on web hotels, so no mod_perl. I'm rolling my own with HTML::Template, Lincoln Steins user_manage and DBI/mysql, and it's actually working now. I have looked at different perl solutions, but haven't found one that is easy enough for what I want to do. Of course, one can always argue that I haven't looked deep enough, or at the right one etcetera, and that criticism would probaly be true. But I don't want to spend time doing a lot of tweaking and configuration just to get things going, or just to evaluate things. I don't want to have a lot of dependencies that fork out into unknown waters. Zope can be installed easily under Linux and dead-easy under Windows. You just drop things in and they work. There are web hotels that give you a complete Zope/Apache/Mysql (php, perl) combo with "root" (FreeBSD jail) for $50/month. I use it. You move your Zope stuff from your Windows development machine to the live web site in minutes. And between different web sites. It just works. I've done it. Repeatedly. Virtual hosting is doene by pointing the domain to the IP and then tell the virtual host monster object (yeah, that's the name they've given it) through-the-web in what folder object the site should start. I set up a new domain with a collaboration area with file upload and download, a wiki, user management, and then billed the customer one hour's work. They were happy. One of my colleagues, a Java expert, complained about the field of knowledge one has to cover today to be an expert. My reflection is that one has to limit oneself to a certain way of doing things (e.g. the Zope way, The Macintosh way, The EJB way). This is difficult in a small company, with no support staff. That's just my view and may not map with yours, or other people with a deep knowledge in the field. It all depends on what knowledge you start with. Zope works out of the box, and gets things done fast. Perl is great, and I use it all the time. If there is, or will come, a great perl-based solution I'll happily use it. I'm not learning a new language (python) for fun. I'd rather stick with perl. And perl is still great for thinking out of the box, tying different systems together. /jeorgen
In Section
Seekers of Perl Wisdom
|
|