Implementing A/B (Variant) Testing in Joomla
In running a web site or web business, we always strive to get more traffic from search engines, more social media traffic, more click-throughs and ultimately, more sales. We spend a lot of time on search engine marketing (SEM), search engine optimization (SEO), social media marketing (SMM) and a whole host of efforts to improve sales. Smart web masters are currently spending a lot of time on “responsive design” to improve site usability on mobile devices and tablets. In all of this, we sometimes forget about what happens once a user visits our site. Can users find what caused them to come to the site in the first place? Can they find related material?
To improve the usability of a site, we first start with something that works for the designer, but does that necessarily work for users? When we get into design arguments in a conference room, does the the best design win, or does the loudest designer win? To make sure that the best design wins, you should look at doing “A/B testing” on your web site.
What is A/B Testing
A/B testing is the process of statistically comparing alternative website designs to see which design results in more revenue, a higher click through rate, a longer time on a page or whatever behavior you want to measure. The formal name is “variant testing,” and although the name A/B testing implies only two alternatives, you can compare several alternatives simultaneously but this takes much more site traffic to get statistically valid results in a reasonable time period. Small design changes can sometimes result in major changes in user behavior–you would be amazed at the difference changing the color on a button or link can sometimes make.
If you are a Joomla web master, there really is not much in the way of information on the whole process of configuring A/B testing. For the entire process, the only real descriptions of the process that I could find were this article by Metrist Partners and the related presentation to the Chicago Joomla User Group by Avery Cohen. I used these articles as the basis for setting up the A/B test that is the basis for this article and for a presentation at the North Dallas Joomla User’s Group. With the exception of the specific plugins, all of this article is appropriate for setting up A/B testing on a Wordpress site.
The Steps in Setting up an A/B Test
How you set up and run an A/B test is dependent upon what web analytics tool you use; this tutorial is based upon using Google Analytics, but the general steps will be similar for other tools:
- Choose and install plugins on your web site
- Experiment management plugins
- Page variant plugins
- Define the goal to be measured. This is usually, but not always one of the following:
- Increasing sales
- Increasing the click through rate
- Increasing the time spent on the page or site.
- Create the variant web pages each with a different URL
- Define the experiment parameters in your web analytics tool
- Define the experiment parameters in an experiment manager plugin on your website. The experiment manager plugin must work with your particular web analytics tool.
- Start the experiment in your web analytics tool.
The article that follows goes through the steps in the process to set up an A/B test on this web site. There is one article that has been well received by the target audience for the site, but which does not have a call to action. I wanted to see what would happen if I added a call to action to the article to see if that would increase the number of readers who go to the contact web page.
Choosing and installing Extensions on Your Joomla Site
There are two types of extensions that you will need to install on your web site:
- Experiment management extensions. These extensions work with your web analytics tool–most often Google Analytics–to run and control the experiment.
- Page alternative (variant) design and control extensions. These extensions help you to create page design alternatives in a way that each alternative design (variant) has a different URL, and preferably a URL that the search engine crawlers will not pick up as a new page.
Both of these types of extensions are hard to find in the Joomla extension listing site; very little shows up under “A/B” or “variant” but the sections that follow discuss some of the ones that I found. I have not used all of the ones that are listed here, and there are probably others that I do not list.
Joomla Experiment Management Extensions for Google Analytics
Finding an extension to manage Google Analytics experiments in Joomla was a challenge, but there are a few alternatives both within the Joomla extensions website and on independent web sites:
- Currently listed in Joomla Extensions
- Basewind Google Website Optimizer (Basic). This is the one that I used. It comes in a free version that supports only one concurrent experiment, and a paid version that allows multiple concurrent experiments. It appears to use the Joomla updater, though the code is quite simple (for the free version) in reality and it probably will not get a lot of updates.
- JS Google Content Experiments for Joomla. I did not use this experiment manager, as it does not use the Joomla Updater.
- From Google search
- Visual Website Optimizer. It is not clear that this is currently supported or even available. I have not used this extension.
- Quirky Fox A/B Test for Joomla. This is a paid extension and appears to have support, but it does not appear to use the Joomla Updater.
Joomla Page Variant Design Extensions
Setting up the page variants is easily the most time-consuming part of running an experiment. The only real criterion is whether or not you can use a different URL for the page variants; there are a lot of ways you can do that in Joomla. Whatever approach that you use should not create a URL that competes with the original URL within the Google, Bing and other search engines. My call to action experiment was intentionally simple as you will see later, so I only used one of these packages (Sourcerer), but I can see future experiments where I would use other packages:
- Sourcerer. This package allows you to include PHP into a page for relatively simple or potentially complex changes. The free version is appropriate for sites that do not allow non-administrator logins. If you allow non-administrator users, you will want the paid version so that you can restrict access to the scripting tags to administrative or other trusted users. Allowing untrusted users to use scripting in content is a huge security exposure.
- Chameleon. This looks like the most flexible of the tools that I investigated, but I have not used it yet.
- MetaMod. This appears to be a very flexible tool, but I have not used it yet.
- Advanced Module Manager. This appears to be a very flexible tool, but I have not used it yet.
Design the Alternative Pages for Your Experiment
Designing the variants can be a major task all by itself, and will ultimately be the topic for several future articles. For this first experiment, I used what is probably the easiest technique and used the Sourcerer extension to embed PHP into the web pages and display a different version of the page depending upon whether or not a particular variable was passed. The simple PHP script that follows tests for variables in the URL and then tests for specific variable names and display one of the two call-to-action alternatives depending upon the variable name–?variant_1
or ?variant_2
. The three alternative designs have different versions of a call to action following the article:
- The original version with no call to action: https://www.mooresoftwareservices.com/Loan-Pricing/effective-yield-loan-fee-amortization
- A call to action with photo: https://www.mooresoftwareservices.com/Loan-Pricing/effective-yield-loan-fee-amortization?variant_1
- A call to action without photo: https://www.mooresoftwareservices.com/Loan-Pricing/effective-yield-loan-fee-amortization?variant_2
It is important to note that enabling the free version of Sourcerer on a Joomla site that allows non-admin users to write content presents a significant security exposure as the free version does not give you controls to restrict who can and cannot include scripts in their pages. If you have non-admin users who can create content, you need to upgrade to the paid version of Sourcerer.
<?php
defined( '_JEXEC' ) or die;
jimport( 'joomla.plugin.plugin' );
#
$jinput = JFactory::getApplication()->input;
$url = JUri::getInstance();
#print $url . "\n";
#print_r($url->getQuery(true));
#print "\n";
$num_vars = count($url->getQuery(true));
#print $num_vars . "\n";
if ($num_vars == 1) {
if (strcmp(key($url->getQuery(true)),"variant_1")==0) {
print '<div itemscope itemtype="http://schema.org/Organization"> ';
print '<h4>For Assistance</h4>\n';
print '<p>If you have questions on how to implement a fee amortization or other loan-pricing related data warehousing questions, contact Bruce Moore via one of the methods on the <a href="/contact">contact</a> page.';
print '</div>';
print '<img src="/images/bruce_moore_portrait_small.jpg" alt="Portrait of Bruce Moore, owner of Moore Software Services LLC.">';
}
#
# Check for the URL of the second variant for the experiment
#
if (strcmp(key($url->getQuery(true)),"variant_2")==0) {
print '<div itemscope itemtype="http://schema.org/Organization"> ';
print '<h4>For Assistance</h4>\n';
print '<p>If you have questions on how to implement a fee amortization or other loan-pricing related data warehousing questions, contact Bruce Moore via one of the methods on the <a href="/contact">contact</a> page.';
print '</div>';
}
}
?>
Add the code to include the PHP at the bottom of the article
The final step in coding the alternative pages for the Sourcerer/PHP approach is to include the PHP code in the original article using the Sourcerer markup:
{source}
<?php
include $_SERVER['DOCUMENT_ROOT']."experiment_php/mss_google_analytics_ab_testing_call_to_action_1.php";
?>
{/source}
Step 1–Define a Goal in Google Analytics
The first step in setting up A/B variant testing is to define a “goal” in Google Analytics. Usually, the goal is higher sales or a higher click-through rate. Figure 1 shows the admin panel in Google Analytics with the “Goals” option in the lower right column.

