arrow-left

All pages
gitbookPowered by GitBook
1 of 7

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introduction

WireBox is an enterprise ColdFusion Dependency Injection and Aspect Oriented Programing (AOP) framework

hashtag
WireBox Manual - Version 7.x

ColdBox Platform

WireBox is an enterprise ColdFusion Dependency Injection and Aspect Oriented Programing (AOP) framework. WireBox's inspiration has been based on the idea of rapid workflows when building object oriented ColdFusion applications, programmatic configurations and simplicity. With that motivation we introduced dependency injection by annotations and conventions, which has been the core foundation of WireBox. We have definitely been influenced by great DI projects like Google Guice, Grails Framework, Spring and ColdSpring so we thank them for their contributions and inspiration

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

hashtag
Versioning

WireBox 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

hashtag
License

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

  • Copyright by Ortus Solutions, Corp

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

hashtag
Discussion & Help

The WireBox help and discussion group can be found here:

hashtag
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:

hashtag
Jira Issue Tracking

hashtag
Professional Open Source

WireBox is a professional open source library supported by . If you are interested in support please consider our or if you need consulting please purchase on of our . Here are some areas that we can assist you with:

  • Custom Development

  • Professional Support & Mentoring

  • Training

hashtag
Resources

  • Official Site:

  • CFCasts Video Training:

  • Source Code:

hashtag
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

What's New With 8.0.0

Discover the power of WireBox 8.0.0

🎉 Welcome to WireBox 8.0.0 - this release focuses on WireBox, CacheBox, and LogBox updates that ship as part of the ColdBox platform. Below is a focused summary of the changes relevant to this documentation set.

hashtag
🚀 Major Highlights

  • WireBox - BoxLang Prime support and key binder cleanups

 __          ___          ____
 \ \        / (_)        |  _ \
  \ \  /\  / / _ _ __ ___| |_) | _____  __
   \ \/  \/ / | | '__/ _ \  _ < / _ \ \/ /
    \  /\  /  | | | |  __/ |_) | (_) >  <
     \/  \/   |_|_|  \___|____/ \___/_/\_\
