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