After selecting the Goals option as shown in Figure 1, select the red “New Goal” button as shown in Figure 2.

For your new goal, define whether the goal page is a particular URL–the “equals to” option shown in Figure 3–or a family of URLs using the “begins with” option shown in Figure 4.


You should disable the Google Analytics Opt-out extension in your browser while you are defining and testing your configuration.

Step 2–Define an Experiment in Google Analytics
Once you have defined your goal in Google Analytics, you can start the process of defining your experiment. To begin this, go to the Behavior->Experiments left-bar menu option. This will bring up the panel shown in Figure 6. Select “Create experiment” to begin defining your experiment.
Define your experiment under Behavior->Experiments

Name your experiment and set the goal to be measured
Next, as shown in the panel in Figure 7, name your experiment, select the goal to use as the objective to be measured, and decide what percentage of your site’s traffic to use for the experiment. If you are experimenting with an important page that generates a lot of revenue, you probably do not want to put a large percentage of your traffic through the experiment, because the alternative may not perform as well as the original and you do not want to create a financial disaster. On the flip side, if you choose a very low value for a page that does not get a lot of traffic, it will take Google Analytics a long, long time to get statistically valid results.

Step 3–Define Page Variants in Google Analytics
Once you’ve got your experiment named and a goal selected, you must define the URLs for the original version of the page and variant versions of the page.
Set up the original version of the page
For this experiment, the value for the original page in the box for “Web page to experiment” is the URL for the Effective Interest (Yield) Loan Fee Amortization page on this site as shown in Figure 8.

