CB Application Upgrades

Our group is currently developing in ColdBox 2.6.3, and we are
planning to upgrade to CF9 as soon as it comes out of Beta. My
understanding is that the 2.6.3 framework has issues in CF9, but CB3
is already sailing. Is there a documented process for upgrading from
a CB2.6.x app to CB3?

Just to comment, 2.6.4 is CF9 compatible, so you *could* do 3.x, but
2.6.4 would solve the CF9 issues.

Best WIshes,
Peter

FYI: 2.6.4 was released to work with CF9. I believe it’s the same as 2.6.3 except it has the CF9 issues resolved.

http://blog.coldbox.org/post.cfm/coldbox-2-6-4-released

I believe 3.0 is still sailing in the bleeding edge. It might have to cook a little more before a final upgrade guide is available.

  • Gabriel

Thanks for the heads up on that, guys…I didn’t realize it.

Hi Guys,

ColdBox v3.0 BER is mostly re-factored for performance and divided
into more independent core packages. So far we kept most of the
backward compatibility and optimised the code-base. The main
coldbox.xml.cfm is bit changed compare to older versions but still
things are same as of 2.6.4

In our testing of v3.0 is stable as of 2.6.4, I would suggest give a
try to nightly build or svn code-base and let us know about v3.0

Thanks
Sana

Sana,

I’m playing with 3.0 and I have a question about a change.

In places where I had the beanfactory plugin injected using a cfproperty annotation, I received errors stating that “the value of CLASS attribute is invalid”. I found that the error is created because the model mappings struct is empty when I inject the beanfactory plugin. So when I use the “getModel” method using an alias for a model, it fails because the model mappings struct is blank.

To “fix it”, I found that I have to first call the “configure” method on the injected plugin and then it works. In 2.6.3, this error did not occur so I’m wondering if you could shed some light on this change. I see that several changes have been made to the beanfactory plugin so I’m wondering if explicitly running “configure” is now a requirement.

  • Gabriel

This might be an oversight on the way the factory is initialized. Again, BER is BER!!

So please keep submitting what you find. Especially when things from 2.6.3 to 3.0

Gabriel,

Upon consideration, can you post the cfproperty code here please.

  1. This is the meat of the issue. I would inject the beanfactory plugin and then, for example, i’d return a model ‘sana’ where ‘sana’ is a model alias. This worked in 2.6.3.
  1. In 3.0, I had to add the extra line to configure the beanfactory. This would populate the model mappings and thus calling by alias would work again.

<cfreturn instance.beanFactory.getModel(‘sana’)>

  • Gabriel

Gabriel,

I see the issue and the issue is that the cache is case sensitive and the paths and camel casing changed in 3.0.0. You can see the compatibility guide here: http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbCompatabilityGuide_3.00

It tells you the name of the plugin changed from beanFactory to BeanFactory. That is why it is not configured for you, you need to use: BeanFactory

Thank you. I saw the name changes but I didn’t know why they were important (besides case sensitive OS).

I’ve tattooed it into my brain: “The case sensitive cache cares also”. Again, thank you.

  • Gabriel

Hi Dorioo,

Coldbox cache is case-sensitive, we have plan for cache to be incase-
sensitive.

Please let us know if any issue in v3.0

Thanks
Sana