Ok I am confused.  I am looking at the PluginManager.cfc in the M2
framework of an old version (1.4?) and the configure function lists
as:

<cffunction name="configure" access="public" returntype="void"
                hint="Configures each of the registered Plugins.">
                <cfset var aPlugin = 0 />
                <cfset var i = 0 />
                <cfloop index="i" from="1" to="#variables.nPlugins#">
                        <cfset aPlugin = variables.pluginArray[i] />
                        <cfset aPlugin.configure() />
                </cfloop>
        </cffunction>

So it calls the "configure" method on every plugin in my app.  Well, I
went to update an old site with the newest version (1.6) and I got a
crash on framework initialization:

"The method setLog was not found in component ....\lib\plugins
\AppConstants.cfc."

Hmm.  Well, that is correct, my AppConstants.cfc pluggin does not have
this "setLog()" method, and looking at the super class for plugins in
the new framework (framework/plugin.cfc), it does not inherit it
either.  Looking at the PluginManager.cfc in the new framework, I see:


<cffunction name="configure" access="public" returntype="void"
                hint="Configures each of the registered Plugins.">

                <cfset var logFactory = getAppManager().getLogFactory() />
                <cfset var aPlugin = 0 />
                <cfset var i = 0 />

                <cfloop from="1" to="#variables.nPlugins#" index="i">
                        <cfset aPlugin = variables.pluginArray[i] />
                        <cfset aPlugin.setLog(logFactory) />
                        <cfset aPlugin.configure() />
                </cfloop>
        </cffunction>

Ok, so indeed it is calling "setLog()" on all of my plugins, along
with "configure()". Perhaps this is some new convention that every
plugin must have a setLog() method?  I checked the sample plugin
"SimplePlugin.cfc" that ships with the new framework, but it does not
define "setLog()".  I checked the M2 reference Wiki and no where on
the plugins page is setLog() listed as a required method for creating
a plugin.  I don't see anything in the Changelog either.

What the heck am I missing here? 1.6 should be a simple drop-in
upgrade with full backwards compatibility should it not?

-Brian
-- 
You received this message because you are subscribed to Mach-II for CFML list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/mach-ii-for-coldfusion?hl=en
SVN: http://greatbiztoolsllc.svn.cvsdude.com/mach-ii/
Wiki / Documentation / Tickets: 
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/

Reply via email to