Add URLs for variants of the page
You must add at least one variant for your experiment, in this case a call to action with a photo where ?variant_1
is added to the URL as shown in Figure 9. There are many ways that you can use other URLs depending upon the details of how you constructed the alternative web pages with Joomla.

You can add more than one alternative design
You can add several alternative designs, but the experiment will take more time to collect enough statistics to determine a winner. Figure 10 shows the third alternative (second variant) design where a call to action is included but no photo.

Step 4–Copy Experiment Code from Google Analytics to Basewind Plugin
Once you have defined the URLS for each alternative page design, Google Analytics will give you a short segment of Javascript that must be included in the HTTP header of the original version of the page as shown in Figure 11. This is what the Basewind or other experiment manager extension does for you. Once the Basewind (or other experiment manager extension) is installed you will copy this Javascript into a field in the Basewind plugin (see Figure 14).

Install the Basewind Conversion Optimizer Basic Extension
Before we get to the step for pasting the experiment Javascript, we have to make sure that the Basewind plugin is correctly configured. First, go to Extensions->Plugins and find the Basewind plugin as shown in Figure 12. Select the plugin and change the load ordering so that the Basewind plugin loads last as shown in Figure 13.


Paste the Google Analytics Javascript into the Basewind Plugin
After setting the load order on the first tab of the Basewind plugin configuration, go to the second tab. On the second tab,cd paste the Google Analytics experiment code into the Basewind plugin as shown in Figure 14.

Step 5–Add the Basewind Experiment Tag to the Article
Once you have copied the Google Analyics experiment Javascript to the Basewind plugin, move to the last configuration tab of the Basewind plugin and set the “tag” for the experiment. This tag does not correspond to a Joomla tag nor does it correspond to a Google Tag Manager tag. This tag is used only by the Basewind plugin, and other experiment manager plugins may use a completely different approach.
Set the tag to something that describes the experiment. It should be something that makes it easy to tie back to the Google Analytics experiment name. The free version of the plugin only allows one tag at time, but the paid version allows multiple tags (and corresponding experiment Javascript). The tag is used in the article to tell Basewind to put the experiment Javascript in the HTTP header. Figure 15 shows the tag used for this experiment.

When you have the tag for your experiment set, open up the article (or module where you can enter HTML depending upon your alternative designs) and put the following markup somewhere in the article.
{calltoaction}
This tells the Basewind plugin to add the Google Analytics experiment Javascript to the HTTP header. It does not matter where you put this markup; I put it adjacent to the Sourcerer markup that includes the PHP code for the alternatives as a way to keep track of it.
Step 6–Validate Your Experiment
The final step in the process is to go back to Google Analytics and validate your experiment; Figure 16 shows what it will look like for a successful validation:
- Both experiment and normal Google Analytics code found on the original page
- Only normal Google Analytics code found on each of the variants.

