All pages
Powered by GitBook
1 of 9

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introduction

CacheBox is an enterprise caching engine, aggregator and API for ColdFusion (CFML) applications.

CacheBox Manual - Version 7.x

CacheBox

CacheBox is a cache aggregator, in which you can aggregate different caching engines or types of the same engine into one single umbrella. It gives you built in logging (via LogBox), an event model, synchronization, shutdown/startup procedures, reporting, interaction consoles and best of all a cache agnostic API.

CacheBox is a standalone framework for ColdFusion (CFML) applications and it is also bundled with the ColdBox Platform.

Versioning

CacheBox is maintained under the guidelines as much as possible. Releases will be numbered with the following format:

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)

  • New additions without breaking backward compatibility bumps the minor (and resets the patch)

  • Bug fixes and misc changes bumps the patch

License

The ColdBox Platform, CacheBox is open source and licensed under the License.

  • Copyright by Ortus Solutions, Corp

  • ColdBox, CacheBox, Wirebox, LogBox are registered trademarks by Ortus Solutions, Corp

Discussion & Help

The Box products help and discussion groups can be found here:

Reporting a Bug

We all make mistakes from time to time :) So why not let us know about it and help us out. We also love pull requests, so please star us and fork us:

Jira Issue Tracking

Professional Open Source

ColdBox is a professional open source software backed by offering services like:

  • Custom Development

  • Professional Support & Mentoring

  • Training

  • Server Tuning

Resources

  • Official Site:

  • CFCasts Video Training:

  • Source Code:

  • Bug Tracker:

HONOR GOES TO GOD ABOVE ALL

Because of His grace, this project exists. If you don't like this, then don't read it, its not for you.

