Agenda - CFConf

Download Report

Transcript Agenda - CFConf

Spectra Tips and Tricks
 Tips for Spectra First Contact
 Coding Tips
 Q&A
Spectra Pre-Requisites
Structures: Everything’s a structure
 Custom Tags
• Passing data in/out
• Modular code
 Conceptual understanding of WDDX
 Request Scope (thread safe)

Request Scope
What is Spectra?
 Content
Object Database (CODB): An
object-based data storage built in
relational tables.
 Tags to interact with CODB
• 200+ Tags in about 20 groupings
 Webtop:
A fancy Spectra application
• Admin interface
• User interface
Three Parts of Spectra
ContentObject Database
Spectra: the same but different
 DB
Design and Spectra Object Design
are similar enough to be familiar but
different enough to be potentially
confusing
 Gains
• Fast for getting complete objects
• Linking data with methods
 Losses
• Flexible relational access
Spectra vs ColdFusion
 Spectra
IS ColdFusion
 ALL of ColdFusion functionality is
available within Spectra applications
• CF Tags
• Functions
• Database connections
Spectra: All or Nothing?
 Spectra
is not right for all applications
• Highly relational data should not be moved
into Spectra Content Object database
 Spectra
is not right for all parts of an
application.
 Spectra and ColdFusion together
• HR.com Resource Center
Spectra: More Planning
 Spectra
apps require more up front
planning than straight CF apps because:
• Spectra apps are (usually) bigger
• Spectra apps live in an existing set of
services
Chicken and the Egg
 To
competently plan a Spectra app, you
need to have built a Spectra app
 Two solutions:
• Find someone who has been through it to
help get up to speed
• Iterate over the design and construction of
your first Spectra application
Security is a problem
 Allow
time to configure and test
(2 - 3 weeks)
• Don’t turn on security caching in
development
 Use
a workaround instead
 Spectra 2 will likely address this issue
Minimize CFLocking (CF Tip)
 Server,
application and session scope
variables need to be locked (read and
write)
 Use the new duplicate() function



<cflock name="AppName" type=”readonly">
<cfset request.app = duplicate(application)>
</cflock>
Use the Application Scope
 Put
needed items in Application Scope
(and transfer to Request scope) such
as:
•
•
•
•
Lookup values
User-defined TypeIDs
Property names
Application-specific translation data
– HR.com HRID and nodeIDs
Plan MetaData Carefully
 Spectra
1.01 provides minimal tools for
changing Metadata once used
 Use possible alternatives to Metadata
carefully as Metadata will be important
for future Personalization upgrades
SQL Searching Strategies
 cfa_contentObjectFind
is slow for SQL
lookups with medium size datasets
 Uniquely name all SQL searchable
properties
 Use a Custom Tag to directly search
Properties table
 Spectra 2 MAY address this
Searching
Spectra Debug Tag

<cfset request.cfa.mode.debug = true>
<cfif request.cfa.mode.debug>
<cfa_tagDebugBegin>
</cfif>
<cfif request.cfa.mode.debug>
<cfa_tagDebugEnd>
</cfif>

<cfa_tagDebugOutput>
Debug Output

Number of iterations:
cfa_contentobject: 2
cfa_contentobjectget: 2
cfa_contentobjectgetmultiple: 1
cfa_contentobjectinvokemethod: 2
cfa_objecttypeget: 2

Tag tree:
 cfa_contentobject / time: 250 ms / vars:
labels='Blackman, Samuel G.'; oids='3E8004F75DA0-11D4-94FE00D0B7752E0A';
 cfa_contentobjectinvokemethod / time: 234 ms
 cfa_contentobjectget / time: 15 ms
 cfa_objecttypeget / time: 15 ms
 cfa_contentobjectgetmultiple / time: 47 ms
Wrap Up
 Spectra
is a ColdFusion Application that
is great for Content Management and
related services
 Use it as one of several available tools
 Plan for the time to get through the
initial learning curve
FREE . . . . . FREE . . . . . FREE
Spectra Consultation
- By phone
- In your office

www.wwstudios.com