ColdFusion 9 Released

Adobe has released ColdFusion 9.
http://www.adobe.com/products/coldfusion/
Rapidly build, deploy, and maintain Internet applications
Adobe© ColdFusion© software enables developers to rapidly build, deploy, and maintain robust Internet applications for the enterprise. With the latest release, ColdFusion 9, developers can condense complex business logic into even fewer lines of code. In tandem, Adobe ColdFusion Builder™ software, an Eclipse™ based IDE for efficiently managing ColdFusion application development from concept through deployment, is available on Adobe Labs. Together, they offer a complete set of tools and services for creating rich, robust Internet applications.
Getting Started
Interactive Tutorials
Demo Videos
Free Online Resources
Features
Buy ColdFusion 9
Upgrade to ColdFusion 9
Get the ColdFusion 9 Trial
Product Editions
System Requirements
System Support Matrix (PDF)
ColdFusion Builder Beta
Ken Ford

This is old information, but it may still be relevant.
ColdFusion's Dedicated Account Managers
http://forta.com/blog/index.cfm/2007/10/9/ColdFusions-Dedicated-Account-Managers
Just a reminder (especially for those of you whose experiences when calling Adobe sales regarding ColdFusion were anything less than stellar) ...
Adobe has dedicated ColdFusion Account Managers (in the U.S. and Canada), all they do is ColdFusion, and they can help with purchasing, EULA and pricing questions, and more. Here are the contact details:
For users in AK, AR, AZ, CA, CO, HI, IA, ID, IL, KS, LA, MN, MO, MT, ND, NE, NM, NV, OK, OR, SD, TX, UT, WA, WI, WY (West of the Mississippi), ping Jason Graves at [email protected] or call (858) 847-7541.
For users in AL, CT, DC, DE, FL, GA, IN, KY, MD, MA, ME, MI, MS, NC, NH, NJ, NY, OH, PA, RI, SC, TN, VA, VT, WV (East of the Mississippi) as well as Eastern Canada & Ontario, ping Dominick Conte at [email protected] or call (858) 847-7451.

