Ben Forta Director of Platform Evangelism Adobe Systems, Inc.

Transcription

Ben Forta Director of Platform Evangelism Adobe Systems, Inc.
Ben Forta
Director of Platform Evangelism
Adobe Systems, Inc.
1
ColdFusion 8 Is All About ...
Developer
Productivity
Integration
Improved Management
and Administration
2007 Adobe Systems Incorporated. All Rights Reserved.
2
Developer Productivity
Developer
Productivity
2007 Adobe Systems Incorporated. All Rights Reserved.
3
Image Manipulation
ƒ
New <CFIMAGE> tag used to perform image manipulation
ƒ
High level ACTIONs
ƒ
ƒ
Over 50 new Image functions:
ƒ
ƒ
BORDER, CAPTCHA, CONVERT, INFO, READ, RESIZE, ROTATE, WRITE,
WRITETOBROWSER
E.g. ImageDrawRect(), ImageNew(), ImageOverlay(), ImageSetDrawingColor()
Supporting functions:
ƒ
IsImage() function
ƒ
ImageGetBlob() returns an image as a blob suitable for storing in a database
ƒ
GetReadableImageFormats() and GetWriteableImageFormats()
2007 Adobe Systems Incorporated. All Rights Reserved.
4
AJAX Support
ƒ
ƒ
Simplify CFC invocation from AJAX
ƒ
JSON to simplify data consumption
ƒ
New JSON functions : SerializeJSON(), DeSerializeJSON(), IsJSON()
AJAX Wizard
2007 Adobe Systems Incorporated. All Rights Reserved.
AJAX UI Components
ƒ
Create a library of rich controls you can use in your html pages
ƒ
Using DHTML and AJAX technologies
ƒ
Cross browser support
ƒ
Extensible and skinable
ƒ
Sample Controls
ƒ
Rich Grid using <CFGRID>
ƒ
ƒ
Rich Tree using <CFTREE>
ƒ
ƒ
ƒ
Able to make calls back to the server to get tree children
Dual Select Lists using <CFSELECT>
ƒ
ƒ
Support items such paging, sorting, and filtering in the grid
Populate one select list based on the selection of another
Auto-Suggest combo-box using <CFSELECT>
ƒ
Will generate list of suggestions, based on what the user has entered so far.
ƒ
Support a drop down of options, or auto-complete.
Calendars and Date Pickers
2007 Adobe Systems Incorporated. All Rights Reserved.
Improved File I/O
ƒ
New functions to simplify file i/o operations
ƒ
ƒ
FileClose(), FileCopy(), FileDelete(), FileIsEOF(), FileMove(), FileOpen(),
FileRead(), FileReadBinary(), FileReadLine(), FileSetAccessMode(),
FileSetAttribute(), FileSetLastModified(), FileWrite(), FileWriteLine()
<cfloop> can now loop through files incrementally:
ƒ
<cfloop file=“” index=“line” …>
ƒ
<cfloop file=“” index=“chars” characters=“100” …>
2007 Adobe Systems Incorporated. All Rights Reserved.
7
ZIP File Support
ƒ
<CFZIP> for ZIP and JAR file manipulation
ƒ
DELETE
ƒ
LIST
ƒ
READ
ƒ
READBINARY
ƒ
UNZIP
ƒ
ZIP
2007 Adobe Systems Incorporated. All Rights Reserved.
8
Thread Manipulation
ƒ
<CFTHREAD> can be used to create and manage threads
ƒ
ƒ
RUN, JOIN, SLEEP, TERMINATE
Thread exposed metadata
ƒ
ELAPSEDTIME, ERROR, NAME, OUTPUT, PRIORITY, STARTTIME, STATUS
2007 Adobe Systems Incorporated. All Rights Reserved.
9
<CFDOCUMENT> Enhancements
ƒ
Support for bookmarks and bookmark hierarchies, and more
ƒ
TOTALPAGECOUNT and CURRENTPAGENUMBER
can now be used within CFML expressions
ƒ
Support for section page counts
2007 Adobe Systems Incorporated. All Rights Reserved.
10
Reporting Enhancements
ƒ
Templates
ƒ
ƒ
Stylesheets
ƒ
ƒ
ƒ
Design your corporate template to be used from within the wizards or to
be applied to an existing report (design-time templates)
Using CSS define the colors and font styles of your report at runtime (via
the <CFREPORT> tag
Conditional Formatting
ƒ
Format data depending on its value (or any other criteria)
ƒ
Multiple Bands for the same layout area using Print When Expressions,
conditionally include different header or detail bands in your report
Output to HTML and XML
ƒ
A single reporting template for printing and web viewing
2007 Adobe Systems Incorporated. All Rights Reserved.
Server Side Printing
ƒ
<CFPRINT> tag prints PDF files to a specified printer
ƒ
Can send content to local or network printers (list of available printers
is displayed in CF Admin)
ƒ
Provides control over size, rotation, fidelity, color, number of copies,
as well as printer specific options
2007 Adobe Systems Incorporated. All Rights Reserved.
12
CFC Interfaces
ƒ
Create object interface definitions
ƒ
<CFINTERFACE> used in a CFC which can only contain
<CFFUNCTION> and <CFARGUMENT> tags
ƒ
IsInstanceOf() can be used to check if an object is an instance
of a specific interface
ƒ
onMissingMethod() handles any method call which do not exist
2007 Adobe Systems Incorporated. All Rights Reserved.
13
Database Enhancements
ƒ
New database drivers
ƒ
Adds support for SQL Server 2005, Oracle 10g, Sybase ASE15,
MySQL 4 & 5, PostgreSQL 8, and more
ƒ
Additional database driver level logging
ƒ
Nested <CFTRANSACTION> tags
ƒ
New <CFDBINFO> tag, used to obtain:
ƒ
Tables in a data source
ƒ
Table columns
ƒ
Version information
ƒ
Index, PK, and FK details
ƒ
Stored procedure details
2007 Adobe Systems Incorporated. All Rights Reserved.
14
Debugger
ƒ
New Eclipse based ColdFusion Debugger
ƒ
Step through debugging
ƒ
Access to variables
ƒ
Breakpoints
ƒ
Local and remote debugging
ƒ
Supports multiple concurrent debug sessions
ƒ
Debug sessions can be initiated outside of Eclipse
2007 Adobe Systems Incorporated. All Rights Reserved.
15
Attribute Collections
ƒ
Attribute Collections can be used to simplify working with tag attributes
ƒ
Before:
ƒ
ƒ
<CFQUERY NAME=“myQuery”
DATASOURCE=“myDSN”
CACHEDWITHIN=“#CreateTimeSpan(0,1,0,0)#”>
…
</CFQUERY>
After:
ƒ
<CFSET args=StructNew()>
<CFSET args.name=“myQuery”>
<CFSET args.datasource=“myDSN”>
<CFSET args.cachedwithin=CreateTimeSpan(0,1,0,0)>
<CFQUERY ATTRIBUTECOLLECTION=“#args#”>
…
</CFQUERY>
2007 Adobe Systems Incorporated. All Rights Reserved.
16
Implicit Array Creation
ƒ
Implicitly create arrays (single dimensional)
ƒ
Before:
ƒ
ƒ
<CFSET myArray=ArrayNew(1)>
<CFSET ArrayAppend(myArray, “Adam”)>
<CFSET ArrayAppend(myArray, “Ben”)>
<CFSET ArrayAppend(myArray, “Tim”)>
After:
ƒ
<CFSET myArray=[“Adam”,“Ben”,“Tim”]>
2007 Adobe Systems Incorporated. All Rights Reserved.
17
Implicit Structure Creation
ƒ
Implicitly create structures
ƒ
Before:
ƒ
ƒ
<CFSET myStruct=StructNew()>
<CFSET myStruct.product=“ColdFusion”>
<CFSET myStruct.version=8>
After:
ƒ
<CFSET myStruct={product=“ColdFusion”, version=8}>
2007 Adobe Systems Incorporated. All Rights Reserved.
18
Use JavaScript Operators
ƒ
In all CFML expressions:
ƒ
ƒ
++, --, %, +=, -=, *=, /=, %=, &&, ||, !
In <CFSCRIPT>
ƒ
==, !=, <, <=, >, >=
2007 Adobe Systems Incorporated. All Rights Reserved.
19
Miscellaneous
ƒ
<CFSTOREDPROC> now supports caching (CACHEDWITHIN
and CACHEDAFTER)
ƒ
Query caching now works when using <CFQUERYPARAM>
ƒ
<CFFTP> now supports SFTP
ƒ
Built-in FIPS compliant encryption with CFENCRYPT()
ƒ
CFCs now serialize properly (will replicate correctly)
2007 Adobe Systems Incorporated. All Rights Reserved.
20
Performance Gains
ƒ
Significant performance gains!
ƒ
5-8x faster object creation (<CFOBJECT> and CreateObject())
ƒ
Nearly all aspects of the server optimized
ƒ
File / Directory Operations
ƒ
Lots of built-in functions
ƒ
… much more!
2007 Adobe Systems Incorporated. All Rights Reserved.
ColdFusion 8 Is All About ...
Developer
Productivity
Integration
Improved Management
and Administration
2007 Adobe Systems Incorporated. All Rights Reserved.
22
Integration
Integration
2007 Adobe Systems Incorporated. All Rights Reserved.
23
.NET Integration
ƒ
<CFOBJECT> and CreateObject() now support the invocation
of .NET assemblies
ƒ
Local or remote
ƒ
Remote requires a .NET proxy
ƒ
No code changes required to .NET assemblies
ƒ
Automatic conversions of common data types
ƒ
Arrays, Structures, etc…
ƒ
.NET DataTables Æ ColdFusion Queries
2007 Adobe Systems Incorporated. All Rights Reserved.
24
Microsoft Exchange Integration
ƒ
Microsoft Exchange client tags (not Windows specific)
ƒ
Supports Mail, Calendar, Contact, and Task
ƒ
ƒ
<CFEXCHANGECALENDAR> (includes supports recurring events and
responses)
ƒ
<CFEXCHANGEMAIL> (only get and delete are supported)
ƒ
<CFEXCHANGECONTACT>
ƒ
<CFEXCHANGETASK>
Full control over connections and filters
ƒ
<CFEXCHANGECONNECTION> opens a new
connection
ƒ
ƒ
Access to subfolders
<CFEXCHANGEFILTER> used to specify GET
filters
2007 Adobe Systems Incorporated. All Rights Reserved.
25
Microsoft Exchange Integration
ƒ
Open connection
<CFEXCHANGECONNECTION
server=“10.192.16.56”
username=“testUser”
password=“mypassword”
connection=“con1”>
ƒ
Example: Get calendar events for a day
<CFEXCHANGECALENDAR action=“get”
connection=“con1”
name=“calQuery”>
<CFEXCHANGEFILTER name=“MaxRows” value=“10”>
<CFEXCHANGEFILTER name=“StartTime”
from=“7/23/2006 8:00 AM”
to=“7/23/2006 6:00 PM”>
</CFEXCHANGECALENDAR>
2007 Adobe Systems Incorporated. All Rights Reserved.
Microsoft Exchange Integration
ƒ
Create Calendar Event
<CFSCRIPT>
event.StartTime = “7/18/2006 11:00 AM”;
event.EndTime = “7/18/20006 11:30 AM”;
event.Subject = “Discuss CFExchange”;
event.Message = “Feature discussion and demo”;
event.Location = “Room1”;
event.RequiredAttendees = “user1@adobe.com”;
event.OptionalAttendees = “user3@adobe.com”;
event.RecurrenceType = “Daily”;
event.RecurrenceEndDate = “7/24/2006 11:30 AM”;
</CFSCRIPT>
<CFEXCHANGECALENDAR ACTION=“CREATE”
CONNECTION= “con1”
EVENT=“#event#”>
2007 Adobe Systems Incorporated. All Rights Reserved.
On-Demand Presentations
ƒ
<CFPRESENTATION> creates Acrobat Connect presentations
on-the-fly, without needing access to a Connect server
ƒ
Output is SWF, complete with content tabs and audio controls and more
ƒ
Pages can be HTML, SWF, or any body content
ƒ
<CFPRESENTATIONSLIDE> defines specific slides within a
presentation
ƒ
<CFPRESENTER> defines presenters (which can then be
associated with specific slides)
2007 Adobe Systems Incorporated. All Rights Reserved.
28
LiveCycle Data Services
ƒ
Improved Data Services integration
ƒ
Single installer for both ColdFusion and LCDS
ƒ
Integrated installation improves performance, no need for RMI
2007 Adobe Systems Incorporated. All Rights Reserved.
29
Content Syndication
ƒ
<CFFEED> tag supports RSS and ATOM
ƒ
Consume feeds and return standard queries
ƒ
Simply generate RSS and ATOM content
2007 Adobe Systems Incorporated. All Rights Reserved.
30
PDF Manipulation
ƒ
<CFPDF> (and related tags) tag used to:
ƒ
Obtain PDF file metadata
ƒ
Extract pages from PDF files
ƒ
Merge PDF files
ƒ
Encrypt PDF files (Sign/Verify)
ƒ
Protect PDF files (Password)
ƒ
Create Page Thumbnail
ƒ
Flatten PDF files
ƒ
Execute DDX instruction sets
2007 Adobe Systems Incorporated. All Rights Reserved.
<CFPDF>
31
PDF Form Manipulation
ƒ
<CFPDFFORM> tag used to:
ƒ
Populate PDF forms (AcroForms and XML based forms) with CF data
ƒ
Extract data from a filled PDF form
ƒ
<CFPDFFORMPARAM> used to pass values to a form
ƒ
<CFPDFSUBFORM> used to manipulate nested forms
2007 Adobe Systems Incorporated. All Rights Reserved.
32
ColdFusion 8 Is All About ...
Developer
Productivity
Integration
Improved Management
and Administration
2007 Adobe Systems Incorporated. All Rights Reserved.
33
Improved Management and Administration
Improved Management
and Administration
2007 Adobe Systems Incorporated. All Rights Reserved.
34
Server Monitoring
ƒ
Peek into the ColdFusion “Black Box”
ƒ
ƒ
Take server snapshots
ƒ
ƒ
Save the server state for future reference
Define alerts
ƒ
ƒ
See activity, requests, usage details, load, and more
Set threshold values for memory usage, average
response time, thread count, and more.
Sophisticated Flex based UI
ƒ
Can build own interface using
Server Monitoring API
2007 Adobe Systems Incorporated. All Rights Reserved.
35
User Based Administration And RDS
ƒ
Define multiple user accounts and
specify which ColdFusion
Administrator pages each has access
to
ƒ
ƒ
Permissions extend to the Admin API
User accounts can also be tied to
RDS, associating users
with specific sandboxes
ƒ
Users will only have access to whatever is
exposed in their associated sandbox
2007 Adobe Systems Incorporated. All Rights Reserved.
36
Per Application Settings
ƒ
Support per application mappings
ƒ
Per application mappings
ƒ
Custom Tag paths
2007 Adobe Systems Incorporated. All Rights Reserved.
37
Platform Support
OS
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Windows 2000, 2003, Vista
2000 Pro and XP (Development)
Red Hat Linux AS & ES 3.0 & 4.0
SuSE Linux Enterprise 8, 9
TurboLinux J
Solaris 8, 9, 10
AIX 5L v5.1, v5.2, v5.3
Apple Mac OS
Apple Mac OS X on Intel
JVM
ƒ
ƒ
64-bit Support (Solaris)
JDK 1.5 & JDK 1.6 (default)
Application Servers
ƒ
ƒ
ƒ
ƒ
ƒ
Macromedia JRun
BEA WebLogic Server 7, 8.1, 9.0
Oracle AS 8i, 9i, 10g
IBM WebSphere 4, 5.x, 6.0
JBoss Application Server 5.x
Virtualization
ƒ
2007 Adobe Systems Incorporated. All Rights Reserved.
VMWare & MS Virtual Server
ColdFusion 8, Available Now!
Developer
Productivity
Integration
Improved Management
and Administration
2007 Adobe Systems Incorporated. All Rights Reserved.
39
2007 Adobe Systems Incorporated. All Rights Reserved.
40