There are several things to check if you have problems validating the experiment
If you have problems validating the experiment, there are several common configuration problems that you should check:
- Make sure that Google Analytics Opt-out Chrome plug in is disabled. I normally have the Google Analytics opt-out plugin enabled in all of my browsers so that my development and testing does not show up as traffic on my web site. This can cause problems during the validation step in the process.
- Check caching and optimization settings in Joomla; you will at least need to clear cache.
- Make sure that Basewind tag is present in the original version of the page.
- Make sure that Basewind loads last.
Summary
Setting up an A/B test for your Joomla web site is really pretty easy, but setting up the page design alternatives can be quite time consuming. The simple Sourcerer/PHP approach used for this example will only work for some types of design alternatives. Other approaches to coding design alternatives will be topics for future articles.
- Details
- Written by Bruce Moore
- Hits: 4741
Doing an SEO Review When You are Not the Webmaster
If you are the President of an organization or a business owner with a web site that was constructed by someone else, you need to make sure that the site is up-to-date in how it appears to Google, Bing and the other search engines; if you do not, you risk customers and potential members never finding you when they are looking for your organization or business. The process of designing a site to be found by users doing Google, Bing, Yahoo and Duckduckgo queries is called “search engine optimization” or SEO. Setting the site up for this can be quite technical, but testing to make sure that it was done is well within the capability of a non-technical organization officer or business owner. For most of these tests, all you need to do is cut and paste one of your web site’s links into a testing page and then look at the output. Figuring out whether or not you have a problem is pretty easy. If you do have a problem, you will need to recruit someone with the necessary skills to update your site.
Query on the Organization Name
Using the major search engines (Google, Bing, Duckduckgo, and Yahoo), query your site’s name; your web site should be the first item for each of the search engines. If it is not, you have some work to do. If the universal record location (URL) that the search engine shows is something like mydomain.org/?page_id=290
, you need to do some work to turn on “search engine friendly” URLs for your site.
If your site is the first one and has good-looking URLs, you may have some work to do, but for you, some of the basic stuff has already been done.
For this test, Firefox is the easiest browser to use; enter the name of the society in the search bar and then click on the magnifying glass icon to choose which search engine to use.
Query Likely Search Terms
Next, query likely search terms like “german genealogy society st. louis” to see how you rank; if you are not the first, you definitely have work to do by doing the following:
- Increasing the use of keyword and description metadata
- Increasing the use of structured data
- Writing more frequent articles.
Test Your Site for Structured Data
Structured data is a way that websites tell Google and other search engines exactly how the search engine should classify the information on a site for people, places, events and numerous other things. Schema.org gives a complete listing of all the different types of structured data. To see if your webmaster has installed and configured the right plugins to do structured data on your site, go to Google’s structured data testing tool and paste in the URLs for the following:
- Your home page. Either this or the “about” page should have structured data for the “organization” tag. For an example, use the home page for this site. You will see some errors listed for articles; Google “requires” some attributes that may not necessarily be appropriate for some pages.
- Your officer’s page. This should show structured data for the “people” tag, with one for each officer. For an example, use the “people” page for this site.
- Your calendar page. This should show structure data for the “event” tag, with one for each calendar entry. For an example, use the “Events” page on this site.
Test your Facebook Images
When someone shares a link to your site on Facebook, there are several types of Facebook-only structured data that Facebook uses to come up with how it displays a link to your site–an event perhaps. To see how Facebook looks at your site, go to Facebook’s Sharing Debugger and see how things look. If it does not look good, talk to your web-master about adding the necessary markup and/or creating additional images specifically in the sizes that Facebook likes.
Test your robots.txt File
Every site should have a robots.txt
file that tells the Google, Bing and other robots what links and directories on a site to crawl and what links not to crawl. It should contain a reference to the sitemap, which gives a directory of the pages on your site and when they were updated. The robot should look at the sitemap and then crawl only the pages that are new or were updated since the last crawl. See the robots.txt
file on this site as an example. Check to make sure that your site has an entry for sitemap
. If it does, your webmaster has probably configured it and you can move on to the next step.
You should test the robots.txt
file using Google’s robots.txt
tester. If this does not work, have your web-master add you as a read-only user to Google Search Console.. If your webmaster has not registered your site with Google Search Console, make sure to do that, as the Search Console will tell you about problems on your site’s configuration.
Look at Your Sitemap
The sitemap shows Google, Bing and other crawlers what pages are new and what pages have been updated since your site was last crawled. See the sitemap on this website as an example. If your site does not have one, your webmaster will have to install and configure a plugin to create the sitemap. On Wordpress sites, Yoast is one of several SEO plugins that creates a basic sitemap, while on Joomla OSMap is a plugin that creates a basic sitemap.
Ask your Web-master to Add You as a Read-only User on Google Search Console
Finally, ask your web-master to add you as a read-only user on Google Search Console. First, this will show you whether or not your site is registered with Google, and second, the Search Console has several tools that will tell you about SEO problems on your web site. You should specifically look at the sections on
- Crawl problems. If your
robots.txt
file is mis-configured or your sitemap is broken, this will tell you. - Sitemap configuration. Make sure that you have a sitemap and that Google is using it.
Bing has a similar registration service; make sure that your site is registered with Bing as well as Google.
Summary
Testing your website for good SEO is both important and easy, even for a non-technical organization officer or business owner. A hour of work can make a big difference in how well your organization appears in search–a critical part of your marketing program.
- Details
- Written by Bruce Moore
- Hits: 2719
Windows 10 Anniversary Update Wiped Out My Partition
The Windows 10 Anniversary Update wiped out the partition on a Lenovo E530. I have not seen large numbers of posts about this, but have noted that this is the only machine that has updated. I”ve tried to update one machine to test the IRDA features that are supposed to be in this update, but that machine will not update; perhaps Microsoft has slowed or stopped the rollout. Figure 1 shows Google Trends results for queries about the update, while instructions for avoiding similar updates are contained in the section that follows.
Ultimately, this ended up being a format-reinstall of Windows 10. I first did a Clonezilla backup of the drive, then took the original drive out, put a new one in and restored the Clonezilla backup. The partition was readable in GpartEd, and Ubuntu chkdsk (with appropriate tools) ran fine, but I could not get Windows to do an overwrite reinstall; it has to be bootable for that to work.
Avoiding Windows Updates with New Function
The risk for errors in Windows updates is certainly higher for updates that contain new function and which are announced to have new function, as was the case in the Windows 10 Anniversary Update. In prior versions of Windows Professional, it was easy to turn off updates and to manually select which ones to apply, but in Windows 10, this is no longer the case, unless you are an Enterprise user. Windows Professional users are now crash test dummies for Windows Enterprise users.
You can, however, turn off updates with new function prior to a big update, and then turn new function updates back on once you hear that it is rolling out smoothly. To do this, go to Windows Update Settings and click on the advanced options as shown in Figure 2. On the Advanced Options panel shown in Figure 3, check the box for “Defer upgrades”; this will defer the new function upgrades like the Anniversay Upgrade, but will not defer security updates.
You may also want to look at the options for upgrade delivery under the “Choose how updates are delivered” option shown in Figure 4. Windows 10 can download updates to one PC on your network and then other PCs can upgrade from the first PC. This is probably a good idea for desktops that are on a static network, but is not necessarily what you want to do on a laptop that may be connected to a public network.



