-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
1 parent
03818c5
commit fa8e254
Showing
74 changed files
with
2,103 additions
and
1,632 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"debuggingEnabled" : true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
{ | ||
"array.empty_padding": false, | ||
"array.padding": true, | ||
"array.multiline.min_length": 40, | ||
"array.multiline.element_count": 4, | ||
"array.multiline.leading_comma.padding": true, | ||
"array.multiline.leading_comma": false, | ||
"alignment.consecutive.assignments": true, | ||
"alignment.consecutive.properties": true, | ||
"alignment.consecutive.params": true, | ||
"brackets.padding": true, | ||
"comment.asterisks": "align", | ||
"binary_operators.padding": true, | ||
"for_loop_semicolons.padding": true, | ||
"function_call.empty_padding": false, | ||
"function_call.padding": true, | ||
"function_call.multiline.leading_comma.padding": true, | ||
"function_call.casing.builtin": "cfdocs", | ||
"function_call.casing.userdefined": "camel", | ||
"function_call.multiline.element_count": 2, | ||
"function_call.multiline.leading_comma": false, | ||
"function_call.multiline.min_length": 40, | ||
"function_declaration.padding": true, | ||
"function_declaration.empty_padding": false, | ||
"function_declaration.multiline.leading_comma": false, | ||
"function_declaration.multiline.leading_comma.padding": true, | ||
"function_declaration.multiline.element_count": 2, | ||
"function_declaration.multiline.min_length": 40, | ||
"function_declaration.group_to_block_spacing": "spaced", | ||
"function_anonymous.empty_padding": false, | ||
"function_anonymous.group_to_block_spacing": "spaced", | ||
"function_anonymous.multiline.element_count": 2, | ||
"function_anonymous.multiline.leading_comma": false, | ||
"function_anonymous.multiline.leading_comma.padding": true, | ||
"function_anonymous.multiline.min_length": 40, | ||
"function_anonymous.padding": true, | ||
"indent_size": 4, | ||
"keywords.block_to_keyword_spacing": "spaced", | ||
"keywords.group_to_block_spacing": "spaced", | ||
"keywords.padding_inside_group": true, | ||
"keywords.spacing_to_block": "spaced", | ||
"keywords.spacing_to_group": true, | ||
"keywords.empty_group_spacing": false, | ||
"max_columns": 140, | ||
"metadata.multiline.element_count": 3, | ||
"metadata.multiline.min_length": 40, | ||
"method_call.chain.multiline": 3, | ||
"newline": "os", | ||
"property.multiline.element_count": 4, | ||
"property.multiline.min_length": 40, | ||
"parentheses.padding": true, | ||
"strings.quote": "double", | ||
"strings.attributes.quote": "double", | ||
"struct.separator": " : ", | ||
"struct.padding": true, | ||
"struct.empty_padding": false, | ||
"struct.multiline.leading_comma": false, | ||
"struct.multiline.leading_comma.padding": true, | ||
"struct.multiline.element_count": 2, | ||
"struct.multiline.min_length": 40, | ||
"tab_indent": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,2 @@ | ||
.* | ||
!.gitignore | ||
*.iml | ||
/server.json | ||
# Testbox dependency | ||
/testbox |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,116 +1,105 @@ | ||
raygun4cfml | ||
Raygun4CFML | ||
=========== | ||
|
||
Raygun Crash Reporting client for CFML. | ||
Raygun4CFML is a client library for integrating Raygun's Crash Reporting service with your CFML applications. It enables you to send error reports and crash data to Raygun for tracking and analysis. | ||
|
||
Supported: | ||
Supported Platforms: | ||
|
||
Adobe CF 2018+ | ||
Lucee 5+ | ||
- Adobe ColdFusion 2021+ | ||
- Lucee 5.3+ | ||
- Boxlang 1+ | ||
|
||
Current Version: 1.7.0 (November 14 2024) | ||
Current Version: 2.0.0 | ||
|
||
Dependencies: | ||
## Active development | ||
|
||
- Testbox (for running unit and BDD tests only) | ||
2.0.0 is a complete rewrite of the project and is ready-to-use for the 3 major CFML engines and their crash reports. | ||
|
||
## Library organisation | ||
Please be aware that no testing and work has *yet* gone into framework-specific crash reports, e.g. a deeper integration with Coldbox HVMC, Fusebox, CF on Wheels etc. This will be added over time in future releases. | ||
|
||
`/src` contains the source code. The package structure is `nz.co.ventego-creative.co.nz.raygun4cfml` but the library's components themselves are independent of the package path. Therefore you can use the library in multiple ways: | ||
## Dependencies | ||
|
||
- Put the content of `/src` into your webroot and instantiate `RaygunClient` through something like the following: | ||
- Testbox (used as a development dependency for local and CI testing) | ||
|
||
``` | ||
raygun = createObject("component","nz.co.ventego-creative.raygun4cfml.RaygunClient").init( | ||
apiKey = "YOURAPIKEYHERE" | ||
); | ||
``` | ||
- Put the contents of `/src` into any other place of your choice and create a mapping to `/nz` in your server administrator or through code and then use the instantiation code as above. | ||
## Installation and Setup | ||
|
||
- Put the contents of the `raygun4cfml` directory into a place of your choice where your CFML has some sort of a mapping pointing towards and and just instantiate `RaygunClient` like this: | ||
``` | ||
raygun = createObject("component","RaygunClient").init( | ||
apiKey = "YOURAPIKEYHERE" | ||
); | ||
``` | ||
`/samples` contains a set of files that show how the library can be used in your code through a global error handler as well as a contributed example for ColdBox 3.6 | ||
### Using CommandBox (Preferred Method) | ||
|
||
`/tests` contains manual tests and more samples as well as a structure (but no tests at this stage) for Testbox unit and BDD tests. | ||
1. **Install via CommandBox:** | ||
|
||
## Getting and Using raygun4cfml | ||
To install the latest version from the master repository, use: | ||
``` | ||
box install raygun4cfml | ||
``` | ||
|
||
### Option 1 (preferred): | ||
To install a specific release or tag, use: | ||
``` | ||
box install git://github.com/MindscapeHQ/raygun4cfml.git#{tagname} | ||
``` | ||
|
||
Use Commandbox and Forgebox to get the library and then follow the ideas outlined in 'Library organisation' for further setup. | ||
Alternatively, you can use: | ||
``` | ||
box install MindscapeHQ/raygun4cfml#{tagname} | ||
``` | ||
|
||
To get the latest from the master repository | ||
2. **Setup:** | ||
|
||
``` | ||
box install raygun4cfml | ||
``` | ||
After installation, follow the setup instructions in the 'Library Usage' section below. | ||
|
||
To install a specific release or tag: | ||
### Manual Installation | ||
|
||
``` | ||
box install git://github.com/MindscapeHQ/raygun4cfml.git#{tagname} | ||
``` | ||
1. **Clone or Download:** | ||
|
||
Example tag names are `1.1.0`, `1.0.2.0`, `1.0.1.0` etc. Please check the list of tags on Github. Be aware that if you install any tag from before I introduced support for Commandbox and Forgebox there won't be a `box.json` file and therefore Commandbox will give you a warning as well as there won't be any dependency management for such an installation of the library. | ||
Shortcut for the above: | ||
``` | ||
box install MindscapeHQ/raygun4cfml#{tagname} | ||
``` | ||
- Fork and clone the repository to your local system, or download a zip file of the current content or a specific release/tag. | ||
|
||
To get the latest from my development repository (be warned, this might contain all sorts of untested code): | ||
``` | ||
box install TheRealAgentK/raygun4cfml | ||
``` | ||
2. **Move Files:** | ||
|
||
### Option 2: | ||
- Move the `src` and/or `tests` directories to locations suitable for your system. | ||
|
||
Fork and clone the repo to your local system. Move the src/test directories into places of your choice and suitable for your system and follow the ideas outlined in 'Library organisation'. | ||
3. **Dependencies:** | ||
|
||
### Option 3: | ||
- Note that manual installation will not automatically resolve dependencies. | ||
|
||
Download a zip file containing the current content of the repo or a release/tag of your choice. Unzip the resulting file. Move the src/test directories into places of your choice and suitable for your system and follow the ideas outlined in 'Library organisation'. | ||
## Library Usage | ||
|
||
#### Notes: | ||
### Initializing RaygunClient | ||
|
||
(1) Options 2 and 3 will not fulfill any necessary dependencies, you're on your own. | ||
The `RaygunClient` is the primary component for sending error reports. You can initialize it in several ways depending on your setup: | ||
|
||
## Version History | ||
See CHANGELOG.md for further information. | ||
## General Notes | ||
- **Webroot Setup:** | ||
|
||
(1) All releases onwards from 0.5.0.0 will break your code if you've used 0.4 and older before and have used `customRequestData`. | ||
Place the contents of `/src` in your webroot and initialize the `RaygunClient` as follows: | ||
```cfml | ||
raygun = createObject("component", "com.raygun.RaygunClient").init( | ||
apiKey = "YOURAPIKEYHERE" | ||
); | ||
``` | ||
|
||
(2) If you are using the ACF Administrator setting: "Prefix serialized JSON with..." with anything else but the default prefix of `//`, the library will not work. | ||
- **Custom Mapping:** | ||
|
||
(3) Version 1.1.0 and newer will not work on Adobe ColdFusion 8 and most likely not on Railo 3 (the latter not tested). | ||
Place the contents of `/src` in a directory of your choice and create a mapping to `/com` in your server administrator or through code. Them, initialise as suitable for the mapping. | ||
|
||
(4) Version 1.7.0 and newer will most likely not work with Adobe ColdFUsion 2016 and Railo/Lucee 4.x. | ||
|
||
(5) On newer Java versions (>11), there is no default access to Java Memory Management unless you add the following argument to your JVM configuration: `--add-opens java.management/sun.management=ALL-UNNAMED` | ||
### Using the Library | ||
|
||
## How to contribute | ||
- **Error Reporting:** | ||
|
||
Note: Please be aware that raygun4cfml is not an official Raygun library and not maintained by Raygun stuff. See [LICENSE](LICENSE) for more details. | ||
Once initialized, use the `RaygunClient` to send error reports with the `.send()` function. Refer to the `/samples` directory for examples. | ||
|
||
The main repository of this project is https://github.com/MindscapeHQ/raygun4cfml. Please fork from there, create a local develop or feature branch and merge changes back to your local master branch to submit a pull request. Even better, get in touch with me on Twitter (@AgentK) or here on Github before you undertake any work so that it can be coordinated with what I'm doing. | ||
Most of the active development happens in my own fork: https://github.com/TheRealAgentK/raygun4cfml - feel free to peek around in there. | ||
- **Testing:** | ||
|
||
The `/tests` directory contains structures for Testbox unit and integration tests. Use these to validate your integration. | ||
|
||
## Version History | ||
|
||
For detailed version history, refer to the `CHANGELOG.md` file. | ||
|
||
## Contribution Guidelines | ||
|
||
Raygun4CFML is not an official Raygun library and is not maintained by Raygun staff. | ||
|
||
Contributions are welcome. | ||
|
||
Please fork the main repository at https://github.com/MindscapeHQ/raygun4cfml, create a feature branch, and submit a pull request. Coordination via X (@AgentK) or GitHub (https://github.com/TheRealAgentK/) is encouraged before starting any work. | ||
|
||
For more active development, visit my development fork at https://github.com/TheRealAgentK/raygun4cfml. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
{ | ||
"name":"raygun4cfml", | ||
"version":"1.7.0", | ||
"location":"MindscapeHQ/raygun4cfml#1.7.0", | ||
"version":"2.0.0", | ||
"location":"MindscapeHQ/raygun4cfml#2.0.0", | ||
"author":"Kai Koenig <[email protected]>", | ||
"homepage":"https://github.com/MindscapeHQ/raygun4cfml/", | ||
"documentation":"https://github.com/MindscapeHQ/raygun4cfml/blob/master/README.md", | ||
|
@@ -12,20 +12,48 @@ | |
"bugs":"https://github.com/MindscapeHQ/raygun4cfml/issues", | ||
"slug":"raygun4cfml", | ||
"shortDescription":"Provides integration with the Raygun CrashReporting API", | ||
"description":"API provider to send error information to Raygun crash reporting for tracking and analysis", | ||
"instructions":"Install this module and follow the guidelines in README.me as well as in /samples and /tests/test_manual", | ||
"changelog":"https://github.com/MindscapeHQ/raygun4cfml/blob/master/changelog.md", | ||
"keywords":["error","errortracking","bugs","bugtracking","raygun","raygun.io"], | ||
"description":"API provider to send error information to Raygun crash reporting for tracking and analysis.", | ||
"instructions":"Install this module and follow the guidelines in README.me as well as in /samples.", | ||
"changelog":"https://github.com/MindscapeHQ/raygun4cfml/blob/master/CHANGELOG.md", | ||
"keywords":[ | ||
"error", | ||
"error tracking", | ||
"bugs", | ||
"bug tracking", | ||
"raygun", | ||
"crash reporting", | ||
"error reporting" | ||
], | ||
"engines":[ | ||
{"type":"lucee","version":">=5.0.0"}, | ||
{"type":"adobe","version":">=2018.0.0"} | ||
{ | ||
"type":"lucee", | ||
"version":">=5.3.0" | ||
}, | ||
{ | ||
"type":"adobe", | ||
"version":">=2021.0.0" | ||
}, | ||
{ | ||
"type":"boxlang" | ||
} | ||
], | ||
"type":"logging", | ||
"projectURL":"https://github.com/MindscapeHQ/raygun4cfml/", | ||
"license":[ | ||
{"type":"Apache 2.0","URL":"http://www.apache.org/licenses/LICENSE-2.0"} | ||
{ | ||
"type":"Apache 2.0", | ||
"URL":"http://www.apache.org/licenses/LICENSE-2.0" | ||
} | ||
], | ||
"devDependencies":{ | ||
"testbox":"x" | ||
"testbox":"6" | ||
}, | ||
"scripts":{ | ||
"format":"cfformat run src/**/*.cfc,tests/**/*.cfc,tests/**/*.cfm,samples/**/*.cfc,samples/**/*.cfm --overwrite", | ||
"format:watch":"cfformat watch src/**/*.cfc,tests/**/*.cfc,tests/**/*.cfm,samples/**/*.cfc,samples/**/*.cfm --overwrite", | ||
"format:check":"cfformat check src/**/*.cfc,tests/**/*.cfc,tests/**/*.cfm,samples/**/*.cfc,samples/**/*.cfm" | ||
}, | ||
"installPaths":{ | ||
"testbox":"testbox/" | ||
} | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/** | ||
* Application.cfc - Main application configuration component | ||
* Handles core framework setup and request lifecycle management | ||
*/ | ||
component { | ||
|
||
// Map the /com directory to allow component resolution from the src folder | ||
// This enables cleaner imports without needing full file paths | ||
this.mappings = { "/com" : expandPath( "/src/com" ) }; | ||
|
||
/** | ||
* Runs at the start of each request | ||
* Sets up the Raygun error tracking API key for exception monitoring | ||
*/ | ||
public void function onRequestStart() { | ||
variables.RAYGUNAPIKEY = "<YOUR API KEY>"; | ||
} | ||
|
||
} |
Oops, something went wrong.