/Hoth

Exception tracking for ColdFusion.

Primary LanguageColdFusion

Status as of July 2016: Hoth is stable and can help you identify, track, and prioritize your ColdFusion bugs. However, I will not be investing resources in this package going forward. I had done quite a bit of ColdFusion work as a contractor working on projects for Adobe but that time is passed. If you would like to continue to grow this project please reach out to me as I would be happy to add you as a organizer.

		---------------------------------------------
		---------------------------------------------
		---------------------------------------------
		
		 __    __    ______   .___________. __    __  
		|  |  |  |  /  __  \  |           ||  |  |  | 
		|  |__|  | |  |  |  | `---|  |----`|  |__|  | 
		|   __   | |  |  |  |     |  |     |   __   | 
		|  |  |  | |  `--'  |     |  |     |  |  |  | 
		|__|  |__|  \______/      |__|     |__|  |__|
		
		---------------------------------------------
		---------------------------------------------
		---------------------------------------------

MMI?????????????????????????????????????IIIIIIIIIIIIIIIIIIIII7777777777777777MMM
MM??????????????????????????????????????IIIIIIIIIIIIIIIIIIIII7777777777777777MMM
MM???????????????????????????????????????IIIIIIIIIIIIIIIIIII77777777777777777MMM
MM??????????????????????????????????????IIIIIIIIIIIIIIIIIIII77777777777777777MMM
MM??????????????????????????????????????IIIIIIIIIIIIIIIIIIII77777777777777777MMM
MM?????????????????????????????????????IIIIIIIIIIIIIIIIIII7777777777777777777MMM
MM????????????????????????????????????IIIIIIIIIIIIIIIIIII77777777777777777777MMM
MM??????????????????????????????????IIIIIIIIIIIIIIIIIIII7777777777777777777$$MMM
MM?????????????????????????????????IIIIIIIIIIIIIIIIIIII7777777777777777777$$$MMM
MM??????????????????????????????IIIIIIIIIIIIIIIIIIIII7777777777777777777$$$$$MMM
MM??????????????????????????IIIIIIIIIIIIIIIIIIIIIII77777777777777777777$$$$$$MMM
MM??????????????????????IIIIIIIIIIIIIIIIIIIIIIIIII777777777777777777$$$$$$$$$MMM
MM?IIIIIIIIIIIIIIIIIIIIIIII,...........,IIIIIIIII777777777777777777$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIIIIIIIII,...............+IIIII777777777777777777$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIIIIIII..................+III7777777777777777777$$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIIIII?........?7IIIII777.?77777777777777777777$$$$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIIIII.......IIIIIIIII777777777................$$$$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIIII......+IIIIII7777777777777................I$$$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIIIII.......77777777777777777777................~$$$$$$$$$$$$$$$MMM
MMIIIIIIIIIIIIII7I......777777777777777777777......7$$$$$$$$$$$$$$$$$$$$$$ZZZMMM
MM777777777777777=......777777777777777777777......$$$$$$$$$$$$$$$$$$$$ZZ$ZZZMMM
MM777777777777777......+77777777777777777777$......$$$$$$$$$$$$$$$$$ZZZZZZZZZMMM
MM777777777777777......I77777777777777777$$$$,...,,$$$$$$$$$$$$$$$ZZZZZZZZZZZMMM
MM777777777777777......+777777777777$$$$$$$$$,,,,,,+++++++++7$$$ZZZZZZZZZZZZZMMM
MM777777777777777.......77777$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,+ZZZZZZZZZZZZZZZZMMM
MM777777777777777+......7$$$$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,+ZZZZZZZZZZZZZZZOMMM
MM777777777777777$..,,,,~$$$$$$$$$$$$$$$$$$$$,,,,,,?????????$ZZZZZZZZZZZZZZZZMMM
MM$$$$$$$$$$$$$$$$.,,,,,,7$$$$$$$$$$$$$$$$$$$,,,,,,$ZZZZZZZZZZZZZZZZZZZZZZZZOMMM
MM$$$$$$$$$$$$$$$$$.,,,,,,I$$$$$$$$$$$$$$$$$$,,,,,,ZZZZZZZZZZZZZZZZZZZZZZZZZOMMM
MM$$$$$$$$$$$$$$$$$Z,,,,,,,,=$$$$$$$$$$$+ZZZZ,,,,,,ZZZZZZZZZZZZZZZZZZZZZZOOOOMMM
MM$$$$$$$$$$$$$$$$$$Z,,,,,,,,,,,,,,,.,,,=ZZZZ,,,,,,ZZZZZZZZZZZZZZZZZZZOOOOOOOMMM
MM$$$$$$$$$$$$$$$$$$$$:,,,,,,,,,,,,,,,,,=ZZZZ,,,,,,ZZZZZZZZZZZZZZOOZOOOOOOOOOMMM
MM$$$$$$$$$$$$$$ZZZZZZZZ$,,,,,,,,,,,,,,,ZZZZZ,,,,,,ZZZZZZZZZZZOOOOOOOOOOOOOOOMMM
MM$ZZZZZZZZZZZZZZZZZZZZZZZZZZ+,,,,,?ZZZZZZZZZOOOOOOOZZZZZOOOOOOOOOOOOOOOOOOOOMMM
MM$ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOMMM
MM$ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMMM
MMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMMM
MMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMMM
MMZZZZZZZZZZZZZZZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO88MMM
MMZZZZZZZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO888888MMM
MMZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO888888888888MMM
MMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO88888888888888888MMM
MMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO88OO888888888888888888888MMM
MMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8OOOO88888888888888888888888888888MMM
MMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8OO8888888888888888888888888888888888888888MMM
MM8OOOOOOOOOOOOOOOO8888888888888888888888888888888888888888888888888888888888MMM
MM888888888888888888888888888888888888888888888888888888888888888888888888888MMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM


Hoth aims to help developers better understand exceptions--caught or not--in
their application so you can prioritize resolution. Hoth is a simple but
effective exception content tracking system. 

What does Hoth do?
------------------
Hoth can send you an alert when a new, unique exception occurs within your 
application. You only receive these alerts the first time an exception is seen
by Hoth.



Is that all Hoth does?
----------------------
Nope! It gets better. Hoth also tracks each occurrence so you can quickly 
understand how frequent an exception is within your app. No more hunting 
through log files that repeat messages over, and over.



Why should you use Hoth?
------------------------
Hoth helps you analyze your errors so you can prioritize and fix them
without hunting through log, after log, after log......after log.



How do you use Hoth?
--------------------
You can read about, and learn how to implement, Hoth by reading the blog
post here:

https://github.com/aarongreenlee/Hoth/wiki

How can I see the Hoth report right away?
-----------------------------------------
If you would like to see the Hoth Report you can view the example exceptions
by following these steps:

	1.	Drop Hoth in your Web root--or--make a server mapping '/Hoth'
	
	2.	Copy the /Hoth/examples/ColdFusion/HothReportUI.cfc to your
		Web site in an accessible location.
	
	3.	Hit the following URL:
		http://yourwebsite.com/HothReportUI.cfc?method=index
		
	4.	You should now be looking at example Hoth exceptions.


High-level, 50,000 ft. view of what you need to do...
-----------------------------------------------------
There are two distinct parts to Hoth: Tracking and Reporting.

	Tracking
	--------
	Tracking is common to all applications and very easy to set up. These
	instructions will apply to all applications.
	
	Reporting
	---------
	Things become a little (but not a lot) more complex here. Reporting
	requires access to your server from a HTTP call. This is your responsibility
	to setup--and there are lots of paths you can take to implement reporting.
	
	If you take the path of using the HothReportUI.cfc you will definitely 
	want to open that file and make some edits (like adding the path to
	your own HothConfig).
	

********************************************************************************
********************************************************************************
********************************************************************************

Authors:
-------
Aaron Greenlee - http://aarongreenlee.com
Sean Coyne - http://www.n42designs.com
Dan Skaggs - http://TNTechnoHermit.com
Mike Henke - http://www.henke.ws
James Brown - http://coldfusioning.com
Dave Shuck - http://daveshuck.com
Greg Moser - http://www.gregmoser.com

--------------------------------------------------------------------------------

Requirements

Adobe ColdFusion 9.01 with HotFix 1 Applied

Not yet tested on Railo or OpenBD.

--------------------------------------------------------------------------------
Hoth License

This file is part of Hoth.

This work is licensed under a Creative Commons Attribution-Share-Alike 3.0
Unported License.

Hoth is Copyright 2011 Aaron Greenlee

--------------------------------------------------------------------------------
Hoth has the following third-party dependencies or code included:

MockBox (http://coldbox.org)
MXUnit (http://mxunit.org)

********************************************************************************
********************************************************************************
********************************************************************************

Changelog:
	02/09/2011 - The source was opened.
	02/23/2011 - Merged the Bleeding branch. Users can now define their 
				 URL in their HothConfig.cfc.