Month: March 2011

How To: Copy a Joomla Menu

I wanted to keep a copy of the way a menu was before I made changes. I wish there was a duplicate option, but this what how I found you can do it:

From the menu manager, create a new menu with the New button:

Then, set the properties for your new menu:

After saving and closing, open the menu you want to copy by clicking on the link:

Next, click on the check box at the top to select all the menu items:

Now, at the bottom, choose “Add to this menu” for the new menu that you created.  Choose copy for the option.  Finally, click process.

Once you click process, you should see the success message:

Now, you have a copy of your menu!


I have been working with Google’s Webmaster Tools, and one of the things that it requires is a sitemap. It took me some tweaking to get it right, but here is what I learned.

First, I had to hand craft a sitemap php file for the main, parent site. The first thing that I struggled with was how to get the content type and XML heading in a php file. The solution was the header() command and to use the echo command.

Here is the heading of my sitemap page:

header("Content-Type: text/xml"); 

echo '<' . '?' . 'xml version="1.0" encoding="UTF-8" ' . '?' . '>' 

The next hurdle was to determine how to include the last modified field. I found the filemtime() command could read the last time the file was changed. Then, the date() command using the DATE_W3C format puts it in the correct format that the sitemap expects.

Here is what an entry looks like.

    <lastmod><? echo date (DATE_W3C, filemtime('index.html')) ?></lastmod>

Finally, I found a plugin that would generate the sitemap for the WordPress blogs. The plugin is called: “Google XML Sitemaps”:

This plugin adds a new settings page where you can configure different options regarding the sitemap:

I didn’t need to mess with any of the settings. I should have blogged this as I was doing it, but if I remember right, I had to visit this page the first time to generate the sitemap. From there, it takes over.

At the top of the settings, you can see stats such as when it last generated the XML. You can also force it to rebuild the sitemap.


Paying Attention to Licenses

This article kind of caught my attention:

InfoWorld — Study: 70 percent of iPhone and Android open source apps violate licenses

The Open Source license isn’t the fun part of the project.  I like to be creative, and I like to see the program work.  Worrying about a license is the last thing I want to do, but it needs to be done.

So, here are some places to start researching:

I found a little bit of a checklist on this page under the section Applying the License, but I would like a better checklist specific to the Apache License 2.0.

Ahh! Spam, Your Killing Me!

After moving my blog, one of the problems is SPAM.  And, it seems like it is getting worse.  I get all kinds of spam comments, some advertising various things like iPhones and worse, but the most annoying are these unreadable ones.  These are like random letters or like someone just slid their hand across the keyboard.


On, they offer Akismet as a spam filter.  It seemed to do a decent job, and now that I see what happens without it, I realize that I took it for granted.  What I didn’t realize was that it was a service.  The plugin came preinstalled on my new website, but to activate it, I had to sign up for an account on the Akismet site.

I have been reluctant to sign up because I am not sure that I want yet another service.  The cost would probably be minimal if not free, but my profits are minimal if not none.


A little search for an Akismet alternative turned up iBlogZone’s article about GASP.  GASP stands for Growmap Anti Spambot, and you can read more about it on the WordPress Plugin Site.

I like this option because it isn’t a service.  From what I can tell, it adds a few features to the form that will trick spambots.  First, it looks like it adds a checkbox via Javascript.  Because spambots don’t care about running Javascript, they will not be able to check the box and therefore not be able to comment.  Also, it adds a hidden field that a human would not be able to populate.  The spambot will not realize it is hidden, and that is a dead giveaway.

So, we’ll see how this option goes.

Solve Media

Another option that looked very interesting was Solve Media.  This idea is pretty cool.  They take a problem and end up making money off of it!

I read about it at iBlogZone’s article.  The idea is that you put a Captcha on your comment form.  In order to comment, you have to type the letters from the image, and they are designed so that a spambot could not decipher them.  The cool part about this implementation is that they incorporate an advertisement into it so that you earn money at the same time.

I think I am going to hold off on this option for now.  It is another service after all, and I don’t have enough legitimate comments at this point.

Fixing Issues with Android ADT Plugin

I have been having trouble using my Android Development Tools ever since I upgraded my Eclipse.  Here is what I went through:

Some possibilities:

First, I tried to uninstall the plugin, and that was quite challenging.  I finally found this article that explains how to do it.

  • Go to the Help > About Eclipse dialog
  • Click the “Installation Details” button
  • Click on the plugin in the list on the first tab.  (You have to do each Android plugin individually)
  • Click the Uninstall button at the bottom of the screen
  • Click finish in the next dialog
  • Once uninstalled, I clicked “Not Now” to repeat the process without rebooting.  After uninstalling all the Android plugins, I clicked the “Restart Now” button.

Next, I opened the Error Log view with Window > Show View > Error Log.  I clicked on the Clear Log Viewer so that I could see only the new messages.  Then, I installed just the first Android plugin from the Update Site.

When the plugin install opened the restart dialog, I still didn’t see any messages in my Error Log view.  So, I just clicked “Restart Now”.  Even after the restart, I didn’t see any messages relating to the install.  Doesn’t make sense!

So, let’s try the permission thing.  I am copying the security over to make the eclipse directory accessible to everyone:

sudo chmod g=u -R /usr/lib/eclipse
sudo chmod o=u -R /usr/lib/eclipse

Note, I found the chmod command option to copy the permissions from a PDF that Google turned up.

After that, it worked!  So, I guess it really was a security issue.  I can see the DDMS option in the Preferences and the DDMS Perspective can be opened from the Window menu.

Setting up Google Custom Search

The other day, I was trying to create a Custom Search for all of my blogs.  I had trouble getting it to work.  It wouldn’t save my URLs and therefore wouldn’t return any results.

I finally found a thread showing that you leave the protocol (http://) off when you enter the URLs.  So, my settings look like this:

URLs on Google Custom Search

One of the things that I don’t like about the search is that I don’t seem to have control over the ads on the page.  I don’t like the big section of ads before you see the search results.  That seems like it would be slightly annoying side for the users, but that’s just my thought.

Example Search Results Page from My Site

Still, it seems like it works well though.  All in all, I am happy with it so far.

Please comment any thoughts you have.


Tips for Moving a Blog

Through the past month or so, I have been working to move my blogs from’s free service to a Lunarpages website.  In doing that, I did a little search for tips on getting my readers and all to move over to the new one.  Here are some of the things that I found.

I found some helpful tips on this site:

MommaBlogga: Safely Move Your Blog (eMoms Group Research Project)

I really liked the “evaluate why you want to change” section.  I moved my blog because I don’t own and I can’t control my previous URL.

The other thing I learned was to use 301 redirects.  I see you can do that on, but it is considered an “upgrade”.  The instructions are here.  This blocking search engines idea might be a good option.

If you have any ideas, please comment below.