"hello world"
article in Tech linux-unix-and-friends

Joomla / Mambo - Web content management system

I've been with Joomla before it was Joomla. When it was good ole Mambo. This page is for all my random thoughts and things relating to Joomla development and hosting issues. It's a real unorganized mess, welcome to my world.


Random Joomla links

Joomla Beat Podcast
Vinaora - Free Templates, Extensions and Tutorials
www.joomla.org/announcements/Release News
joomlaworks/k2 - content extension for Joomla!
joomlatools/joomla-composer - Composer extension installer for Joomla (2.5+)
joomlatools/joomla-console - Joomla Console is a command line console for common Joomla operations like creating and deleting sites, installing extensions, symlinking files.
joomlatools/joomla-vagrant - Vagrant box for Joomla development - Console, composer pre-installed.


ecosystem and monetization of Joomla! and Mambo

It's interesting to see how projects develop, what is considered "extra", how companies try to monetize. Where a project leaves off and another picks up -- walling off, feature exclusion, splintering, fights, flames. what are the popular plugins, components, modules that users use, what are the frustrations, where did they come from, where do they go when they get fed up?

When the base system is free, how much are you spending on external components like migration tools, user management, tagging/seo support, import, etc, etc, etc.

Why Joomla sucks, why the Joomla platform sucks even harder and how We can fix this — Alessandro Nadalin - can we fix it? it must include easy migration with keeping existing urls + the new improved urls.


Mambo - MamboServer

Mambo was nice back in the day. Most everyone left the mambo scene for Joomla...since you know, the developers left and development stopped. (makes that choice easier)
Mambots List
Menus for mambo
Talks about site organization and structure
A good list of components for community building
How to create mambo components

fix joomla permissions

aka. notes on which directories might need to be owned by your webserver
chown apache -R images
chown apache -R language
#chown apache -R mambots
chown apache -R media
chown apache -R modules
chown apache -R templates
chown apache -R administrator
chown apache -R cache
chown apache -R components
chown apache -R logs
chown apache -R plugins
chown apache -R tmp

Table notes for Joomla

jos_content - contains all the typed content
jos_menu_migration - contains all the menu items

Redirection issues with Mambo

One this that really annoyed me about the latest version of Mambo was that when you saved content, it actually redirected you to the frontpage and not back to the content you just edited. To fix this edit your components/com_content/content.php and add the following on line 1365:
if ( $Itemid ) {
     mosRedirect( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid,$msg);
} else {
     mosRedirect( 'index.php', $msg );
}
Then there is one more thing you'll have to change:
$link = 'index.php?option=com_content&task=edit&id='. $row->id .'&Itemid='. $Itemid .'&Returnid='. $row->id;
Another thing you might want to change is the includes/footer.php file so that you can change the default footer.


SEF / SEO with mambo

Ok I've gotten to the point now, that I get a bit of traffic from search engines and I think it is time to step it up a notch. Mambo in its default configuration doesn't have SEF support. Yes, it does have some simple SEF function that maps content into something a little more pleasent. However, it doesn't really allow you to name your URLs as you please.
Here is some of the research I've done into getting SEF to work on your Mambo or Joomla.

First there is a commerical solution called SEF Advance but for me I'm not really interested in something that is pay... esp. for something I consider SO fundamental.

Next there is a project called Xaneon Alias Manager and Xaneon Extensions for Mambo both available from: http://xaneon.com/
However, this project seems to be dead because the developers have moved to Drupal.

All further development for Mambo SEF has been moved to http://opensef.org/.

At this point I'm a little confused on the whole thing and I might just have to evaluate going back to Drupal. I used it a long while ago and switched to Mambo. However, lately there has been almost NO new development on Mambo and there are many problems that need to be solved. Look here for more information in the future....
Mambo and Joomla exposed as script kiddies have their summer holidays
Mambo announces more improvements in 4.6
Generating static HTML-Pages from Joomla/Mambo


go from mambo to joomla


Joomla

Joomla is the new direction of the code and community I believe. Mambo has not released anything in a long time.... I'm moving.

