October 17, 2014

Adobe Technology Vision & Strategy in the Enterprise

9:00 am - 10:00 am
1 hour
Bristlecone 5

This two hour session will give attendees a hands on introduction into the mobile features of ColdFusion 11. Using their own equipment attendees will go through the mobile development process and have a working application on their device at the end of the session. This session will give a brief overview of project setup.

Attendees will learn to use some of the more advanced APIs that are available such as Camera, File, and Geolocation. This session will also go over how to take your code and generate an installable application.

Note: It is not necessary to attend the Day 1 session to attend the Day 2 session and vice versa. Both sessions will cover different material but the Day 1 session will explain project setup in more detail.

Topics Covered:

  • Very brief recap of project setup process
  • Camera API
  • Filesystem and File upload
  • Geolocation
  • Packaging and Deployment

This session will be presented by Dave Ferguson and Simon Free jointly.

10:15 am - 12:30 pm
2 hours 15 minutes
Bristlecone 7

Reviewing code techniques that can be employed which easily ward-off cross site scripting, SQL injection and other attacks from within the your code set. These techniques go beyond using CFQUERYPARAM and include defending items from the three major attack vectors: CGI, Form & Cookie. Techniques accepted and published by OWASP.

10:15 am - 11:15 am
1 hour
Bristlecone 9

ColdFusion has been driving high performance, mission critical websites for as long or longer than most of its competitors. Being able to scale environments in a way to maximize uptime with clustering and failover has been a necessity for any site, as traffic and business priority demands increase. With the new and improved PDFg service built for high performance PDF generation, ColdFusion continues to deliver with performance in mind. This session will discuss clustering options and scalability, with a focus on taking advantage of the current feature set to ensure uptime in your architecture. We’ll talk about how to cluster ColdFusion servers and the new PDFg services, load balancing and failover options, and session management for scalability.

Topics covered:

  • Clustering options for ColdFusion
  • Failover
  • Load balancing
  • Clustering PDFg services for performance and scalability
10:15 am - 11:15 am
1 hour
Bristlecone 5

Dependency Injection is a very common pattern used in modern web development. It's not specific to Java or ColdFusion or JavaScript...but it's equally awesome in all of those! And in other languages too! We'll look at some of the problems that Dependency Injection helps to solve; we'll look at some related concepts such as "aspect oriented programming" (AOP), and inversion of control (IOC); and show you how adding a DI framework to your app might be just the magic your app needs!

Target Audience People that want to know what Dependency Injection is and when/why I should use it. You've heard other terms like "inversion of control" and "aspect oriented programming" thrown around and aren't sure what they mean. Maybe you're a FW/1 user and want to know why everyone is excited that the new version of FW/1 will include DI/1. Or you just want to know what ColdSpring does -- we'll cover that too. (This talk will not be ColdFusion specific. Java and JavaScript programmers will equally benefit from the content.)

Assumed Knowledge: For this talk we'll assume you are pretty familiar with classes and objects (in whatever language you prefer...JavaScript, ColdFusion, etc). You've built a variety of classes/objects in some of your projects, and are familiar with OO concepts such as inheritance and composition.

Main Points:

  • What is Dependency Injection?
  • When / why would I use this in my projects?
  • Intro to Aspect-Oriented Programming (or AOP).
  • Intro to Inversion of Control (IOC).
  • What is "Bean Management"?
  • Code samples in a variety of languages showing when it might be useful to add some DI magic into your application.
11:30 am - 12:30 pm
1 hour
Bristlecone 5

Adobe PDF's (Portable Document Format) is a powerful way to distribute digital documents and forms. Adobe ColdFusion 11 introduced new tools into the already robust library of existing PDF features available in previous versions. Come find out how to generate both PDF documents and forms as well as collect form data utilizing the PDF features of Adobe ColdFusion.

11:30 am - 12:30 pm
1 hour
Bristlecone 9

You all have been using ColdFusion for a long time and are quiet proficient in CFML language. But do you what is happening internally when you use your favorite features? This session gives an inside view of the ColdFusion server. In this session you will learn about internals of some features like REST services and Web sockets. You can know everything about how Scope search works in ColdFusion. We will also be seeing some interesting server and application settings.

1:30 pm - 2:30 pm
1 hour
Bristlecone 5

WebSockets are here. Are you taking advantage of this technology yet? If not, ColdFusion makes it really simple as of version 10. In this presentation I will cover how easy it is to get WebSockets working on your site. I will also cover real life pitfalls that I have encountered in my own applications, how to debug and overcome.

1:30 pm - 2:30 pm
1 hour
Bristlecone 9

Decisions made in code today, can have far reaching consequences in the future. I'm often asked to help a development team scale an application for better performance. I've collected a number of programming decisions that affect how an application can be scaled up. In this session, we'll talk about what you are doing right now, that could prevent your application from reaching it's potential.

Understand 5 important techniques for scaling ColdFusion.

Understand the ColdFusion specific techniques in wide use preventing an application from using popular scaling techniques.

See code of how to mitigate these ColdFusion specific techniques to provide the same function while allowing scalability techniques.

Look at use cases of how an application was made to scale and discuss the tradeoffs.

Learn to evaluate which areas of scaling would be useful to address certain scalability problems.

1:30 pm - 2:30 pm
1 hour
Bristlecone 7

