• Home
  • About George
  • Contact Me
Blue Orange Green Pink Purple

Radios and JQuery and IE8

I have to send a thank you out to pixeltastic.com for their post: Selecting Checked Radio Button with JQuery in IE8 it really saved me some time. I was trying to figure out why I couldn’t get the checked qualifier to work for IE8 when it worked everywhere else. The best part about this is [...]

Read More 0 Comments   |   Posted by George
Apr 20

YUI Loader – “other is undefined”

So today I was getting the nice cryptic message of “other is undefined” when I was trying to call loader.require on an object.  Once I dug through my code I was trying to replicate from another section of the site, I realized that the details behind this was leaving out the loader.addModule section of code.  So if you come across this, take a look through your addModule sections to make sure you have all of the pieces you’re trying to add onto the code!

Read More 0 Comments   |   Posted by George
Apr 20

Replacement for JavaScript Split

So the other day I was working on some JavaScript processing and it was working great in Firefox.  When I went to use it in IE7 it didn’t do a darn thing right.  I couldn’t figure out what was going on until somewhere I read that the Split function wasn’t the same in all browsers.  That was one of those WTF moments for me, but after some digging I came across a script by Steve Levithan that really does the job well.  Since that site is currently down, I’m including a copy of the file here for people: NewSplit.js.  If you want to simply view and copy, here it is as well:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
Cross-Browser Split 0.3
By Steven Levithan &lt;<a href="http://stevenlevithan.com">http://stevenlevithan.com</a>&gt;
MIT license
Provides a consistent cross-browser, ECMA-262 v3 compliant split method
*/
 
String.prototype._$$split = String.prototype._$$split || String.prototype.split;
 
String.prototype.split = function (s /* separator */, limit) {
// if separator is not a regex, use the native split method
if (!(s instanceof RegExp)) {
return String.prototype._$$split.apply(this, arguments);
}
 
varflags = (s.global ? "g" : "") + (s.ignoreCase ? "i" : "") + (s.multiline ? "m" : ""),
s2 = new RegExp("^" + s.source + "$", flags),
output = [],
origLastIndex = s.lastIndex,
lastLastIndex = 0,
i = 0, match, lastLength;</code>
 
/* behavior for limit: if it's...
- undefined: no limit
- NaN or zero: return an empty array
- a positive number: use limit after dropping any decimal
- a negative number: no limit
- other: type-convert, then use the above rules
 
*/
if (limit === undefined || +limit &lt; 0) {
limit = false;
} else {
limit = Math.floor(+limit);
if (!limit)
return [];
}
 
if (s.global)
s.lastIndex = 0;
else
s = new RegExp(s.source, "g" + flags);
 
while ((!limit || i++ &lt;= limit) &amp;&amp; (match = s.exec(this))) {
var emptyMatch = !match[0].length;
 
// Fix IE's infinite-loop-resistant but incorrect lastIndex
if (emptyMatch &amp;&amp; s.lastIndex &gt; match.index)
s.lastIndex--;
 
if (s.lastIndex &gt; lastLastIndex) {
// Fix browsers whose exec methods don't consistently return undefined for non-participating capturing groups
if (match.length &gt; 1) {
match[0].replace(s2, function () {
for (var j = 1; j &lt; arguments.length - 2; j++) {
if (arguments[j] === undefined)
match[j] = undefined;
}
});
}
 
output = output.concat(this.slice(lastLastIndex, match.index));
if (1 &lt; match.length &amp;&amp; match.index &lt; this.length)
output = output.concat(match.slice(1));
lastLength = match[0].length; // only needed if s.lastIndex === this.length
lastLastIndex = s.lastIndex;
}
 
if (emptyMatch)
s.lastIndex++; // avoid an infinite loop
}
 
// since this uses test(), output must be generated before restoring lastIndex
output = lastLastIndex === this.length ?
(s.test("") &amp;&amp; !lastLength ? output : output.concat("")) :
(limit ? output : output.concat(this.slice(lastLastIndex)));
s.lastIndex = origLastIndex; // only needed if s.global, else we're working with a copy of the regex
 
return output;
};
Read More 1 Comment   |   Posted by George
Apr 18

OO Form Processing

Read a few interesting posts recently about Object Oriented Form work. Going to have to try this out myself. Here are some examples if you’re interested:

http://www.halhelms.com/blog/index.cfm/2009/4/8/Form-Processing–the-OO-Way–the-Movie

http://www.bennadel.com/blog/1557-Object-Oriented-Form-Helpers-And-Reusing-Form-Validation-On-The-Client.htm

Read More 0 Comments   |   Posted by George
Apr 07

Web Service Run Around