Joomla! Help Site - Migrating to Joomla! from Mambo
Joomla! Help Site - Joomla! 1.5 Migration Guide
Joomla! Administrator's Security Checklist
JoomlaCode > Projects > Joomla! > SVN > Access info

Developing Joomla

How to create joomla1.5 MVC(model view controller) component helloworld 2 tutorial
Joomla Tutorials - Home

Joomla! Developer

Redirection issues with Joomla

Joomla! also currently has the issue with redirects on save not redirecting back to the orginal article. Grrr. Here is the fix for components/com_content/controller.php.
Index: components/com_content/controller.php
===================================================================
--- controller.php      (revision 10922)
+++ controller.php      (working copy)
@@ -239,7 +239,8 @@
                $referer = JRequest::getString('ret',  base64_encode(JURI::base()), 'get');
                $referer = base64_decode($referer);
                if (!JURI::isInternal($referer)) {
-                       $referer = '';
+                       $uri =& JURI::getInstance($referer);
+                       $referer = $uri->getPath();
                }
                $this->setRedirect($referer, $msg);
        }

Blacklisting and Whitelisting HTML Tags in Joomla

Updating to the latest, once again gives me grief. When I updated to Joomla 1.5.9, I found that when saving Joomla strips html tags...like br tags. Ouch, making me have to restore my formatting from backup! Grr. First I look on the web and found others complaining about it...
Joomla4Web - Blacklisting and Whitelisting HTML Tags in Joomla 1.5.8
I didn't realize it was doing filtering, I checked my settings and it was set to do black listing with no filters set. You'd think that would work. However, it didn't cause it was still removing them. Finally I did some poking around....I just disabled the filtering. I'm not interested, I wish they wouldn't have broken functionality.
Index: components/com_content/models/article.php
===================================================================
--- article.php (revision 11515)
+++ article.php (working copy)
@@ -360,7 +360,7 @@

   $filterGroups = $config->get( 'filter_groups' );

-  if (is_array($filterGroups) && in_array( $gid, $filterGroups ))
+  if (0 && is_array($filterGroups) && in_array( $gid, $filterGroups ))
   {
    $filterType  = $config->get( 'filter_type' );
    $filterTags  = preg_split( '#[,\s]+#', trim( $config->get( 'filter_tags' ) ) );
@@ -380,7 +380,7 @@
    }
    $article->introtext = $filter->clean( $article->introtext );
    $article->fulltext = $filter->clean( $article->fulltext );
