After being contacted by Jonathan Perret the other day, with some guidance on how to upgrade his ContentBox installation. It was obvious that maybe others might not be aware of the steps needed, or where to even find the update files themselves.
As always the entire source can be found on Ortus-Solutions / ContentBox, however what most people don't know is that every patch and update can be found in the source as well, where all the updates can be found in the folder called workbench and patches with that. This is a list of every update that can be applied to ContentBox, as well as any manual patches that may need to be applied as well.
The steps needed will depend, from what version you are going to be updating from.
Posted by Andrew Scott on October, 11 2013 - 0 Comments
I can recall in the days of the ColdFusion 9 beta days, when people had been discussing how to implement script support for custom tags. I can say that a lot of people didn't look at the bigger picture, at least not back then anyway. I am glad that Adobe never implemented some of those suggestions, sometimes it might sound like a good idea in the smaller scheme but not when you think about the bigger scheme of things.
This got me thinking some more after Luis Majano posted on the Railo list and also raise an E/R #3648785 that I think, should not only be adopted for the reason Luis has suggested, but also adopted by the language in areas outside of what is being suggested.
Posted by Andrew Scott on October, 07 2013 - 4 Comments
The other day I got notification that a bug I raised with closures, was to marked closed with a reason of no worth the effort. I raised this because there is a major concern, in regards to how it is suppose to work and how it actually works. I pinged Adam Cameron about what he thought, which he wrote a blog about this over at ;Not worth effort again from adobe.
However I feel that I need to go into some more detail as to why I believe this to be a problem.
Posted by Andrew Scott on September, 29 2013 - 4 Comments
Today I managed to solve an issue that has been plaguing me for months on end, which I began cursing Adobe again. Anyway, the interesting thing is the way it actually fails and if I do say so myself it really actually makes it hard to explain.
In the last few days, I had just got around to scripting the needed changes to update this blog, so that it was running the latest version of ContentBox. While just running through some quick checks to make sure everything still worked, without any dramas, I noticed one small difference between the content being displayed.
I noticed that one server was displaying the dates as mm/dd/yy and the other was displaying them as mm/dd/yyyy in the dashboard for recent posts etc., which had me stumped for awhile. Both servers where running the same version of ColdFusion, as well as the same Windows OS, so I dug deeper to find out what was going on here and the results are surprising.
First I don't normally do reviews, however this book should be part of any EXT JS developers collection. Mastering Ext JS as the name suggests, is more about putting an application together from start to finish, using the MVC of Ext JS, than mastering ExtJS itself.
From using best practices, to how things fit together in the MVC application, the book shows a clear and precise explanation along the way, as you start from scratch and build an application with Ext JS. And Mastering Ext JS, is a must read for anyone looking at getting into MVC applications with Ext JS, or those who are just starting out with Ext JS, either way you will not be disappointed in the book.
Posted by Andrew Scott on June, 29 2013 - 0 Comments
In my previous post, Extending ContentBox with modules separate to ContentBox, I talked about how to setup a module for ContentBox for the UI part of your module. In this post, we will continue with adding our module to the ContentBox Administration.
The idea here, is that we are going to use the ContentBox Administration to not only configure ContentBox, but also to allow a user to configure and add features for our module.
And use ContentBox security to secure our module.
Posted by Andrew Scott on June, 29 2013 - 0 Comments
The post title probably doesn't explain this post that well, however what I am going to discuss in this post, is how to add modules to ContentBox that aren't part of the normal ContentBox structure. This means that it is not stored or added like a normal module to ContentBox, but acts and behaves like it does.
While ContentBox is probably one of the best Applications for CMS, it also makes adding features to ContentBox as simple as drop and play, well almost anyway. So in this post I am going to describe how to move your existing ColdBox module over to ContentBox, or add a new module to ContentBox.
One of the things that I don't like in ContentBox is the Captcha Widget, and the only reason for that is that the ReCaptcha from Google has all the features to make it better for vision impaired people and others out of the box. The downside to this in ContentBox is that the default themes are hard coded to use the Captcha plugin, inside the widget itself. Which makes for replacing the widget a little difficult.
The one thing we could do is that we could write our own plugin, and replace the usage of this in the themes. But as usual I like to do things a little different, with the following approach it not only shows how I can do this with the Captcha Plugin, but also with any other plugin or component within ContentBox.
Awhile ago I was curious to see, how easy it would be to add multiple page support to blog posts, within ContentBox. The solution was fairly simple, so I thought I would write up this quick post. Not just to show how to add multiple pages for posts, but to also demonstrate how easy it is to manipulate the content before it gets displayed.
Before we can do this, lets look at how ContentBox displays blog entries. If we go and locate the file called entry.cfc, which can be found in the templates folder for each theme. This is how a group of blogs or the entire entry is displayed, and looks like the code below.