I was recently tasked by my bosses to make some changes to a web service that existed on one of our clients sites. I’m not an ASP.NET guy – but it turned out to be what it was currently written in so I wanted to give it a shot and figured it would save me time on actually getting it done. That should have been my first clue that I was way off!

So I started off by having to upgrade the .NET library – the old app was written on version 1 something of .NET and the free Visual Web Developer forced it into an upgrade in order for me to even look at the code. I had tried using Eclipse first but that just have any way to compile out the ASP code. So after upgrading, we went through some hoops getting the server upgraded and also one crash of the IIS Server by not setting the DefaultAppPool properly. Like I said – not an ASP.NET guy!

So after that’s all compartmentalized, we start running into 401 – User Not Authorized problems. Turns out we had the server set to accept client certificates and were unable to connect through with them. Got that changed over and both the old service and the new seemed to be accepting the login scheme I copied over without a problem. When I went to run my new functionality though I just couldn’t get it to work. So I changed the name of my .asmx file from the default Service1 to NewService and went through the associated hoops trying to get everything running and compiling again. That was fun in and of itself. After uploading it, I could no longer connect when pointing to NewService. It seems that even though Service1 was in a different directory and application for ASP.NET when I was calling them – the SOAP URLs were pointing to the right places – that my calls to the app that now had NewService had been calling the Old Service1 instead.

So again I ran into the 401 Unauthorized problems. Started digging some more and there were a couple of things that I was able to finally find after much reading on the Internet. It seems that most suggest using anonymous browsing for the web service application directory. We couldn’t do that because of security requirements on the project, so we had it set to Integrated Windows Authentication under the Directory Security tab. However ColdFusion wasn’t able to talk to it then. Once I added Basic Authentication and gave it the proper domain, I was then able to connect like a champ and hit the newly created service!

So don’t forget to make sure your IIS Settings are what they should be, and then add to that the name changes. Now I just need to figure out how to create a test environment for this so that I can compile and make changes without taking down the service for the clients while they are working!

Read More 0 Comments   |   Posted by George
Apr 01

CFDocument Style Fixes

Okay – so I had spent a good bit of time working on a few pages that I rendered as both HTML and PDF and they worked like champs, made it through one round with the client even.  Came back the next season – this week – to prep them for the next go round, add the changed fields, clean up some other code, and wouldn’t you know it but the HTML rendered fine and the PDFs didn’t.  This threw me for a total loop.  I wasn’t sure what had happened.  I found this post – cfdocument post by rip – and thought that may be the solution, but it wasn’t working either.  I got the pages to be XHTML strict even!

Then a co-worker suggested we just copy all the CSS into the pages.  Wouldn’t you know it but putting the CSS in a style tag on the page itself rendered the items as they should be.  So to preserve reusability I snapped them inbetween the style tags with a cfinclude.  That’s my suggestion for anyone else having trouble with this kind of thing. And make sure you have the media type with print in there too for your style declaration!

Read More 0 Comments   |   Posted by George
Mar 11

java.lang.StackOverflowError – Solution!

Okay, so this turned out to be a twofold thing. One – I had a circular reference in my ColdSpring file. BeanA needed BeanB and BeanB needed BeanA. The problem was that even though I saw this and had tried to fix it, it wouldn’t solve the problem. I still kept getting the StackOverflowError showing. Then I happened across this post which basically had a thing about the circular references and that you should use a setter injection instead of constructor injection in order to fix the problem. I hadn’t thought of using setter injection for anything other than the things autowired by ModelGlue such as my services in my controllers or the beanfactory so this was a new way of thinking of it for me. The beauty of it though was that it worked! My code now compiled.

My thanks go out to Dan Wilson for getting me pointed in the right direction on the google group for Model-Glue!

Read More 0 Comments   |   Posted by George
Mar 11

java.lang.StackOverflowError

I’ve been working on building a fairly large Model-Glue application and it’s been up and running for going on 4 months. Yesterday I was working on some of the planned enhancements when I ran into a 500 ROOT CAUSE: java.lang.StackOverflowError problem. I’ve tracked it down to one instance of adding one referenced bean onto one of my service instances. I can comment out the bean and everything compiles. I can change it to one of my DAO beans and it works, I change it to another of my service beans and it causes the StackOverflowError again.

I have moved some of the ColdSpring.xml out to includes to reduce the file size and that has had no effect. I updated to 1.2 and had no change either. I’ve seen some minor changes in the rest of the error stack when I change up the service I’m including, but it’s more often than not this as the next couple lines:

at coldfusion.runtime.LocalScope.bindInternal(LocalScope.java:373)
at coldfusion.runtime.LocalScope.bindInternal(LocalScope.java:387)
at cfAbstractBeanFactory2ecfc1246833417$funcRESOLVEBEANNAME.runFunction(coldspringbeansAbstractBeanFactory.cfc:193)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2471)

