CMS Advice for Beginners

Filed under: Joomla, Miscellaneous, Programming — Tags: , , — Eike @ March 26, 2008 5:17 pm

This comment is just in :

I have *tried* to move to Joomla 1.5. Unfortunatly there are a number of extensions vital to my website which will not work under 1.5, Until they are updated, I very much doubt that I’ll be able to move to 1.5. Some of this vital software isn’t even supported anymore, so the chances of it being updated for 1.5 is slim to none! I don’t have the time or the knowledge to do it myself just now. Basically all the means is – I’m screwed!

I can feel his pain… this is why I still do my best to support the content item module despite the fact that I hardly use Joomla anymore, some people depend on it.

But this is not a problem specifically with Joomla, it’s more a general problem with system that use plugins – you choose a few things you like and suddenly you find you have to depend on the goodwill of strangers to keep you site running. Not so good.

I have not yet settled for a new system to replace Joomla (I’ve done some fairly elaborate stuff in Wordpress, but that sucks on a annoyingly large number of issues when you use it as CMS) – I’m looking for something with a fairly complete set of features in the ‘core version’. The advantage of core features over plugins is simply that when the core get’s updated everything get’s updated. With plugins you usually need luck, patience, and, more often than not, a Plan B when they are being abandoned.

To add a little self-criticism, part of the problem is of course with wrong expectations that our clients and we (as in “we web developers”) have in Content Management Systems. A CMS is, after all, complex software and it should come as no surprise that a major update is tedious, expensive and requires to re-write lots of stuff. Plus prices a somewhat spoiled, and if a client sometimes pays only a few hundred bucks for a complete CMS he will probably not understand why he should pay just as much for an update. The ease of install with many CM Systems to some extent obscures the plight of maintenance.

But still, this sucks incredibly. After all people (in our case the open source ‘community’) keep telling you how easy it is to install and update Joomla (Mambo, WP, whatever), and only after you’ve hit a wall they suddenly says that you should have known from the start that there will be problems.

So here’s  the advice (not directed a the original commenter who is propably not a beginner, but at the world at large): Even if the system of your choice looks dead easy be prepared for major trouble along the way. And don’t use plugins if you cannot verify that the developement team behind the plugin is as committed as the developers of your CMS (if the developers of your CMS are not committed  then you are screwed anyway).

