Coldbox RC2 and Latest Lightbox (Version: 0.71)

Just spent a few hours trying to get my M5 CB working with RC2 and

Took me a bit to realise there was no bundled lightwire as with other
versions so there is gotcha 1.

Had to change addBeanFromFactory function in BaseConfigObject.cfc to
below adding in the last 4 lines as without them the line
      {ObjectDependencyList =
in getDependencyObjectList in Lightwire.cfc breaks

<cffunction name="addBeanFromFactory" returntype="void" hint="I add
the configuration properties for a Singleton or Transient that is
created by a factory to the config file." output="false">
  <cfargument name="FactoryBean" required="true" type="string"
hint="The name of the factory to use to create this bean (the factory
must also have been defined as a Singleton in the LightWire config
  <cfargument name="FactoryMethod" required="true" type="string"
hint="The name of the method to call on the factory bean to create
this bean.">
  <cfargument name="BeanName" required="true" type="string" hint="The
required name to use to refer to this bean.">
  <cfargument name="Singleton" required="true" hint="Whether the bean
is a Singleton (1) or Transient(0).">
    // Set the config properties for the Singleton
    // Create the necessary struct
    variables.config[BeanName] = StructNew();
    // Set it as a Singleton
    variables.config[BeanName].Singleton = Singleton;
    // Set the Factory bean
    variables.config[BeanName].FactoryBean = FactoryBean;
    // Set the Factory method
    variables.config[BeanName].FactoryMethod = FactoryMethod;
    // Initialize the dependency lists
    variables.config[BeanName].ConstructorDependencies = "";
    variables.config[BeanName].SetterDependencies = "";
    variables.config[BeanName].MixinDependencies = "";

    variables.config[BeanName].InitMethod = "";
    variables.config[BeanName].ConstructorDependencyStruct =
    variables.config[BeanName].SetterDependencyStruct = StructNew();
    variables.config[BeanName].MixinDependencyStruct = StructNew();

I think you only need the above if you create beans from factories
e.g. i have

<!-- So can get stuff from coldbox and inject it into other beans -->
  <bean id="coldboxFactory" class="coldbox.system.ioc.ColdboxFactory" /

  <bean id="iocPlugin" factory-bean="ColdboxFactory" factory-
    <constructor-arg name="plugin">

  <bean id="coldboxController" factory-bean="ColdboxFactory" factory-

And just for kicks Lightwire no longer supports property replacement
in maps e.g. if you have someting like below it will no longer
replace the placeholders in the value fields

<constructor-arg name="userTypeIds">
        <entry key="NO_USER_TYPE_ID">
        <entry key="REGISTERED_USER_TYPE_ID">
        <entry key="NON_REGISTERED_USER_TYPE_ID">

only things like this will get replaced

<property name="firstPartyMappedNewsletters">

take a look in translateBeanChildren method in
lightwire.BaseConfigObject youll see that substitution doesnt happen
for maps it seems

Hope this helps somebody

Lightwire deprecated into standalone, not included with coldbox anymore.