followed by a repeating of the above with several other calls to the cfAbstractBeanFactory instance. I know I’m not providing much, but I’m absolutely stumped as to what can be causing the problem. The bean I am adding that causes the error is also used as a ref bean on another bean without causing the problem. Any ideas that I could poke around at would be much appreciated!

Read More 4 Comments   |   Posted by George
Feb 25

ColdFusion Server Monitor

So last week we had a site running amok on one of our CF8 servers so we decided to use the ColdFusion Server Monitor to see if we could figure it out. Well starting the thing pegged the server’s processors to 100% and we couldn’t get anything done, so we rebooted the machine. After reboot – since it was the middle of the day and all – we noticed that several sites were not coming back up. So we started looking around on the Internet for ways we could fix it. The sites that weren’t coming back up were all Model-Glue run so we thought it might be something in that. Producing the CFLoop error when the application was trying to compile for the first time.

Well after some digging, I came across several posts by people mentioning how Sean Corfield had talked about the JRE version included with CF8 was experiencing a bug in the way it compiled components – something that any Model-Glue application is going to do extensively at startup as it tries to build the entire library for ColdSpring. You can read about it here - ColdFusion 8 And Java 6.  So we changed out the JRE version overnight to the newest release of Java 6 Update 12.  We were still having problems with the sites compiling though, so we switched to 11.  Still no joy.

So we were getting a little concerned – it was going on a full day now since we had the sites go down.  So we said – well let’s try that Server Monitor again and see if we can tell what’s happening with it.  So we fired it up expecting the worst and saw that all of it’s options were still running.  Basically, restarting the server hadn’t set the Server Monitor back to an Off position.  Once we turned all the options off and saved it, the two down sites started again.   Unbelievable!

So the side note is, having found the article by Corfield, we have a more responsive version of ColdFusion 8 with Java 6 running on our server.  I think I can notice a difference, not sure if the clients can or not, but I know it made for a happy day once everything came back on line.

Read More 0 Comments   |   Posted by George
Feb 24

YUI Tab View – Getting the BeforeAction to work

So I’ve been building a section of a website using the YUI TabView and having some difficulty getting the beforeActiveTabChangeevent to work right.  Now I was using version 2.5.2 first, and in that version, this event doesn’t even fire.  So I tried using beforeActiveChange on the tab itself.  I could get this to fire, but returning false as the documents say to do, would not stop the event from continuing.  So I did some digging, and found a post somewhere out there – I’ve lost it now – saying that 2.6 fixed this problem.  Well I tried that for a little while, and found that in 2.6, TabView’s beforeActiveTabChange does indeed fire, but it has the same problem that beforeActiveChange had in 2.5.2 – returning false does nothing.

Well as you can imagine, I found this to be frustrating.  So I started doing a little more digging – had a post on the YUI Developer boards go unanswered, googled a bunch of things – and then stumbled on to the face that 2.7 had been released.  Well I tried using that – figuring what the heck – and it worked! beforeActiveTabChange stopped the tabs from changing if false was returned!  Hallelujah!  Now I haven’t tried to see if beforeActiveChange at the tab level works now or not, but I’m just so happy to have the TabView event work.

Read More 1 Comment   |   Posted by George
Feb 23

Subclipse Merging

So today I was attempting my first merge using Subclipse and boy was that fun to figure out.  Luckily I stumbled across this post:

Subclipse Merging

which at the time was unavailable, so I used the google cache version found here:

Cached Subclipse Merging

The basic summary to the post is this:  Since I was trying to merge the changes from my production code into my branch/development copy to have an updated copy to deploy on the development server, I needed to get a changeset from the production code – version I branched out – 1 (that part I still don’t understand, but it worked) to the head revision – and merge that with my working copy.

I chose to put it all in a new working copy with a new version that I plan to release as my new production copy – but however you do that is your own choice.

Read More 0 Comments   |   Posted by George
Previous Page 3 of 4 Next Page

Web Development By George

  • About
    About me. Edit this in the options panel.
  • Photo Stream
  • Categories
    • ColdFusion
    • coldspring
    • Databases
    • Design
    • Flash
    • Flex
    • Internet
    • JavaScript
    • jQuery
    • Model-Glue
    • Personal
    • Subversion
    • Uncategorized
    • YUI
  • Recent Articles
    • Radios and JQuery and IE8
    • Coldfusion, Flex, and SSL
    • Leaving it to the Experts
    • CFAjaxProxy Problems or RTFM
    • I love the Internet
    • Interesting ColdFusion Survey
  • Archives
    • November 2011
    • May 2011
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • November 2009
    • October 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
  • Search




Add to Technorati Favorites

  • Home
  • About George
  • Contact Me

© Copyright Web Development By George. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Back to Top