Even shorter version: When things look really easy they probably aren’t.

    Place Here Changes

    Filed under: Joomla, PHP, Programming — Tags: , , , — Eike @ March 8, 2008 7:19 pm

    I made a few changes to the module for J!1.5.

    • Display of section/category names should now work. They sit in elements with the class of .section and .category respectively if you want to style them with CSS.
    • I added a few more ordering options.
    • I added an option to disable plugins on the module content

    Since the old download page got a little crowded with comments I moved the download to a new page. You find it in the sidebar under the link Module for 1.5 (new), URL is http://diebesteallerzeiten.de/blog/module-15/. Please leave your comments there.

    09/03/08 Edited to add:  Plugins are now disabled by default, if you want to run plugins on the module content you  must enable them in the  module parameters.

      Move Javascript to the bottom of the page

      Filed under: Javascript, Programming — Tags: , — Eike @ February 18, 2008 12:32 am

      I have blogged about this before, but right now I’m happy to repeat myself: The Yahoo Developer Network has excellent advice on how to optimize load time for your web pages, and the best thing is that so much of it can be easily implemented.

      Yahoos Rules for High Performance Web Sites start from the somewhat amazing observation that it’s not so much the response time of the server the time it takes the server to generate the page that slows down a web site but the things that happen after the HTML has been sent to the client.

      Most relevant for my case was that a) the browser makes a new http request for each ressource (style sheet, script, image etc) in the page (and the more request the slower the page) and that with external javascript files progressive rendering is blocked for all content below the script, meaning the rest of the page will not render before the script files are downloaded. An easy workaround is to call the scripts near the page bottom (though there might be scripts where this is not possible).

      I’m working on a site that uses prototype and various parts of the scriptaculous effects library, and I ended with six external javascript files. When I moved the script tags from the head section to the bottom of the page the load improved from about six seconds to two seconds (how do I know? I used Yahoos yslow to measure site performance).

      Now you might say that two seconds over a DSL connection is still pretty slow. But so far I have tripled load speed and it didn’t cost me more effort than a single cut and paste action – I call that amazing.

      I think most of Yahoos rules make sense only if you work on large sites with tens of thousands millions of visitors – I certainly will not set up a Content Delivery Network for a site with a few hundred visitors per day. Even so I think this proves that looking at the big boys can be a valuable excercise for us one man shops.

      I any case I’ve ordered Steve Souder’s (Yahoo! performance chief) book High Performance Web Sites – I don’t know if there’s anything in it that I couldn’t find as well on the YUI-Blog, but to buy the book seems a nice way to appreciate his work.

        Short Update on Module Developement Status

        Filed under: Programming, self referential — Tags: , , — Eike @ February 13, 2008 10:36 pm

        As you may have noticed, especially if you’ve sent a support request, things are currently going slowly here – I lag behind in answerings questions (this concerns, among other things, the reported problem with recent versions of Joomfish) and the 1.5 version of the module is still not feature complete.

        Thing is, I’m not only swamped in work (that would be nothing new), I’m also caught in one of the nastiest traps for programmers – I work against a spec that does not actually make sense, so I have to try to mangle sense into the chaos by careful interpretation. That means I’m working or four or five hours, call the client to look at my work and spend the next four or five hours tearing everything down again. This is the kind of job I usually try to avoid, because even if they wanted to none of my clients could actually afford to put me through this kind of ordeal. But sometimes I have to put other things into consideration apart from money; even a one man shop sometimes needs to employ a certain degree of diplomacy.

        Still, this means that at the moment I’m both overworked and underpaid, and this is not a good prerequisite to gather motivation for open source programming. Plus the modules mostly work, so there is no need for immediate intervention. I think (I hope!) that by the middle of the  next week the worst will be over and I can get back to do a bit module developement.

          There might be a moral to this

          Filed under: PHP, Programming — Tags: , — Eike @ January 18, 2008 12:21 am

          I was considering to submit this to some site like http://thedailywtf.com , but then lousy PHP Code is too common to be newsworthy. Still….

          I occasionally help a friend with an online app that was custom-made for her some four years ago… only “custom made” in that case means that the programmer followed some strange customs when he made it. The app is written mostly in procedurale PHP code – the programmer was at least dimly aware that there is such a thing as “functions” in PHP and you will actuall find some of them in the app, provided you do not look in the file “globalfunctions.inc”, which contains more procedural code (but is included in every file so at least it’s global) . Actually I even spotted an object – despite the fact that PHP 4 had been available for some time when the thing had been written it was built around a template class written in PHP3 (fasttemplate). Yet I feel that the programmer somehow misunderstood the purpose of templates, because he has a template for every single file in the app – obviously he couldn’t work out how to highlight a menu item depending on the page content, so he copied and pasted the whole HTML code for every single menu state. Actually there are two templates for every page, because this is a multilingual app (german-english) and his way to localize the application was to copy the german files and replace the copy text with the english equivalent. This is an example of not-so-great software engineering.
          (more…)

            Yahoo Goodies and a Reminder about Open Standards

            Filed under: Javascript, Programming — Tags: , — Eike @ December 6, 2007 12:51 pm

            These days it’s always Google-this and Google-that, and of course I appreciate all the cool stuff they do – but other people do great things too, and in this case it’s even another search engine company: Yahoo has released a new version of their Yahoo User Interface library (covered in their blog here, download and documentation is here). I haven’t used YUI for serious projects, because I rarely do something like rich interface applications and I do not like to include large libraries when it’s not strictly necessary. But I played around with the examples enough to say that’s it cool and useful and well documented, so if you need an animation framework or DOM utilities or controls from color picker to rich text editor or a JS/Flash hybrid charts widget or JSON utilities.. well you see it’s a pretty complete list. And apropos of nothing I include here again a link to Christian Heilmanns website – he works for Yahoo and is testing the YUI lib for the european market, and besides he has as always a number of good blog posts on JS that are helpful for javascript developement even if you don’t plan to use this library (or any library).

            (more…)

              Improving Load Times with Advice from Yahoo

              Filed under: Programming, Projects — Tags: , — Eike @ November 29, 2007 9:18 pm

              I guess the people at Yahoo really do know what they are talking about. The Yahoo Developer Network has this nice page with Best Practices for Speeding Up Your Web Site , a list with 14 rules (not all of which may apply to a website) to get your site to load faster. Usually I prefer maintanability over performance, but one sites I’m currently working on had so poor response times that I needed a significant improvement before the thing goes live.

              So far I followed two suggestions from the site: I concatenated the multiple style sheets into one to reduce the number of http requests per site (I also removed comments and unnecessary whitespace) and I moved all javascript to the page bottom. I didn’t run a formal test, but then this wasn’t necessary – the HTML now almost renders immediately, only some of the eye candy that is applied via Javascript lags a little behind.  I wonder if this will get even faster when I try the other rules that are applicable to my site. But I’m already very, very pleased with the results, these two minor changes really made some major difference.

                Mod Place Here – Minor Updates

                Filed under: Joomla, Programming — Tags: , , — Eike @ November 18, 2007 7:22 pm

                I did some minor updates on the Place Here-module – partly just behind-the-scenes-bugfixing (including the issues in the comments 20 and 21 respectively) , but also two new parameters:

                • Link Titles – does of course what the name says and makes the title of an article a link if there is additional text (please note that articles displayed via the module will use the module settings, not the settings you make in the article edit view)
                • Hide current item – reads the article id from the url and hides the article with the corresponding id in the module, so you don’t have the same article twice

                Available at the Download page. This is still marked as alpha but apparently a number of people already use it without problems (the alpha status is more due to the fact that a number of features are still missing as compared to the contentitem module for 1.0.x).

                Edited to add: There are no special upgrade instructions. Simply overwrite existing files with the new ones.

                  Avoiding tables with the Place Here Module

                  Filed under: Programming — Tags: , — Eike @ October 30, 2007 11:51 pm

                  The module uses tables in two places: a) as a wrapper to arrange content items – ‘articles’ as they are now called in Joomla 1.5 – in columns, and b) in the template file to format the articles.

                  As for a) I added a parameter “Output mode” with the values “table”,”div” and “raw”.

                  • table – just works like before
                  • div – wraps the articles into div tags. The divs around “leading” articles have the class “mod_placehere_leading”, following articles the class, you guess it, “mod_placehere_following”. No CSS is delivered with the module, so you can/have to style the divs on your own (for example set a width and use a float on “following” articles to get a column effect for the articles)
                  • raw just prints the content items on the page, without any additional markup

                  To get b) rid of the remaining tables you will have to fiddle with the template file. Unlike in the module for 1.0.x the module does not use the content componentes template but has its own template file in modules/mod_placehere/tmpl. Change the HTML but don’t mess with the PHP Code. In time I will attempt to provide a tableless template.

                  Tested with 1.5 RC3 on PHP 4.4 / Windows XP Home. Available at the download page .

                    To the moon!

                    Filed under: Programming, Science, Space — Tags: , , — Eike @ October 26, 2007 1:19 am

                    Autumn is killing me (metaphorically) – with shorter days and the lack of sunlight I’m continually tired, an at the moment I’m glad when I finish paid work in time, so I would ask the people who asked for held for a little more patience (I know I make these excuses quite often, but there you go).

                    So while I can’t provide an update on the module I can at least give you a small update on what’s happening in space, because these last few days have been a good time for space exploration.

                    At Oktober 21. a soyuz capsule returned to earth from the ISS; part of the crew was Sheikh Muszaphar Shukor, the first astronaut from Malaysia. I was actually a little annoyed that his religion was so much a matter of public display – but then it’s probably just fair, Christians did it before with bible readings from orbit, and one has to commend Malaysias religious authorities that they managed to reconcile not religion and rationalism, which I think is impossible, but at least religion and pragmatism in such matters as prayer times and such. But as a life long Saganite I’m much more pleased with international cooperation.

                    A new crew member and new equipment is on it’s way to the International Space Station with STS-120 and the Orbiter Discovery. Shuttle Commander Pamela Melroy and her Crew deliver a new module – Node 2 a.k.a “Harmony” – to the station which will mainly serve as a connection point for other modules, including the european Columbus. Speaking as a european I can hardly wait. And it’s time that a bit more science happens at the ISS.

                    The International Space Station has been pretty much a failure so far, and I think this can be largely attributed to the fact that construction lags so far behind the planned schedule – Russia had a delay in manufacturing station components and there was another shuttle accident and the thing is by now much more expensive than planned (I nearly wrote “as expected”) and generally things haven’t been going to well. Phil Plait of Bad Astronomy fame hinted somewhat subtle (and a number of commenters brought the point home quite bluntly) that the station should be dropped althogether (if this were possible). I usually agree with what Dr. Plait says, not so much because he’s an expert but more because he is an expert who will happily eat his own words if it turns out he was wrong. But I still think the station should be finished, because if we – and it’s “we”, this is an international project – can’t even finish a project more or less at the front door then how can we ever think about building more ambitious projects (like e.g. interplanetary spacecraft) ?

                    But maybe there should be a lesson learned for later projects. I’m all for international cooperation (that Sagan thing again), but if possible partners should contribute complementary, not interdependent parts, so that a mission can still be sucessful when one piece is delayed or even fails.

                    Of course some people try to do things on their own (especially since they were obviously shunned from working on the ISS, I hadn’t been aware of that), which makes for the most exciting news – China has sent the Chang’e 1 probe to the moon, and that is only the first step in an rather ambitious space programm that is supposed to sent a man to the moon in the next 15 to 20 years. I guess by now a manned flight to the moon is not so much a matter of available technology and more a question if you are willing to spend the ressources (I’d venture that a moon base would be less expensive than the US war in Iraq…), which makes China the best candidate for a return to the moon – the Chinese seem to only ones willing to pull this off. Perhaps if we ask nicely they will sell us some tickets ;-)

                    And speaking of the moon, Japan Kaguya probe has now reached an orbit from which it can start scientific observation – it’s a pity I don’t speak japanese (or ’scientese’ for that matter), but I expect sooner or later some bits of data will trickle down to us english-speaking laypersons.

                    As I child I used to watch Space 1999 on television and being a child an sometimes unable to distinguish fiction from reality I was convinced that there would be a permant presence on the moon by the time I would grow up and I could buy a ticket to get there. Most annoyingly this hasn’t happened. But even if I can’t go there I hope somebody will.

                      « Newer PostsOlder Posts »