Download Firefox -  a safer, easier to use web browser. Return to iribbit.net - Leap into the online experience! Return to iribbit.net - Leap into the online experience! iribbit.net - Leap into the online experience!

Project News :.

The latest project to launch was the site for Gorilla Offroad Company. Aside from their main site, a social media strategy was develop to launch the company into various industry specific automobile enthusist discussion board communities as well as popular social media fronts like Facebook, Pinterest, and Twitter.


Valid XHTML 1.0 Transitional

Valid CSS!

Section 508 Compliant

powered by: Macromedia ColdFusion MX

made with: Macromedia Dreamweaver MX

What is RSS

XML - often denotes RSS Feed information.

Macromedia - ColdFusion Programming
white horizontal rule

ColdFusion News :.

To bring a little life to my site, I've pulled a couple What is RSS Feeds into this page. You can currently choose between the technology related news stories from the following news sources:



You are currently viewing and RSS Feed from coldfusionbloggers.org.



Running ColdFusion 10 in Distributed Mode
A recent discussion on CF-Talk had a member trying to find instructions for setting up ColdFusion in "Distributed mode" on a CF 11 server. If you have never heard of "distributed mode" you are not alone among CF developers. It's not a common setup... [More]
(Mon, 20 Oct 2014 18:00:08 GMT)
[view article in new window]

ColdFusion Updates
Last week we released security hotfix APSB14-23 for ColdFusion 9, 10 and 11. In addition, ColdFusion 10 Update 14 was released (it includes security hotfix APSB14-23).
(Mon, 20 Oct 2014 18:00:04 GMT)
[view article in new window]

ColdFusion 10 And Java 8
ColdFusion team member Krishna Reddy has posted notes on using ColdFusion 10 support with Java 8 (this is now possible as of CF10 Update 14).
(Mon, 20 Oct 2014 18:00:04 GMT)
[view article in new window]

Win $1000!! ColdFusion 11 Mobile Application Development Contest

ColdFusion 11 provides a single platform to develop, test, and debug mobile applications in one end-to-end workflow leveraging your existing CFML skills.  

The Adobe ColdFusion Team is sponsoring a mobile application contest where the winner will receive a $1000.00 gift card prize.  More details below.  

 

Requirements:

  • The application must be built using the mobile feature set of ColdFusion 11
  • All entries must be received by midnight Pacific Time on December 15th, 2014.
  • All application source code needs to be uploaded to Github
  • Github repo must be public
  • No private submissions will be accepted
  • There is no specific requirement for application functionality
  • All applications need to compile to an android app and be installable
  • To submit your entry, email rakshith@adobe.com with a brief description

Good luck!! 
And please help us spread the word!

 


(Mon, 20 Oct 2014 16:00:07 GMT)
[view article in new window]

Mixing Data And Templates Using A Single ngRepeat In AngularJS
Ben Nadel looks at how to render a list of commingled datasets using a single ngRepeat directive in AngularJS....
(Mon, 20 Oct 2014 08:00:12 GMT)
[view article in new window]

CF Camp Notes: Command Box, Luis Majano
CF Camp Notes: Command Box, Luis Majano

How do we work in CF?
we look in folders, on the web, etc, for pieces of code.
so we have all these pieces of code from various places
not a lot of order, not a lot of package management / tooling

(Book: Core J2EE Patterns)

