May 20, 2010 2:34 PM
| Chris P.
Categories :
ColdFusion
I am in the R&D stages of building a Facebook application for my employer (DealerPeak). I just spent hours trying to figure out why I couldn't get my tab page to show up when being loaded by Facebook. I was getting the following error:
Errors while loading page from application
Parse errors:
FBML Error (line 20): illegal tag "body" under "fb:tab-position"
FBML Error (line 35): illegal tag "body" under "fb:tab-position"
Runtime errors:
URLExceptionInvalid scheme for url (javascript:history.back())
[More]
I have seen instances where I'm on a form on a website and there is some mechanism by which the textarea automatically grows to fit what I'm typing. I've also seen this not work too well, and eventually half the bottom line is cut off or the bottom of the textarea has expanded further than it needs to.
A while ago a super simple solution to this popped into my head. And today I happened to need just such a solution. So, I wrote up a vary small JavaScript function to add to our utility library.
[More]
At work, we had some old display code that was supposed to prevent users from submitting the same form twice. In the form's submit event, there was a window scoped boolean being set. If validation errors needed to be displayed, then the boolean was un-set. And at the very top of the submit action it would just 'return' if it saw the boolean. Maybe it will make more sense if you look at the submit event handler.
[More]
First up was Server.cfc. However that is a bit of a misnomer. You can actually point the administrator to any CFC. That CFC simply needs to have an onServerStart() method. This should be quite a boon for getting sites that have an expensive (read "slow") first request all spun up and ready for traffic.
Next up was nested cftransaction. Not a lot to explain here. From what I saw, it should satisfy you if you ever said to yourself "I really wish I could nest transactions in CF".
Then we got introduced to cffinally/finally. I personally have never used this even in languages that I have access to it. Basically it gives you this syntax: "try { ... } catch (e) { ... } finally { ... }". If someone wants to explain an compelling use case for "finally", I would love to hear it...
And then there was cfcontinue and it was good. Seriously! I mean, I'm excited about this one and at the same time amazed it took them this long.
[More]
Peter looks at projects in roughly 3 categories.
- Configuration < $8000 - free spec (just set up something already built)
- Customization < $50,000 - paid spec (requirements gathering, setting up and customizing packages)
- Exploration $50,000 - no spec (hard to even define scope)
Configuration
These projects are all about efficiency. You will need to simplify the specs for these types of projects. You will need to have/use configurable code to implement deliverable. That could be via something with a setting file or configuration wizard. In some cases you might use DSLs (domain specific languages). And for very simple stock types of things you can even reuse prior specification documents (copy and paste, or compile stock specs as you go).
Customization
I think here he was talking about a site that will use a lot of code that you or someone else already wrote.
[More]