[geeklog-devel] [geeklog-cvs] Geeklog-1.x

Jeff Hare geeklog at thehares.com
Wed Nov 28 09:41:50 EST 2007


Hello,

  I'll just make a comment as an admin of several sites, and I'm not trying
to be critical, just pragmatic.

Here's my thought process as an admin (for GL and ANY software for that
matter):

When 1.5 is out, I'll have to have a way to assess whether (and which of) my
GL sites will still work after the upgrade. We'll assume that the core GL
and the plugins that get distributed with it (calendar, etc) will work fine.
That said, I don't know of many GL sites of that are just the stock GL core
without extra plugins.

So, how can I find out which 30+ common plugins still work before I upgrade?
I think if people upgrade their sites and most or even some of their key
plugins fail, it won't really matter how good the core is.  People will be
upset.  It wouldn't be acceptable to say it's someone else's problem, when
there are API changes, so we'll need to figure out which ones work and which
don't. 

-Jeff

PS: I'd really like to see a 1.5 Demo site fully loaded with plugins.


-----Original Message-----
From: geeklog-devel-bounces at lists.geeklog.net
[mailto:geeklog-devel-bounces at lists.geeklog.net] On Behalf Of Joe Mucchiello
Sent: Tuesday, November 27, 2007 10:50 PM
To: Geeklog Development
Subject: Re: [geeklog-devel] [geeklog-cvs] Geeklog-1.x

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}&pr
evorder={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 

_______________________________________________
geeklog-devel mailing list
geeklog-devel at lists.geeklog.net
http://eight.pairlist.net/mailman/listinfo/geeklog-devel




More information about the geeklog-devel mailing list