Server Tuning
  • Security Hardening

  • Code Reviews

  • Much More

  • Bug Tracker:

  • Twitter:

  • Facebook:

  • Vimeo Channel:

  • Semantic Versioningarrow-up-right
    Apache 2arrow-up-right
    https://community.ortussolutions.com/arrow-up-right
    https://github.com/coldbox/coldbox-platformarrow-up-right
    https://ortussolutions.atlassian.net/browse/COLDBOXarrow-up-right
    https://ortussolutions.atlassian.net/browse/WIREBOXarrow-up-right
    https://ortussolutions.atlassian.net/browse/LOGBOXarrow-up-right
    Ortus Solutionsarrow-up-right
    Ninja Subscription Supportarrow-up-right
    Consulting Plansarrow-up-right
    https://www.coldbox.orgarrow-up-right
    http://ww.cfcasts.comarrow-up-right
    https://github.com/coldbox/coldbox-platformarrow-up-right
    Ortus Solutions, Corp
  • CacheBox - BoxLang Prime support and provider fixes

  • LogBox - BoxLang Prime support and new configuration options

  • hashtag
    📚 Documentation MCP Server

    Connect AI assistants directly to these docs via the Model Context Protocol (MCP):

    • https://cachebox.ortusbooks.com/~gitbook/mcp

    • https://logbox.ortusbooks.com/~gitbook/mcp

    • https://wirebox.ortusbooks.com/~gitbook/mcp

    hashtag
    VSCode Connect:


    hashtag
    🎶 Release Notes

    hashtag
    CacheBox

    hashtag
    New Features

    BoxLang Prime

    hashtag
    Bugs

    CacheBox CFProvider Only Works with EhCache

    hashtag
    LogBox

    hashtag
    New Features

    BoxLang Prime

    hashtag
    Improvements

    Add new LogBox configuration option to disallow serializing complex objects: serializeExtraInfo

    hashtag
    WireBox

    hashtag
    New Features

    BoxLang prime

    hashtag
    Tasks

    getCacheBoxConfig() on WireBox Binder removed after deprecation

    Binder.getProperty() `default` Argument Removed

    <major>.<minor>.<patch>
    CacheBoxarrow-up-right
    LogBoxarrow-up-right
    WireBoxarrow-up-right
    CACHEBOX-91arrow-up-right
    CACHEBOX-90arrow-up-right
    LOGBOX-84arrow-up-right
    LOGBOX-83arrow-up-right
    WIREBOX-156arrow-up-right
    WIREBOX-157arrow-up-right
    WIREBOX-158arrow-up-right
    https://ortussolutions.atlassian.net/browse/CACHEBOXarrow-up-right
    https://ortussolutions.atlassian.net/browse/WIREBOXarrow-up-right
    @coldboxarrow-up-right
    https://www.facebook.com/coldboxplatformarrow-up-right
    https://vimeo.com/channels/coldboxarrow-up-right

    About This Book

    The source code for this book is hosted in GitHub: https://github.com/ortus-docs/wirebox-docsarrow-up-right. You can freely contribute to it and submit pull requests. The contents of this book is copyright by Ortus Solutions, Corparrow-up-right 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 -

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

    hashtag
    External Trademarks & Copyrights

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

    hashtag
    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.

    hashtag
    Contributing

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

    hashtag
    Charitable Proceeds

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

    hashtag
    Shalom Children's Home

    Shalom Children’s Home () 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.

    http://www.ortussolutions.com/products/commandboxarrow-up-right
    GitHub repositoryarrow-up-right
    https://www.harvesting.org/arrow-up-right
    http://www.harvesting.org/arrow-up-right
    Shalom Children's Home

    Release History

    All the major information about WireBox Releases

    hashtag
    Versioning Schema

    Wirebox is maintained under the Semantic Versioningarrow-up-right 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

    hashtag
    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

    hashtag
    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 8.0 - October 2025

    Author

    hashtag
    Luis Fernando Majano Lainez

    Luis Majano is a Computer Engineer, published author, founder, and CEO of Ortus Solutions, Corp (www.ortussolutions.comarrow-up-right), 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

    hashtag
    Contributors

    hashtag
    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 a 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 in 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

    hashtag
    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) with a slightly higher success rate of putting them back together again.) Brad enjoys church, 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 and build projects with Arduino-based microcontrollers.

    Brad's CommandBox Snake high score is 141.

    Contributing Guide

    The best way to contribute to WireBox

    Hola 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:

    hashtag
    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.

    <major>.<minor>.<patch>

    2024

    2026

    6.x

    2022

    2023

    2025

    Version 5.0 - July 2018arrow-up-right
  • Version 4.0 - January 2015arrow-up-right

  • Version 3.0 - March 2011

  • Version 2.0 - April 2007

  • Version 1.0 - June 2006

  • 9.x

    2027

    2029

    2030

    8.x

    2025

    2027

    2028

    7.x

    Version 7.0 - May 2023arrow-up-right
    Version 6.0 - August 2020arrow-up-right

    2023

    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.comarrow-up-right
    ITESMarrow-up-right
    Industrias Bendek S.A.arrow-up-right
    MidAmerica Nazarene Universityarrow-up-right
    http://www.codersrevolution.comarrow-up-right
  • 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.

  • hashtag
    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: https://ortussolutions.atlassian.net/browse/COLDBOXarrow-up-right

    • CacheBox : https://ortussolutions.atlassian.net/browse/CACHEBOXarrow-up-right

    • LogBox : https://ortussolutions.atlassian.net/browse/LOGBOXarrow-up-right

    • 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.

    hashtag
    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: https://community.ortussolutions.com/c/communities/coldbox/13arrow-up-right

    • Box Slack Team: http://boxteam.ortussolutions.com/arrow-up-right

    • Professional Support: https://www.ortussolutions.com/services/supportarrow-up-right

    hashtag
    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.

    • 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

    hashtag
    Security Vulnerabilities

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

    hashtag
    Development Setup

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

    hashtag
    Language Compatibility

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

    • Lucee 5+

    • Adobe ColdFusion 2018+

    hashtag
    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:

    We 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.

    hashtag
    CFC Docs With DocBox

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

    hashtag
    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.

    • Become a backer or sponsor on Patreonarrow-up-right

    • One-time donations via PayPalarrow-up-right

    hashtag
    Contributors

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

    arrow-up-right

    Made with contributors-imgarrow-up-right

    Upgrading to WireBox 8

    The official WireBox 8 upgrade guide

    An upgrade from WireBox 7 should not incur any breaking changes, but you should still read through the guide to ensure you are not using any deprecated or removed features.

    hashtag
    ColdFusion 2018-2021 Support Dropped

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

    hashtag
    Removals

    hashtag
    BeanPopulator

    The BeanPopulator class has been removed. This class was deprecated in ColdBox 6 and was replaced by the ObjectPopulator class. Please use coldbox.system.core.dynamic.ObjectPopulator instead.

    hashtag
    ColdBox Util Env/System Methods

    The following methods were removed in preference to the Environment Delegate class: coldbox.system.core.delegates.Env.

    hashtag
    Binder.getProperty() default Argument Removed

    The default argument was deprecated in ColdBox 6 and has now been removed. Please use defaultValue instead.

    hashtag
    Binder.getCacheBoxConfig() Removed

    The getCacheBoxConfig() method was deprecated in ColdBox 6 and has now been removed. Please use getCacheBox() instead.

    hashtag
    InterceptorService.processState() Removed

    The processState() method has been removed from the InterceptorService (). This method was deprecated and has now been completely removed.

    Migration: Use the announce() method instead.

    hashtag
    Deprecations

    The following methods were deprecated in WireBox 7 and will be removed in WireBox 9.

    # Format everything
    box run-script format
    
    # Start a watcher, type away, save and auto-format for you
    box run-script format:watch
    COLDBOX-1358arrow-up-right
    /**
    * @deprecated Refactor to use the Env Delegate: coldbox.system.core.delegates.Env
    */
    function getSystemSetting( required key, defaultValue ){
        return new coldbox.system.core.delegates.Env().getSystemSetting( argumentCollection = arguments );
    }
    
    /**
    * @deprecated Refactor to use the Env Delegate: coldbox.system.core.delegates.Env
    */
    function getSystemProperty( required key, defaultValue ){
        return new coldbox.system.core.delegates.Env().getSystemProperty( argumentCollection = arguments );
    }
    
    /**
    * @deprecated Refactor to use the Env Delegate: coldbox.system.core.delegates.Env
    */
    function getEnv( required key, defaultValue ){
        return new coldbox.system.core.delegates.Env().getEnv( argumentCollection = arguments );
    }
    // Old way - removed
    interceptorService.processState( "myEvent", data );
    
    // New way - use announce()
    interceptorService.announce( "myEvent", data );
    https://ortussolutions.atlassian.net/browse/WIREBOXarrow-up-right