BugLogHQ Version 1.5 Now Available

Finally I was able to put aside other projects for a little bit so that I could spend some time doing some needed updates to BugLogHQ. BugLog is a ColdFusion tool used to collect and aggregate bug reports from multiple applications on multiple servers.

This update pushes the version number to 1.5. The main new features are: (from the readme.txt):

  • Extensions are now stored on a database instead of an XML file
  • Creating a rule instance is now much more user friendly because application, host and severity codes can be selected via dropdowns; or can also be prepopulated from an existing bug report.
  • Added support for defining settings for multiple environments (dev,qa,prod1,prod2,etc). Once the environment is detected buglog can override any setting with custom values.
  • Added option to disable editing settings through the UI (useful if you have your config file versioned and only want to configure buglog that way)
  • Added the "BugLog Digest" which is a configurable and periodic email summary of all reports received in the last X hours.
  • Rewrote the "iphone" UI to be for mobiles in general (now its accessible at /bugLog/mobile), also there is an improved platform detection when going to /bugLog. If you go with any mobile browser you should get redirected to the new UI, otherwise you go to the regular desktop UI
  • Multiple bug fixes
  • Download the new version from here

    Upgrading is pretty easy, you just need to replace your /bugLog folder with the new one and execute the appropriate sql script on your DB. You can find the upgrade scripts in /bugLog/install/migration/1_4_to_1_5/*.sql. Also, you might want to keep a copy of your /bugLog/config directory. After updating the /bugLog dir, you will need to manually edit the main config file in case you made changes to the default DSN/username/password values, all other config settings can be entered through the UI.

    The first time you login to the /hq admin UI you will be prompted to update your password. Also, if you have any rules defined, once you to the Rules screen, you will be prompted if you want bugLog to copy all your rule definitions into the database. Just click 'Yes' and sit back and relax while BugLog does the hard stuff for you.

    New Mailing List

    Also, I created a Google Groups mailing list to provide a place where anyone could go for help or post any comments, suggestions or random thoughts about BugLog. To join, visit: http://groups.google.com/group/bugloghq

    So, please take it for a spin and please let me know if anyone finds any bugs or find things that are not very clear.

    Have fun!

    Getting MySQLNonTransientConnectionException errors? Then Your MySQL Server Might Be Angry At You!

    Today I experienced one of those errors that are not related to the actual stuff that you are working on, but because of it you can't work on anything else. The error I was getting was:

    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
    Could not create connection to database server.
    Attempted reconnect 3 times. Giving up.

    This started happening while I was testing the DSN creation feature on my employer's website. You know the drill, trying different things, run again, put the wrong settings, run again, put the right settings, run again, and so on; until at one point I started getting the above error.

    No problem, I thought, lets restart Tomcat/ColdFusion.... Nope, same error... Let's check with the other devs to see if they have the same problem... Nope, everyone is fine.... Let's manually kill the connections from my host... Nope, same error... Let's drop the database and create it again.... Nope, same error... Let's check the number of connections on the MySQL server.... Nope, they are fine...

    The only thing I couldn't do or even try was restarting the MySQL server since it is shared by other users and applications. It was "very" frustrating.

    So after a couple of hours of trying different things, I fired up a terminal and tried this:

    $ mysql -h <the_host_name> -u <the_user> -p

    ERROR 1129 (HY000): Host '<my_host>' is blocked because of many connection errors;
    unblock with 'mysqladmin flush-hosts'

    Lo and behold, finally some light into the issue! The MySQL server was actually blocking my host from connecting to it. I imagine that this was because of the repeated errors while toying with the create dsn functionality. Anyway, after logging into the server from another host and running that command (mysqladmin flush-hosts) I was able to connect again with no problems.

    So there you have, if you see that error, it might be that your MySQL server is not liking you at the moment :)

    BugLogHQ Updated - Always mind your charset!

    I just posted to RIAForge an update to the BugLogHQ bug agregator, percolator and assimilator. This is a small update that includes some bug fixes and contributions.

    The update can be found at http://bugloghq.riaforge.org/.

    Also on a related note, over the weekend at work (where we use BugLogHQ) we had a ton of bug reports in BugLog that could not be saved to the DB and remained on the queue. All of them had some weird errors while trying to save a text column to the DB.

    All the errors where something along the lines of:

    Incorrect string value: '\xE3\x82\xBD\xE3\x83\xAA...' for column 'HTMLReport'

    After googling a bit, it turned out that it was a character encoding issue (the bug reports were coming from a site that could display Japanese content). After looking at the DB I saw that all the BugLogHQ tables where using the "Latin1" charset. After changing the charset to utf8 and the collating to utf8_unicode_ci, the problem went away and the entries were successfully saved to the DB.

    So as a precaution, in this update the SQL script to create the required tables now set the charset and collating correctly.

    However if you are experiencing this problem just change the charset and collating in your db tables to fix it.

    For MySQL you can do this in the command line with something like this:

    ALTER TABLE `bl_Entry` CHANGE `HTMLReport` longtext CHARACTER SET utf8 COLLATE utf8_bin;

    And repeat for any other table/column that is giving you problems.

    Version 3.1.570 Released

    The new update for HomePortals is now released. The current version is 3.1.570; This is a roll up of all the latest bug fixes since the last release. If you use the nightly build then you will not notice any difference right now.

    The full post about what is new/fixed on this release is here:

    http://www.homeportals.net/blog/index.cfm/2010/4/15/Version-31570-Released

    All comments are welcome!

    Introducing the New HomePortals CMS Plugin

    A few days ago I released the latest update to the HomePortals framework and its counterpart management platform ColdBricks. Besides the obligatory bug fixes and improvements, there was one new major feature on this release: the CMS Plugin. The CMS Plugin is a HomePortals extension to provide content management and site administration features to any HomePortals-based application without requiring the use of an external application (like ColdBricks) or building your own administration features.

    [More]

    Available Update for HomePortals and ColdBricks

    I just pushed new updated versions of HomePortals and ColdBricks to their respective sites and are now available for download. As usual the updates contain multiple bug fixes and small improvements here and there. However there are a couple of features that are worth mentioning.

    [More]

    Update to 'Core' Framework. Now in GitHub!

    A while ago I shared a small framework I created which I use to develop pretty much all of my projects (both open source and paid engagements). The framework, as is usual for web frameworks, follows the MVC and Front Controller patterns; also like Sean Corfield's FW/1 and Barney's FB3 Lite (and many others) it has an emphasis on minimalism and makes an effort to stay out of the way as much as possible. I recently made some changes to the framework and wanted to share them with the community.

    [More]

    Model-Glue / HomePortals Sample Application

    A few weeks ago I wrote about how to use the layout management features of HomePortals on a ColdBox 3 application. This time I want to show how to do the same but with an application built with the Model-Glue framework and also explain a bit more of why would you want to do so in the first place.

    [More]

    miniwiki: a minimalist wiki

    Miniwiki is a very basic and light wiki application for any CFML engine. Although it is designed to have a very small footprint, it can be easily customized in terms of skinning and layout.

    miniwiki uses a subset of reStructuredText as the syntax for the wiki pages, although it is trivially simple to replace the rendering mechanism to use WikiMedia syntax using the WikiConverter project.

    miniwiki uses HomePortals as the layout engine and also to manage and store the content.

    miniwiki is entirely file-based, although since it uses HomePortals resource libraries to store content you can also make it store content in something more exotic as Amazon S3.

    Here is a demo, and you can download the project from RIAForge here.

    HomePortals/ColdBox Integration Revisited

    A while ago I wrote a post about how to integrate the HomePortals layout rendering features into an a ColdBox application. Since then a lot has changed on both the HomePortals and ColdBox camps so I've been wanting to revisit that experiment and see if it could be made in an easier way now, using the advances on both frameworks. Read on for the findings.

    [More]

    More Entries

    BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner