Skip to content

How to configure AVReloaded to work with Longtail's JW Player Google Analytics Pro plugin

Allvideos Reloaded (AVReloaded) is a really nice piece of software engineering from Fritz Elfert. Rather than hardcode for all the individual players out there, Fritz created a macro system that allows you describe the parameters for any player, so it can be configured and updated.

Click for screenshot of Google Analytics Event categories, generated by the Longtail GA Pro plugin
Like the Allvideos plugin, AVReloaded comes bundled with the ubiquitous JW Player for Flash. If you are streaming flash movies from your website, one worthwhile plugin is longtail's Google Analytics Pro. The current license price for the plugin is $19 from longtail's site. If you're already using Google Analytics, the plugin feeds "Content" events from the player to Google Analytics which will show up under the "Event Tracking" menu. Ever have questions like: "I wonder what videos people are actually watching on my site" or "for this new video, how many seconds do they watch before they get bored and close it?" If so, then this plugin is for you. The player will generate events that GA groups into 3 categories: "Video Plays", "Percentage Played" and "Seconds Played". Drilling down you get a nice list of the Videos on your site. For example, finding out that people only watch on average 10% of that promotional video for your product is probably a sign that you may need some better material. Continue reading "How to configure AVReloaded to work with Longtail's JW Player Google Analytics Pro plugin"

Joomla K2 Component ERD Schema and Tree traversal optimization with Catalog Mode

Joomla K2 component Schema in png format
In the recent profile of, I talked about the use of the K2 component from the Folks at JoomlaWorks. While doing some customization, I decided to reverse engineer the K2 tables that are created and used by the component. I provide the diagrams for interested parties and developers looking to understand how K2 is designed. Keep in mind that these are logical diagrams, since Joomla and K2 have no intrinsic support for MySQL other than using the MyISAM engine, which doesn't support key constraints. Click on the image to get the .png version, or this link for a .pdf.

One thing I noticed about K2, is that its tree traversal code can require a lot of queries to be run, especially if you have a lot of categories. Over on the K2 forums, one K2 user with a large number of subcategories was complaining about the substantial overhead involved in displaying the top level Category for their site. With over 1000 subcategories, the site was being hammered with an equal number of queries.

This is because by default K2 will do a query for every category to find its child categories and items. Since this is a recursive problem there's no inherent MySQL solution that would allow the developers to solve this problem in SQL (like the Oracle Start With ... Connect By syntax) so it's somewhat understandable that the JoomlaWorks developers provided a short circuit mechanism into the category configuration they call "Catalog Mode". The description of this configuration flag, which defaults to "No" is:

If you select 'yes' then only the items directly belonging to this category will be retrieved. If you select 'no' then items from all sub-categories will be retrieved. Setting this option to 'no' is ideal for news/portal/magazine/blog layouts.

This setting simply shuts off the recursion behavior for the category.
Defined tags for this entry: , , , , ,

Profile of the launch -- Joomla reborn

I've been helping out Scott McGinnis with a revamp of his web-videos-for-kids and tweens site, Global Broadcast 4 Kids, aka

Scott was a pretty successful actor in the 1980's, who transitioned to directing in the 90's, and like a lot of directors in Hollywood, got his first chance behind the camera courtesy of Roger Corman. After a stint making low budget features, he went on to direct episodes of "Angel" and the TV series "Honey I Shrunk the Kids", and for the last few years, has been producing educational webisodes using Prosumer video equipment, and editing the episodes on a Mac with Final Cut Pro.

The subject matter and production values aren't that much different from what you might expect to find on basic cable networks like The History Channel or Disney Channel. The GB4K "twist" is that all the segments feature kids and teens as the newscasters, reporters and narrators. GB4K has already proven to be a great training ground for a number of its young "stars", as GB4K alumni have gone on to success at the Disney Channel, and in feature films. There's lots of material in the archive, and he creates a number of new episodes each week, from sports and entertainment news, movie premier "red carpet" interviews, how-to videos on dancing and skateboarding, history channel-esq features on subjects like Guitars and Merry-go-rounds, and environmental science and the latest in Green living practices and Green news. The site also includes music videos he directed and produced for Amber Lily and Jadagrace Berry. A great example of what Scott is able to accomplish as a one-man directing, production and post production crew, is the Jadagrace "Express Yourself" video, which in my opinion compares favorably with music videos costing 10-20x as much.

Despite having a substantial library of video content, frequent updates, and a clear cut audience, problems with the website had put GB4K into a holding pattern.

Continue reading "Profile of the launch -- Joomla reborn"

Joomla PonyGallery tweak

In the current release of the The Mambo/Joomla PonyGallery component, support for MamboJoe's Community Builder component is hardwired into the picture detail page. The Author name is a link to the Community Builder component. If you don't have that component installed, here is how you can remove the link.

You need to edit the PonyGallery script sub_viewdetails.php. This script is in the components/mod_ponygallery directory.

Find these lines:

  1.             echo "<tr class='sectiontableentry2'><td width='30%' valign='top'><b>"._PONYGALLERY_AUTHOR.":</b></td><td width='70%' valign='top'> <a href='index.php?option=com_comprofiler&task=userProfile&user=" . $imgownerid . "'><b>" . $imgowner
  2.                      . "</b></a></td></tr>";

And replace them with this:

  1.             echo "<tr class='sectiontableentry2'><td width='30%' valign='top'><b>"._PONYGALLERY_AUTHOR.":</b></td><td width='70%' valign='top'><b>" . $imgowner
  2.                      . "</b></td></tr>";

I'm fairly sure this will be a configuration item in the next release of PonyGallery ;) Until then, if you aren't using CommunityBuilder, this will hold you over.
Defined tags for this entry: , , , ,

Joomla (Mambo) Core ERD diagrams

I have a small project that involves an implementation of Joomla (a fork of the popular PHP/Mysql based content management system Mambo). I started with Mambo and during the time I was configuring the site, the core developers of Mambo left to create the Joomla project. The reasons for this are discussed on their OpenSourceMatters website.

Suffice it to say, I find an Entity Relationships diagram to be very helpful in understanding the architecture of a database driven application like Joomla. There wasn't one available, so I decided to reverse engineer the database, and created these diagrams, which break the core database down into a few functional areas.

UPDATED At one time my pdf version of this was hosted by Joomla, but in one of the many moves of source code, the links to it were broken. You can get the pdf with all the views here.

User and Security Subsystem

Backend (modularity and extensibility) Subsystem

Content and Presentation Subsystem


Defined tags for this entry: , , , ,