Introducting mGPX

Searching the web for a good, and free, GPX importer for PHP yields not so great results. Last spring, as some preliminary work for WP Trainer took place, one wrote a simple ad hoc GPX importer for PHP. It then placed the points on a Google Map. Previously, there was a huge performance issue. However, today after looking over the code one found the error. What happened is the GPX importer didn’t import laps correctly for multi-activity and lap files. Instead of applying laps to the correct activity, the laps ended up summing and carrying over to other activities. The fix was simple, and the performance issue was resolved–300 points is not the limit, having several 300 point laps on the same map is what causes the problem.

With the fixes to it, the GPX importer is fast and ready for some extensive testing. WP Trainer is now viable, and effort will be placed into it this summer. mGPX will find its way to the code page as a separate

Added to this, Garmin added the feature to Garmin Training Center that allows exporting of individual activities, or groups to a file. Available in version 3.3.4, exporting is as simple as right clicking on a entry in the history section and selecting export in the pop up menu. This is great, as now end users can easily export small enough files (under 2MiB) for PHP to import.

-John Havlik

[end of transmission, stay tuned]

Tagged:
Updated:

Cran-Berry Build 100

A little late, but fully functional. School work prevented the intended release date for Cran-Berry. Several styling, and code fixes were implemented which should provide a more uniform experience for most browsers. This includes new code for centering the content on the page, and some other general fixes. This release is not a full ‘stable’ release like a one for Breadcrumb NavXT, but this should be usable for advanced users. In the zip is two folders, one containing the theme, the other containing the modified version of WP-PageNavi. The other two recommended plug-ins should be downloaded from their respective home pages. Naturally, Berry implements support for these plug-ins in a safe manner–not having them will not cause PHP errors or warnings. Upon activation of the plug-ins they will display immediately (in most cases).

To change options, look in the functions.php and there will be a $berry_opts array of options a la Breadcrumb NavXT. These are documented in the source right above the corresponding option. Additionally, the sidebar is WordPress Widget aware.

-John Havlik

[end of transmission, stay tuned]

Tagged: ,
Updated:

Development

Ok, so later today there will be a maintenance release of Breadcrumb NavXT, this will be version 2.1.1. The plan right now is to release a maintenance release each month with bug fixes and such. If enough new features are requested, a full version release will come out, and regardless a new version will always occur within a week of a new WordPress release. This release fixes some issues with the link current page option generating invalid HTML and some other bugs. Nothing in particular is slated for 2.1.2 yet, but it is reserved for any new bugs found in 2.1.1. 2.2.0 will add a widget for breadcrumbs to use with WordPress’ widget system.

Now onto Berry. Cranberry will be released sometime next week, preferably before May 1st. Currently, some tweaking to the styling needs to be done, especially for header images (logos), the search bar, and comments. Comments in general are getting overhauled. Right now this blog is still using the K2 comments.php, the only part that really isn’t my own code. This will be replaced by a new comments.php sometime this weekend. Then some hard core optimization needs to take place to speed up page load time and such. This first release will not have an Administrative interface for implementing modifications to it. The next release will contain options to change various things, centering around the amount of ‘flare’ the design has. Only one JavaScript line of code is in use right now, in the search bar. In the future more may be added and always these additions will be optional. Internet Explorer 8 still doesn’t play well with the theme, still need to figure out a centering method that it likes.

Lastly, some progress on WP Trainer may occur this weekend. The most likely thing that will get done is database support and some basic administrative interface. Since GPX files tend to get very large, often over 2mb, PHP will not want to parse them correctly, thus an external command line based tool will be included (with source) to split up activities in the files so that they can be uploaded. The last order of business that needs to be solved is a problem with Google maps not liking when too many points are placed on a map. I’m still not sure how to fix this but I don’t think it’s something a little searching can’t fix. It appears the common approach is to drop many of the track points, which is not always acceptable, so smart dropping algorithms may need to be implemented. Currently, the server requirements for WP Trainer are shaping up as so:

  • PHP5
    • XML parsing support
    • GD library support
  • Ability for PHP to write to files in a directory

I’m still debating if it is beneficial to dump the parsed GPX data into a database or not. It seems that it could dramatically increase database load and size, which is not always a good idea. Naturally, caching of data will be very important. Ideally, once a course is defined (named and has a track point map), any future runs on that course should automatically identify as using that course. This is very much a plaything project, which will take the backseat to all other paying or school projects. Development could always be expedited by sponsorship by a generous individual or organization.

-John Havlik

[end of transmission, stay tuned]

Tagged:
Updated:

Next Breadcrumb NavXT

A week and a day a go Breadcrumb NavXT 2.1 was released. So far only one new bug has appeared. This happens for users of PHP4, and an upcoming bug fix release, 2.1.1 will contain a fix for that. What’s in store for Breadcrumb NavXT 2.2? Officially, there is one big thing that should be implemented in it. That is support for paged pages/posts/archives/searches/etc. Currently, basic framework exists for supporting these pages, and even an option to enable rudimentary support which was added in 2.0. Full support for these page types needs to be implemented, which is the last “unconquered” frontier. A widget plug-in will also make it to 2.2. I’m setting the intended release of 2.2 to be sometime this summer, think around July. In 2.2 there will be some additional changes to the core plug-in as things are better organized and modularized within it.

The reason for placing the release of 2.2 in July is so that it allows some time for additional bugs to be caught and fixed along with allowing time to complete the documentation. If everything goes as planned, the documentation for Breadcrumb NavXT will be fully written some time in June (possibly sooner). Until then, there is always Berry to work on, which will be released at the end of this month. Additionally, WP Trainer may actually rear it’s head if time permits.

-John Havlik

[end of transmission, stay tuned]

CSS Naked Day 2008

Ok, this is a little premature, but what ever. Tomorrow is CSS naked day, so in honor of this, this blog’s CSS will be removed for the entirety of that day. This is to promote web standards, which Microsoft seems incapable of following.

Also, it was reported to me that the download links are not working, this is due to a bug in the plug-in that I use for downloads, I’m going to install a SVN version of it that is compatible with WordPress 2.5

-John Havlik

[end of transmission, stay tuned]