Skip to main content
Participant
May 23, 2021
Answered

CFFORM replacement now that Flash is dead?

  • May 23, 2021
  • 2 replies
  • 569 views

First, I apologize if this is answered elsewhere. I tried searching here and Google, but didn't really find much.  

 

I'm a former programmer who still has a legacy app used by my company very often.  For better or worse, I'm still the maintainer whenever IT can't handle it, and we are running into an issue where I made tabbed forms using Flash format with CFFORM many years ago.

 

Does anyone have a suggestion on how to replace with something else?  I was hoping for something as simple as format="HTML5" but that's not an option...  Not a complex form, it's got about 4 tabs to better organize data that can be edited to maintain records in a DB.  

 

Help & thanks!

    This topic has been closed for replies.
    Correct answer Charlie Arehart

    Good news there. First, yes, most of those flash-based ui features in cf also offered an html/js-based option.

     

    As for tabs, specifically, there are multiple options.  First, CF has supported a tabbed ui element using cflayout since cf8. But many have and will ever decry their use, suggesting that everyone should use pure js (a library you get, rather than one Adobe may provide, and let grow stale, or remove--as they did the yui library that did long underlie various cf ui tags). 


    I can provide here resources, all from the venerable Ray Camden, covering both approaches. (I'm rewriting from my phone so can't confirm if they all still work, they're certainly a place to start.)


    First his article on cflayout, showing its creation of tabs:


    https://www.raymondcamden.com/2007/06/07/ColdFusion-8-AJAX-UI-Tabs


    Then his github repo on "ui the right way", with a bootstrap-base creation of tabs:


    https://github.com/cfjedimaster/ColdFusion-UI-the-Right-Way/blob/master/chapters/cflayout-tabs/index.md


    And there he ends pointing out jquery-ui based support of tabs:

     

    https://jqueryui.com/tabs/

     

    2 replies

    BKBK
    Community Expert
    Community Expert
    June 6, 2021
    quote

    CFFORM replacement now that Flash is dead?

    ...

     I was hoping for something as simple as format="HTML5"


    By @defaultbjudid9f1wbg

     

    I shall actually agree with the solution you propose: HTML5. But, instead of thinking about the task as a cfform replacement, I would go about it as follows:

     

    1. State the original requirements, completely ignoring the cfform. (That is, describe the original business problem that was solved by the cfform.)
    2. Find a solution that uses newer tools such as HTML5, JQuery, and so on.
    Participant
    June 6, 2021

     

    IMHO, having HTML5 as a CFFORM option would take significantly less work than rewriting using newer tools.  Rather than recreating something that had existed for years, it theoretically would have been as easy as a search/replace.

     

    That said, obviously there are newer tools that would be viable/better options today than existed back when the website was originally created many, many years ago.

     

    Charlie's solution is the route I went with, and only took about 30-45 minutes (most of which was me learning the syntax and remember what I was trying to accomplish.)

     

    Thanks

    Charlie Arehart
    Community Expert
    Community Expert
    June 6, 2021

    Great to hear that things have been resolved with the form elements, and glad to have helped. And how about your cfbuilder challenges. Did you solve those also? If not, again I could help sort out your specific issue(s). Or you can try us here, though it may be better suited as a new forum thread. 

    /Charlie (troubleshooter, carehart. org)
    Charlie Arehart
    Community Expert
    Charlie ArehartCommunity ExpertCorrect answer
    Community Expert
    May 24, 2021

    Good news there. First, yes, most of those flash-based ui features in cf also offered an html/js-based option.

     

    As for tabs, specifically, there are multiple options.  First, CF has supported a tabbed ui element using cflayout since cf8. But many have and will ever decry their use, suggesting that everyone should use pure js (a library you get, rather than one Adobe may provide, and let grow stale, or remove--as they did the yui library that did long underlie various cf ui tags). 


    I can provide here resources, all from the venerable Ray Camden, covering both approaches. (I'm rewriting from my phone so can't confirm if they all still work, they're certainly a place to start.)


    First his article on cflayout, showing its creation of tabs:


    https://www.raymondcamden.com/2007/06/07/ColdFusion-8-AJAX-UI-Tabs


    Then his github repo on "ui the right way", with a bootstrap-base creation of tabs:


    https://github.com/cfjedimaster/ColdFusion-UI-the-Right-Way/blob/master/chapters/cflayout-tabs/index.md


    And there he ends pointing out jquery-ui based support of tabs:

     

    https://jqueryui.com/tabs/

     

    /Charlie (troubleshooter, carehart. org)
    Participant
    May 24, 2021

    Thank you very much! I'm sure this'll get me on track.  Yes, losing the yui library broke a few other things (like a date picker) that I had to go back and repair previously. TBH, I'm very disappointed in the lack of support in Adobe for the product.  I first discovered CF with version 4.5, and found it to be a great fusion of HTML and SQL to create a powerful portal into our ERP (first BPCS, later JD Edwards). 

     

    Losing the tag gallery was a gut punch, and while I think Github may have been the "replacement", it just doesn't seem to be the same thing.  Ditto for CF Builder versus Coldfusion Studio and Dreamweaver.  Those were great, and loved the ability to locally edit source files and then pushing to the server via RDS.  Never got to the same place with CF Builder, and have never found a good guide on how to get it working again.  I've relegated myself to opening via a file share and dealing with the lag when working from home.

     

    Charlie Arehart
    Community Expert
    Community Expert
    May 24, 2021

    Glad to help. I'd like to address 3 of your points. 


    As for the loss of the yui library being "a gut punch", note that it could be added back and thus not require any cfml code rewrites. See the bottom of the deprecated features page in the cf docs. (But again, many would decry Adobe keeping that option open.) 


    Indeed, as for your being "very disappointed in the lack of support in Adobe for the product", I will say that's a sentiment that can be overstated. To each their own, of course, but I'd say the continued and substantial updates in cf2021, 2018, 2016, as well as 11 and 10 show Adobe's clear ongoing full support of the product the past 10 years (cf10 came out in 2012.). And this has included generally strong focus on backward compatibility, with their weighing pros and cons in that effort.

     

    That yui library matter is a great example: it was yahoo who dropped support for their own library--and while Adobe could have adopted a new js framework, they'd have gotten flack anyway from the larger and louder audience who think they shouldn't be "enabling" those who still used the old ui tags. Damned if they do, damned if they don't. 


    Finally, as for your challenges with cfbuilder, I will say that it supports what you seek. I appreciate that it may not be working for you and may not be clear how to get it to support that workflow you seek. If you wanted it, I could have it working in perhaps as little as 15 mins, in a remote consulting session (carehart.org/consulting). There are too many moving parts and unique challenges in any one environment to anticipate and discuss here the right solution for you. But often it's just a couple of simple steps to get things working. 


    And getting that working will often unlock a LOT more functionality and value in cfb that goes way beyond the ability to merely save files remotely (that you've worked around for now). 


    Of course, some will decry the notion of editing files on a remote server. They have their point and I too can counsel folks on the pros and cons of alternatives to that. But I'm saying here simply that if yiu want to leverage cfb better than you feel is currently possible, that can be fixed. 🙂 

    /Charlie (troubleshooter, carehart. org)