Ryan Boren talks about some of the things going into the current development of WordPress 1.6.
Category Archives: Software Development
WordPress Statistics Plugin – BAStats
I’ve been looking for quite a while to find a good statistics package that could give me an idea of what is going on on the site over and above the default Analog stats that my web provider provides.
Tonight I came across the beta version of BAStats, by Owen Winkler. The package is a WordPress plugin and as such was installed and functional in minutes.
I’ll have to figure out whether it winds up being useful, but the amount of data it collects for the amount of effort I had to put into installing it is definitely worth it. Currently, through my administration panel I can report on the following metrics:
- Top Page Hits
- Top Hosts
- Top Referring Pages
- Top Operating Systems
- Top User Agents
- Top Search Phrases
- Recent Page Hits
- Recent Hosts
- Recent Referring Pages
- Recent Operating Systems
- Recent User Agents
- Recent Search Phrases
- Graph Top 5 Page Hits – Segmented
- Graph Top Page Hits
I don’t have enough data to see what the last two items do, but it looks like I now have quite a bit of information at my fingertips. I’m hoping this stuff is more intelligible than trying to sift through the analog stats. Time will tell. Right now all I see is crawlers.
Update
I was receiving some errors in the control panel and a data type error on the main page. To remove these messages, I did the following:
In the file BAStats_options.php, change the function check_option to look like the following:
function check_option($opt)
{
$settings = get_settings('bas_options');
if (!$settings) { $settings = array(); }
if(in_array($opt, $settings)) echo ' checked="checked"';
}
At line 115 , change the following code
if(in_array('log_spam', $options) && in_array('referer_spam', $settings))
{
to the following:
if(!is_array($options))$options = array();
if(!is_array($settings))$settings = array();
if(in_array('log_spam', $options) && in_array('referer_spam', $settings))
{
These changes should fix the errors you are receiving.
Subversion 1.2.3 has been released.
Aside
I’m a little late on this one, but the Subversion team has announced the release of Subversion 1.2.3. Downloads of the software are available here.
SVK 1.0.4 released
Aside
SVK 1.0.4 has been released. This version fixes various locking bugs exposed by the concurrency fix introduced in 1.0.3.
SVK 1.0.3 introduces bugs to be fixed in 1.0.4.
Aside
SVK 1.0.3 introduces bugs to be fixed in 1.0.4 – The recent release of SVK 1.0.3 introduced “insufficient lockings in a few commands” that were not caught by automated tests. A 1.0.4 release is currently underway.
WordPress commercial arm to compete against TypePad
Aside
WordPress commercial arm to compete against TypePad. – I hope this one works out. It would be cool to see Matt get something out of all of the hard work he’s put into WordPress. From all the stuff in the news, it looks like theres a lot of interest.
One More Joel on Software Article for the Week
I want to end the week with one final Joel on Software essay. This one is entitled Getting Things Done When You’re Only a Grunt.
I like this one a lot, because it talks about creating change by taking things into your own hands and leading by example. A great way to end the week.
Will The Build Bottleneck Put The Brakes On Agile?
There is a great article in the SD Times called Will The Build Bottleneck Put The Brakes On Agile? which talks about the use of both version control and an automated build process in which to receive feedback on the “health of the software” more frequently.
Our group has used Open Source products for this kind of thing for a few years (I think we started using CruiseControl at version 1.0, as Keith and I tend to be those “high risk”, early adopter types) with excellent results. The ability to have the software you are developing automatically build from source to deployment packages (we have both the traditional tarballs and ISO images for a Windows product) is an excellent way to remove a ton of unproductive manual labor from your processes and get builds to QA.
One of the great features of this kind of system that isn’t really publicized in the article is the ability, upon build failure, to notify the committers to the current build that a build failure has occurred. This allows a proactive response to these kinds of failures rather than the typical “one guy watches the build and hunts down the guy who broke it” process that most companies normally go through when one person handles build duties.
The other nice thing about this? It makes it really easy to rotate “buildmaster” duties throughout the department. In our case, we built a system around the open source tools in order to help people manage the build, and utilized functionality in CruiseControl like the JMX interface in order to allow people to kick builds without having physical access to the server. This allows us to control what is going on with the server, but still allow anyone with sufficient role based permissions to access the system in order to manage the day to day activities around a build.
We have also implemented CodeStriker, an online code review tool in order to try and keep people out of meeting rooms and give them the ability to comment on source code at the line level, per project, from wherever they happen to be at the time. This has been another really great addition to our process and has reduced the amount of paper each person had to fill out during a code review. We now have documentation of all items raised during the reviews, who raised them, and what the status is of each. The tool also provides full integration with CVS and Subversion.
I’m glad an article like this has come out. These sorts of automated processes need to become the norm in order for IT to be able to get out of the rut it has been in for the last few years in which the manual effort required to produce a software release prevents it from delivering on the things the business needs. Read it. Think about it. Then give it a try.
Here’s some software resources to get you started:
- CruiseControl – Build Automation Software
- Apache Ant – Build Tool
- Subversion – Version Control System
- JUnit – Unit Testing Framework for Java
- CodeStriker – Online Code Review Tool
Keith, did I leave anything out?
SVK 1.0.3 released.
Aside
SVK 1.0.3 released. Read the official announcement.
Turning WordPress into a tag-based blogging application
Aside
Turning WordPress into a tag-based blogging application. This is something I’m definitely going to have to look at.