-  } elseif(empty($filterGroups)) {
+  } elseif(0 && empty($filterGroups)) {
    $filter = new JFilterInput(array(), array(), 1, 1);
    $article->introtext = $filter->clean( $article->introtext );
    $article->fulltext = $filter->clean( $article->fulltext );

GeSHi Code Syntax highlighting with Joomla

GeSHi - Generic Syntax Highlighter :: Home - GeSHi's home
By default GeSHi code syntax highlighting does not word wrap. The following page gives you the needed CSS to stop your code snippets from breaking your page layout.
How to enable line wrap in the Joomla Geshi plugin
They changed the way in which you markup code in Joomla 1.5. I ended up modifying my version of GeSHi to use the old mambo syntax. {(highlight)}
How to use the GeSHi plugin/mambot | Mambots/Plugins | How-Tos

Syntax highlighter for Joomla

Easy Syntax Highlighter for Joomla
SyntaxHighlighter - Alex Gorbatchev


Joomla Template Overrides

Did you know that a template has the ability to override most all the output generated by the default Joomla core? The template demonstrating this technique is "Beez"
Joomla Beez, what is it ?
Understanding Output Overrides - Joomla! Documentation - great article giving all the details...
How to override the output from the Joomla! core - Joomla! Documentation

This is nice in that allows you to override the core without fear of losing those changes when the core gets changed. However, this does mean that you'll be forsaking the new changes that get added to the core when it does get changed! Also, since the overrides are template specific, you'll only override for one specific template. I myself have quite a few changes to the core, and I manage those changes with source control (svn). Though, template overrides are nice...

I found all this information when researching how to make Joomla output <h1> tags, which it doesn't do out of the box in Joomla 1.5.
Joomla Tips #9: Adding H1 Tag To Joomla Article Title
Joomla contentheading H1 with no core Hack - New World Designs

Joomla 1.5.x not properly escaping html entities in editor

I see the following bug report with solution, however, it has not yet been committed to SVN. I'm not sure why, as this is a REAL bug.
[#18620] Front-end version of com_content "edit" task fails to preserve escaped entities
The solution is to modify /components/com_content/views/article/tmpl/form.php by adding the following after line 2:
JFilterOutput::objectHTMLSafe( $this->article );
It looks like the problem isn't visible when using a WYSIWYG editor...not sure why, maybe the editor is taking care of the escaping for you. However, it is definitely a problem when using "No Editor" as I do. To see it happen, create an article with a html entity (&lt;), save it. You'll see the entity properly preserved in the database, but if you edit you'll find that the encoded entity is now just the character itself. So on subsequent save, you lose the escaping. Not good. This really should be committed to 1.5 branch for sure.

Remove the generator meta information from Joomla 1.5.x output

To remove the generator, goto "libraries/joomla/document/html/renderer/head.php" and comment out line 82.
//$strHtml .= $tab.''.$lnEnd;


Joomla isn't showing all my content

If pagination is turned off, it seems to me that all the items should be displayed. The software isn't written like that. Instead there is a $list_limit and $feed_limit in configuration.php which define the site wide limit.

Joomla Caching

Joomla Caching Explained - Page, View and Module Caching - How to speed up your Joomla Web site


Shopping cart in Joomla

Welcome to VirtueMart


Newsletter

Using the Joomla Letterman Newsletter Component | CommunityGrove Support - open source
Letterman Newsletter - Joomla! Extensions Directory
phplist.com : Homepage : home - not exactly a joomla extension but a full mailinglist application.


Joomla DST issues

Ok, so it looks like there are issues with getting DST to work correctly with Joomla. I can see that the system time is set correctly and the dst is being observed properly with date and `zdump -v EST5EDT | grep 2007`. I also can see that the global config -> server -> timezone is set properly as EST. Still time shows off by 1 hour?! Finally, I was forced to edit the sites configuration.php and change $offset=-5 to $offset=-4. Yuck.


Joomla 1.5 + lighttpd and squid reverve proxy « Because It Works!!


removing mootools and caption.js from client and leaving it on administration.

Joomla 1.5 optimisation: removing mootools.js and caption.js | random notes
jdoc statements - Joomla! Documentation - the actual scripts are included from the libraries/joomla/html/html/behavior.php, wrap those calls in if ($app->isAdmin())
joomla2.5 - Joomla - Check to see if we are in admin area or not - Stack Overflow - $app =& JFactory::getApplication(); if ($app->isSite()) echo 'Client'; if($app->isAdmin()) echo 'administrator';
Accessing the current user object - Joomla! Documentation


Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference

reports the error as being part of the /libraries/joomla/cache/handler/callback.php on line 99
To solve- Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference- Seye Kuyinu - function buildXML(&$params) remove the & in front of &$params within modules/mod_mainmenu/helper.php.


Joomla 3.x

joomla/joomla-cms - 3.0 http://joomla.org
Joomla! Developer Network Home
joomlashack/wright The Joomlashack Template Framework - Wright Framework is used to create Joomla Templates.
Git for Coders - Joomla! Documentation
Lendr: Joomla! Component Tutorial - A social library system with lending, tracking, wishlists and reviews. (Bootstrapped Native Joomla! 3.0)


Joomla Security

Exploiting Serialized XSS in Joomla! (return of the undead CVE) - SpiderLabs Anterior


Joomla Search issues

Joomla! • View topic - Default search result to 5 records per page? - /components/com_search/models/search.php:65
Joomla! • View topic - How to override the searchword limit to be able to search for 21 or more chars? - administrator/components/com_search/helpers/search.php:62


EPIPE Communications - /joomla/perl/ - Perl scripts for managing Joomla! CMS based web sites. CMS::Joomla


Joomla upgrades

Overall, I would have to say I am pretty disappointed in the upgrade process for Joomla. When you branch, you should help your users along to that branch. It seems the migration is always assumed to be done by third party components, by hand, or something...

the idea of starting fresh and recreating the site is a good one, but it also requires a lot of work to ensure that all of your precious URLs; that everyone knows; continue to work after the migration.

the amount of time wasted in hesitation and inquiry for simple data migration...by each Joomla site admin. If I can't get my current data into the new system with minimal effort, you are asking a lot of your users.


Joomla 1.5.14 to Joomla 3.0 Migration - Stack Overflow - 6/25/2013, still no simple free import available...aside from jupgrade and SPUpgrade
jupgrade-joomla upgrade from 1.5 to 2.5 - Stack Overflow
the biggest issue in going from 1.5 to the other versions is that there is now an asset table that needs to be kept up to date and correct. Migration of content into the system requires the proper level, parent_id, lft, and rgt parameters.
joomla-cms/libraries/joomla/table/nested.php at master · joomla/joomla-cms - class JTableNested extends JTable
Using nested sets - Joomla! Documentation - storing and retrieving hierarchical information in the form of "nested sets" in database tables. This support is used in the implementation of menus and categories in the core Joomla CMS from version 1.6 onwards
Fixing the assets table - Joomla! Documentation - best place I've found so far to call out the level and parent_id stuff outside of code.
elinw/AssetFix - App for fixing assets. place in joomla root, tries to fix some of the more common problems in the asset table for components, categories and articles. corrupted assets. doesn't work with 3.x when I tried.
elinw/AssetDiagnosis - doesn't work with 3.x when I tried.
ikajaste/Joomla-2.5-Asset-Weaver - CLI php mentions (using jUpgrade) does not build the #_assets table correctly. Yes, really. *sigh*
RedMIGRATOR:Table of Contents - redWIKI - Older Joomla Upgrade tools. No longer maintained at redCOMPONENT.com: jUpgrade and jUpgradePro.
Doesn't it seem that the Joomla core should have great support for prior versions?!


Joomla Migration Out || joomla exit strategy?

Joomla to Drupal | Drupal.org - Users,Sections & Categories into Taxonomy Vocabularies and Terms,Content items to nodes


Joomla page count issues

Joomla counts visits from members in page counts. I don't like this, since I want my article hit counts to reflect the actual usage of my guest visitors.
Joomla! • View topic - Google Analytics vs Page Hits
Joomla User Experience Forum :: Topic: Not Count Own Hits with Articles (1/2)
components/com_content/views/article/view.html.php:$model->hit();
add the guest check to the block, and move it down if you'd like. Since when fixing this, I also found that it'll mark a hit even if the user is unauthorized.

if ($user->guest && !$params->get('intro_only') && ($this->getLayout() == 'default') && ($limitstart == 0))


utf-8 issues in Joomla

yap, latin1...just converting it to utf8 in the database is possible, but fields get truncated...
Joomla! • View topic - UTF-8 issues in Joomla 1.0.x series - a guide


content creation plugins for Joomla

I myself don't use a WYSIWYG editor when editing articles. However, there are benefits to these editors than just the editing surface. The editor components also provide image/file manipulation too, and are usually pretty complex themselves.

For users that don't know HTML, the WYSIWYG is necessary and makes or breaks the experience for the content creator.
JoomlaCK Editor - The next generation of html editors for Joomla!™ | JoomlaCK Editor


remove weblinks, newsfeeds, contacts from search

removing the code in plugins/system for contacts, weblinks, and newsfeeds will help, but you also need to remove the entries within the jos_plugins;
Joomla! • View topic - Remove: Categories & Sections appear in Search results
Created: 2005-04-14 02:32:45 Modified: 2014-07-13 04:41:59
/root sections/
>peach custard pie
>linux
>windows
>programming
>random tech
>science
>research


moon and stars



My brain

Visible Dave Project


destory this webpage; if you will.