"Therefore being justified by **faith**, we have peace with God through our Lord Jesus Christ: By whom also we have access by **faith** into this **grace** wherein we stand, and rejoice in hope of the glory of God." Romans 5:5

   _____           _          ____            
  / ____|         | |        |  _ \           
 | |     __ _  ___| |__   ___| |_) | _____  __
 | |    / _` |/ __| '_ \ / _ \  _ < / _ \ \/ /
 | |___| (_| | (__| | | |  __/ |_) | (_) >  < 
  \_____\__,_|\___|_| |_|\___|____/ \___/_/\_\

Security Hardening

  • Code Reviews

  • Much More

  • Twitter: @coldbox

  • Facebook: https://www.facebook.com/coldboxplatform

  • Vimeo Channel: http://vimeo.com/channels/coldbox

  • Semantic Versioning
    Apache 2
    https://community.ortussolutions.com/
    https://github.com/coldbox/coldbox-platform
    https://ortussolutions.atlassian.net/browse/COLDBOX
    https://ortussolutions.atlassian.net/browse/WIREBOX
    https://ortussolutions.atlassian.net/browse/LOGBOX
    https://ortussolutions.atlassian.net/browse/CACHEBOX
    Ortus Solutions, Corp
    http://www.coldbox.org
    https://www.cfcasts.com
    https://github.com/coldbox/coldbox-platform
    https://ortussolutions.atlassian.net/browse/CACHEBOX
    Ortus Solutions, Corp
    <major>.<minor>.<patch>

    What's New With 7.1.0

    August 3, 2023

    Minor release mostly for other areas of the ColdBox framework. No considerable updates on the CacheBox core.

    Upgrading to CacheBox 7

    The official CacheBox 7 upgrade guide

    ColdFusion 2016 Support Dropped

    ColdFusion 2016 support has been dropped. Adobe doesn't support them anymore, so neither do we.

    Contributing Guide

    The best way to contribute to WireBox

    The best way to contribute to WireBoxHola amigo! I'm excited that you are interested in contributing to ColdBox, CacheBox, LogBox, and/or WireBox. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:

    Code Of Conduct

    This project is open source, and as such, the maintainers give their free time to build and maintain the source code held within. They make the code freely available in the hope that it will be of use to other developers and/or businesses. Please be considerate towards maintainers when raising issues or presenting pull requests. We all follow the Golden Rule: Do to others as you want them to do to you.

    • As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

    • Participants will be tolerant of opposing views.

    • Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.

    • Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions not aligned with this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.

    • When interpreting the words and actions of others, participants should always assume good intentions. Emotions cannot be derived from textual representations.

    • Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.

    Bug Reporting

    Each of the main standalone frameworks in ColdBox has separate locations for submitting bug reports. Please also ensure that if you submit a pull request, you link it to the appropriate issue.

    • ColdBox Core: ​

    • CacheBox : ​

    • LogBox : ​

    • WireBox: ​

    If you file a bug report, your issue should contain a title, a clear description of the issue, a way to replicate the issue, and any support files we might need to replicate your issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix for it. All issues that do not contain a way to replicate will not be addressed.

    Support Questions

    If you have questions about usage, professional support, or just ideas to bounce off the maintainers, please do not create an issue. Leverage our support channels first.

    • Ortus Community Discourse: ​

    • Box Slack Team: ​

    • Professional Support: ​

    Pull Request Guidelines

    • The master branch is just a snapshot of the latest stable release. All development should be done in dedicated branches. Do not submit PRs against the master branch. They will be closed.

    • All pull requests should be sent against the development branch or the LTS version branch releases/v{version}

    • It's OK to have multiple small commits as you work on the PR - GitHub will automatically squash it before merging.

    Security Vulnerabilities

    If you discover a security vulnerability, please email the development team at and make sure you report it to the #security channel in our Box Team Slack Channel. All security vulnerabilities will be promptly addressed.

    Development Setup

    We have added all the necessary information to develop on ColdBox in our area and our so you can set up the database to test against.

    Language Compatibility

    Please make sure your code runs on the following Supported CFML Engines:

    • Lucee 5+

    • Adobe ColdFusion 2018+

    Coding Styles & Formatting

    We are big on coding styles and have included a .cfformat.json in the root of the project so that you can run the formatting tools and CommandBox scripts:# Format everythingbox run-script format​# Start a watcher, type away, save and auto-format for youbox run-script format:watchWe recommend that anytime you hack on the core, you start the format watcher (box run-script format:watch). This will monitor your changes and auto-format your code for you.You can also see the Ortus Coding Standards you must follow here: https://github.com/Ortus-Solutions/coding-standards.

    CFC Docs With DocBox

    All CFCs are self-documenting, and we leverage to document the entire software. All functions must be properly documented using the DocBox syntax: https://docbox.ortusbooks.com/getting-started/annotating-your-code

    Financial Contributions

    You can support ColdBox and all of our Open Source initiatives at Ortus Solutions by becoming a Patreon. You can also get lots of goodies and services depending on the level of contributions.

    • ​​

    • ​​

    Contributors

    Thank you to all the people who have already contributed to ColdBox! We: heart: : heart: : heart: love you!

    !​​

    Made with ​

  • Make sure all local tests pass before submitting the merge.

  • Please make sure all your pull requests have companion tests.

  • Please link the Jira issue in your PR title when sending the final PR

  • https://ortussolutions.atlassian.net/browse/COLDBOX
    https://ortussolutions.atlassian.net/browse/CACHEBOX
    https://ortussolutions.atlassian.net/browse/LOGBOX
    https://ortussolutions.atlassian.net/browse/WIREBOX
    https://community.ortussolutions.com/c/communities/coldbox/13
    http://boxteam.ortussolutions.com/
    https://www.ortussolutions.com/services/support
    [email protected]
    readme collaboration
    tests readme
    DocBox
    Become a backer or sponsor on Patreon
    One-time donations via PayPal
    ​​
    contributors-img

    Author

    Luis Fernando Majano Lainez

    Luis Majano is a Computer Engineer, published author, founder, and CEO of Ortus Solutions, Corp (www.ortussolutions.com), a consulting firm specializing in open-sourcing tooling, web development, architecture, and professional open-source.

    He has been designing and working with software architecture and technologies since the year 2000. He has a passion for learning and mentoring developers so they can succeed with sustainable software practices and the usage and development of open-source software.

    He is the creator of ColdBox HMVC, ContentBox Modular CMS, TestBox BDD, CommandBox CLI, and over 200 open-source projects. He speaks regularly at several international conferences, and you can read his blog at .

    Luis is passionate about Jesus, tennis, golf, volleyball, and anything electronic. Random Author Facts:

    • He played volleyball in the Salvadorean National Team at the tender age of 17

    • The Lord of the Rings and The Hobbit is something he reads every 5 years. (Geek!)

    • His first computer was a Texas Instrument TI-99/4A that his parents gave him in 1986. After some time digesting his very first BASIC book, he had written his own tic-tac-toe game at the age of 9. (Extra geek!)

    Keep Jesus number one in your life and in your heart. I did and it changed my life from desolation, defeat and failure to an abundant life full of love, thankfulness, joy and overwhelming peace. As this world breathes failure and fear upon any life, Jesus brings power, love and a sound mind to everybody!

    “Trust in the LORD with all your heart, and do not lean on your own understanding.” – Proverbs 3:5

    Contributors

    Jorge Emilio Reyes Bendeck

    Jorge is an Industrial and Systems Engineer born in El Salvador. After finishing his Bachelor studies at the Monterrey Institute of Technology and Higher Education , Mexico, he went back to his home country where he worked as the COO of. In 2012 he left El Salvador and moved to Switzerland in pursuit of the love of his life. He married her and today he resides in Basel with his lovely wife Marta and their daughter SofĂ­a.

    Jorge started working as project manager and business developer at Ortus Solutions, Corp. in 2013, . At Ortus he fell in love with software development and now enjoys taking part on software development projects and software documentation! He is a fellow Christian who loves to play the guitar, worship and rejoice in the Lord!

    Therefore, if anyone is in Christ, the new creation has come: The old has gone, the new is here! 2 Corinthians 5:17

    Brad Wood

    Brad grew up in southern Missouri where he systematically disassembled every toy he ever owned which occasionally led to unintentional shock therapy (TVs hold charge long after they've been unplugged, you know) After high school he majored in Computer Science with a music minor at (Olathe, KS). Today he lives in Kansas City with his wife and three girls where he still disassembles most of his belongings (including automobiles) just with a slightly higher success rate of putting them back together again.) Brad enjoys church, all sorts of international food, and the great outdoors.

    Brad has been programming CFML for 12+ years and has used every version of CF since 4.5. He first fell in love with ColdFusion as a way to easily connect a database to his website for dynamic pages. Brad blogs at () and likes to work on solder-at-home digital and analog circuits with his daughter as well as building projects with Arduino-based microcontrollers.

    Brad's CommandBox Snake high score is 141.

    He has a geek love for circuits, microcontrollers, and overall embedded systems.
  • He has of late become a fan of running and bike riding with his family.

  • www.luismajano.com
    ITESM
    Industrias Bendek S.A.
    MidAmerica Nazarene University
    http://www.codersrevolution.com

    What's New With 7.0.0

    Discover the power of WireBox 7.0.0

    You can read all about this release on our main What's New Page: https://coldbox.ortusbooks.com/readme/release-history/whats-new-with-7.0.0

    Release Notes

    The full release notes per library can be found below. Just click on the library tab and explore their release notes:

    Bug

    • Intermittent Exception from MetadataIndexer

    Improvement

    Come up with better default serialization for exception objects on LogEvents

    New Feature

    What's New With 7.2.0

    November 18, 2023

    You can read all about this release on our main What's New Page:

    Release Notes

    The full release notes per library can be found below. Just click on the library tab and explore their release notes:

    About This Book

    The source code for this book is hosted in GitHub: . You can freely contribute to it and submit pull requests. The contents of this book is copyright by and cannot be altered or reproduced without author's consent. All content is provided "As-Is" and can be freely distributed.

    • The majority of code examples in this book are done in cfscript.

    • The majority of code generation and running of examples are done via CommandBox: The ColdFusion (CFML) CLI, Package Manager, REPL - ​

    Allow for closure for all logging messages in the logger, this way, we can verify the logging level automatically.

    LOGBOX-69 LogEvents in JSON are now prettified

    CACHEBOX-83
    LOGBOX-67
    LOGBOX-61
    Improvement

    CACHEBOX-70 Support ad-hoc struct literal of CacheBox DSL to configure CacheBox

    New Feature

    LOGBOX-75 New listeners for all appenders: preProcessQueue() postProcessQueue()

    LOGBOX-76 Add the queue as an argument to the processQueueElement() method

    LOGBOX-79 new rolling appender property archiveLayout which is a closure that returns the pattern of the archive layout

    Bug

    Unhandled race conditions in FileRotator lead to errors and potential log data loss

    log rotator was not checking for file existence and 1000s of errors could be produced

    Improvement

    Support ad-hoc struct literal of LogBox DSL to configure LogBox

    Add `Exclude` key to Logbox Categories to Easily Exclude Appenders

    shutdown the appenders first instead of the executors to avoid chicken and egg issues

    Change fileMaxArchives default from 2 to 10

    Task

    Removal of instance approach in preferences to accessors for the LogBoxConfig

    https://coldbox.ortusbooks.com/readme/release-history/whats-new-with-7.2.0

    All ColdFusion examples designed to run on the open source Lucee Platform or Adobe ColdFusion 11+

    External Trademarks & Copyrights

    Flash, Flex, ColdFusion, and Adobe are registered trademarks and copyrights of Adobe Systems, Inc.

    Notice of Liability

    The information in this book is distributed “as is”, without warranty. The author and Ortus Solutions, Corp shall not have any liability to any person or entity with respect to loss or damage caused or alleged to be caused directly or indirectly by the content of this training book, software and resources described in it.

    Contributing

    We highly encourage contribution to this book and our open source software. The source code for this book can be found in our GitHub repository where you can submit pull requests.

    Charitable Proceeds

    10% of the proceeds of this book will go to charity to support orphaned kids in El Salvador - https://www.harvesting.org/. So please donate and purchase the printed version of this book, every book sold can help a child for almost 2 months.

    Shalom Children's Home

    Shalom Children’s Home (http://www.harvesting.org/) is one of the ministries that is dear to our hearts located in El Salvador. During the 12 year civil war that ended in 1990, many children were left orphaned or abandoned by parents who fled El Salvador. The Benners saw the need to help these children and received 13 children in 1982. Little by little, more children came on their own, churches and the government brought children to them for care, and the Shalom Children’s Home was founded.

    Shalom now cares for over 80 children in El Salvador, from newborns to 18 years old. They receive shelter, clothing, food, medical care, education and life skills training in a Christian environment. The home is supported by a child sponsorship program.

    We have personally supported Shalom for over 6 years now; it is a place of blessing for many children in El Salvador that either have no families or have been abandoned. This is good earth to seed and plant.

    https://github.com/ortus-docs/wirebox-docs
    Ortus Solutions, Corp
    http://www.ortussolutions.com/products/commandbox

    Release History

    All the major information about WireBox Releases

    Versioning Schema

    Wirebox is maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered in the following format:

    And constructed with the following guidelines:

    • Breaking backward compatibility bumps the major (and resets the minor and patch)

    • New additions without breaking backward compatibility bump the minor (and resets the patch)

    • Bug fixes and misc changes bump the patch

    LTS - Support Policy

    Updates are provided for 12 months for all releases, and security fixes are provided for two years after the next major release.

    Version
    Release
    Updates
    Security Fixes

    Releases

    In this section, you will find the release notes for each version we release under this major version. If you are looking for the release notes of previous major versions, use the version switcher at the top left of this documentation book. Here is a breakdown of our major version releases.

    • Version 7.0 - May 2023

    <major>.<minor>.<patch>
    LOGBOX-73
    LOGBOX-77
    LOGBOX-62
    LOGBOX-70
    LOGBOX-74
    LOGBOX-78
    LOGBOX-72

    2025

    2027

    9.x

    2025

    2026

    2028

    Version 3.0 - March 2011

  • Version 2.0 - April 2007

  • Version 1.0 - June 2006

  • 6.x

    2022

    2023

    2025

    7.x

    2023

    2024

    2026

    8.x

    Version 6.0 - August 2020
    Version 5.0 - July 2018
    Version 4.0 - January 2015

    2024