In this session, veteran CF server troubleshooter Charlie Arehart will present a session that identifies the various options available to monitor CF, from tools included in CF, to third party solutions. More important, he will explain WHY it’s important to monitor CF, and some aspects of these tools that may give you insight to understand problems, which maybe you never even noticed was available in the tools if you’ve had them for years. He’ll cover the CF Enterprise Server Monitor, FusionReactor, SeeFusion, as well as some lesser known tools. He’ll show that these tools are for more than “watching a screen” but about alerts as well, and the value of the alerts and stack trace features to tell you why a request us running long, down to the current line of code. He’ll also reserve a little time to show some of the key problems that can be spotted using such tools, and how.

2:45 pm - 3:45 pm
1 hour
Bristlecone 5

1.5 hour workshop - Learning the basics of TDD & BDD with Lego. In this fun session, you will learn the basics of Test Driven Development (TDD) / Behaviour Driven Development (BDD) through the use of LEGO bricks. We will create failing tests, make them pass and refactor. No code will be written, we will be using LEGO bricks. By working with our hands, the technical concepts that can be tricky to get your head around will be simplified.

What you will learn:

  • Basics of TDD / BDD
  • How to think about design
  • Simple is better than complex
  • Why refactoring is important
2:45 pm - 3:45 pm
1 hour
Bristlecone 9

This session gives an insight into the internals of the bundled Tomcat server and ColdFusion connector. The session helps you understand the routes taken in a request to the ColdFusion server and hacks that power them to go beyond. The session aims to answer your questions around ColdFusion connectors, webservers and tweaks that improve connector performance. Also included, is a sneak peek into getting ColdFusion to work with webservers like NginX.

2:45 pm - 3:45 pm
1 hour
Bristlecone 7

With each release of ColdFusion more security features are added. Many times we hear about them, but are not sure what problems they solve or how they should be implemented. Come learn about the new security features in Adobe ColdFusion 11 and how to start using them in your applications. While we're at is we'll look at some of the new security features that were added in ColdFusion 10 (in case you are a little behind).

4:00 pm - 5:00 pm
1 hour
Bristlecone 9

A software craftsman is only as good as his or her tools, and quite frankly-- most CF developers' tools suck. For years CFML developers have relied on IDEs and text editors for their work, but what about when they wanted to spin up another server, install a library, scaffold out another site, perform a repetitive task, or just try out a snippet of code? The answer is that they did it manually. And what if they needed to do it again the next day? It was the same old story! Even though CFML as a language has modernized over the years, other platforms have advanced in the arena of developer tools while many of us still sit at work all day staring at the same glorified text editor. If you've only ever used CF, you probably don't even realize what you're missing, and it falls in 3 main categories:

  • Power and expressiveness of tools
  • Sharing and acquiring code with the community
  • Productivity through automation

A GUI may provide the lowest entry barrier and initial intuitiveness, but it always comes with limits and restrictions to what you can do, and how easily/quickly you can do it. A Command Line Interface (CLI) is a common paradigm with a simple interface that can support any number of commands for all the common tasks you perform on a daily basis like creating new bits for your application, running tests, installing 3rd party libraries or starting a server. Another useful ability is to be able to run ad hoc CFML code without needing to spin up your CF engine. What if there was a simple text-based API that ran the same on Windows, Mac, or Linux to do all that?

Quick, how do you install the latest version of library XYZ into your site? (Please tell me you're using other developers' hard work and not writing everything yourself). If your first thought was "open up a web page and download a zip file", stop right there-- Brachiosaurus just called and he wants his workflow back. Other platforms have made their name in perfecting the art of gathering community libraries into one standardized format that can be searched for, manage dependencies, and downloaded with a simple command anywhere and any place. Forget the zip files-- what if you could just type "install XYZ" and go get another cup of coffee? And that ABC library that XYZ depends on-- don't worry it will be automatically installed as well.

Some of your day-to-day tasks might not seem so bad. So you create a new site for each new client every month with the same defaults and base libraries. You manually check every couple of months to see if any of your libraries have new versions. Every day you run your unit tests a few dozen times. And every time you need a new controller you copy the last one you made so you don't have to look up the method signatures again. Every one of those tasks should be scriptable and repeatable-- work smarter, not harder! What if you could create a "recipe" for a new site with all the goodies you like and just run the installation and setup with a single line of code to guarantee it was the same every time? Or what if running your BDD test suite was as simple as typing "testbox run"? You don't have time for boilerplate activities all day long, that coffee isn't going to drink itself!

A CLI, REPL, and Package Manager aim to help you be better, faster, and more powerful at everything you do. Come "up" your game and discover the power of CommandBox as part of your new everyday workflow. Go Commando!

4:00 pm - 5:00 pm
1 hour
Bristlecone 5

Microsoft Office is the 'de facto' standard in most business environments. In this session we will look at different ways of integrating with the two most used applications of the office suite, Word and Excel.

MS EXCEL: Come learn how to create, access and manipulate spreadsheets programmatically with the CFSPREADSHEET tag in ColdFusion. Although we will cover basic read and write features, we will also cover more advanced techniques like working with formulas and formatting, creating multiple sheets and even creating dynamic charts.

MS WORD: We will learn how to create, read and edit Word documents using OOXML, Mhtml and RTF formats. This will be accomplished without 3rd party tools, and without installing any software or extra libraries on the server.

FORMAT: Presentation with slides / live code review

4:00 pm - 5:00 pm
1 hour
Bristlecone 7