What is CommandBox --
CLI abstraction
package manager
REPL tool (read eval print loop)
Integrated server
ForgeBox
extensible via ColdFusion ( don't have to know java)
Scaffolding
Automation
etc

this is not *Box only. works for EVERY CF developer

Installation
works for every OS -- win, mac, linux
33 megs
Java 1.7+
still in beta, first release in the next week

it's professional open source. you can contribute if you want

CLI --
ability to execute CFML code
also created an interactive shell ala Grails or Ruby
Usage - OS Execution
Execute CFML Files:
box my app.cfm &
(& runs it in the background, as a background process)

box scripting: *unix
#!/usr/bin/env box
can create shell scripts in CF!

Enhanced Execution
box execute myapp.cfm name=luis

everything is done thru "commands"
that's how you get things done

Commands are separated by namespaces, you can create your own namespaces as well.

Output piping "|"
File redirection ">"
just like other command line tools!

Package Manager --

box.json
package descriptor
declares package metadata
-name, slug, version, author, dependencies, devdependencies, installation details, custom meta data

Where do they come from?
ForgeBox
file zip/tar
directory
git
svn
github
other places too

ForgeBox
Cloud package repo
web gui
community driven
145+ packages

REPL --
Read-Eval Print-Loop
execute code while you're typing it
so from a command line:
a = 3
writeOutput( now() );
...at the command line and the code executes

type "repl" at Commandbox prompt and your'e in "REPL mode"

Integrated Server --
to take the pain away from setting up a CF server.
integrated w/ Undertow -- full servlet container
keeps track of servers, no WEB-INF needed
server - start, stop, restart, status, etc,
right now only works on Railo but working on CF10 and 11 support for later.

Scaffolding --
example:
init
coldbox create app "myapp" --installColdBoxBE
etc

just build a script to completely scaffold out an app, with dependencies, testing, etc.


Automation --
run - execute any OS binary
- integrate with grunt/gulp/ant

execute
-enhanced execution
-can accept parameters

recipe
-like a "batch" file !#/usr/bin/box
runs multiple commands
can accept parameters
my.recipe.boxr
"boxr" extension
can execute boxr from the OS
will have "handles" soon
-- so you can double-click in your OS and execute it that way too

.boxr file contents:
mkdir $1 (positional params just like in an OS)
cd $1
init $1
run git init
touch .gitignore

#create a codebox app
coldbox create app $1 --installColdBoxBE
cold box create handler contacts index,save,delete
etc

then at command line: "recipe my-recipe.boxr MyAppName"

Everything is built via WireBox. That's the "bootstrapper" behind all of this.

To search for new commands:
forge box search norris
finds any commands that include the term "norris" (i.e. the Chuck Norris command)

Roadmap --
next portion is "task runners"
bring Ant / Grunt type power to CF
Adobe CF Engine integration
ForgeBox 2.0 (in a couple weeks)
ForgeBox Enterprise -- for companies that don't want to put things in a public repo. can have it on your own "institution"
More Generators
Automation / Async

Can download it now via ortussolutions.com/products/commandbox

there's a google group and training/support available as well


(Mon, 20 Oct 2014 06:00:20 GMT)
[view article in new window]

My CF Camp Schedule
Here's the best guess as to where you can find me during the CF Camp conference:

Monday --

9:15 - 10:30 -- Command Box, Luis Majano
10:14 - 11:30 -- Multiply Like Rabbits, Markus Schneebeli
11:40 - 12:30 -- Dependency Injection with DI/1, Chris Schmitz
12:30 - 1:30 -- Lunch!
1:30 - 2:20 -- SEO 101, Maximilian Kwapil
2:30 - 3:20 -- So, you want to "put Facebook on your site" (or app)?, Kai Konig
3:20 - 4:00 -- break
4:00 - 4:50 -- Secrets of a Mura Code Ninja, Grant Shepert
5:00 - 5:50 -- The next Javascript, ECMAScript 6 for those still using 3.1 and awaiting 4.0, Matt Bourke
6:00 - 6:30 -- Raffle
8:00 - 10:00 -- Dinner

Tuesday --

10:00 - 10:50 -- Hidden Gems in ColdFusion 11, Charlie Arehart
11:00 - 11:50 -- SPEAKING: Best Practices are Best, Except When They're Not, Nolan Erck
12:00 - 12:50 -- Event Gateways, Gert Franz
12:15 - 2:00 -- Lunch!
2:00 - 2:50 -- Get Grulping with JavaScript Task Runners, Matt Gifford
3:00 - 3:50 -- Automate your love letter creation with JasperReports, Guust Nieuwenhuis
4:00 - 4:15 -- Closing remarks

I leave on Thursday and am hoping to fill the rest of the time with some sort of sight seeing around Munich, though I haven't made any plans yet. A friend tells me there's a great guitar store here, which might make for a good Wednesday plan!

-nolan


(Mon, 20 Oct 2014 04:11:15 GMT)
[view article in new window]

Cirque du Soleil & Development Teams

On Saturday night after ColdFusion Summit 2014 I decided I would treat myself to a show. I've always wanted to see a Cirque du Soleil performance namely because how good they look but also one of the trainers to Speed Flex Leeds used to perform with them.

Having given my session on


(Mon, 20 Oct 2014 04:00:04 GMT)
[view article in new window]

CF Summit Notes: Monitoring CF: What are my options and why should I?
Monitoring CF: What are my options and why should I? -- Charlie Arehart

How do you know which JVM args and server settings are right for YOU?

(slides are available at carehart.org)

the 3 main monitors

CF Enterprise Server Monitor
-built into CF enterprise (not in CF standard)
-CF Admin, Server Minotoring, Server Monitor, Launch Server Monitor
-in CF 8 and above, about the same in all versions 8 thru 11

FusionReactor
not just for monitoring ColdFusion
can install on a machine to monitor CF, Railo, Tomcat, Solr, ANYthing Java
commercial. available 14 day trial
pricing starts at $24/month per server

SeeFusion
commercial. available for first 2 hours of the CF instance. after that you have to pay
$199 for 2 instances

understand / diagnose CF server problems
-- don't have to just "stare at a monitor" all day
can use it only when you have a problem, and only spend a few minutes in there to track down the problem

Be alerted to problems in advance of the crash

3 main ways to use the monitoring tools
1. user interface / graphs / charts / reports
2. alerts (arriving by email)
3. logs

CF Server monitor doesn't do ANY logging.

Fusion Reactor does lots of logging

3 Most Common Server Problems
High CPU Usage (JRun.exe is really high in Windows, etc)
most people reboot the server when that happens. but there are other solutions that aren't that extreme.
(blog entry on Charlie's site about common causes of this)
often people presume this is b/c of a bad request taking a lot of CPU. that's not always the case. sometimes there are 0 requests and still a high CPU usage

High Memory Usage
could be a Garbage Collection thing.
even after GC has happened, try hitting the "Garbage Collection" button in Fusion Reactor and it will drop again
(minor vs major garbage collection)

CF not responding to requests
maybe too many running requests is causing the issue
in CF ADmin, Request Tuning, Max Simultaneous Requests
-- like defining how many tellers are in the bank of CF. as long as there are available tellers, they will work. eventually it may take a long time and that's what's in the "running requests" in Fusion Reactor (or CF Server Monitor).
could happen with or without CPU/Memory issues

other CF diagnostic tools --
CFStat
command line tool. built in to CF. in /bin directory
reports high level metrics
how many requests are running, how many did run, etc.
only about a dozen stats, but better than nothing.
have to enable it in CF admin
it's on the "debugging" page
can also show you how many requests are QUEUED (if all tellers are busy, how many people are waiting in line? that's the "queue").

Windows PerfMon counters --
checkbox in CF Admin Debugging
same info from CF Stat is sent to Perf Mon

in CF10, added Metrics Logging (in DEbugging / Admin page)
every 5 seconds it will write out how many requests are running, how many sessions, etc.

Other non CF tools to consider --

JVM monitoring tools and logs
(not necessary if you're using one of the main 3 CF monitoring tools discussed above)

OS monitoring tools / logs
Task Mgr, Process List in Linux, etc.
EVent logs in Windows
also some 3rd party tools (Windows: SysInternals -- FREE tools from MS)

Web server monitoring tools / logs
sometimes CF is the "victim" and the problem is actually in the web server. CF is waiting for a request that never shows up.

Database server monitoring

Main Admin Settings to tweak based on monitoring tools
Maximum Simultaneous Requests
-- don't just raise it "because". maybe you can fix the problem so you're no longer hitting that limit.
Heap Size
Template and query cache sizes
-- Fusion Reactor has info on this.

Other Main Uses of Monitoring Tools
to watch queries
all 3 tools let you watch what queries are running and SEE the actual SQL that was executed

Stack tracing
in all 3 tools can have JVM tell me what it's doing right now, on THIS line of code in this file, etc.

Session tracking --
Fusion Reactor and CF Server Monitor
both tools can track sessions
people often don't know how many sessions are actively on their server.

All 3 tools also show "uptime"

lots more features too.


(Mon, 20 Oct 2014 02:00:20 GMT)
[view article in new window]

CF Summit Notes: ColdFusion Internals
CF Summit Notes: ColdFusion Internals

(I didn't catch the name of who gave this presentation, which bums me out. Not only because I like to give credit where credit is due, but also because this presentation was one of the Summit highlights for me. I learned a great deal about the internals of CF and how/why certain things can affect the performance of my applications. Very well done!)

life of a CF request
CF is java
java byte code gets created/compiled
goes into apache tomcat

1. Request validation
CF will validate your request

2. Path Resolution
CF uses request URL to resolve the absolute path of the CFM handling the request

3. application resolution
locations application,
creates app scope
invokes the lifecycle method

4. parse
parse the CF using grammar
generate AST using the grammar

5. Bytecode generation
use ASB generation i previous phase and convert it into java byte code

4 and 5 are done by "template class loader"

Request Validation Phase --
We (dev's) are part of request validation
settings in CF for this
i.e. "Request size limits"
Admin / Server Settings, at the bottom os "request size limits"
here you can specify the max parameters a request can have, the max size (so nobody uploads 1TB files, etc)
Request Limits --
(Admin / Server Settings / Request Tuning page)
"Max number of simultaneous web service requests"
by default this only allows 5 concurrent requests
if your app expects a LOT of these, you should increase this.

Path Resolution --
CF will resolve absolute path of the CF handling the request
at this time we have the request URL (http://locathohost/foo.cfm)
from that, we get the virtual path (/app/foo.cfm)
from that we get the Absolute path (c:\wwwroot\app\foo.cfm)
if this isn't available, it will check the Server Mappings and try to find the CFM there
if it's still not available, it will try the web server via a Connector and that will resolve the path for us
You can cache the web server path using an admin setting to speed this up
ADmin -- SErver Settings -- CAcheing, "Cache Web Server Paths"
-- 1st request, uses the Connector. from the next one on, it uses the cached path, gives you some performance benefits, because we're not making more calls to the Connector to get the paths

Application Resolution --
Finds the Application.cfc
Creates App Scope
Involves LifeCycle methods (onApplicationStart, OnError, etc)
How do we find the app.cfc:
check in current directory
if it's found, we resolved it, we can go on to create app scope
if it's not there, we check the parent directory
if it's not there, we go one level up and so on until it's found.
Admin / Server Settings / Settings / "Application.cfc lookup order -- can set this to optimize the folder order in which we look for App CFC

The most important setting in App.CFC is the NAME of the app
we use the name as the key for storing all of the settings
if you don't specify a name, CF creates an unnamed app
might face weird issues because of that

CF can disable the creation of unnamed applications
Admin /Svr Settings / "Disable creation of unnamed applications"
CF will throw an error if you forget and try to do this in your code (after you turn on that setting)

Parsing --
Template Reader reads the CFM
Java CC grammar
returns an "Abstract Syntax Tree" (AST)
Templat Reader --
Reads the CFM and creates the stream

Automatic Encoding identification
start
is BOM present? (byte order mark)
if available, uses that appropriate encoding
but not all encodings have a BOM (only 6 or 7 of them)
if not present, CF will try to guess
for that cf uses "icu4j" -- open source library for guessing the encoding of a file
if it's a 100% match, CF uses that
if less than 100% match, uses the system encoding.

Dfile.encoding = "" in CF config to specify the encoding to use.
can also use cfprocessingdirective tag to specify the encoding of a particular file

Byte Code Generation --
we generated the AST before
from here we generate Byte Code Engineering Library (BCEL)
you can see the classes generated in this folder

Template Classloader
special class loader.
has a cache associated with it
when a file is loaded, it's put into this cache. 2nd time the file is requested, it's pulled from this cache
if not there, it' parses the file (if it is there, it checks the last modified date to see if it needs to be re-parsed or not)
generates the byte code
loads the byte code

Most CFCs in Production don't change after every request
File operations are expenses
so enable Trusted Cache, to turn off these file IO's and improve performance

5 Main phases for CF filter chain
1. Request Validation
2. Path Resolution
3. Application Resolution
4. Parsing
5. Bytecode generation

Classloading --
can set the class paths in the JVM settings
-Dcoldfusion.classpath = "/lib/updates,/lib/home"

in JVM.config
Class loader checks the paths you give it in order
so checks /lib/updates first
if it's not there, checks /lib/home second

RESTful web services --
"a software system designed to support interoperable machine-to-machine interaction over a network"
"machine to machine"
there should be 2 machines -- a client and server
client can be anything (java, javascirpt, whatever)
server is CF

a web service is RESTful when 4 contains are satisfied
1. addressability
2. multiple representations (xml, json, etc)
3. uniform and constrained interfaces
-- get, post, put, delete
4. stateless communication
for scaling of the server. shouldn't save any client-side specific data. client will send all the client related data in the request.

How does a RESTful web service work?
2 logical sections

registration
usage

but why register it?
if it's just a CFM, why register it?
registration is the process of making your service ready for use
so
/students/StudentService.cfc?id=112
would be
/students/112

inputs: application root path and the service name

register application
CF scans for REST CFCs (resetsettings.cfclocation)
then CF generates the skeleton class (restsettings.skipCFCWithError)
then annotates the skeleton (the annotations are what make it into a web service)
then registers it with Jersey


(Mon, 20 Oct 2014 02:00:20 GMT)
[view article in new window]


© The connection to the CFBLOGGERS_FEED's RSS feed has timed out - please try again later. We are sorry for any inconvenience this may have caused.