The ColdFusion team released three hot fixes recently:

8 thoughts

  1. Ray: I’ve formally requested this be setup. I agree a proactive notification service would be good (we have ot for security hotfixes, but not for general hotfixes/updaters
    Joe: yeah, it was a regression from CF5, and I felt bad about it…. 🙂 Hoipefully you’ll find it useful.
    Damon

  2. I just tried out hot fix hf702-52712 and I’m getting an error now when calling stored procedures because I use the free open source JTDS (v1.2) JDBC drivers.
    The error I get is:
    java.util.MissingResourceException –
    Can’t find resource for base name coldfusion/tagext/sql/StoredProcTag.FoundDbVarNameException.properties
    I’ve manually extracted the hf702-52712.jar file to examine it and indeed there is no StoredProcTag.FoundDbVarNameException.properties file.
    I know I could use the Macromedia JDBC drivers, but I prefer JTDS. I’m crossing my fingers that named parameters will work for me and I hope there is a solution to fix this hotfix so it atleast does not crippled their functionality (or possibly other JDBC drivers)
    Thanks, Jordan Clark

  3. can someone guess why ?
    i have posted this on Adobe forumes and many other locations , and NOBODY knows how to fix this , then it must be a BUG in coldfusion 7.0.2 !!!!!!!!1
    BEN , please Mr Ben Forta , if anyone knows what to do it must be you …
    what is the grid not working as expected ?!
    Below is a page that has a cfgrid when i submit the page the grid data is lost ? why ?????????
    the data i am talking about is the ones i add using
    the "refresh data" button not manually inserted row by row !!!
    your help is greatly appretiated …
    thanx
    *************************************************************************************************************************
    *************************************************************************************************************************
    <cfif isDefined("form.oncethrough")>
    <cfdump var="#form#">
    <cfabort>
    </cfif>
    <cfform method="post" name="slushForm" preloader="no" format="flash" width="600" timeout="500" onload="formOnLoad()">
    <cfinput type = "hidden" name="oncethrough" value = "Yes">
    <cfformitem type="script"> //Drag Drop enable for grids var overSourceItem:Boolean = false;
    var overTargetItem:Boolean = false;
    function addData()
    {
    //Add some data to the source grid gridSource.removeAll();
    gridDestination.removeAll();
    gridSource.addItem({lastName:"Smith",firstName:"Jane",phone:"(555) 555-1234"});
    gridSource.addItem({lastName:"Jones",firstName:"Jen",phone:"(555) 555-5678"});
    }
    function formOnLoad()
    {
    gridSource.dragEnabled=true;
    gridSource.multipleSelection=true;
    gridSource.addEventListener(‘dragEnter’, doDragEnter);
    gridSource.addEventListener(‘dragDrop’, doDragDropDGSource);
    gridSource.addEventListener(‘dragComplete’, doDragCompleteDGSource);
    gridSource.addEventListener(‘dragOver’, doDragOverSource);
    gridSource.addEventListener(‘dragExit’, doDragExitSource);
    gridDestination.dragEnabled=true;
    gridDestination.multipleSelection=true;
    gridDestination.addEventListener(‘dragEnter’, doDragEnter);
    gridDestination.addEventListener(‘dragOver’, doDragOverDest);
    gridDestination.addEventListener(‘dragExit’, doDragExitDest);
    gridDestination.addEventListener(‘dragDrop’, doDragDropDGDest);
    gridDestination.addEventListener(‘dragComplete’, doDragCompleteDGDest);
    }
    function doDragEnter(event) {
    event.handled = true;
    }
    function doDragExitSource(event) {
    _root.overSourceItem = false;
    event.target.hideDropFeedback();
    }
    function doDragExitDest(event) {
    _root.overTargetItem = false;
    event.target.hideDropFeedback();
    }
    function doDragOverSource(event) {
    _root.gridSource = event.target;
    if (_root.gridDestination.dataProvider.length > 0)
    {
    _root.overSourceItem = true;
    event.target.showDropFeedback();
    if (Key.isDown(Key.CONTROL))
    event.action = mx.managers.DragManager.COPY;
    else if (Key.isDown(Key.SHIFT))
    event.action = mx.managers.DragManager.LINK;
    else
    event.action = mx.managers.DragManager.MOVE;
    }
    }
    function doDragOverDest(event) {
    _root.gridDestination = event.target;
    if (_root.gridSource.dataProvider.length > 0)
    {
    _root.overTargetItem = true;
    event.target.showDropFeedback();
    if (Key.isDown(Key.CONTROL))
    event.action = mx.managers.DragManager.COPY;
    else if (Key.isDown(Key.SHIFT))
    event.action = mx.managers.DragManager.LINK;
    else
    event.action = mx.managers.DragManager.MOVE;
    }
    }
    function doDragDropDGSource(event) {
    doDragExitDest(event);
    var dragItems = event.dragSource.dataForFormat(‘items’);
    var dest = event.target;
    var dropLoc = dest.getDropLocation();
    var destParentNode = dest.getDropParent();
    //var dropNode = dest.getNodeDisplayedAt(dropLoc);
    dest.addItemsAt(dropLoc,dragItems);
    }
    function doDragDropDGDest(event) {
    doDragExitSource(event);
    var dragItems = event.dragSource.dataForFormat(‘items’);
    var dest = event.target;
    var dropLoc = dest.getDropLocation();
    var destParentNode = dest.getDropParent();
    //var dropNode = dest.getNodeDisplayedAt(dropLoc);
    dest.addItemsAt(dropLoc,dragItems);
    }
    function doDragCompleteDGSource(event){
    var dest = event.target;
    var dropLoc = dest.getDropLocation();
    var destParentNode = dest.getDropParent();
    var selectedIn:Array = event.target.selectedIndices;
    //descending sort to remove items that have been dropped into target grid
    selectedIn.sort(16|2);
    if (_root.overTargetItem)
    {
    for(var i = 0; i < selectedIn.length; i++){
    //add the selected items
    _root.gridDestination.addItem(event.target.selectedItems);
    }
    for(var i = 0; i < selectedIn.length; i++){
    //remove this item
    event.target.dataProvider.removeItemAt(selectedIn)
    }
    }
    _root.overTargetItem = false;
    _root.gridDestination.hideDropFeedback();
    }
    function doDragCompleteDGDest(event){
    var dest = event.target;
    var dropLoc = dest.getDropLocation();
    var destParentNode = dest.getDropParent();
    var selectedIn:Array = event.target.selectedIndices;
    //descending sort to remove items that have been dropped into target grid
    selectedIn.sort(16|2);
    if (_root.overSourceItem)
    {
    for(var i = 0; i < selectedIn.length; i++){
    //add the selected items
    _root.gridSource.addItem(event.target.selectedItems);
    }
    for(var i = 0; i < selectedIn.length; i++){
    //remove this item
    event.target.dataProvider.removeItemAt(selectedIn)
    }
    }
    _root.overTargetItem = false;
    _root.gridSource.hideDropFeedback();
    } </cfformitem>
    <cfformitem type="text" height="15" style="font-weight:bold">Source Grid</cfformitem>
    <cfgrid name="gridSource" height="85" insert="yes" delete="yes" sort="yes" appendkey="yes" griddataalign="left" gridlines="yes" rowheaderalign="left" colheaderalign="left" selectmode="edit" enabled="yes" visible="yes" format="flash" autowidth="true">
    <cfgridcolumn name="lastName" header="Last" bold="no">
    <cfgridcolumn name="firstName" header="First" bold="no">
    <cfgridcolumn name="phone" header="Phone" bold="no">
    </cfgrid>
    <cfformitem type="text" height="15" style="font-weight:bold">Destination Grid</cfformitem>
    <cfgrid name="gridDestination" height="85" insert="yes" delete="yes" sort="yes" appendkey="yes" griddataalign="left" gridlines="yes" rowheaderalign="left" colheaderalign="left" selectmode="edit" enabled="yes" visible="yes" format="flash" autowidth="true">
    <cfgridcolumn name="lastName" header="Last" bold="no">
    <cfgridcolumn name="firstName" header="First" bold="no">
    <cfgridcolumn name="phone" header="Phone" bold="no">
    </cfgrid>
    <cfinput type="button" name="btnAddData" value="Refresh Data" onClick="addData();">
    <cfinput type="submit" name="submit" value="SUBMIT" width="200">
    </cfform>
    *************************************************************************************************************************

  4. I submitted both a security report to Adobe and a Feature Request/Bug form about the upcoming certificate expiration for CFForm b9c2d61c. I was never contacted by Adobe by email, phone etc for the submissions, and just found out about the patch by searching.
    Adobe / ColdFusion team, please follow up when these reports are filed, and setup an email notification program for patches and fixes.

Leave a Reply