210 likes | 376 Views
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?.
E N D
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)
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
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
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: 2cfa_contentobjectget: 2 cfa_contentobjectgetmultiple: 1 cfa_contentobjectinvokemethod: 2 cfa_objecttypeget: 2 • Tag tree: • cfa_contentobject / time: 250 ms / vars: labels='Blackman, Samuel G.'; oids='3E8004F7-5DA0-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