Tags:
Coldfusion, Coldbox
ColdBox has the ability to leverage of the ORM side of ColdFusion, and also has a few others like Transfer and reactor built into it. I am going to focus on using the ORM side of ColdFusion 9, and demonstrate how easy it is to use in ColdBox.
Tags:
Coldfusion
I wanted to quickly talk about a problem I ran into with installing ColdFusion 8, as a new instance running under ColdFusion 9 as the underlying application install and using the JRun connector to connect this to an IIS website.
Tags:
Coldfusion, Coldbox
Today I want to quickly talk about doing form validation in ColdBox, this isn't really anything new to ColdBox but it isn't really documented at the moment either. For those who don't know or are not aware of it, ColdBox actually has HyRule as part of its tools line up that is built right into ColdBox.
So how easy is this validation, pure and simple it couldn't get any easier.
Tags:
extJS, Coldfusion, Ajax
I have been working on a ColdBox application for a few months now, which has a lot of Ajax calls when a user is signed in. The one thing that I have not really handled, is how do I tell the browser that the users session has timed out.
ExtJS can make this very easy, and the code that I am showing will work in both ExtJS and ExtJS Core.
Tags:
extJS, Coldfusion, jQuery
In a previous post I talked about how there isn't much of a difference between ExtJS Core and jQuery, and today I am going to go through some of the syntax used for doing some DOM work in both.
Before I go and discuss this I would like to also point out one thing, only because I am not sure people are actually aware that ExtJS Core is a completely separate package to ExtJS. As with jQuery it is also very free to use in your applications.
Tags:
extJS, Coldfusion, jQuery
There is a lot of support on both sides to this argument, and one that really at the end of the day comes down to user preference. One of the myths that does surround extJS is that it has a huge footprint and is bloated, this is not true and in fact ExtJS Core is not that much bigger than jQuery.
The decision to use either is really down to personal preference and the support that each of these products do offer, as well as what type of application you are looking at developing.
if you are looking at just doing simple DOM manipulation then both have their strengths, and are of around the same footprint in terms of size. Personally I think ExtJS also offers a lot more out of the box and which can attribute to its slighter higher file size difference.
So what is best for me in terms of development.
Tags:
Coldfusion, Ajax, Ajax UI
After reading an email in a mailing list I wanted to put an example together, on how this person could achieve what they wanted to do. The problem that I came across was something that had me stumped for a long time.
It seems that there is something missing in the way ColdFusion is creating the CFWindow and including the correct code.
Tags:
Coldfusion, Ajax, Ajax UI
I thought I would write a tutorial on this subject as it appears to be the most asked from people, and show how to utilise some features of ColdFusion that seem to be overlooked by a lot of people.
When this question arises it seems that the majority if not all the answers and solutions that I see, are always pointing to the use of jQuery and never have I seen one that uses what is already built into ColdFusion.
Tags:
Coldfusion, Ajax, Ajax UI
I wanted to blog this as I have done it before, and quickly forgot how I did this. So for others who might google a solution, then at least there will be something to find.
Tags:
Coldfusion
In a previous post I spoke how that in ColdFusion 9 that anything that was considered to be a date and had a time part to the string, ColdFusion 9 would actually strip the time and reformat the string to its custom rendering.
Since the release of ColdFusion 9.01 I again had a look into this problem, and although the time is no longer stripped from the string. Something else is very unexpected as a result to this new change.
This is something that one has to take into consideration when migrating over to ColdFusion 9 and you are using the cfgrid tag, to display data back to the user.
Tags:
Coldfusion
It seems that Adobe still don't understand the concept of what backward compatibility is, and if they do then why is this issue such a hard issue to resolve?
I have been trying to get Adobe to fix this issue, and it appears that this is going to be something that Adobe are just not interested in fixing.
Tags:
Coldfusion, ColdFusion Builder
Well I updated my ColdFusion Builder plug-in installation today to the latest release updater 1, only to find that it actually didn't update at all.
Running the check for updates says that it has been updated, and that there are no updates available. So I would expect this to have been updated.
Not to be.
Tags:
Coldfusion
When working with projects I tend to download the latest version of Eclipse and to try it out, when I found a very weird error message I decided to go back to ColdFusion Builder to see if I got the same problem.
And sure enough I did.
Tags:
Coldfusion
In my eyes it is not, but as it stands it offers some good beginnings to something more.
Tags:
Coldfusion
I wanted to post this quick post to highlight the fact that it can be confusing to some how the Application.cfc works, with this I mean in how it sets application variables.
Tags:
Coldfusion
Well the answer is what you define as a language and what your definition is when it comes to ColdFusion, and I guarantee that a vast majority will be in the same category as Raymond Camden.
Why did I drop his name in particular?
Easy, he tweeted that after the new Tiobe index that he doesn't program he frameworks. So what did he mean and how does that relate to ColdFusion being a programming language?
Tags:
Coldfusion
Since buying my new computer the one thing I hear the most now is the disk access, and with ColdFusion builder I here a constant access when it comes to my Hard Drives.
Why is that?
under normal circumstances a computer will swap out what it has in memory if the memory needs to be swapped. Systems with low memory will notice huge performance gains when increasing memory alone.
So why is it that on a system that is an I7 930 turbo boost, and 12gigs of memory do I notice a hell of a lot of disk access, when running ColdFusion Builder?
Tags:
Coldfusion, Flash, Flex
One of the things that took me by surprise was the way that I couldn't do any debugging while I had ColdFusion Builder and Flash Builder installed in the same Eclipse instance. Debugging ColdFusion projects on their own wasn't a problem and yet I struggled with getting this to work with a Flex and ColdFusion project.
That was till now.
Tags:
Coldfusion
We currently use the cfgrid and it has been re-skinned to look how we need it to look, we also have custom rendering on the grid that is now broken when using ColdFusion 9
How is this possible?
Tags:
Coldfusion
In our current Application that has been running on ColdFusion 8, we modified the cfgrid to suit our needs for our Application. This worked a treat until ColdFusion 9 was released and broke our Application that relies on the grid working the way it did in ColdFusion 8.
I was told that there was a workaround, and it was even tweeted by the product manager, but I have yet to see the workaround till today.
Tags:
Coldfusion
Due to problems with licensing on my machine with the final release of ColdFusion Builder, I installed it on another machine.
I setup the settings it asked for, and I am able to stop and restart the ColdFusion server which means the settings are correct.
so what is the problem?
Tags:
Coldfusion
So since my last blogs on this subject the product has been released, and its time to look at what is productive and the development life cycle you can out into place for you as a developer.
In the previous posts I spoke briefly on what comes built into ColdFusion Builder, now its time to look at some tools that aren't part of the product that can be added as plugins to help further your productivity a lot more.
Tags:
Coldfusion
Before I answer that I would like to bring to the table that I am one of the most critical when it comes to anything related to ColdFusion. Second to that it has been heavily discussed, and the consensus is that it is.
But is it really overpriced?
Well considering that Adobe have said that if you upgrade/buy Flash Builder 4 we will give you ColdFusion Builder for free, that is not their exact words but they are saying that we will charge you $299.00 (USD) to buy ColdFusion Builder and you can have the standard version of Flash Builder 4.
Marketing has said how can we get more users cross applications, I know lets give ColdFusion Builders users an excuse to begin using Flex.
Tags:
Coldfusion
Well as we all know by now is that ColdFusion Builder has been released, and don't get me wrong as the product is a fairly stable 1.0 release, and I use that term with grit teeth. One of the things that I logged as a bug was when Adobe removed the help for both ColdFusion and ColdFusion Builder from within the IDE.
Tags:
Coldfusion
I logged a bug with Adobe regarding 64bit support with their current ColdFusion Builder product, I also stated that the same problem exists with Flash Builder. Since then Adobe have released a new version or should I say a release Candidate of ColdFusion Builder the first release candidate.
Everyone has reported that as a plugin the colour syntax will not work. And the answer is simple, took me two minutes to work out why.
Tags:
Coldfusion
In a previous post I touched on some of the features that will enhance productivity, and in this post I will go into the line debugger and show how it can be very productive as well.
Tags:
Coldfusion, CF-ORM
I spent the day trying to get my head around mapping and older Application to the new ORM in ColdFusion 9, to only be very disillusioned again with CF-ORM.
I really hope that this problem will be addressed at some stage, as it would be very beneficial to some applications out there.
Now don't get me wrong with this, as first you can extend another component and use methods in that component. But what you can't do natively is have the properties of the extended component persist into the table.
Tags:
Coldfusion
I have been wanting to touch on this for awhile now, but never got around to it till now. I was hoping to sit down and also give a video tutorial on it, as these can give a lot more detail and express so much more.
In time I might still do that.
However for now I want to over a few posts go into some detail, not complete detail but enough to give you an idea on what is available in ColdFusion Builder. As well as what is available outside of ColdFusion builder, that as a ColdFusion developer you can almost say I can not live without these tools.
Tags:
Coldfusion
After having a bit of a discussion with one of the Engineers, I set out to prove this engineer wrong and I did just that. I won't go into specifics on that just yet, as I have more tests to run. But the one thing that I want to point out is that ColdFusion claims to be RAD. And I am going to show how the ORM side of ColdFusion 9 is not RAD, and it requires you to code more than it should.
Tags:
Coldfusion
Well it seems like this program is suffering the same problems as the Flash Builder 4.
Why is Adobe doing this? All pre-release and beta version worked fine in a 64bit eclipse IDE, and now unless you have a 32bit JVM installed and in your path it seems you can't install builder into any 64bit version of Eclipse.
Tags:
Coldfusion
While working on a project that deals with serialization of objects, I discovered something very weird while using the line debugger. And it took me a fair few hours to work out that this was a bug with ColdFusion Builder rather than ColdFusion, or at least with the debugging of ColdFusion anyway.
Tags:
Coldfusion
The short answer is no.
Tags:
Coldfusion
While having a play around with ColdFusion Builder the other day, I was curious how this would work with the RDS feature and what I found surprised me to say the least.
A lot of effort went into sandboxing the server, well almost.
Tags:
Coldfusion
This is probably too late to change for the very first release, but Adobe why are you installing ColdFusion Builder outside of Eclipse?
Tags:
Coldfusion
ColdFusion has never had this and I can never work out why, I do know that over time it has been mentioned a few times and has always been answered with the fact that you can pass the type of any into the function.
That might sound good in the interim, but I wonder how many of these people who say that have really thought about the problems that this might raise?
I raised this as an enhancement with Adobe and it appears that they seem to agree, but I am not 100% sure if it will make it in the update 1 as promised.
Tags:
General, Coldfusion
I would dare say that the product will be release sometime around June 2010, we all know that the last public release was Beta 3. And as it hasn't reached a Release candidate as yet, it would be safe to say that it is about 4+ months away from a release.
But what will its pros and cons be upon release?
Tags:
Coldfusion, CF-ORM
While developing on a development server I would have my ORMSetting dbcreate='dropcreate' and on my testing/staging/production server it would be set to update.
However the last hour i have come to the conclusion that the setting dropcreate is nothing but buggy as hell.
Tags:
Coldfusion, CF-ORM
I have actually come across this problem once before, however it was under different circumstances.
Tags:
Coldfusion
I was reading a mailing list post tonight by Mike Kear, his concerns are very valid and very real.
So lets have a quick chat about localization, the number one response to his post was we are in a recession. The truth is that this debate surfaces every now and then, and the reality is Mikes concerns are very real.
Why is that?
Tags:
Coldfusion
Wow, I was shocked by this from Adobe.
We as developers have been keen on using any tool that will help us get our job done, but it seems Adobe is not interested in doing this.
Tags:
Coldfusion
Adobe hade clearly indicated this was fixed and yet after many times of it still failing, they have decided to put it into the too hard basket and have ear marked it for a ColdFusion builder 2.0 alpha 1 release.
Tags:
Coldfusion
It has been no secret that I have been trying to get closures into ColdFusion for over 18 months, I understand how the team has had its priorities already set in stone at the time, but lets have a look at how it can really help us developers.
Tags:
Coldfusion
One of the things that I continue to preach is that we as developers need our tools to be user friendly, and require less code to do our jobs with.
Tags:
Coldfusion
One of the things that I hate the most is writing code to get around short falls in the language.
When the enhancement is to reduce a small amount of code I see it as a good thing, Adobe had agreed and it was suppose to have been implemented in the pre-release stages of development and yet it has never made it.
Tags:
Coldfusion
When it comes to my work the one thing that must be on the top of my list of priorities is to be able to use the tools we purchase, to the full effectiveness.
It is also no secret that Adobe are using the same debugger extension in ColdFusion Builder that has been around since ColdFusion 8.
Since then many bugs have been logged against this and not one has ever been fixed, and now that ColdFusion Builder is in the works the number one thing I would have liked to have seen improved has again been left by the wayside.
Tags:
Coldfusion
We all know that ColdFusion 9 has had some serious issues with bugs, and that it was released well ahead of what it should have been. But come on Adobe some of those issues that you have marked fixed is actually stopping people from actually buying your product.
Tags:
Coldfusion, CF-ORM
It is no secret that I don't like the current implementation, and it's not because it is hard to learn. But Adobe have made our work harder than they really could have.
Tags:
Coldfusion, CF-ORM
After having a bit of a debate on a mailing list over the last few days, I thought I would blog a bit more about this problem. But lets get this right first, it isn't a problem so to speak but it could be if you are not aware or are just learning the new ColdFusion 9 ORM.
I am going to place myself into the shoes off someone who might be learning database design, and ColdFusion 9 ORM at the same time.
Tags:
Coldfusion, CF-ORM
When ColdFusion 9 was in its very early stages I raised an Enhancment Request where we could use these as part of the persistent Entity or as it should be know Domain Class.
Adobe in their wisdom chose to ignore this E/R, because they thought the users would not be up to understanding it.
In the last few days there has been a few blogs by Dan Vega on his interpretation of how it needs to be implemented. And Dan nothing against your attempt, you should be doing it at the persistent / domain class layer and not the service layer.
Tags:
Coldfusion
ColdFusion Builder beta 3 was released just recently and the one thing that keeps annoying me with Adobe, is the huge lack of support for 64bit machines.
Tags:
Coldfusion
It has been awhile since I last looked at this framework, and when I did last look at it the one thing that stopped me from using it then was the fact RESTful or Ajax calls were not handled to well.
Since then and I am going by what others are saying that this is now catered for, so how do I view this framework.
Tags:
Coldfusion, CF-ORM
After having a discussion about why cfdump() uses getters to grab its data, I was curious that Adobe could have checked to see if the lazy is true on a property and if so not fetch it.
Tags:
Coldfusion, CF-ORM
While playing around with ColdFusion 9 and the ORM features I suddenly changed my mind, on the property definition for the ORM and got some very unexpected behaviour.
The Adobe Software Engineer claims that this works for him, and I am at a loss to explain to him that this is still a bug.
Tags:
Coldfusion
Following on from 10 Things ColdFusion 10 Really NEEDS from Jason Delmore, I thought I would compile what I would love to see in ColdFusion 10. And although everything in Jason's list is needed as an upgrade, my additional things focus on more of the language itself.
Tags:
Coldfusion
It seems I wasn't clear enough in my last post, so I will clarify this up some more.
Although a lot of you questioned why you would have a table with no primary key, and those people are right. However there are a hell of a lot of legacy databases out there, that do not have primary keys in some of there tables.
Tags:
Coldfusion
In a post sometime ago I posted some problems when using the new ORM features of ColdFusion 9.
Tags:
Coldfusion
One of the things that has been introduced to ColdFusion 9, is the introduction of an ORM into the suite of tools that comes with ColdFusion.
The ORM side of ColdFusion is going to be a bit daunting if you are not familiar with what you can achieve, not to mention the work it could save you later in your development.
</more>
Today I wanted to show some goodness that can be achieved, that in the long run can give you a good starting point to increasing your code reuse.
We can create a basic mapping to the database with something as simple as this, lets create a customer component.
component persistent="true" {
/**
* @sqlType integer
* @generator integer
*/
property numeric customerId;
property string firstName;
property string lastName;
}
ColdFusion entities or as they are properly called Domain Classes, can also contain other methods for returning data and manipulating the data. With that in mind when we retrieve an record we will have an object so to speak, that we can provide method calls on.
Which could allow us to do something as simple as using the give me methods we call getters, like such
customer.getFirstName();
That is all good and all, but what if we want to display the Full Name of the customer? Well we can do this a number of ways, for example we can do it the old and traditional way.
<cfoutput> #customer.getFirstName()# #customer.getLastName()#</cfoutput>
Or we can add a method to our domain class so that we can do this instead.
<cfoutput> #customer.getFullName()# </cfoutput>
Which can be added to the component like so.
component persistent="true" {
/**
* @sqlType integer
* @generator integer
*/
property numeric customerId;
property string firstName;
property string lastName;
}
public string function getFullName() {
return firstName & ' ' & lastName;
}
Although this is a basic implementation this does open up to some problems, so we are going to need to refactor this code to fix this. The problems should be obvious, but in case you can't see them, what if the firstName and or the lastName was blank? Would the results be what we actually need or want?
Maybe not, so lets refactor the code to take care of this problem.
public string function getFullName() {
if (firstName == '' || isNull(firstName))
return lastName();
if (lastName == '') || isNull(lastName))
return firstName();
return firstName & " " & lastName;
}
So as you can see after refactoring this a couple of times now, we ended up with something that will do the job that we needed and its reusable as it is part of the Domain Class.
This is just the beginning of what can be achieved with ColdFusion Entities.
Tags:
Coldfusion, MockBox
I wanted to put this brief post together as there has been a few questions about using a framework that does Mocks in ColdFusion.
Today I am going to explain how to get a basic one up and running in ColdFusion 9, but you can change the syntax from script to tags and it work just as well.
</more>
So before I get into MockBox, why did I chose MockBox?
When looking at what is around that supports Mocking in ColdFusion I first began to look at mxUnits way of doing it, and wasn't a fan of it, but granted there was very little information on how to effectively use it when I was looking. That didn't mean that the mxUnit community were not helpful, as they were able to answer all questions I put forward.
Then I heard about MockBox and began using it since it was released, during the alpha cycle. MockBox is based on the ColdMock that is out there but with some more bells and whistles that come along with it. I have never used ColdMock and only know of its existence, so I will not be able to answer any questions on the differences on the two frameworks.
So how do I get going with MockBox?
Its very easy to install, and there is no configuration needed to have it up and running. The only requirement, that you need to do which is not really explained in the download or the website. Is that you need to create a directory called ColdBox and install the files underneath that, other than its all ready to go.
Creating our Unit Test
I am going to create a very simple object that will create a user, and show how to implement our database calls with Mock objects.
To do this we need to create 3 objects, 2 of these objects are real and one is our Unit Test. I usually follow a different structure than this, but I am going to create 2 directories. The first is our components directory, and I'll call this directory com, and underneath that I will create 2 more dataObjects and services. Remember this is just a quick post, and I do not follow this convention, so please adapt this to your scenario.
With these directories created I am going to create a user component in the dataObjects directory that is going to be a shell at this stage, and for this tutorial.
user.cfc
component {
}
I am now going to create another component in the services directory that is also going to be empty at this stage and it has the same code as above for now.
Now when I do my Unit Testing I always follow the same structure as the component hierarchy that I am unit testing, so with that in mind I am going to create the directories com->services in the UnitTests directory that will be created in the root of the application, well append the word test to our component so it becomes userServiceTest.cfc.
And the code is going to look like this for now.
component output='false' extends='mxunit.framework.TestCase' {
//------------------------------------------------------------------------------------------------
// setup
//------------------------------------------------------------------------------------------------
public void function setUp() output='false' {
}
//------------------------------------------------------------------------------------------------
// tear down
//------------------------------------------------------------------------------------------------
public void function tearDown() output='false' {
}
//------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------
public void function createUser() output='false' {
fail('not implemented as yet');
}
}
You will also notice that we have added a function in here that will be our createUser test, and that if you run this test it will display the message as described in the fail call.
Writing our createUser test
Normally when writing a Unit Test a lot of refactoring would be happening here, however today I am going to give you the final result so as not to bore you with the tedious task of the refactoring that would normally take place.
In our userService.cfc we are now going to write the following code inside it.
public function init() {
instance.userObject = new com.dataObjects.user();
}
public function getUserObject() {
return instance.userObject;
}
public function setUserObject(required any userObject) {
instance.userObject = arguments.userObject;
}
Remember that this is ColdFusion 9 script, and that the new operand will need to be replaced by a normal CreateObject.
A very quick explanation here, after refactoring this code. We needed to use the methods get/set userObject so that we could create a Mock Object, and would still run when used in our application.
Mocking our object for use
In our Unit Test code we are going to place the following code in our setup method.
mockBox = createObject("component","coldbox.system.testing.MockBox").init();
mockUser = mockBox.createMock(className='com.dataObjects.user', clearMethods=true);
mockUser.$(method='createUser').$results(true, false);
object = createObject('component','com.services.userService');
object.setUserObject(mockUser);
super.setup();
This is where all the magic will now happen for our Unit Tests, and it is fairly straight forward. But I will give a very quick run down on how it is being used.
We are first of all creating a MockObject, and we are then telling this object that it is going to be based on the user.cfc and that we are going to clear all methods in that object. In this example it is not important whether we clear them or not, but if there are other methods in that Mock that are required you will need to make this false. And you will also need to make sure that any other method that will need to be mocked is also setup to not call the database.
Hopefully that makes sense, but please ask if you do require some more information.
Now the next step in the above process is that we are then creating the method createUser, and that any results that are going to be returned will be returned. In this example I have done True and False, the reason here is that this is what the original method would return True for successful and False if it is not.
The last part of this is then injecting the Mock Object into our userService, so that the Mock can take place.
Finishing our Unit Test
Now if you try to run the unit test it will still fail, because we have told it too do so. So lets finish that section of code up now.
What we need to do know is write the test to handle the situations that we will expect, so for lets add the createUser test code as such.
var userData = {
username='user', password='password'
};
result = object.createUser(userData);
assertTrue( result, 'Failed to create a user');
userData['username'] = 'anotheruser';
result = object.createUser(userData);
assertFalse( result, 'Failed to handle not creating a user');
In the above code we setup a struct to hold our data and pass that into the actual createUser, this is not the only way to do this and you will need to make the changes to suit your needs.
I will also need to explain this in the first call to create the user, the Mock object will return true so it should pass. But if it doesn't se set the message to tell us that it has failed to create the user. The second call to createUser is going to return false, so we then check that this is the case too. But in the off chance it fails we give an appropriate message to help us understand why.
But how do I know that they are going to return true and false in that order?
If we go and look at our setup code in the Unit Test we see this.
mockUser.$(method='createUser').$results(true, false);
This code tells us that the first call will be true, the second will be false and the 3rd will also be true. But wait a minute there is only 2 values, so how it works is that it cycles back to the beginning again and returns the equivalent result based on the the times it was called.
Now this test will not run, and we need to make one last change to our actual userService and to do that we need to now add the following code to the createUser.
public function createUser(required struct userData) {
return getUserObject().createUser(arguments.userData);;
}
And the last thing to do is run our test, and watch it pass.
In Conclusion
This was put together as an example to explain the benefits, and to demonstrate how to create a Mock object for database calls and any other object that needs to be mocked. In a real world example I would be more inclined to create a parent object that would have the setup and the tearDown so that we would be reusing our code.
The downside to this and I have demonstrated it here, is that the actual database call is not made, however we don't test this and it can still be left open to error's when we do mocking in this manner. So please be aware as I have fallen into this trap before, when the tests all pass the actual database call to createUser did fail on a project I was working on.
Anyway I hope you find this informative.
Tags:
Coldfusion, Flex
Very short post, after a colleague I work with has called them a VO again I have decided to make this a little more public.
</more>
Sun changed their minds on this pattern, and I do not know how continued or even got it wrong in the world of ColdFusion and PHP. But 75% of the time anyone who asks a question on a VO is very much reminded that sun adopted them as Transfer Objects because it was too confusing to what a value object actually is.
So if you are a flex and/or ColdFusion developer I really wish you would begin to call your VO's as TO's unless you really mean the true definition of a Value Object. But to date every time I hear the term VO, I know they mean TO.
Enough said, I know who started it in the ColdFusion world. And I wish that person would step forward and say they got it wrong.
Tags:
Coldfusion
In a previous post I mentioned that you should always scope your variables, the problem with ColdFusion is it does not enforce this.
And maybe it should.
</more>
In Java and .Net c#, VB.net, J# and other languages that I am aware of. At anytime you want to reference something, especially variables you must provide the scope were it is to be referenced.
ColdFusion has always tried to be smart and cycle through known scopes to get to what you might have thought about for your scope. So what happens when the variable you want access to lives in a scope that will be searched for before your scope.
Short answer is stiff shit.
If you don't scope the variable that you mean to want then there is a 90% change you will get what you don't want to get back.
So until Adobe switch it on so that you must provide a scope, you must make sure you do it manually. If you don't then you are at fault, not ColdFusion, the amount of people who complain about ColdFusion is almost always falling into this trap.
So the question is, do you wish to learn or move forward?
If you choose move forward then you are on your way to learning ColdfFusion, and you are more importantly reducing your support calls and emails
So what are you going to do?
Tags:
Coldfusion
One of the biggest problems, or should I say one of the of the most common questions I see is that isDefined('somevar') used to work in in ColdFusion 5 or it used to work in CFMX 6.1.
Since upgrading it no longer works!
</more>
Well to be point blank, ColdFusion has and will always work on scoped variables. If you refuse to scope your variables, and you are the one who ends up complaining that since upgrading your application no longer works.
Who do you have to blame, is it yourself, or is the programmer you took over from?
Either way, you must always scope the variable you wish to read / write and why is that? It is because the same variable could exist as a function, or it could exist in another scope that is read prior to the one you intended to have been read.
So the number one rule!!! Always scope your variables.
Tags:
General, Coldfusion
Every now and then the rumour mill starts with people saying that ColdFusion is Dead, and if Adobe has anything to say about it the application called ColdFusion will survive. Adobe has made a very committed road map to integrate a lot of their products, ColdFusion is in essence a core piece of this plan.
However there is something that we all can not ignore, and will Adobe address this or leave it by the wayside?
Tags:
Coldfusion
There are two things that I find a bit hard to accept here, one is a down right bug and a very hard one to ever change due to the problems of backward compatibility. The second is annoying when using ColdFusion 9 script, and would have been nice to have added it to the language.
</more>
So lets look at the first problem. The loop and using the array attribute.
Prior to ColdFusion 8 we had to use something like this to loop over an array, which was kind of neat but awkward at the same time.
<cfloop index="counter" from="1" to="#ArrayLen(myArray#">
<cfset item = myArray[counter] />
</cfloop>
So let me explain this code a little, the loop is basically saying we are going to use the variable counter as an index in the arrays bounds. And I am then using another variable called item to get a handle on that element of the Array.
ColdFusion 8 introduced a quicker and better way to do this, however there is one mayor flaw with this. And that is that it is inconsistent with the rest of the cfloop and how it works. Bit before I
explain that lets look at another example of a cfloop, and hopefully this will illustrate the problem. Here is an example of looping over a structure.
<cfloop collection = #Departments# item = "person "> <tr> <td>#person#</td> <td>#StructFind(Departments, person)#</td> </tr></cfloop>
Now do you notice how when defining this we are actually getting a reference to the item, itself in the above example. And not a count to its position?
And yet if we then swap back to doing a list, the code would look like this.
<cfloop index = "ListElement" list = "John,Paul,George,Ringo">
<cfoutput>#ListElement#</cfoutput><br>
</cfloop>
And again we have gone back to using the attribute index, and yet when it gets displayed Adobe have written it as if it is an actual element.
This is odd behaviour in ColdFusion, that actually is promoting ConFusion in the language. And it is going to be a hard road to have these changed to be more consistent in the language.
Looping over Arrays in CFScript in ColdFusion 9
So now that we have a much better syntax in ColdFusion 9, it was asked and it was never implemented by Adobe. But it would be damn handy to have it added as quickly as possible as part of the language.
Currently in cfscript to loop over an array in script you need to do something like this.
for(var count=0; count <= ArrayLen(myArray); count++) {
item = myArray[count];
}
What actually would have been far better to have in the language, and was proposed and ignored by Adobe engineers is this syntax.
for(arrayItem in myArray) {
}
This would be making the language a bit more RAD than it actually is, but Adobe ignored it for reasons unknown to us. And they promote that we have full script support as tag equivalent, but this is one case were they said well you can already do it the other way so why do we need to implement this!
I'll tell you why, its easier to write and easier to look at and quicker to understand what is happening is one thing. But being quicker to write also makes it more RAD in my eyes too.
Anyway I hope that there can be enough support given to push for the adoption of this little enhancement to the language.
Tags:
Coldfusion, CF-ORM
This is not a real problem in the sense that it shouldn't happen, but it is a problem if you are not aware what is actually happening here.
Tags:
Coldfusion, CF-ORM
As with my previous blog, there are some more things that we as a developer need to be very weary off. One of these is the relationship between tables where one table can have a many relationship with another.
Tags:
Coldfusion, CF-ORM
One of the best things an ORM can introduce for us ColdFusion developers is the ability to, create mappings or persistent components for our legacy databases. Now don't get confused here, legacy is a term that is used for databases that were not created with an ORM.
However in ColdFusion their is a major trap that one needs to be very careful about, and although it shows another problem that ColdFusion has never addressed. This is something that we as developers need to be aware of when we begin migrating over to using the new ORM type features of ColdFusion
Tags:
Coldfusion, CF-ORM
It seems that nobody has fully understood what I was trying to say in the previous post, and I thought I would explain it in a more step by step process.
Tags:
Coldfusion
Awhile ago I posted a blog that Adobe rushed ColdFusion out the door, and that it breaks some applications. Well there is a few more things that Adobe just refused to add to the cfgrid section as well, and these are important things for some of the Applications that I have worked on in the past, and current.
Tags:
Coldfusion
One of the most anticipated features of ColdFusion is the hibernate integration that has been introduced, however the one problem is that even though it is very flexible, it's also very complicated to understand and get working.
It would have been nice that the minimal things needed to get some relationship mapping happening, have been thought about.
Tags:
Coldfusion
It seems that a minority of people do not seem to understand the actual problem in my previous post, so I thought I would make a few changes to give a better description of the problem.
Tags:
Coldfusion
There is a bit of a debate as to which is the better when unit testing, well the thing is it really boils down to personal choice. However multiple assertions has a much easier test cycle than doing it with single assertions.
Tags:
Coldfusion
I was reading a blog today on another major flaw in ColdFusion 9, and I thought I would investigate this one a little closer as it didn't seem to make sense.
Tags:
Coldfusion, CF-ORM
ColdFusion 9 has given us something wonderful when it comes to the database, however maintaining the code to be able to just move it to another server and database isn't extremely easy when it comes to data.
Tags:
Coldfusion
Well it is no big secret that Adobe rushed ColdFusion out the door for Max, and with my last blog post I stirred up a real hornets nest in the community. Do I care, no I do not. A spade is a spade with me.
But that doesn't mean the product is all bad, it just means that you need to be aware of certain things that can mean the difference between insanity and feeling sane.
Tags:
General, Coldfusion
I guess by now it is very common knowledge that Adobe must be feeling embarrassed by the latest shipment of ColdFusion 9 DVD's.
Tags:
General, Ajax, Coldfusion
One of the best things that was introduced into ColdFusion was the cfAjaxProxy tag, however I would like to add that to the unwary there is a very huge gotcha. And can make for debugging a little hard.
Tags:
General, Coldfusion
It seems that an interesting debate about this within the ColdFusion community, sees that more people don't see the actual reason why it should be done.
Let me explain some more.
Tags:
Coldfusion
One of the the things that I really wished that ColdFusion 9 did was that its constructors could be self aware of what was being passed into it.
From a coding point of view it would have made the language a bit more RAD than it is now.
Tags:
Coldfusion, extJS
Part III of using ExtJS to create a custom widget using what comes with ColdFusion.
Tags:
Coldfusion, extJS
In my second instalment to writing and using ExtJS that comes with ColdFusion, I am going to begin by building a custom widget that can retrieve Frequently Asked Questions from the server, based on what the user enters as a search Criteria.
Tags:
Coldfusion, extJS
This is the beginning of a series of tutorials that I will be writing that shows how to use ExtJS that comes with ColdFusion, in both ColdFusion 8 and 9.
Tags:
Coldfusion
I thought I would very quickly write a tutorial on how to remove a line from a file in ColdFusion, this was written and tested under ColdFusion 9. But the code should work under ColdFusion 8.
Tags:
General, Ajax, Coldfusion, extJS, Javascript
I thought I would post this very quick Ajax tutorial and how easy it is to use, without using any extra frameworks or JavaScript libraries that don't already come with ColdFusion.
Tags:
Coldfusion
The short answer is yes.
The long answer is no.
Tags:
Coldfusion
As the title suggests one of the thinks that is lacking in ColdFusion is the ability to add tooltips to a lot of components, mainly the cfgrid. In this article I am going to show you it isn't as hard as it sounds.
Tags:
Coldfusion
Ever since ColdFusion introduced these tags, one of the things that I considered a downside to them was their complete lack of basic functionality. Now 2 version of Coldfusion later and we are still asked to jump through hoops to do the most basic things with these tags.
Tags:
Coldfusion, CF-ORM
One of things that I love about the new features of ColdFusion 9, is of course the ORM and it will be no secret how much I love this feature.
Tags:
Coldfusion, CF-ORM
In my last post I gave you a very quick introduction on how to get started with ORM in ColdFusion 9, in this post I am going to give you a look at some of its power that will make you think twice about using cfquery again.
Tags:
Coldfusion, CF-ORM
Well as well all know by know that the news is ColdFusion 9 has stepped out into the wild, and that means we can all begin to have a play with some of the new features. And there is a lot that has been packaged into this release, and one of the biggest anticipated integrations into ColdFusion has to be Hibernate.
Tags:
Coldfusion
I was thinking of sitting down and writing a response to the CFML advisory committee, instead I am going to find myself writing something based on not only that. But also a post by Alan Williamson as well, because it is related to what I was going to write about.
Tags:
Coldfusion, Mylyn
If you are not familiar with Mylyn or how it can be a benefit to you as a developer, I guarantee you that when you begin using it you will wonder why you didn't use it before now.
Tags:
Coldfusion
Anyone who picks up ColdFusion the first thing that comes to hand is how easy it is to get a small application up and running, but there are some serious draw backs to this implementation as it stands in ColdFusion. Over the next few articles I will go into a bit more depth as to why we might use a framework that supports an MVC pattern, as well as give you a run down on some of the more popular frameworks being used and the pros and cons of each one.
Tags:
Coldfusion, Debugging
Today I want to talk about how to debug a ColdFusion application the smart way, this doesn't mean that it is the only way. It means that it is by all intent and purpose smart because you get to see more of what and how something happens.
So what is the smart way you ask?
Tags:
Coldfusion, Ajax UI
I have never really been a big fan of the new ajaxUI tags that have been introduced into ColdFusion, the main reason is that the library that it uses is well and truly outdated and if you need to get under the hood to do things, it can be extremely difficult to get support on such an older framework.
Tags:
Coldfusion
I thought that rather than post a comment on Ray's blog about this, and if you want to head on over to Ask a Jedi: Catching type exceptions in cfargument. This highlights a gotcha not only just in ColdFusion itself, but any language that uses Ajax, in this method.
Tags:
Coldfusion, Railo
I guess by now everyone has read his blog announcement, that he will now be joining the Railo team as CTO for the USA division. So why am I blogging it, well technically I am not announcing that.
Tags:
Coldfusion, Coldbox, Javascript
Today I want to finish of a blog post that I started a little while ago, and give a run down on how it was constructed.
Tags:
Ant, Coldfusion, Eclipse
A few years ago I posted a blog entry that showed how to replace using template files, for a catch up on that entry head on over to Eclipse & Ant tidbit for further reading.
However I ended up modifying that because it was a little bit annoying when a developer on my team, would modify the wrong files. So I looked at another option.
Tags:
General, Coldfusion, OpenBD, Railo
I have kept rather on the fence for awhile on this subject for a number of reasons, one of those was I was interested to see how others would begin writing about the impact it might have on the CFML community as a whole.
The one thing that we can not argue is that the future of CFML is NOT going to die, provided that the language heads in the direction that Adobe should have been taking it 10 years ago.
Tags:
Coldfusion, Coldbox, Javascript
As most of you might have noticed I have put a new theme up on my blog, which wasn't without some challenges when I accidently broke the RSS feed :-(
I had been refactoring a lot of code to minimise the amount of code duplication as much as possible, one of the new features to the blog is a twitter feed. Now although the inclusion of this is nothing new, the code behind it uses some to help to reduce the amount of extra code that I write.
Hence a simple Coldbox plugin evolved in helping manage the JavaScript in the Application under the hood.
Tags:
Coldfusion
A few years ago I wrote a proof of concept for a project I was working on that had some limitations, and one of those was that I couldn't get access to the server to do some minor tweaking. The person looking after the IIS server was not in any way shape or form at that time, wanting to even switch on gzip encoding for the server.
Whether it was from a lack of knowing how, only that person will know.
Tags:
Ant, General, Coldfusion, Coldbox, Eclipse
I currently run my on a shared hosting provider and felt that it was time that I actually encrypted the source files, I added some extra logic to my Ant build.xml to take care of this and as I had used it in the past I never expected any problems with this.
However I was dead wrong with that assumption.
Tags:
Version Control, General, SQL Compare, Coldfusion
In my last post on Version Control Database Schema I spoke about how you can use the build.xml file to recreate you database from the generate schemas, since then I have been chatting with their Product Manager David Atkinson. One of the major problems I had with the last method was the fact that it failed with dependencies and constraints, and usually had to modify the order of the SQL files until it would not error.
David showed me something that I wasn't aware of and made it a little more automated in the process.
Tags:
Ant, Version Control, SQL Compare, Coldfusion, Database
In a previous post I showed how I use Red-Gate SQL Compare from Red-Gate to create SQL Scripts from my database, and today I will now show how you can then run these in an Ant script to recreate your database.
Tags:
Coldfusion
The short answer is yes they should, but the reality is that it might be too late for ColdFusion to do this. In my last blog entry ColdFusion and Frameworks I touched on the subject a little bit, but didn't go into any more detail because that Blog Post was not about this problem. Since that entry on my Blog I have had a lot of discussions on this subject, and I thought it would be better to dedicate an entire post on the subject.
Tags:
Flash, Coldfusion, Flex, Air
This is some very good news.
Tags:
General, Coldfusion, OpenBD, Railo
Well it is 12 months now since New Atlanta announced that they were open sourcing their J2EE version of BlueDragon, since then a lot of discussions on the future of their product and CFML in a whole had sparked some heated discussions since the announcement.
It was a very brave move for New Atlanta to decide to make that decision, and most people that I have spoken to over the last 12 months were under the impression that it was for selfish reasons. Since then it has been more than for selfish reasons.
Tags:
Test Driven Development, General, Coldfusion
Today I am going to touch on a subject that can all too importantly be overlooked, and regardless of whether it is open source or paid work there is an importance to releasing your code as bug free as you possibly can. I spent today trying to figure out why something that I had been using for a few years, had all of a sudden stopped working. I had patched this open source application to the newest version, which was about 5 versions ahead of what I was using.
When I began running a few tests on the patch before making it live, there was some very noticeable problems with the update. It just would no longer work in any way, and I noticed some very disturbing problems in the code that I had to ask the developer in question if they had done any testing on these changes. So without going into too much detail, I am going to use a few examples that will highlight the problem that I discovered in this case.
Tags:
Coldfusion
I would like to touch on a subject that has over time, not really been given much thought or if it has it hasn't been heavilly discussed.
Coldfusion is a very niche market, that appears that will remain in that state for a long time to come. And although this is something that can be changed, it doesn't appear to be very high on Adobe's list at the moment.
There are a number of factors that this assumption is made on, but that can be debated another timer. For now I would like to talk about frameworks, and how they can and do impact our working life.
Tags:
Coldfusion, Eclipse
For a long time I could never find if there was a 64bit version of Eclipse, and found that deep within the eclipse.org site there is an actual 64bit version.
Not sure why this was never available at the start when asking for downloading the windows version, but these small things are annoying to say the least.
Anyway putting that aside, I was able to download it and get it running without any hitches on Windows 7. The problem arised when trying to get CFEclipse installed in to the 64bit Eclipse version, and although that is another story I got that to work eventually too.
Tags:
Coldfusion, Eclipse
It appears that not to many people know this, and it isn't as hard as one might think. When we install the CFEclipse plug-in into Eclipse, it will set itself up for the associations that CFEclipse needs which is ColdFusion files. Which is fine if the user only wishes to edit source files, and by default Eclipse will then use the association from windows to display or edit any file association it doesn't know about.
Tags:
Coldfusion, Hibernate
In a previous post I touched on how you can use hibernate to return paginated data, today I am going to show how to use hibernate to filter the results returned from a query.
Tags:
Coldfusion, Hibernate
One of the things that has never really been easy is pagination within Coldfusion. And we all now know that Hibernate will be part of the core of Coldfusion now, but what we dont know is how much easier this will make our work.
With the addition to some extra coding by Barney he has written cfgroovy which also allows for the adoption of hibernate in Coldfusion now.
Tags:
Coldfusion
It seems that a lot of people aren't aware that this is possible, there are a few things that I dont like and with the announcement of Bolt this may become a better integrated solution but one will have to wait and see
Anyway if you missed it.
Tags:
Coldfusion
A while ago there was a question in one of the mailing lists that asked if there was an equivalant to the JavaScript split function.
Tags:
Coldfusion
After having a discussion on backwards compatibility, and future direction in that Application when it comes to bugs.
We all know how easy it is to develop in Coldfusion, we know how much work can be saved from this wonderful language. but the one thing that is never addressed is the Life Cycle of an Application.
Tags:
General, Coldfusion
Well I think by now and unless you have been hiding under a rock, you would have all heard about the new IDE codenamed Bolt.
So what is Bolt, well at the moment not 100% sure. However what I can speculate on is what Adobe might have planned.
Tags:
Coldfusion, Java
After reading an interesting discussion on whether we should use getters / setters, and the views that have been discussed. Which is also a little close to my heart as well, and in some way my logical thinking asks the same question.
Tags:
General, Coldfusion
Well the title for this one was a little hard to describe, but sort of fits this.
Anyway one of the things that I have seen all too often in the mailing lists, is can I get such and such or there is a question regarding comparing a couple of products.
Don't get me wrong, if I could do it in ColdFusion I would too. But the reality is that ColdFusion really has no standard to coding, frameworks are all different so integration can always be a pain in the butt.
Tags:
Coldfusion
Well as we all should know Adobe is working on ColdFusion 9, and from what is publicly available the product is sounding very interesting.
Tags:
Coldfusion
Five years ago when I got back into the industry, after taking a break for awhile. I found that the amount of jobs for ColdFusion, short to say the least.
Tags:
Coldfusion, Flex, Java
When the news of what ColdFusion may or may not have in the next release, people have sparked a lot of discussion to adopt AS3 into ColdFusion. However I am just not going to agree it ever be adopted, and for many reasons.
Now after having said that there are some other options.
Tags:
Coldfusion, Coldbox
Now that this website now uses coldbox as it's main framework, I added support for multiple languages. The one thing that I found a breeze was integrating the resource bundle into my application.
It was a huge learning curve, as time wasn't on my side for awhile. As I was on holidays for a few weeks, I sat down and began planning the change. The one change is resource bundles, and having different languages.
Tags:
Coldfusion, Ajax UI
Up till recently I had ignored the new ajax UI tags, features that have recently been added to ColdFusion 8. I came across one little problem, and it left me wondering, how did this get added with very little config support.
Now before you start thinking about it, have a read and let me know if you have other problems. Similar to this, or lack of thought that could have been improved much better.
Tags:
Coldfusion, OpenBD
One of the things that I like about openBD, is that if the tag or function is not there. I just write it, and be done with it.
However unlike openBD, I can't do this for Coldfusion though. Except go through the process of asking for it, and cross my fingers.
Tags:
Coldfusion, OpenBD
I have been beginning to use this more and more, and one of the things I have to say is that most things I have thrown at it openBD has been up to the challenge.
Tags:
Coldfusion
Well maybe not, but it was worth the attention grabbing:-)
I cam across a post the pther day and was curious, why did this change was it because of a know bug or was it because a user thought it would be better.
Tags:
Coldfusion
I am bloggin this here, this is a post that I made on another blog. And I am sorry for you small amount of AS3 developers, but I see no need for it to be included as part of Coldfusion.
Feel free to make your comments, but unless there is a very compelling reason other than why learn another language is not a reason. I mean you aleady had to do that, when going from Coldfusion to Flex anyway.
Anyway here is my comment that I made.
Tags:
Coldfusion, OpenBD
If you are like myself and I doubt there are many that are also doing Java development as well as Coldfusion, I ran into a gotcha with setting up OpenBD under Eclipse.
Tags:
Coldfusion
I just wanted to post this as a clarification to a post that was made in the cfaussie mailing list. A thread that begun as Coldfusion is not a programming language.
Well the fact is Coldfusion is technically a scripting language, defined as a markup language.
Tags:
Coldfusion
I only just came across this post today, and it is a fairly lengthy post. However there seems to be more bitterness between to the two companies (Adobe and New Atlanta), that really did not need to be mentioned.
I for one welcome the fact that Bluedragon J2EE is going to be open sourced, and I make no apologies for being vocal about its benefits either.
The following post is by Adam Lehman (Adobe).
Open Source Could Be Last Hope For BlueDragon
Now the question is that it might be seen as a last ditch by New Atlanta, however some of us more experienced developers are welcoming the move as well as an opportunity to enter an area that has made it very difficult for Coldfusion to migrate into.
First let me also say this, there is a lot of stuff that this post goes into. And the one thing that I will not argue with, is the fact how feature rich Coldfusion actually is.
So now lets look at the competition, and why they are very succesful in the market that they are in.
Java: This is a core framework for developers to build an application from, and is not feature rich nor does it need to be either.
.Net: As with Java this framework is again for developers to create an application, and itself is not feature rich.
I won't go into others, the point I am trying to make is this. Do we as a developer really care that we can purchase an Application that is full of rich features, that we may never use?
I would like to say that the benefits is that yes one day, we may need to and we may never need to either.
So how do I see Adobe's future, well with a feature rich Application like Coldfusion the market is aimed at a very small niche market that is not really growing that much. Sure web developers of websites would love to be able to have all these features, or an intranet may or maynot utilise all these features.
But what about serious Enterprise applications that are in need of integration into other applications. We are not interested in that feature richness. What we care about is that we can utilise other open source applications, to a a backend tier that is not hindered by a pricing model that we think we will never use.
I have been very vocal that the CFML engine could be adopted into the open source market, and the richness that Adobe or who ever else wants to adapt into the engine can the modulise this as separate plugins to the engine.
Think about that for a minute or two, that means that I will only ever pay for what I need. Adobe may not like that idea but the reality is that our company as an Enterprise 2.0 and Web 2.0 company, really care about adopting tools / applications that can work together and efficiently.
And I am sorry to say that Coldfusion in a closed form, and not open source doesn't give us that extra movement.
As I stated, nobody can argue how feature rich Coldfusion actually is. What we can argue, is that the more features and richness goes into the product as a closed application, means that the Application is moving further and further away from more Enterprise developers. Sure as Adam states, they are picking up some more developers via the fact it has flex and the likes integrated. But the reality is this is not a market Adobe should only focus on any more, and I strongly believe that if Adobe adopt the attitude of looking outside that market they will become a more serious player in the market as well.
Tags:
Coldfusion
Now either I am missing something or I am missing something.
One of the things that .Net is capable and very legal is to either have a getter or a setter and even both. But for some reason in Coldfusion if there is one of the set/get is missing Coldfusion will generate an error.
Tags:
Coldfusion
The news that I have been waiting for is almost here, but I will settle for second best. And that is the
BlueDragon/J2EE version will be released under the GPL2.0 license.
This is very good news, and for many reasons.
Tags:
Coldfusion
This will be nothing new to other seasoned users to Coldfusion, or even those who have used extJS.
In a recent post to a mailing list a user seemed to be confused about the use of how cfwindow is actually used when it comes to the browser.
When it comes to these sort of ajax, or UI intertface tags the best thing to remember is that when using a html page, that somewhere on that page there is a container.
For those who are new to it, then think of it as a container that is reformated using JS that will allow you to do things you would think is not normally possible. So if you haven't seen frameworks like extJS, Dojo, YUI etc., then you need to.
Basically what they do is tag an element on the html page that is returned to the browser, and enhance the functionality of design of it. In the case of cfwindow for Coldfusion 8, you need to think of this framework and that it is a normal div in the page, that is controlled by CSS and JS to behave in a different way than you would expect.
Tags:
Coldfusion, Eclipse
Although this is nothing new to Eclipse, or ant but it is not really used that much in the Coldfusion Development world.
Well at least I rarely have seen anyone using it.
Tags:
General, Coldfusion
How much longer is Adobe planning on keeping us 64bit users in suspense, I think that it is about time that they helped us out here.
Tags:
Coldfusion
I have started to use this on one of my clients, and instantly found a condition where the line debugger will not fire. I can see why the break point doesn't fire, as it says the reason why. But the question why does it actually say this.
Tags:
Coldfusion
In one of my previous posts I showed how to use the new cfgrid, and to also do proper MS SQL 2000 / 2005 pagination with the code.
Even though Coldfusion will only return the required information, it makes sense to get the query to be as quick as possible as well.
Today I am now going to take that example and add a couple of extra functionality to the cfgrid.
Tags:
Coldfusion
I have to ask Adobe one question, what the hell are you thinking by releasing Coldfusion 8 with no Windows 64bit support?
Tags:
Coldfusion
For the length of time that this product has been in development, the one thing that has annoyed me the most is the lack of builds when fixing problems in the beta stages.
I have worked as a programmer now for 27 years, in that time I have also been a beta tester for Coldfusion for 10 years, and have also worked in the games industry in my teenage years as a Tester and I can tell you that the length of time between builds in the software development of Coldfusion has always been an issue with me.
Tags:
Coldfusion
After working on a similar thing for a client using extJS I decided to try the same thing in the new Ajax/UI features of Coldfusion 8 and boy was it easy to do.
I wish that the client could afford to upgrade to CF8.. Anyway the following is a reference more for people looking to do the sql code for this new feature.
Tags:
General, Coldfusion
Awhile ago I made some very strong opinions against a Content Management System written in Coldfusion, and even though the developers and people who support the product are great developers. It shows a lack of foresight and direction that Open Source Software needs to adopt to survive.
Tags:
Coldfusion
There has been a bit of a discussion about this in the last few days, and the answer is Coldfusion is not an OO language.
Tags:
Coldfusion
One of the most common questions ever asked is why onSessionEnd is not firing, and sometimes it just needs that little bit more of an explanation.
Tags:
Coldfusion
Awhile ago when developing some Dojo widgets, I need the ability to interact with Coldfusion and create a proxy service call CFJsonService, now it seems that the RESTful way of doing webservices just went up a notch.
Tags:
Coldfusion
When developing applications, most people do not take into consideration that things may change. Or some framework you chose to use ends up not being the framework that you need to do the job with.
ORM's are one of these frameworks that give you an abstraction layer that just can't be beaten.
Tags:
Coldfusion
The answer is it is, one of the major things that has been imporoved over time is that Coldfusion gets optimised each and every release.
But there is a downside that larger companies seem to be all adopting, and it is no longer Coldfusion.
Why is that?
Tags:
Coldfusion
You know one thing that I do not tolerate easily is a fool, and when someone jumps on a bandwagon and can't be bothered to read the facts.
This week I publicly made a statement, this statement was not made lightly and it was in context to the thread in question.
Till.......
Tags:
Coldfusion, Farcry
One of the things that is important to me and most developers that I know, that I value any form of opinion. Is that when you look at evaluating something it has to meet certain criteria.
Tags:
Coldfusion, UML
I have been doing UML design for a few years now, and one of the things that I really would have loved was the ability to create Coldfusion code from these designs.
Tags:
Coldfusion
Awhile ago as posted on the cfaussie mailing list, a user was having problems with paths. I am not sure what the exact problem is the user was having, nor do I know how he was extending the Application.cfc.
But here is an example that works under Coldfusion 8, so I will assume it should also work under Coldfusion MX7.
Tags:
Coldfusion
I came across a post the other day, and the problem was that the date expected was not what was being returned. It seems that a lot of people, and I was guilty of this in the past.
The person was seeing a date difference of one day, so what would be the cause of this you ask.
Tags:
Coldfusion
Well I would love to say that I have something to give to the winner, sadly I do not. However I am going to approach Adobe and see if something can be organised.
Tags:
Coldfusion
First of all, this is about coldfusion and why I think Adobe might not understand the market.
While thinking away, I was wondering why open source is as popular as it is. Then being the noble coldfusion developer that I am, I looked at where it is now and why it is still not where it could be.
Tags:
Coldfusion
One of the other cool new features is the Per application settings in Application.cfc.
This allows for the following to give you mappings based on your application.
<cfset THIS.mappings["myMapping"]="c:\inetpub\MyMapping" /> The only drawback at this stage is that it is recreated each and everytime the Application.cfc is called. This has a drawback to the following line of code.
<cfset THIS.mappings["/myMapping"]=ExpandPath("../../Frameworks/Reactor/Reactor") />
I had made a suggestion that, this should be available to be kept in the application scope somehow. So that you could do this in the OnApplicationStart instead and have only have it set one time.
However as much of a pain it is to not be able to write simple code like that, a user can get around it by doing this.
<cfset this.mappings['/Reactor'] =
getDirectoryFromPath(getCurrentTemplatePath()) &
"../../Frameworks/Reactor/Reactor" />
Seems to be a waste to me, but hey it works.
Tags:
Coldfusion
Now that this has been made public, I can comment on this feature of Coldfusion. One of the things that has annoyed me over the 12 years of developing in Coldfusion is the administrator. Now although I haven't had to much to do with shared hosting I find that this is a very welcome addition.
Tags:
General, Coldfusion, Eclipse
Or maybe its not..
While doing some work on a project the other day, I actually hit compare against local history. Now I had see this here a number of times, only this time I clicked it by accident.
Tags:
Test Driven Development, Coldfusion
I wanted to talk about TDD, or as some call it Test Driven Design either way I am going to discuss what it is and how a developer can really benefit from it.
I once asked an old collegue whether he was using CFUnit, and the response I got was the same that I seem to hear all so often. it is a waste of time and adds to much overhead to the development. The reality is that it does the reverse.
Tags:
Coldfusion
Awhile ago I blogged about the coldfusion engine smithproject, it appears it has now gone open source with the source code available on sourceforge.
Now I know that this is really behind the eight ball with CF8 around the corner, but it does mean that we can invest in a free open source project and enhance it to give us what we need to survive.
The website is smithproject.org
Tags:
Ajax, Coldfusion, Javascript
This week I had the task of trying to fix a site that was moved to another location, and because the database with the sensitive data remained at another location I had to change the JSon methods that I was using.
But I stopped and thought that the amount of work I needed to do, just to fix this was too much there had to be an easier way.
And there was.
Tags:
Dojo, Coldfusion
I am pleased to announce that version 0.1 Alpha of CFJsonService has been released on www.riaforge.org.
Tags:
Dojo, Coldfusion
I was asked by another member at work how does the Json-RPC work with dojo, and for everyone else I am posting an answer here.
Tags:
Coldfusion
I came across a problem where I needed to get 10 random records from the database, my original approach that I used a few years ago worked fine for small amount of records but when I had 18,412 records it just didn't cut it anymore.
Tags:
Coldfusion
I have to say one thing, I have been developing in cf now for over 10 years and Hal is like a legend, or better put a mentor.
But sometimes you have to disagree with these people.
Tags:
Coldfusion
I have to say that since the introduction of this tag, it has saved me a lot of work in the past.
Today while converting some code into a new framework, I discovered a small hiccup with , well at least I think it is a small one but maybe an oversight in the cfml parser.
Anyway the old code had this
<cfsavecontent variable="myStruct.property">
Something to save
</cfsavecontent>
Now this was being used about 13 times in my framework, without a problem. When the requirements for the new framework changed, I had discovered that I needed to make the section of coder that this fell in an associate array.
So low and behold I ended up with this code.
<cfsavecontent variable="myStruct[ArrayCount].property">
Something to save
</cfsavecontent>
Now, seeing as it is a variable, that coldfusion should know it appears that in this case it is not to be. So the only work around that I found was this.
<cfsavecontent variable="temp">
Something to save
</cfsavecontent>
<cfset myStruct[ArrayCount]/property = temp />
Seems silly that it is not able to see that as a CF variable, but hey oversights in the CFML parser has produced some nifty bugs in the past, so this is maybe no acception to that.
Tags:
Coldfusion
Now wouldn't that be a nice, well it seems that it really isn't that far away.
A engine called the Smith Engine seems to have picked up where both CF & BluDragon have left open. Free coldfusion engine. And these guys could use a bit of support, because they state very clearly that they will make it open source if there is a demand for it.
Wow I don't think these guys really know what has hit them.
http://www.smithproject.org
Tags:
Dojo, Coldfusion
I am hoping to start a series of Dojo tutorials, but at the moment I am in the process of getting a specific Coldfusion build.
The reason behind this is that when returning JSon data with Dojo it is all one case, which of course Dojo being a JS RIA framework, requires things to be cased.
So when I have this build, working I'll be starting and maintaining a CF Dojo build.
Tags:
Coldfusion
After having be given a task, and one of the requirements was to produce a prototype of a new intranet application for a version 2 of an existing application. Now as this prototype was to pave the way for the reason to move forward, I had a challenge that some extranet users would be in remote locations and that provided a problem.
Tags:
Ajax, Coldfusion
Currently finishing of a project at the moment, so I haven't had much time to post here. But I thought that the next step in my Dojo series would be to look at extending dojo to create a custome widget and show how easy it is to use this powerful framework.
More Entries