2 Replies Latest reply on Nov 16, 2007 5:28 AM by Arun_Nallan

    CF 8 upgrade - Existing CFX not working

    Arun_Nallan
      We recently went with an upgrade from Version: 7,0,0,91690 to Version: 8,0,0,176276 on our dev box!

      We use a proprietary Java CFX solution which uses JCLASS API's to provide CHarting to all our applications. However, after we did our upgrade, accessing the CFX gives an (I am assuming its a semantic) error.

      ColdFusion 8 release notes says that if we get this error in the CodeAnalyzer, we can ignore it. However, we are getting this error even while running the application live.

      Our CFC Code dynamically builds the attributes necessary for the CFX called CFX_ChartGen, using a structure and finally calls the custam tag using the following code:

      <cfx_chartgen attributeCollection="#cfxChartAttribs#" />

      We get the below error. I am trying to find a solution for this because, charting for all our applications are not working due to this error. Can I get some help from anybody who has any idea of what might be causing this? I am thinking this is a CF8 upgrade issue. We had applied a hot fix also (released in the month of September), but it does not help us.

      All our apps work fine except this. If we are not able to fix this, we are planning to rollback our upgrade back to CF 7.

      The error reads as follows:

      The attributeCollection attribute cannot be used in combination with other attributes in the cfx tag.

      The stack trace contains the follows:

      coldfusion.compiler.validation.ArgumentsAttributeException: The attributeCollection attribute cannot be used in combination with other attributes in the cfx tag.
      at coldfusion.compiler.TagNode.validateArgsAttr(TagNode.java:423)
      at coldfusion.compiler.SemanticAnalyzer.cftag(SemanticAnalyzer.java:476)
      at coldfusion.compiler.SemanticAnalyzer.transform(SemanticAnalyzer.java:104)
      at coldfusion.compiler.Treewalker.postorder(Treewalker.java:86).. (truncated)

      Thanks,
      Arun
        • 1. Re: CF 8 upgrade - Existing CFX not working
          SafariTECH Level 1
          The error implies that "attributeCollection" is an attribute being used that is not supposed to be used in conjuction with other attributes in the tag.

          CFMX 7 was likely ignoring the improper combinations, as I belive you could tell it to run strict or loose where errors were concerned.

          If CF 8 is not allowed to ignore errors any longer, then it is now going to keep your code from running with an improper combination.

          That would be my first hypothesis.

          The second would be that the custom tag uses tag or variable combinations as part of its calculations or formatting etc, that are now deprecated in CF8, causing the attributes to be invalid.

          Since it is, in fact, a custom tag and not a CF8 tag, you should be contacting the developer of the tag regarding the issue, since it would appear to be confined to your custom tag's requirements.






          • 2. Re: CF 8 upgrade - Existing CFX not working
            Arun_Nallan Level 1
            quote:

            Originally posted by: SafariTECH
            The error implies that "attributeCollection" is an attribute being used that is not supposed to be used in conjunction with other attributes in the tag.

            CFMX 7 was likely ignoring the improper combinations, as I belive you could tell it to run strict or loose where errors were concerned.

            If CF 8 is not allowed to ignore errors any longer, then it is now going to keep your code from running with an improper combination.

            That would be my first hypothesis.


            My answer to your first hypothesis is that the CFC code that calls this custom CFX tag is not using any combination of other attributes for the same tag! Thats the reason for my question. Due to the specific requirement that the attributes passed on to the CFX are dynamic, we are building the structure in a CFC, which is being accessed from all over. The CFC after building the structure for various scenarios, calls the CFX tag with just the attributeCollection passed as follows.

            <cfx_xyz attributeCollection = "#myStructName#" />

            As you see above, I am not passing with any other combination. My question now would be whether attributeCollection is deemed to work anymore with CFX tag?

            quote:

            The second would be that the custom tag uses tag or variable combinations as part of its calculations or formatting etc, that are now deprecated in CF8, causing the attributes to be invalid.

            Since it is, in fact, a custom tag and not a CF8 tag, you should be contacting the developer of the tag regarding the issue, since it would appear to be confined to your custom tag's requirements.


            Ok. Let me check the CFX documentation for CF8 if anything changed as far as attributeCollection is concerned or anything CF-specific like request.debug() method (which we are using) had changed.

            I am getting a semantic error, which means I am getting this error even before the coldfusion code is getting compiled or executed. The CFX Java tag has not changed since ages now. We have been using the same tag (which does charting) for all our code since our environment was CF6, which was upgraded to CF7. We did not face this problem before until now, when we went in for CF8 upgrade.

            FYI: The CFX tag that I am refering to, was developed by me for a proprietary solution. As I said, the Java code did not change at all, nor we recompiled it. The Java API uses the same Coldfusion provided Java classes to get the attributes information. Do I need to change the way I am calling things over there?

            I honestly believe that this is not Java related as Java is/was pre-compiled. This is error is being raised even before the CFX or even CFC is actually getting executed. This is kind of like a pre-compile or semantic error.

            Does CFX support attributeCollection anymore?

            Thanks,
            Arun