- Details
- Written by Bruce Moore
- Hits: 2471
When to Use WordPress and When to Use Joomla
Joomla and WordPress are the most popular content management systems (CMS) in use today, with WordPress the undeniable market share winner. A discussion of the relative merits of WordPress and Joomla can quickly turn into something akin to a religious war. I support one non-profit website, and in recognizing a need for the eventual replacement of another non-profit website, I’ve struggled with which of the two systems to use; WordPress has an easier-to-pick-up user interface, but I hear of WordPress admins writing PHP code to do things that Joomla does through the admin interface; my perception is that WordPress is faster to build initially, but for some user requirements can be more difficult to maintain than Joomla. I decided to put my questions to a panel for discussion at a Dallas/Ft. Worth Joomla User Group meeting. Tony Hanson and Wilma Howell agreed to be panelists to discuss how the two systems would satisfy the specific requirements for the two web sites. Both have worked with both Joomla and WordPress and are familiar with what is easy–and not so easy to do in each of the two systems.
The short answer is that both could be made to work, but that one site would be better staying with a WordPress implementation, while due to a requirement to support multiple blogs, one would be better implemented in Joomla. In general, if a web site needs template-independent menus and/or flexible user authorities, Joomla is appropriate; you can implement these features in WordPress, but Joomla is much easier for these two requirements. If the site does not require these two features, WordPress may be easier to implement. The discussion was based upon two case studies:
- Arts District Chorale
- Corinthian Sailing Club
The sections that follow summarize the panel discussion for the two case studies.
Arts District Chorale Case Study
The Arts District Chorale is an auditioned choral ensemble that performs four concerts per year in the Dallas Arts District and generally sings with about 40 voices, though the roster of singers is generally about 100; most singers sing two of the four concerts. The web site is used to for advertising the chorale and providing information to singers, concert goers, donors and media. The chorale has used Ning.com to manage communication with singers, but this is being phased out to reduce costs. The chorale needs more robust donor management capabilities. The current web site is set up using WordPress; the singers and volunteers with IT backgrounds primarily have Joomla and Drupal experience. The general requirements for the web site are as follows:
- Interface to ticketing systems
- Eventbrite for non-City Performance Hall concerts
- ATT Performing Arts Center for City Performance Hall concerts
- Login access and separate menu system for singers to get access to rehearsal notes and other information that singers need but which is not appropriate for a public website.
- Donor management capability to track donations, issue receipts, and provide exports for rolling 12-month donor levels for use in programs.
- Email communication with singers to be managed by Artistic Director.
- Granularity for user authorities and user-based menus:
- Singers, perhaps broken out by section
- Board members (may or may not be singers)
- Donors
- Volunteers
- Marketing emails are handled in MailChimp with sign-up page on website.
- Audition form
- Blog with several authors with necessary authority to post blog entries.
- SEO is important, though the site is easy to find for people who are looking for choral ensembles, but almost impossible for people who are interested in general entertainment activities.
Panel Discussion
The panel discussion originally focused on how to provide donor management and replace the Ning functionality. The general consensus was to look at hosted donor management systems to simplify PCI compliance, and that this probably was not a factor that would differentiate WordPress vs. Joomla. Google for non-profits was discussed as a possible alternative.
The discussion about replacing Ning functionality revolved largely around menu capabilities and whether this it was acceptable to do this using a plugin (WordPress) or whether it needed to a native capability (Joomla). WordPress has subsequently implemented some menu capabilities natively that may meet the need for singer-only menus. There was also discussion of WordPress plugins to provide additional user authority granularity that is native to Joomla.
There were several WordPress plugins discussed to provide some of the additional functionality needed:
- WordPress
- Ninja Forms
- Formmaker
- Members plugin to provide additional granularity in authorities
- Joomla
- RS Forms
- Cobalt
- Quickbooks with zap linkage
- Donor/member management
- Self-hosted
- Third-party hosted
- Zoho.com
- Neoncrm.com for donor/member management
The general consensus was that the needs could be met with WordPress and that enhancing the existing site was probably better than rebuilding in Joomla.
Corinthian Sailing Club Case Study
The Corinthian Sailing Club is based on White Rock Lake and has more than 300 members who participate in day sailing and racing programs. There are five active racing fleets, each of which maintains some combination of scoring, email, web site, social media and newsletter programs. Active social media programs are a clear benefit to helping fleets grow, but some fleets do not have people with the necessary skills to implement web sites or social media programs. Providing the capability to support fleet websites, blogs, scoring and scheduling capabilities is not a current requirement, but is anticipated to be a possible future requirement.
The club’s web site was custom developed by club members in the late 1990’s and has been subsequently maintained by the same members. There is no compelling reason to replace the current web site, but it is recognized that it will need to be replaced at some point. The current web site is not easily usable on mobile devices. While the club has several members with WordPress experience, it does not have significant numbers of members with Joomla or Drupal experience. The general requirements for the web site are:
- Provide easy to find information and menu systems for information on membership, education, racing and other activities.
- Provide a central location for each fleet to host a website and blog so that the smaller fleets can host a web site without the technical upkeep of hosting a site individually (new).
- Enrollment management capability for both Jr. and Adult Education programs (new).
- Online membership dues payment
- Online regatta registration, either natively or via third-party service
- Calendar management and publishing
- Usable on mobile devices (new)
- Integration of legacy weather station
- Different menus and authorities based upon role: (new)
- Member
- Fleet member (not hierarchical, as members can participate in multiple fleets)
- Fleet officer
- Board appointed roles
- Board members
Panel Discussion
Since many of the issues with this web site design are fundamentally the same as the design issues with Arts District Chorale, the discussion focused on a requirement that was unique: the potential need to host multiple blogs. The panel concluded that this would be a serious barrier for a WordPress installation, although there was some discussion of using the multi-site plugin. The consensus was that this approach would make administration more difficult than necessary.
- Details
- Written by Bruce Moore
- Hits: 2755
Windows 10 Upgrade Experience for VirtualBox
Upgrading my Windows 7 image running in VirtualBox proved to be one of the more frustrating upgrades, but ultimately quite easy–once I figured out the secret. The article that follows dicusses what I recommend as an approach to the upgrade, though this is not the way I got to the end.
VirtualBox Snapshot
Upgrading to Windows 10 in a virtual machine is relatively easy and risk free if you take a snapshot before you upgrade; you can always restore to the snapshot if there are problems with the upgrade.
Download the Compatibility Testing Tools
When I used the little Windows 10 upgrade icon in the lower right corner to attempt to upgrade, it universally told me that my graphics drivers were not supported. I went through many gyrations and settings changes to no avail. I finally downloaded the windows10upgrade9252.exe upgrade tool from the Microsoft website; you must access it from within the Windows VM, as Microsoft will not show you all of the options if you are surfing from a Linux or Mac. I ran the downloaded tool and it’s compatibility test indicated that my hardware would run Windows 10 and proceeded with the upgrade. The upgrade ran without problems.

