As the title states, there’s been a lot going on with Reactor as of late. It continues to improve and stabilize. Here’s a summary of recent goings-on:
Documentation! At Last
I’ve spent almost all my free time over the past week writing documentation for Reactor. I estimate that, when all things are said and done, the documentation will be close to 200 pages. That means it’s about 20% done right now.
So far, the documentation has all you need to get started with reactor, including information on installing and configuring it. Also included is a quick start guide that helps you get your feet wet!
The latest documentation will always be available in the subversion repository.
MySQL 4 Support
Everyone’s favorite ColdFusion and frameworks guru, Sean Corfield kindly added MySQL 4 support to Reactor. I haven’t personally tested this, but Sean tells me it works just fine. The only issue is that neither he nor I know how to tell if a database object is a table or a view. So, views might have some minor issues when working with MySQL 4.
Thank you Sean!
Reactor is a Little Faster
I refactored Reactor last week and implemented a very short term caching system which really helps speed reactor up when in “development” or “always” modes. It shouldn’t make any difference for production applications.
Samples, Samples, Samples!
Over the past two weeks I put together two real sample applications for Reactor. If you download the zip or BER from subversion you’ll see a folder called ReactorSamples. Under this there are three folders:
Blog This sample is a full-featured blog application that uses both Reactor and Model-Glue. (I’ve started calling this ReactorBlog.) ReactorBlog is, in many ways, a clone of Ray Camden’s Blog CFC. However, there are a few extra features in mine, a few missing features (such as multilingual support), and ReactorBlog has a more robust architecture. (No offence, Ray!) As soon as I have time I will be migrating this site to ReactorBlog.
Contact Manager What framework would be complete without a contact manager sample application? This sample does not use any framework and really keeps to the bear bones to show how things work in Reactor.
Scratch This sample application isn’t actually an application. It’s really a set of files created while writing he quick start guide. Read the quick start and look at these files.
Presenting to the Online ColdFusion Meetup Group
On January 19th I will be presenting on Reactor to the Online ColdFusion meetup group. (Thank you, Steven Erat!) So far it looks like 35 people will be there, with another 6 saying they might make it. I’m really looking forward to this!
Comments on: "Reactor Quickies: Documentation, MySQL 4, Speedups, Samples, New Zip, and More" (27)
Doug,
Your link above doesn’t link to the Reactor Zip file. I clicked it and it was dead. You may want to check it out.
V/R,
Tom
PS: Thanks!
LikeLike
Thomas – Oops. I just published an update to my blog and those files got lost in the shuffle.
Doug
LikeLike
Doug… MsSQL 4 doesn’t have views. Did you mean you can’t tell if it’s a table or view in MySQL 5?
LikeLike
Doug… MySQL 4 doesn’t have views. Did you mean you can’t tell if it’s a table or view in MySQL 5?
LikeLike
John – If MySQL 4 doesn’t have views (which I didn’t know) then there is no problem at all. The MySQL 5 adaptor does support views and works just fine.
LikeLike
Doug,
You already know what I think about reactor,but now I just want to congratuate you for your blog’s new design.
LikeLike
Joo – Thanks! This is the ReactorBlog. It’s had a few bugs so far, but I’ve been working through them. The old blog was just patchworked together, so this has been a nice update.
LikeLike
Doug and others in the know…
I brought this up yesterday in the Reactor mailing list, but thought it was a valid comment to leave here.
I downloaded Reactor, got an error message when first trying to use it, and then found out it only works with ColdFusion MX 7.
So, my question is, how hard would it be to get it working with 6.1? Is it just the way the XML data is handled that requires CF7, Or is there other stuff in there, too?
LikeLike
Another vote for CFMX 6.1 support.
LikeLike
I fixed all the 6.1 bugs I know of last night. If you get latest from SVN you should be able to run on 6.1 without issues now.
LikeLike
I would use this in a heartbeat if there were an alias attribute on the object tag. We have database tables that are ridiculously long due to naming conventions, and it would not be practical to have to use the table names for object names.
Any plans for this? Open to help on it?
Regards,
Shannon
LikeLike
Shannon – FYI, I’m pretty sure this will happen before too long.
LikeLike
Shannon – I just had another thought… why do you need aliases for the object tag at all? The only way this would impact you is in the create methods. IE: reactor.createRecord(“MyLongTableName”). You can use whatever variable name you want. This will create files named MyLongTableNameRecord.cfc, but at least that will be consistent through your entire app.
You can already use aliases on relationships so within your MyLongTableNameRecord you can be calling methods to get related data and have them named nicely.
LikeLike
Doug – Excellent! We have some major projects coming up that I would love to use Reactor on, pending that feature.
Regards,
Shannon
LikeLike
That is a good point, Doug. We will give that a try and see how it feels. I didn’t think of that either.
Regards,
Shannon
LikeLike
Hi Doug,
After sleeping on it and revisiting the issue in the morning, we have discovered that it still poses a problem having long table names as object names. In our environment, Reactor would sit below our service layer which is managed with Coldspring and the service beans expose delegated methods. The service bean methods would have argument types (cfc paths) that would contain the long table name and there are lots of them. So, having a service layer makes it a bit intensive to use Reactor without having an alias option on the object tag. Does that make sense? Did I talk you back into adding that feature? 🙂
– Shannon
LikeLike
Hi Doug,
I downloaded the sample and am trying to get the Blog example to work. But the ‘Create function’ of the MYSQL script does not work for me. I installed MySQL 5.0 but still am not able to create the function. Any pointers?
Kind regards,
Erik-Jan
LikeLike
Eric –
My first suggestion would be not to use the zipped version. It’s now quite out of date. Because Reactor is still techniclly in an alpha state I don’t roll out new zips with each update. (I’m actually trying to lock down the API then I’ll go beta – and more zips should be prouced then.)
Any how, try the version from Subversion. It’s far better. And reactor blog should work more or less out of the box with mysql 4 and 5 and mssql (so long as you don’t change the directory it’s in — but even that’s gotten better).
LikeLike
Thanks, Doug! I found the link to the Subversion version, and got everything to work. I’ll be studying the code to see how everything works. Thx!
LikeLike
Doug,
Just reading through the documentation and wanted to give kudos on a fantastic job: really well-written, clear, and thorough.
Hal
LikeLike
Hal – Thanks for the compliments. There’s (obviously) a lot left to document. All things in good time.
Either way, I’d value any input you have in the docs or on the framework itself.
Doug
LikeLike
Doug
Silly question but where can I get the latest version of reactor from? Is their a download site/url? THanks
LikeLike
meant ‘there’ not their 🙂
LikeLike
Kola – The best place is the subversion repository. It’s avaliable in subversion at svn://www.alagad.com/reactor/trunk.
LikeLike
Hi, I downloaded reactor and it looks promising! The documentation is very clear and I had no problems starting up with reactor.
But now I run into some serious problems. When adding relationships in de reactor.xml I get the following error:
Element OBJECT.XMLCHILDREN is undefined in CONFIG.
The error occurred in E:websitesreactorcoreobject.cfc: line 42
Called from E:websitesreactorcoreobject.cfc: line 27
Called from E:websitesreactorcoreobjectFactory.cfc: line 62
Called from E:websitesreactorreactorFactory.cfc: line 61
Called from E:websitesreactorindex.cfm: line 4
40 :
41 :
42 :
43 :
44 :
When I change Config.object.XmlChildren into Config.reactor.objects.object.XmlChildren this problem solves but I keep running into problems with this xml object. What is wrong?
LikeLike
Bas – I suggest joining the reactor mailing list (send a message with “subscribe” as the subject to reactor@doughughes.net) and asking there.
That’s where the community provides support!
Thanks,
Doug
LikeLike
“Kola – The best place is the subversion repository. It’s avaliable in subversion at svn://www.alagad.com/reactor/trunk.
Posted By Doug Hughes on Mar. 15, 2006 at 9:04 AM”
Doug whats subversion? cant you dowload Reactor anywhere else?
LikeLike