http://coldfusion.com logo
Join Slack
Powered by
# wheels-dev
  • z

    Zain Ul Abideen

    05/28/2025, 2:39 PM
    Amazing
  • d

    David Belanger

    05/29/2025, 7:30 PM
    I'm getting an error when trying to install the wheels-cli
    p
    • 2
    • 5
  • p

    Peter Amiri

    05/29/2025, 7:31 PM
    Let me look into it, will let you know as soon as it is working
    ๐Ÿ‘ 1
  • p

    Peter Amiri

    05/29/2025, 7:51 PM
    playing the jeopardy theme song in my head while I wait for the GitHub actions to finish testing and pushing the change
    ๐Ÿ˜„ 2
    n
    • 2
    • 4
  • p

    Peter Amiri

    05/29/2025, 8:13 PM
    @David Belanger you should be able to do the install now.
    โœ… 1
    d
    • 2
    • 1
  • b

    ben

    06/10/2025, 12:48 PM
    Not directly related to Wheels, but my blog post on destructuring a query into nested objects was directly inspired by the fact that CFWheels does this when you
    include / returnAs=structs
    in your queries - which is a very cool feature. https://www.bennadel.com/blog/4810-ask-ben-destructuring-complex-queries-into-coldfusion-objects.htm
    ๐Ÿ‘ 4
  • n

    neokoenig

    06/11/2025, 9:00 AM
    I'm upgrading an old app from 1.4 -> 2.5.1 but jumping to lucee 6 at the same time. I've hit a few issues on application start - has any testing been done on the 2.5.x branch against lucee 6, or shall I just try and jump to 3.x ?
    z
    p
    • 3
    • 9
  • b

    ben

    06/12/2025, 10:48 AM
    This is a small UDF that I use to dump-out model without the hundreds of UDFs in the execution context -- https://www.bennadel.com/blog/4812-light-weight-dumpmodel-function-for-cfwheels-in-coldfusion.htm
    ๐Ÿ‘ 3
    ๐Ÿ‘ 2
    t
    • 2
    • 1
  • b

    ben

    06/12/2025, 10:50 AM
    This is a fairly Lucee-specific issues (since the
    showUDFs=false
    flag doesn't actually omit functions from teh
    CFDump
    /
    dump()
    output). But, has been very helpful for me, especially since it works recursively for models in models in models.
    n
    • 2
    • 7
  • b

    ben

    06/13/2025, 10:25 AM
    A small article on how I'm working around a bug in the way the CFWheels ORM handles nested resources that are name-spaced: https://www.bennadel.com/blog/4813-working-around-sql-namespace-bug-in-cfwheels-models-in-coldfusion.htm
    ๐Ÿ‘ 2
    t
    n
    • 3
    • 9
  • p

    Peter Amiri

    06/20/2025, 1:30 PM
    Just some Friday Fluff
    ๐Ÿ™Œ 1
    z
    • 2
    • 1
  • n

    neokoenig

    06/20/2025, 1:44 PM
    You've certainly been busy ๐Ÿ™‚
  • b

    ben

    06/20/2025, 2:01 PM
    Very cool
  • t

    Tim Badolato

    06/20/2025, 2:58 PM
    Very cool! I still remember the conversation that brought CFWheels backโ€”reviving it from the dead: https://groups.google.com/g/cfwheels/c/vhTZab-bplY/m/Vp1wI1OFK_gJ (Major props to @neokoenig for leading the effort)
    n
    d
    • 3
    • 2
  • n

    neokoenig

    06/28/2025, 1:02 PM
    ChatGPT really does make up whatever it wants huh.
    b
    p
    • 3
    • 6
  • p

    Peter Amiri

    06/28/2025, 2:42 PM
    I've been playing around with this and the pattern that I have found gives the best results is if you can figure out a way to get the ai you are using to test itself. I'm using Claude Code for this. I ask it to do something, then have it use puppeteer and commandbox and wheels cli to test what it did and "iterate till it works" then I tell it to update it's memory with /init. This way as it learns to do more and more it keeps adding that to its memory. Does it still hallucinate and come up with code that may be perfectly valid in another context, sure it does. But getting it to go through its four, five, ten iterations on it's own is what has yielded the best results.
  • b

    ben

    06/29/2025, 3:13 PM
    If anyone is curious, an article about using "Service" objects (an exploration) in Wheels -- https://www.bennadel.com/blog/4819-creating-service-objects-in-the-cfwheels-coldfusion-framework.htm
    ๐Ÿš€ 1
    ๐Ÿ‘ 2
    t
    • 2
    • 1
  • b

    ben

    06/30/2025, 7:32 PM
    In the spirit of ChatGPT just making stuff up ๐Ÿ˜„
    ๐Ÿ˜„ 2
  • b

    ben

    07/01/2025, 11:16 AM
    Here's a quick look at one way to use Custom Tags in Wheels without giving up all of the wheels mechanics: https://www.bennadel.com/blog/4820-using-coldfusion-custom-tags-and-modules-in-cfwheels.htm
  • b

    ben

    07/01/2025, 6:48 PM
    I would love to have some sort of unified API for the property + validation stuff. Even if it was just a proxy to the other validation methods. Like:
    Copy code
    define(
    	property = "name",
    	required = true,
    	minLength = 0, // can be blank.
    	maxLength = 100
    );
    define(
    	property = "salary",
    	required = false,
    	minValue = 0,
    	maxValue = nullValue(),
    	onlyIntegers = false
    );
    ... anyone ever try something like this?
  • b

    ben

    07/02/2025, 4:43 PM
    Also, another thing I've been thinking about: Iterating Business Objects (IBO). This is basically the notion that a single CFC would wrap a record-set internally. And have methods like
    .hasNext()
    and
    .next()
    , and would push a row of data into the CFC properties during the iteration. Basically, it would safe on the cost of instantiating a bunch of CFCs for recrord-sets. Maybe there could be a
    returnAs="ibo"
    ...... just thinking out loud. This might be something I toy with to see what it looks / feels like. The main value would be to take advantage of CFC computed methods and association even without having to have a CFC-per-row.
  • b

    ben

    07/09/2025, 11:45 PM
    For anyone curious, I created a
    Mapper.cfc
    which wraps the
    mapper()
    API and makes a more explicit extension point (for my own convenience methods): https://www.bennadel.com/blog/4823-customizing-the-router-in-the-cfwheels-coldfusion-framework.htm
    ๐Ÿ‘ 1
  • b

    ben

    07/10/2025, 10:17 AM
    Some more digging into the Wheels internals, and I realized I was able to override the
    $selectClause()
    method to monkey-patch a bug fix.
    At work, we use the #C06TT5M7V #ColdFusion framework and the Microsoft #C082RPGTZ Server database. In a previous post, I talked about a bug in Wheels that was turning namespaced Models into syntactically invalid MSSQL statements. At the time, I was working around that bug by explicitly writing my
    SELECT
    statements (instead of letting the Object Relational Mapper, ORM, write them for me). Last week, however, I realized that I could (dangerously) override one of the Wheels internal methods -
    $selectClause()
    - and apply the fix globally within my #CFML application. Read more: https://bennadel.com/4813#update-overriding-selectclause
  • b

    blusol

    07/14/2025, 4:09 PM
    glad to see the traction this project has gained.. looking forward to getting into it. i've been using other frameworks for years so this will be a learning curve, but excited to see what it has to offer.
    ๐Ÿ‘ 3
  • b

    ben

    07/18/2025, 12:03 PM
    This isn't Wheels-specific, but it's Wheels-inspired. Basically, I want all the goodness of the global functions but with a little less magic ๐Ÿช„ : > At PAI Industries Inc. we use the #CFWheels #ColdFusion framework. Wheels has a lot of "magic". I love the fact that I can use
    e()
    as an alias for
    encodeForHtml()
    in any of the #CFML or #CFC templates in our application. But, I don't love that functions just show up out of thin air. I'm wondering if I can balance the magic with the convenience by exposing runtime extensions and polyfills using a CFInclude / CFModule mechanic. This would make things more explicit; but, also keep things super simple. Read more: https://bennadel.com/4825
    n
    • 2
    • 5
  • b

    ben

    07/28/2025, 7:17 PM
    I think it would be cool to have two layers of validation: โ€ข Validation that should always run. โ€ข Validation that should only run if there are no error messages. This would allow all the "simple" validation (is empty, is non-zero) to take place. Then, it would allow other complex validations to run only if none of the simple ones failed (ex, uniqueness checks).
    z
    • 2
    • 3
  • b

    ben

    07/28/2025, 7:18 PM
    Kind of like what
    unless
    might do:
    validatesNumericalityOf( property = "userID" greaterthan = 0, unless = "hasErrors()" )
  • b

    ben

    07/28/2025, 7:18 PM
    Aside - I don't actually know how
    unless
    works.
  • b

    ben

    07/28/2025, 7:19 PM
    It feels like the
    allowBlank
    arg is trying to work around this issue. But, I think that would become irrelevant if you had two-phase validation. .... just thinking out loud.
  • n

    neokoenig

    07/31/2025, 3:25 PM
    Is there a plan for a stable release of 3.x soon? Iโ€™m finding quite a few issues with the snapshots
    z
    p
    • 3
    • 7