Compatibility for Windows 10 Upgrade
The Windows 10 compatibility tester that installed via Windows Update indicated that my graphics adapter was not supported as shown in Figure 1. In attempts to fix the problem, I ended up making several changes that were recommended by various web threads. These may have contributed to getting the windows10upgrade9252.exe
installer to work.

Attempt #1–Enable PAE/NX
The first recommendation that I found was to enable PAE/NX
; it was already enabled as shown in Figure 2.

Adding the PAE/NX instruction didn’t fix the processor compatibility problem listed by the Windows virtual machine.
Attempt #2–Remove VirtualBox 4.1.12 Guest Additions
This machine showed high CPU use for “hardware interrupts and DPC”. One of the problem determination commentaries on this problem suggested removing the VirtualBox Guest Additions. This did not fix anything.
Since I lost my dual-screen setup when I removed the extensions, I reinstalled the extension and tried to enable accellerated 3D--but got a message that I had to boot in safe mode to install the extensions with the accellerations enabled.
Attempt #3–Upgrading VirtualBox from 4.1.12
The version of VirtualBox that is part of my base Ubuntu distribution was 4.1.12–quite old, as the current release of Virtualbox is 5.0.2 as of September 5, 2015. The VirtualBox web site at Download VirtualBox for Linux Hosts has instructions for adding apt-get
repositories to allow installation of the newer versions of VirtualBox.
This step involves a lot of backups prior to attempting it so that there is an easy way to roll back.
VirtualBox 4.3
sudo apt-get update
sudo apt-get install virtualbox-4.3
VirtualBox 5.0
sudo apt-get update
sudo apt-get install virtualbox-5.0
This had a number of improvements, but did not fix the Windows 10 upgrade problem.
Attempt #4–Change Paravirtualization Settings
Set paravirtualization to default from legacy. This did not fix the problem.
Attempt #5–Disable 3D Acceleration in VirtualBox Settings
One web post suggested disabling 3D video acceleration. This did not fix the problem.
Attempt #6–Install from ISO Disks
The final web post suggested forcing the installation using ISO images. In this process, I found the upgrade tool windows10upgrade9252.exe which did not find the incompatibility that the Windows Update installer found. Although I did not have to download an ISO image, I was able to use this tool to upgrade the machine.
- Details
- Written by Bruce Moore
- Hits: 2457