Similar Messages

  • Coldfusion 10 or Coldfusion X release Date

    I am planning for next year what kind of projects we will be doing.  I was looking for information on the next version of coldfusion.  I did read some of the blog discussions  In Feb and march about Coldfusion being moved completely to India. Could someone from Adobe update the community on their plan's timelines.
    It is interesting how quite that things are. 
    So Adobe start getting us excited about the next version.  Let some features leak out.  Put it up in labs. Start giving us material that we can  start invisioning the new great things we are going to develop with it.  Let us know that you are still working on it and that you have amassed a huge team of talented people that are at this point working hard at the next biggest thing.
    Just because the marketing and management people are now in India doesn't mean they should forget the main audience.
    CF Rocks!!!
    Now lets hear it from you.

    Once CF 10 gets to the public beta stage, then you'll see official things from Adobe about it.  Until then, how could they possibly have anything 'officially' going on in a public sense - that's pretty much the definition of a public beta?  As Dave and others have said, if you do some Googling you'll find quite a bit of good stuff.  Anyone associated with the alpha and non-public beta programs is under NDA and so cannot comment on the accuracy of those postings, but I think if you look at the people behind them you'll see that they are well-respected members of the CF community, and aren't the types to just make up stuff.  You will also find a couple of sessions from Max that went into quite a bit of detail, including demos, and were done by Adobe CF engineers and product managers, and so you should be able to place a lot of value on those, even though they have the caveats that what they are showing in the previews could change (or disappear altogether) in the final release.  The one thing you won't see them answering are questions about the release schedule, at least not until they get into the public beta stage.  That's how these things work.
    Since I already have this info in a file that I used at our local user group meeting in October, I'll save you some searching and share it with you since it is all public info anyway:
    Zeus info from max (ray Camden)
    http://www.coldfusionjedi.com/index.cfm?&startRow=11
    http://tv.adobe.com/watch/max-2011-develop/whats-next-in-coldfusion/
    http://tv.adobe.com/watch/max-2011-develop/keeping-current-with-coldfusion/
    Zeus & HTML5: 08:45-32:00  (new CFCHART, Websockets, Media/streaming, Mobile)
    Enterprise Glue: 32:00-44:00 (Exchange 2010, sharepoint, REST
    Developer Productivity: 44:00-55:00 (ORM, EHCache, MSoffice)
    -reed

  • ColdFusion and Windows 8

    So I just purchased my entire team of developers windows 8 machines, and I have found that CF does not install on Windows 8. How is it possible that Adobe does not have a Windows 8 release yet? I have been an avid CF supporter for over a decade but this could be the last straw. Does anyone know of any possible workarounds for this issue? I am in a bind here so any help will be greatly appreciated.

    The official word from the ColdFusion team is that we will have to wait till December 2012 at the earliest for Coldfusion 10 support of Windows 8. Terrible news for us developers, that goes without saying.
    However, what surprises me is the number of developers unprepared for this delay. You could have guessed it from developments in recent months. Some of the milestones in the timeline for the release of ColdFusion 10 matched the timescales for milestones in the Windows 8 release. To illustrate, I have copied the following titbits from the respective Wikipedia stories:
    ColdFusion 10 release
    For much of 2010, ColdFusion Product Manager Adam Lehman toured the US setting up countless meetings with customers, developers, and user groups to formulate a master blueprint for the next feature set. In September 2010, he presented the plans to Adobe where they were given full support and approval by upper management. The first public beta of ColdFusion 10 was released via Adobe Labs on 17 February 2012. ColdFusion version 10 was released on May 15, 2012.
    Windows 8 release
    Development of Windows 8 started before the release of its predecessor in 2009. Its existence was first announced at CES 2011, and followed by the release of three pre-release versions from September 2011 to May 2012. The operating system was released to manufacturing on August 1, 2012. On August 15, 2012, Windows 8 was made available to download for MSDN and TechNet subscribers. Windows 8 was made available to Software Assurance customers on August 16, 2012. The operating system was released for general availability on October 26, 2012.
    One could argue, from the statements I have italicized, that Windows 8 was actually released later than ColdFusion 10! That puts the delay in perspective.

  • Where is the ColdFusion support?

    I have been trying to edit existing ColdFusion files now that I am signed up to Creative Cloud. Dreamweaver CC has had all ColdFusion support removed. Even opening a ColdFusion file is annoying. I can only open it by right clicking in Finder. Checking "always open with" does not work.
    The solutions on the DreamWeaver team blog were to install ColdFusion Builder, not included in Creative Cloud, or to install Dreamweaver CS6, no longer an option in Creative Cloud.
    I assume that this is the end of ColdFusion as far as Adobe is concerned. Mind you I assume they also think that ASP and ASP.Net are no longer valid as they are no longer supported either.

    Let me preface my comments by stating I do not work for Adobe, and I don't speak for Adobe.  These are just my thoughts and opinions.
    I believe that Adobe looked at what they felt the majority of Dreamweaver users were doing with the product, and determined only a small majority were using it for ColdFusion or ASP/ASP.net, while a large portion of the user base used it for PHP.  It's probable that the majority of ASP.net developers are using an IDE for their work, and Dreamweaver is not an IDE.  Similarly, they probably felt only a minority of ColdFusion developers were using Dreamweaver (I know a few personally who do, and I used to be one of them).  However, since Adobe's ColdFusion team has developed an IDE specific to ColdFusion (ColdFusion Builder), it makes economic sense for them to no longer carry the weight of ColdFusion support in the Dreamweaver product.  ColdFusion Builder releases are directly tied to and in sync with ColdFusion releases while Dreameaver CC is not, which makes maintaining support for new releases of ColdFusion in Dreamweaver CC another headache.
    ColdFusion support has not been completely stripped from Dreamweaver (yet), though.  There are a some blog posts out there from Adobe and others that show how to get the ColdFusion support working fairly close to how it did in previous versions of Dreamweaver.
    Also, many ColdFusion developers have started using more lightweight 3rd party code/text editing tools with ColdFusion language libraries added on, such as SublimeText, Brackets/Adobe Edge Code, TextMate, Notepad++, and others.
    -Carl V.

  • CFGRID quirk

    I was wondering if anyone else has run across this, and if so, how you corrected the issue?
    Using version CF 9.0 with the following code the cell's word wrap correctly. I'm using .x-grid3-cell-inner  {white-space:normal; } in the sytle sheet to format the cells.
    No problems so far.
    <cfform>
        <cfgrid name = "FirstGrid" format="html"
         height="600"
            width="1024"
            autowidth="yes"
            query = "qry_fullReport">
        </cfgrid>
    </cfform>
    Now, if I change to flash, like the example below, the formatting no longer works.
    <cfform>
        <cfgrid name = "FirstGrid" format="flash"
         height="600"
            width="1024"
            autowidth="yes"
            query = "qry_fullReport">
        </cfgrid>
    </cfform>
    Is there any good reasons to use the flash version over the html version?
    James

    I found the answer:
    4 ColdFusion 9 Release Notes Bug Number Area Description 78312 ColdFusion Ajax In Internet Explorer, if you have a grid inside a table, grid column headers do not display. This is an Internet Explorer-related issue. As a workaround, specify head and doctype tags as follows: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    I added that to my code and now the headings always appert when the CFGrid is inside the table.

  • Simple ques (data sources)

    I'm trying to set up a DATA source of a 2007 MS Acces file
    called ques.accdb but I keep getting this message:
    Connection verification failed for data source: ques
    java.sql.SQLException: [Macromedia][SequeLink JDBC
    Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Could
    not find file '(unknown)'.
    The root cause was that: java.sql.SQLException:
    [Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC
    Microsoft Access Driver] Could not find file '(unknown)'.
    The Access file is located in the wwwroot folder and I'm on
    Windows Vista.
    Thanks so much,
    Steve

    I do not use Access, but a quick google turned up this link:
    http://blog.crankybit.com/msaccess2007-and-cf8/
    "... please note that the drivers that come with CF8 do not
    support Access 2007. This is mentioned in the ColdFusion 8 Release
    Notes under #69495. The solution is nicely described right in the
    release notes. Download and install the Data Connectivity
    Components for Office 2007, set up a Windows ODBC connection, and
    use ColdFusion’s ODBC socket driver to connect to the Windows
    ODBC connection. ..."

  • CF Hosting - Windows or Linux?

    I'm about to sign up for a Hostek accout to move my wife's website to.  I noticed that they offer both IIS and Apache flavors, and I'm sort of wondering if it makes any difference at all.
    Being a Linux user, I am used to things like Apache, CPanel, and unix permissions, but I have this idea in my mind (and maybe it's wrong) that CF was originally built around a Windows platform, and as such, IIS hosting would somehow be more "polished".
    I probably would be fine chosing either option, but I was wondering if anyone here had any opinions either way.

    Hi,
    ColdFusion is released for Win/Linux/Solaris/Mac systems and is fully tested to run smoothly on these tested environments with reference to the web-servers.
    You can go through the support matrix for the same, to ascertain the web servers versions for the specific CF version:
    CF 9: http://www.adobe.com/products/coldfusion/pdfs/cf9_support_matrix_4_ue.pdf
    CF10: http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf1 0/coldfusion10-support-matrix.pdf
    Most of the people are on Win and IIS combination. But, the global environment scope of CF makes sure that, it is running on other systems with other web servers too.
    HTH.
    Rg,
    Spsb84

  • Where can I buy ColdFusion 10 Standard Licenses now that CF11 has been released?

    Since the release of ColdFusion 11 I have not been able to find any resellers with ColdFusion 10 licenses for sale.  I checked a large number of Adobe's partners to no avail.  Does anyone know where I might find ColdFusion 10 Standard licenses?

    You need to get in touch with Adobe as Adobe has a backward licensing policy via which you can get ColdFusion 10.
    However, you need to purchase ColdFusion 11 first and then you will get ColdFusion 10 serial number via Backward Licensing.
    You can send an e-mail to [email protected]
    NOTE : Adobe is not providing ColdFusion 10 installers. Check this blog here : http://blogs.coldfusion.com/post.cfm/announcing-the-launch-for-coldfusion-11-and-coldfusio n-builder-3
    HTH
    Thanks
    VJ

  • Announcement: ColdFusion 8 Exam Buster released for ColdFusion 8 certification

    CF8 Exam Buster from CentraSoft (
    http://centrasoft.com)
    CF8 Exam Buster is the ultimate testing tool specifically
    designed to help ColdFusion developers earn their Adobe ColdFusion
    8 Certification through the Adobe Certified Professional Program.
    CF8 Exam Buster has 384 questions designed to help you
    prepare for all aspects of the actual ColdFusion 8 certification
    exam. CF8 Exam Buster allows you to take six different tests, 11
    topic tests for your weak areas, and the ability to create random
    tests.
    All 384 questions have explanations and reference URLs to
    further aid your studies and build your ColdFusion knowledge.
    During your test you can save your test in progress, submit
    comments, bookmark questions, pause your test, and much more. You
    can control the look and feel of the CF8 Exam Buster application,
    by setting the fonts, colors, and appearance of many controls, to
    create a studying environment with which you are comfortable. After
    your test is scored, you will be shown a comprehensive breakdown of
    your test results.
    There is a DEMO version on the Centrasoft website (
    http://www.centrasoft.com),
    which allows you to check out all the features of the program, plus
    one whole test.
    Read what people are saying about the Exam Buster product on
    our testimonials page (some early CF8 comments are already on
    there):
    http://centrasoft.com/cfbtestimonials.cfm
    Check out CF8 Exam Buster today!
    Thanks, Brian Simmons
    [email protected]
    The ultimate Adobe ColdFusion 8 Certification testing tool:
    Check out CF8 Exam Buster at:
    http://centrasoft.com
    ColdFusion, and Adobe are registered trademarks of Adobe
    Corporation. Adobe Corporation in no way endorses or is affiliated
    with Centrasoft Corporation.

    To the best of my knowledge the ColdFusion 8 certification
    exam is not
    available yet.
    http://www.adobe.com/support/certification/ace_certify.html
    http://www.adobe.com/support/training/certified_professional_program/cfmx7_developer.html
    And if you want a study guide for that I would recommend Ben
    Forta's:
    http://www.forta.com/books/0321330110/
    Ken Ford
    Adobe Community Expert - Dreamweaver
    Fordwebs, LLC
    http://www.fordwebs.com
    "Dwayne42" <[email protected]> wrote in
    message
    news:fq9rfo$ri2$[email protected]..
    > Do anyone know where I can get a study Guide or a
    practice exam for the
    > Coldfusion 8 Certification.

  • Android Push Notification of the New GCM release using Coldfusion

    Is there any similar push notification solution/Tutorial but this time for the Android?
    Something similar to this tutorial but with Android GCM using coldfusion to send from my dedicated server to the registered devices:
    http://www.raymondcamden.com/index.cfm/2010/9/13/Guest-Post-Apple-Push -Notifications-From-ColdFusion-in-Ten-Minutes-or-Less
    Thanks in advance
    Talal

    well after diving and testing here and there I found a way and successfully tested.
    1> First and formost, the developer need to follow the procedures in this page:
    http://developer.android.com/guide/google/gcm/gs.html
    2> In the app side, you will send users devices information; but all that matters is only the "registration id" , so make sure you save this in the database coz you'll use it to loop through your database records when sending notifications.
    3> Now the server side script in Coldfusion which is really easy:
    <!---Place this above your html tag--->
    <cfsetting requesttimeout="80000000000000">
    <cfset appName = 'YourAppName'>
    <cfset registrationArray = ArrayNew(1)>
    <cfquery datasource="devicesDSN" name="rsCount">
        SELECT COUNT(intGCMuserID) AS TotalRecords
        FROM gcmusers_tbl
        WHERE appName = <cfqueryparam cfsqltype="cf_sql_clob" value="#appName#">
    </cfquery>
    <!---Google is limited to send only to 1000 devices at a time so we need to nest the cfloop of the array inside another cfloop pertaining to our total recordCount from the recordset so we'll use the Ceiling to control the number of loops needed to make sure we sent to all the users if they exceed google limit--->
    <cfset LoopingNo = Ceiling(rsCount.TotalRecords/1000)>
    <cfset fromRec = 1>
    <cfset toRec = 1000>
    <!---Now place the following code inside the body tag of your cfm page--->
    <cfif isDefined("FORM.pushButton")>
        <cfquery datasource="devicesDSN" name="rs">
        SELECT regID
        FROM gcmusers_tbl
        WHERE appName = <cfqueryparam cfsqltype="cf_sql_clob" value="#appName#">
        ORDER BY intGCMuserID DESC
        </cfquery>
        <cfloop from="1" to="#loopingNo#" index="i">
            <cfloop query="rs">
                <cfset ArrayAppend(registrationArray, "#regID#")>
            </cfloop>
            <cfset stFields =
            { "data"= {
                "title" = "#FORM.title#",
                "message"= "#FORM.message#"
              "registration_ids"= #registrationArray#
            >
            <cfhttp url="https://android.googleapis.com/gcm/send" method="post" result="httpResp" timeout="600">
                <cfhttpparam type="header" name="Content-Type" value="application/json"/>
                <cfhttpparam type="header" name="Authorization" value="key=yourAPIkeyFromGoogle">
                <cfhttpparam type="body" value="#serializeJSON(stFields)#">
            </cfhttp>
            <cfset temp = ArrayClear(registrationArray)>
            <cfset fromRec = fromRec + 1000>
            <cfset toRec = toRec + 1000>
        </cfloop>
        <h2 align="center" style="color:red;">Sent to: <cfoutput>#rs.RecordCount#</cfoutput> Devices/Users </h2>
        <h3 align="center"><a href="thispage.cfm">&gt;&gt;&gt;again</a></h3>
    <cfelse>
    <cfform>
      <table width="400" border="1" align="center" cellpadding="2" cellspacing="2">
        <tr valign="top">
          <th scope="row">Title:</th>
          <td><label for="title"></label>
          <cfinput type="text" name="title" required="yes" id="title" maxlength="30" width="300" message="Type Title"></td>
        </tr>
        <tr valign="top">
          <th scope="row">Message:</th>
          <td><label for="message"></label>
          <cftextarea name="message" cols="45" rows="2" required="yes" id="message" maxlength="120" message="Type Message"></cftextarea></td>
        </tr>
        <tr>
          <th scope="row"> </th>
          <td><cfinput type="submit" name="pushButton" value="send" id="pushButton"></td>
        </tr>
      </table>
    </cfform>
    </cfif>

  • ColdFusion 11: allowedextforinclude functionality has changed. But the docs haven't been

    G'day:
    I am reposting this from my blog ("ColdFusion 11: allowedextforinclude functionality has changed. But the docs haven't been") at the suggestion of Adobe support:
    @dacCfml@ColdFusionCan you post your queries athttp://t.co/8UF4uCajTCfor all cfclient and mobile queries.— Anit Kumar Panda (@anitkumar85)April 29, 2014
    This particular question is not regarding <cfclient>, hence posting it on the regular forum, not on the mobile-specific one as Anit suggested. I have edited this in places to remove language that will be deemed inappropriate by the censors here. Changes I have made are in [square brackets]. The forums software here has broken some of the styling, but so be it.
    G'day:
    Remember this one: "ColdFusion 11: preventing files from being included? [WTH], Adobe?". I can confirm this verymoderatelyslightly contentious feature has been changed in ColdFusion 11, but the docs have not been updated to reflect the change.
    The issue is summarised thus (from the article linked-to above):
    [...]out of the box ColdFusion 11 will only allow the inclusion of CFML and HTML files. Why? They cite "for security reasons". Here's a quote (posted in the bugtracker, originally from the pre-release forums):
    "Vamseekrishna Manneboina: Yes, this was done as part of a security measure. You can now only include CFM/CFML files by default. You can specify additional extensions via a property called allowedextforinclude in neo-runtime.xml. By default, HTM and HTML file extensions are already added to this list/property, thereby allowing for inclusion of HTM and HTML files too by default."
    OK, I disagree there's merit in this, some others agree, others disagree. But... so be it. I actually thought - if I was in a charitable mood - that the people that were "for" this change made a reasonable case for its inclusion, so - whilst not agreeing with them - I was content to just shrug and go "yeah, oh well".
    Now this feature is still in the docs: "New in ColdFusion 11 - Restrictions", but this is not the way it now works. Initially I thought it had been removed completely (and I am now in the midst of retooling this article from saying that... as I only worked out what was going on 2/3rds of the way through writing it).
    I did a secure install the other day, and one of the first things I tested was this:
    <!---test.cfm---> <cfset message = "before"> <cfoutput> #message#<br> <cfinclude template="code.inc"> <cfset message = "after"> #message#<br> </cfoutput>
    <!--- code.inc ---> <cfset message="within"> <cfoutput> #message#<br> </cfoutput>
    And this all runs fine, as one would expect:
    before
    within
    after
    Next I checked neo-runtime.xml to see if the settings had been augmented to switch this off by default: but I'm buggered if I can see any reference to it anywhere.
    So I then checked ColdFusion Administrator to see if there was any hint of it there, as this was one of the things Adobe said they were going to do in their solution to this. And there it is:
    So by default now, anything is allowed. I figured I must have missed the setting in neo-runtime.xml, so changed the setting to "FOOBAR" so I could easily spot it, and there it is down @ /wddxPacket/data/array/*[16]/var[@name="compileextforinclude"] in neo-runtime.xml:
    <var name="compileextforinclude">    <string>FOOBAR</string> </var>
    And - having changed it back to something sensible: CFM, then the feature now "works":
    before
    #message#
    after
    However this is probably a worse security hole than the one they were trying to fix! It looks OK when looking at the render in the browser, but look at the actual raw mark-up:
    before<br> <cfset message="within"> <cfoutput> #message#<br> </cfoutput> after<br>
    We have unparsed CFML source code sent to the browser. This is awful. What if someone switches this on, and doesn't spot one of their old includes which has less-than-trivial CFML in it? It's now publicly accessible. Adobe have created a feature which has the possibility to leak source code to the outside world. How is that a security feature?
    Also interesting is that with the super-secure profile installed, this is still off by default? I would have thought it'd be on in this case?
    I still don't think this feature has been implemented properly, and it all still points even more to the fact the Adobe ColdFusion bods don't really know what they're doing.
    Anyway, I'll nudge Adobe to at least get the docs sorted out.
    Time for work (3min ago)...
    Adam

    Hi Adam,
    Regarding "What if someone switches this on, and doesn't spot one of their old includes which has less-than-trivial CFML in it?", yeah I agree that'd be a problem.  Hmm, maybe both this.allowedextforinclude *and* this.compileextforinclude should've been supported (instead of replacing the former w/ the latter as was done)?  Example:
    this.compileextforinclude="cfm,cfml,inc";
    this.allowedextforinclude="cfm,cfml,inc,txt";
    That way an exception could be thrown if cf|included file's extension wasn't in the this.allowedextforinclude list.
    Perhaps the above could be shortened to:
    this.compileextforinclude="cfm,cfml,inc";
    this.allowedextforinclude="txt";//implicitly includes * from this.compileextforinclude (since -compile- implies -allowed-)
    Dunno if that'd be confusing.
    Anyhow, just some thoughts..
    Thanks!,
    -Aaron

  • ColdFusion 11: custom serialisers. More questions than answers

    G'day:
    I am reposting this from my blog ("ColdFusion 11: custom serialisers. More questions than answers") at the suggestion of Adobe support:
    @dacCfml @ColdFusion Can you post your queries at http://t.co/8UF4uCajTC for all cfclient and mobile queries.— Anit Kumar Panda (@anitkumar85) April 29, 2014
    This particular question is not regarding <cfclient>, hence posting it on the regular forum, not on the mobile-specific one as Anit suggested. I have edited this in places to remove language that will be deemed inappropriate by the censors here. Changes I have made are in [square brackets]. The forums software here has broken some of the styling, but so be it.
    G'day:
    I've been wanting to write an article about the new custom serialiser one can have in ColdFusion 11, but having looked at it I have more questions than I have answers, so I have put it off. But, equally, I have no place to ask the questions, so I'm stymied. So I figured I'd write an article covering my initial questions. Maybe someone can answer then.
    ColdFusion 11 has added the notion of a custom serialiser a website can have (docs: "Support for pluggable serializer and deserializer"). The idea is that whilst Adobe can dictate the serialisation rules for its own data types, it cannot sensibly infer how a CFC instance might get serialised: as each CFC represents a different data "schema", there is no "one size fits all" approach to handling it. So this is where the custom serialiser comes in. Kind of. If it wasn't a bit rubbish. Here's my exploration thusfar.
    One can specify a custom serialiser by adding a setting to Application.cfc:
    component {     this.name = "serialiser01";     this.customSerializer="Serialiser"; }
    In this case the value - Serialiser - is the name of a CFC, eg:
    // Serialiser.cfccomponent {     public function canSerialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return true;     }     public function canDeserialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return true;     }     public function serialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return "SERIALISED";     }     public function deserialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return "DESERIALISED";     }     private function logArgs(required struct args, required string from){         var dumpFile = getDirectoryFromPath(getCurrentTemplatePath()) & "dump_#from#.html";         if (fileExists(dumpFile)){             fileDelete(dumpFile);         }         writeDump(var=args, label=from, output=dumpFile, format="html");     } }
    This CFC needs to implement four methods:
    canSerialize() - indicates whether something can be serialised by the serialiser;
    canDeserialize() - indicates whether something can be deserialised by the serialiser;
    serialize() - the function used to serialise something
    deserialize() - the function used to deserialise something
    I'm being purposely vague on those functions for a reason. I'll get to that.
    The first [issue] in the implementation here is that for the custom serialisation to work, all four of those methods must be implemented in the serisalisation CFC. So common sense would dictate that a way to enforce that would be to require the CFC to implement an interface. That's what interfaces are for. Now I know people will argue the merit of having interfaces in CFML, but I don't really give a [monkey's] about that: CFML has interfaces, and this is what they're for. So when one specifies the serialiser in Application.cfc and it doesn't fulfil the interface requirement, it should error. Right then. When one specifies the inappropriate tool for the job. What instead happens is if the functions are omitted, one will get erratic behaviour in the application, through to outright errors when ColdFusion goes to call the functions and cannot find it. EG: if I have canSerialize() but no serialize() method, CF will error when it comes to serialise something:
    JSON serialization failure: Unable to serialize to JSON.
    Reason : The method serialize was not found in component C:/wwwroot/scribble/shared/git/blogExamples/coldfusion/CF11/customerserialiser/Serialiser .cfc.
    The error occurred inC:/wwwroot/scribble/shared/git/blogExamples/coldfusion/CF11/customerserialiser/testBasic.c fm: line 4
    2 : o = new Basic();
    3 :
    4 : serialised = serializeJson(o);5 : writeDump([serialised]);
    6 :
    Note that the error comes when I go to serialise something, not when ColdFusion is told about the serialiser in the first place. This is just lazy/thoughtless implementation on the part of Adobe. It invites bugs, and is just sloppy.
    The second [issue] follows immediately on from this.
    Given my sample serialiser above, I then run this test code to examine some stuff:
    o = new Basic(); serialised = serializeJson(o); writeDump([serialised]); deserialised = deserializeJson(serialised); writeDump([deserialised]);
    So all I'm doing is using (de)serializeJson() as a baseline to see how the functions work. here's Basic.cfc, btw:
    component { }
    And the test output:
    array
    1
    SERIALISED
    array
    1
    DESERIALISED
    This is as one would expect. OK, so that "works". But now... you'll've noted I am logging the arguments each of the serialisation methods receives, as I got.
    Here's the arguments passed to canSerialize():
    canSerialize - struct
    1
    XML
    My reaction to that is: "[WTH]?" Why is canSerialize() being passed the string "XML" when I'm trying to serialise an object of type Basic.cfc?
    Here's the docs for canSerialize() (from the page I linked to earlier):
    CanSerialize - Returns a boolean value and takes the "Accept Type" of the request as the argument. You can return true if you want the customserialzer to serialize the data to the passed argument type.
    Again, back to "[WTH]?" What's the "Accept type" of the request? And what the hell has the request got to do with a call to serializeJson()? You might think that "Accept type" references some HTTP header or something, but there is no "Accept type" header in the HTTP spec (that I can find: "Hypertext Transfer Protocol -- HTTP/1.1: 14 Header Field Definitions"). There's an "Accept" header (in this case: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"), and other ones like "Accept-Encoding", "Accept-Language"... but none of which contain a value of "XML". Even if there was... how would it be relevant to the question as to whether a Basic.cfc instance can be serialised? Raised as bug: 3750730.
    serialize() gets more sensible arguments:
    serialize - struct
    1
    https://www.blogger.com/nullserialize - component scribble.shared.git.blogExamples.coldfusion.CF11.customerserialiser.Basic
    2
    JSON
    So the first is the object to serialise (which surely should be part of the question canSerialize() is supposed to ask, and the format to serialise to. Cool.
    canDeserialize() is passed this:
    canDeserialize - struct
    1
    JSON
    I guess it's because it's being called from deserializeJson(), so it's legit to expect the input value is indeed JSON. Fair enough. (Note: I'm not actually passing it JSON, but that's beside the point here).
    And deserialize() is passed this:
    deserialize - struct
    1
    SERIALISED
    2
    JSON
    3
    [empty string]
    The first argument is the value to work on, and the second is the type of deserialisation to do. I have no idea what the third argument is for, and it's not mentioned directly or indirectly on that docs page. So dunno what the story is there.
    The next issue isn't a code-oriented one, but an implementation one: how the hell are we expected to work with this?
    The only way to work here is for each function to have a long array of IF/ELSEIF statements which somehow identify each object type that is serialisable, and then return true from canSerialise(), or in the case of serialize(), go ahead and do the serialisation. So this means this one CFC needs to know about everything which can be serialised in the entire application. Talk about a failure in "separation of concerns".
    You know the best way of determining if an object can be seriaslised? Ask it! Don't rely on something else needing to know. This can be achieved very easily in one of two ways:
    Check to see if the object implements a "Serializable" interface, which requires a serialize() method to exist.
    Or simply take the duck-typing approach: if a CFC implements a serialize() method: it can be serialised. By calling that method. Job done.
    Either approach would work fine, keeps things nicely encapsulated, and I see merits in both. And either make far more sense than Adobe's approach. Which is like something from the "OO Failures Special Needs" class.
    Deserialisation is trickier. Because it relies on somehow working out how to deserialise() an object. I'm not sure of the best approach here, but - again - how to deserialise something should be as close to the thing needing deserialisation as possible. IE: something in the serialised data itself which can be used to bootstrap the process.
    This could simply be a matter of specifying a CFC type at a known place in the serialised data. EG: Adobe stipulates that if the serialised data is JSON, and at the top level of the JSON is a key eg: type, and the value is an extant CFC... use that CFC's deserialize() method. Or it could look for an object which contains a type and a method, or whatever. But Adobe can specify a contract there.
    The only place I see a centralised CFC being relevant here is for a mechanism for handling serialised data that is neither a ColdFusion internal type, nor identifiable as above. In this case, perhaps they could provide a mechanism for a serialisation router, which basically has a bunch of routes (if/elseifs if need be) which contains logic as to how to work out how to deserialise the data. But it should not be the actual deserialiser, it should simply have the mechanism to find out how to do it. This is actually pretty much the same in operation as the deserialize() approach in the current implementation, but it doesn't need the canDeserialize() method (it can return false at the end of the routing), and it doesn't need to know about serialising. And also it's not the main mechanism to do the deserialisation, it's just the fall back if the prescribed approach hasn't been used.
    TBH, this still sounds a bit jerry-built, and I'm open for better suggestions. This is probably a well-trod subject in other languages, so it might be worth looking at how the likes of Groovy, Ruby or even PHP (eek!) achieve this.
    There's still another issue with the current approach. And this demonstrates that the Adobe guys don't actually work with either CFML applications or even modern websites. This approach only works for a single, stand-alone website (like how we might have done in 2001). What if I'm not in the business of building websites, but I build applications such as FW/1 or ColdBox or the like? Or any sort of "helper" application. They cannot use the current Adobe implementation of the customserializer. Why? Because the serialisation code needs to be in a website-specific CFC. There's no way for Luis to implement a custom serialiser in ColdBox (for example), and then have it work for someone using ColdBox. Because it relies on either editing Application.cfc to specify a different CFC, or editing the existing customSerializer CFC. Neither of which are very good solutions. This should have been immediately apparent to the Adobe engineer(s) implementing this stuff had they actually had any experience with modern web applications (which generally aren't just a single monolithic site, but an aggregation of various other sub applications). Equally, I know it's not a case of having thought about this and [I'm just missing something], because when I asked them the other day, at first they didn't even get what I was asking, but when I clarified were just like "oh yeah... um... err... yeah, you can't do that. We'll... have to... ah yeah". This has been raised as bug 3750731.
    So I declare the intent here valid, but the implementation to be more alpha- / pre-release- quality, not release-ready.
    Still: it could be easily deprecated and rework fairly easily. I've raised this as bug 3750732.
    Or am I missing something?
    Adam

    Yes, you can easily add additional questions to the Lookup.WebClient.Questions Lookup to allow some additional choices. We have added quite a few additional choices, we have noticed that removing them once people have selected them causes some errors.
    You can also customize the required number of questions to select when each user sets them up as well as the number required to be correct to reset the password, these options are in the System Configuration settings.
    If you need multi-language versions of the questions, you will also need to modify the appropriate language resource file in the xlWebApp.war file to provide the necessary translations for the values entered into the Lookup.

  • Coldfusion 11 SSL Certs applied - The APR based Apache Tomcat library which allows optimal performance in production environments,

    Coldfusion 11
    Windows Server 2012 R2
    Both the Coldfusion admin and additonal site work fine on HTTP.
    As soon as I attempt to enable SSL websockets and install SSL certs, the Coldfusion 11 Application service will not start. I followed the steps below....
    Coldfusion 11 - Web Sockets via SSL
    The Coldfusion-error.log shows
    Jan 26, 2015 3:21:23 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
    Server was a cloned VM of the test server with developer copy of CF11, but license has been purchased and applied. SSL certs have been imported successfully, paths are correct in CF Admin to the cert file etc.
    Do I need to install another version of Coldfusion to get around this issue or is there a download update I need to apply?
    If i reconfig the \cfusion\runtime\conf\server.xml to comment out the SSL sections it works fine.
    Any assistance welcome - I can't allow this site to made publicly available with using SSL.
    SM

    @Scott, first are you running update 3? If so, let’s clarify at the outside that, as that bug report (you point to) does indicate in the notes below it, there is a fix for a problem where this feature broke in that release.  And as it notes, you can email [email protected] to request the fix (referring to that bug), or you can wait for it to be released publicly as part of a larger set of fixes.
    If you are NOT on update 3, or you may apply the fix and find things still don’t work, I would wonder about a few things, from what you’ve described.
    First, you say that the CF service won’t start, and you offer some lines from the ColdFusion-error log. Just to be clear, those particular error messages are common and nothing to worry about. They definitely do NOT reflect any reason CF doesn’t start. But are you confirming that that time (in the log lines) is in fact the time that you had started CF, when it would not start? I’d suspect not.
    Look instead in the coldfusin-out.log. What does THAT log show at the time you try to start CF and it won’t start? You may find something else there. (And since you refer to editing the server.xml file, you may the log complains that because of an error in the XML it can’t “parse” the file. It’s worth checking.
    You say also that you have confirmed that “paths are correct in CF Admin to the cert file”. What path are you referring to? There’s no page in the CF admin that points to the CACERTS file in which the certs are stored. Do you perhaps mean on the “system info” or “settings summary” page? Even so there’s still no line in there which refers to the “cert file”.
    Instead—and this could be a part of your problem—the cert file is simply found WITHIN the directory where CF’s pointed to to find its JVM. Wherever THAT is, is where you need to put any certificates. So take a look at the CF Admin, either in the ”java and jvm” page (and the value of its “Java Virtual Machine Path”), or in the “settings summary” or “system information” pages and their value for “Java Home”. Is that something like \coldfusion11\jre? Or something like \Java\jdk1.7.0_71\jre? Whichever it is, THAT’s where you need to put the certs, within there (in its \lib\security folder).
    Finally, when you say that if you “comment out the SSL sections  it works fine”, do you mean that a) CF comes up and b) some example code calling your socket works, as long as you don’t use SSL?
    To be clear, no, you don’t need any other version of CF11 to get websockets to work. But if you are on update 3, that may be the simple problem. Let us know how it goes for you with this info.
    /charlie

  • Coldfusion 10 64 bit developers edition

    I have a new 64bit laptop that I plan to use for developing. I am working on a project that uses CF 10. I'd really like to get a copy of the 64 bit CF 10 so I can install the developer version on my laptop. Is there any way to get one? I have a copy of the 32 bit installer on my current laptop, but I don't really want to install that version.

    Not from the Adobe downloads site.  For some undisclosed reason (probably related to a 3rd party license), they installers had to be removed from the downloads site around the time CF 11 was released. If you had a Standard or Enterprise license, you might be able to get it from the Adobe volume licensing, but I'm not sure if that's true anymore.
    There is a community-supported repository of ColdFusion installers that Gavin Picken maintains here: http://tinyurl.com/cfdownloads.  Unfortunately, it is offline at the moment but hopefully will be back soon.
    -Carl V.

  • How to reference MS Access database in ColdFusion MX 7 on 64-bit Windows

    I am migrating customers from:
    Windows 2000 Server (fully patched)
    Internet Information Services (IIS) 5
    ColdFusion 5
    to:
    Windows Server 2003 Standard x64 Edition (fully patched)
    Internet Information Services (IIS) 6 (running in 32-bit
    mode)
    ColdFusion MX 7 (7.0.2) Standard
    Unfortunately, some of these existing customers are still
    using Microsoft Access databases instead of SQL Server. Having all
    of these existing customers migrate to SQL Server is not yet
    practical. On the old Windows 2000 / ColdFusion 5 server, they are
    using OLE DB data sources to reference the MS Access databases
    using the "Microsoft.Jet.OLEDB.4.0" provider. None are configured
    to use ODBC drivers when referencing MS Access or SQL Server.
    I have yet to figure out how to get ColdFusion MX 7 to:
    - Create a data source that references MS Access databases on
    64-bit Windows.
    - Reference an existing MS Access data source created with
    the 32-bit version of the ODBC Data Source Manager on 64-bit
    Windows.
    A bit of background information regarding MS Access on 64-bit
    Windows:
    - At the time of this writing, Microsoft has not
    created/released 64-bit drivers for Microsoft Access and it's
    unlikely they ever will, for understandable reasons.
    - Contrary to seemingly popular belief, the Microsoft Jet 4.0
    Database Engine does exist on 64-bit Windows. See the following
    regarding version and file location information:
    How to obtain the latest service pack for the Microsoft Jet
    4.0 Database Engine
    http://support.microsoft.com/kb/239114
    - You CAN create MS Access based data sources within 64-bit
    Windows, but they have to be made using the 32-bit version of "ODBC
    Data Source Manager". I'm assuming these DSNs may only be used by
    32-bit applications, but I have not tested that theory.
    32-bit data sources:
    ODBC Data Source Manager:
    %SystemRoot%\SysWOW64\odbcad32.exe
    Registry location:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC
    Default file DSN directory:
    C:\Program Files (x86)\Common Files\ODBC\Data Sources
    64-bit data sources:
    ODBC Data Source Manager:
    %SystemRoot%\system32\odbcad32.exe
    Registry location:
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
    Default file DSN directory:
    C:\Program Files\Common Files\ODBC\Data Sources
    The 64-bit version of "ODBC Data Source Manager" (under
    Administrative Tools) only show "SQL Server" and/or "SQL Native
    Client" as options when creating new data sources, unless
    third-party software is installed that supplies additional drivers.
    The 32-bit version of "ODBC Data Source Manager" (by default,
    there is no shortcut for this in the Start menu) shows the typical
    drivers seen on 32-bit versions of Windows, including SQL Server,
    SQL Native Client, Microsoft Access, Excel, FoxPro, Paradox, etc.
    When using ColdFusion Administrator in ColdFusion MX 7.0.2 in
    64-bit Windows 2003 (IIS is running in 32-bit mode to allow
    ColdFusion MX 7 to function at all), two problems are encountered
    when dealing with MS Access (and presumably other 32-bit drivers).
    In both cases, ColdFusion is trying to reference the registry
    location for 64-bit data sources instead of 32-bit:
    1. Creating a new data source within ColdFusion
    Administrator:
    Data Source Name: whatever
    Driver: Microsoft Access
    CF Data Source Name: whatever
    Database file: (physical path to whatever.mdb)
    (other settings are irrelvant for this example)
    Error generated when submitting:
    Unable to update the NT registry.
    Cannot open HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC
    Data Sources: Windows error number 5 occurred.Access is denied.
    ColdFusion stores the data source, however a "verify"
    generates the following error:
    Connection verification failed for data source: whatever
    java.sql.SQLException: [Macromedia][SequeLink JDBC
    Driver][ODBC Socket]internal error: Data source name not found and
    no default driver specified
    The root cause was that: java.sql.SQLException:
    [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error:
    Data source name not found and no default driver specified
    2. Creating the data source using the 32-bit version of "ODBC
    Data Source Manager" then trying to reference it with ColdFusion:
    ODBC Data Source Manager:
    System DSN or File DSN:
    Name: whatever
    Driver: Microsoft Access Driver (.mdb)
    Database: (physical path to whatever.mdb)
    (creation is successful within ODBC Data Source Manager)
    Reference the above DSN within ColdFusion Administrator:
    Data Source Name: whatever
    Driver: ODBC Socket
    Error generated when submitting:
    Error accessing available odbc datasources. - Cannot open
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources:
    Windows error 2 occurred.The system cannot find the file specified.
    ColdFusion MX 7 can't find the 32-bit data source on 64-bit
    Windows because it's looking for it in the wrong registry location.
    Can ColdFusion MX 7 be configured to look in
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC
    instead of
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
    on a 64-bit Windows machine?

    Paul,
    Thanks for the insight on this. Regarding the initial problem
    I ran into with creating Access based DSNs, very early-on, I
    noticed there were two different driver options for Access
    displayed within ColdFusion MX 7 Administrator:
    Microsoft Access
    Microsoft Access with Unicode
    For reasons I'm am still baffled over, I somehow completely
    forgot about and through the wonders of apparent tunnel vision,
    completely overlooked the "Microsoft Access with Unicode" driver
    option when I was running through my tests.
    At your seemingly-obvious suggestion, I created a data source
    using the Microsoft Access with Unicode driver and it worked
    perfectly fine with the one customer's web site I'm using for
    testing (of course, this is a copy--the production site is still
    housed on the old ColdFusion 5 server). This obviously doesn't
    actually fix the underlying issue with ColdFusion looking in the
    wrong part of the registry on 64-bit Windows, but at least when it
    comes to dealing with Access databases, your suggestion of using
    the Microsoft Access with Unicode driver appears to be a functional
    work-around. So long as there aren't any surprises waiting for me,
    hopefully this will also work for the remaining ColdFusion sites I
    have to migrate that are using Access databases.
    Since you mentioned JDBC drivers in comparison with ODBC, I'm
    pointing out a couple of references in case they're helpful to
    anyone following this thread:
    ColdFusion MX 7 - About JDBC
    http://livedocs.adobe.com/coldfusion/7/htmldocs/00001736.htm
    Types of JDBC technology drivers
    http://java.sun.com/products/jdbc/driverdesc.html
    http://java.sun.com/products/jdbc/
    I don't actually develop anything in ColdFusion, so I'm
    dealing with all of this from a server administration standpoint
    since we do have some domain hosting customers that do develop or
    at least have existing ColdFusion based sites. I am all
    too-familiar with the caveats of using Access in any kind of
    production or heavily used environment and have spent years keeping
    users away from ODBC. For ColdFusion users, that meant creating OLE
    DB DSNs and often having to fix poorly written SQL statements and
    fixing ColdFusion date-related values and boolean values (the
    common problems encountered when switching CF / MS Access users
    from ODBC to OLE DB). I can only recall running into problems with
    a single SQL Server based ColdFusion site when migrating from ODBC
    to OLE DB. That customer never did get their many coding problems
    fixed, so they're the only ones still using ODBC in CF. I have no
    idea what'll happen when that one site gets migrated over--if it'll
    even work. Obviously a lot of things have changed between
    ColdFusion 5 and the MX versions that have come along afterward.
    Thanks again for the Access with Unicode driver tip and JDBC
    info. It looks like I can finally start moving forward again with
    the site migration process.
    Josh

Maybe you are looking for

  • Configure properties file that java file uses in OSB.

    I have a jar file consisting of java files which maintain the session id in the queue. One main jar depends on 3 more jars for logging. Also java files in the jar depends on the *.properties file to read the queue length dynamically. I need to access

  • How to create Hierarchy Variable

    Hi, Can any one please tell me (step by step) how to craete Hierarchy Variable for Prod Hierarchy? Please do not give help.sap.com link..its very confusing and did not help me at all. Thanks

  • Portal language refresh / reload (user data source ABAP stack)

    Hello, I'm on SAP NetWeaver Portal 7.0 with user data source on ABAP stack. I'm trying to create simple JavaScript links for changing the Portal language. I was able to change the ABAP stack user's logon language by BAPI call. But the newly set langu

  • Yosemite iMac shut down restart

    Problem description: Since Maverick, iMac 27 will not Shut down nor Restart!  Rainbow ball is running often. EtreCheck version: 2.0.11 (98) Report generated 17 november 2014 10:28:39 CET Hardware Information: ℹ️   iMac (27-inch, Late 2013) (Verified)

  • Can't see member Purchases with Family Sharing

    Okay, I wonder if someone can help with this. I setup Family Sharing and was able to add the members I wanted. When I go to the AppStore, i'm able to see their name under the Family Purchases", however when I click on their names, I can't see their p