MLM

Matt Midboe4325 ½ Junius Street, Dallas, TX 75246214.535.9947

Plone Templating

1701 days ago · plone, python, cms

I’ve worked with a variety of CMS. At the enterprise end it’s been Vignette and at the lightweight end it’s been Movable Type or WordPress. I’ve played with Bricolage and Typo3 and what differentiates each, regardless of size, is their workflow and templating. With that in mind as my criteria I have been mightily impressed by Plone.

The templating system isn’t a full blown template system as much as it is some extra attributes that you add to your XHTML. You don’t learn any new syntax, just some attributes that contain Plone or Zope expressions. The HTML coder can create the code right there, and then the Plone developer just tweaks it with extra attributes to fill in the content.

Here is some sample code that grabs a list of links from the content manager, and then displays them in a table. The tal stuff is mixed in as attributes and xml elements in this particular case.

<table tal:define="results python:here.portal_catalog(portal_type='Link', sort_on='id', review_state='published')" tal:condition="results"> <tal:block tal:repeat="obj python:[r for r in results if r.getObject()]"> <tr tal:define="link obj/getObject"> <td> <img src="" alt="" tal:replace="structure here/icon_bullet.gif" /> <a href="#" tal:attributes="href link/remote_url" target="_blank" tal:content="link/title_or_id">Link Title</a> </td> </tr> </tal:block> </table>

It’s simple and you can use all the same XML tools you already use to work with it.

Another powerful concept that comes to Plone through Zope is Acquisition and this solves another problem of many CMS systems, building dynamic URLs.

Comment

MySQL 4.1 Core Certification

1701 days ago · mysql, certification

I passed the MySQL 4.1 Core certification this morning. I’ve been using MySQL 3.23.x and some of the 4.x releases for about five years now. I thought I’d breeze through the test a bit quicker. The questions were mostly well written and experience appropriate to a test of this level. My only complaints are questions that use absolutes like “all” or “none”, and then don’t provide full and thorough answers to choose from. Thankfully these were few and tended to be applied to the more fluff questions.

The thing that surprised me most was the number of questions on
subqueries. These are new to 4.1 and in the past you’ve always been encouraged to rewrite subqueries as a join. I guess MySQL really has decided to fully embrace subqueries.

Comment

Calling out Code

1705 days ago · cocoa, objective-c, style

Wil Shipley provides a style and technical teardown of some code from an Objective-C/Cocoa app. I like the information in the comments about private methods being prefixed with an identifier and then _methodName. Also he makes a good point about someone reading the code having an English parser and a code parser. Switching between the two to read comments slows you down. The lesson being to make your methods descriptive rather than adding comments.

Comment

blo.gs now part of Yahoo

1729 days ago · weblogs

After months of wondering who was taking over blo.gs it’s apparently Yahoo. I’m having some problems connecting into the cloud interface, but I’m sure those will be resolved shortly. This is a pleasant step forward for blog ping services since one of them now has a large company with the resources to devote to the service.

Comment

Ajax support in Ruby on Rails

1732 days ago · ajax, ruby, rubyonrails

ONLamp as an article on Ajax support in Ruby on Rails

One thing that I’ve been wondering about is how a designer should design Ajax like interaction. I tend to work off sitemaps and Photoshop comps when I’m building something. Neither of those effectively describes Ajax interactions.

Comment

Proxies for simplifying web development

1732 days ago · apache, python, plone, zope

I’ve been working on Plone building a new skin. Since it’s built around Zope and python it doesn’t necessarily integrate in with Apache very tightly. I have Zope running on a custom port only listening on the localhost interface. Apache then listens on the normal web port and proxies appropriate requests to Zope/Plone and serves up the rest itself. I’ve been familiar with this type of configuration for a while but tended to ignore it because it adds more variables to a system, thus increasing complexity and resources needed.

For those reasons I’ve tended towards php because it integrates into Apache so tightly. I could avoid complexity and reduce the resources needed to run it. However, I’m beginning to think that I should always have a proxy in front of my web applications. It doesn’t add that much complexity, resources are cheap, and it gives me a tremendous degree of flexibility in adding new tiers to my web platform.

Comment

Catalyst rejuvenates MVC in Perl

1736 days ago · perl, mvc

It looks like perl is determined not to be left behind in the current Ruby on Rails lovefest. An article on Catalyst talks about how it borrows from RoR and Apache Struts to create an MVC framework with easy CRUD (Create, Retrieve, Update, Delete) functionality built-in.

Comment

Typo blog software

1749 days ago · rubyonrails, ajax

I’ve been using TextPattern to manage this site but the Typo Project looks like it would be a good opportunity to play around with Ruby on Rails.

Comment

Ajaxian Blog

1750 days ago · ajax

Ajax brings a great richness of interactivity to websites, which helps to narrow the performance gap between web applications and desktop applications. I have concerns about usability but the potential is really great. ajaxian.com is a regularly updated blog on all things Ajax.

Comment

Subscribe with RSS or Atom