[geeklog-devel] [geeklog-cvs] Geeklog-1.x
Joe Mucchiello
joe at ThrowingDice.com
Tue Nov 27 22:49:33 EST 2007
At 01:11 PM 11/26/2007, Dirk Haun wrote:
>Which is the whole point of me pushing to stop adding new features and
>finishing what we have started elsewhere. You should have no problems at
>all to find quotes for my position on that ... Plus a few where I argued
>that we should try and move to a shorter release cycle.
This is my last attempt, I promise. I've beaten this bloody, vaguely
horse-shaped spot so hard because I don't see any upside to waiting
for 1.5.1 but I see plenty of downside.
1.5 breaks several API interfaces. This means few 1.4.1 plugins will
be 1.5 compatible without upgrades. The template library breaks
sloppy order of calls to the template class. This means many plugins
are not compatible out of the box with it. If you delay the template
library to 1.5.1, users will be forced to upgrade there plugins when
moving from 1.4.1 to 1.5 and 1.5 to 1.5.1.
Dirk, you want to shorten the release cycle. If you shorten the
release cycle, that puts extra burden on the admins of those Geeklog
sites. I would think it preferable to break the plugins only once and
perhaps have a quick upgrade after 1.5 where plugins (for the most
part) don't need to be updated and thus don't add to the burden of
upgrade. I'm sure the plugin authors will prefer not having to
release upgrades twice because Geeklog's core changes underneath them.
How about some plugin authors chiming in here? Or admins with a
several Geeklog sites? The upside to extra hassles over the next two
upgrades is 1.5 comes a few weeks sooner. I don't see how that's an
even tradeoff.
Taking full advantage of the new template library will take time.
Delaying the library also has the downside of not having stuff like
this in Geeklog. Below is a code snippet from ADMIN_list that I've
modified. There is no HTML in the code snippet. There are a lot fewer
IFs in the code snippet. There are a lot fewer temp variables in the
code snippet. Yes, the template file is a lot more complex. Arguably
the onclick HREF might belong in code. Still this doesn't go far
enough. With set_block, most of the files in the admin/list directory
should go away. But I didn't want post hundreds of lines of code to the list.
Okay, I've said my peace. I'm done.
<!-- this is admin/list/header.thtml -->
<th class="{class}" nowrap="nowrap"
{!if sortable}
OnMouseOver="this.style.cursor='pointer';"
onclick="window.location.href='{form_url}{separator}order={order_var}&prevorder={prevorder}&direction={direction}"
{!endif}>
{!if chk_delete}
<input type="checkbox" name="chk_selectall"
title="{$LANG01[126]}" onclick="caItems(this.form);"{xhtml}>');
{!else}
{header_text}
{!if arrow} <img
src="{layout_url}/images/{arrow}.{image_type}" alt=""{xhtml}>{!endif}
{!endif}
</th>
if (is_array($options) AND $options['chkdelete']) {
$admin_templates->set_var('chk_delete', true);
$admin_templates->set_var('sortable', false);
$admin_templates->set_var('class', "admin-list-field");
$admin_templates->parse('header_row', 'header', true);
}
$admin_templates->set_var('chk_delete', false);
$admin_templates->set_var('image_type', IMAGE_TYPE);
$admin_templates->set_var('separator', $separator);
for ($i=0; $i < count($header_arr); $i++) { #iterate through all headers
if (!empty($header_arr[$i]['header_class'])) {
$admin_templates->set_var('class',
$header_arr[$i]['header_class']);
} else {
$admin_templates->set_var('class', "admin-list-headerfield");
}
$admin_templates->set_var('header_text', $header_arr[$i]['text']);
$admin_templates->set_var('sortable', isset($header_arr[$i]['sort']));
$admin_templates->set_var('order_var', $i);
$admin_templates->set_var('prevorder', $prevorder); //
these variables come from the $_GET array and are processed above this snippet.
$admin_templates->set_var('direction', $direction);
$admin_templates->set_var('arrow',
$order==$header_arr[$i]['field'] ? $arrow : false);
$admin_templates->parse('header_row', 'header', true);
}
----
Joe Mucchiello
Throwing Dice Games
http://www.throwingdice.com
More information about the geeklog-devel
mailing list