Download - “To Inspire and Engage”

Transcript
Page 1: “To Inspire and Engage”

“To Inspire and Engage”

Page 2: “To Inspire and Engage”

PASUG’s mission is to foster a community of Sitecore enthusiasts in the Greater Philadelphia Region. PASUG is focused on Sitecore developers, architects, administrators, designers, business users, marketers and managers. Our goal is to provide value to all members, regardless of their role or level of experience with Sitecore. PASUG provides an open environment for our members to share their experiences, ask questions and network; unburdened by SPAM. Like Sitecore itself, we strive to Inspire and Engage our members so that the community can grow and be better equipped to utilize Sitecore as a platform to its fullest potential.

PASUG Mission Statement

Page 3: “To Inspire and Engage”

Sitecore from a Content Manager’s

PerspectiveDebra Loggia, NorthPoint Digital

Page 4: “To Inspire and Engage”

Customizing Web Forms for Marketers

David Peterson, ISite Design

Page 5: “To Inspire and Engage”

What We’ll Cover

• Architectural Overview• Validation

• Save Actions

Page 6: “To Inspire and Engage”

At a Glance• Strengths

– Flexibility for Marketers– Time to deployment– Built-in Analytics support

• Limitations– Front-End/CSS– Some aspects difficult to extend

Page 7: “To Inspire and Engage”

Presentation

Page 8: “To Inspire and Engage”

Form Rendering

Page 9: “To Inspire and Engage”

Form Template

Page 10: “To Inspire and Engage”

Form Class Structure

Page 11: “To Inspire and Engage”

Control Structure• Control structure matches Form

structure in content.• Each control responsible for its

output.– HTML formatting– Naming conventions

Page 12: “To Inspire and Engage”

Extending WFFM Classes• Sections

– Internal class• Form Top-Level Controls

– Protected internal setter for item context– Includes intro, footer, submit button

Page 13: “To Inspire and Engage”

Form Data Processing

Page 14: “To Inspire and Engage”

Validation• Field Validation

– Scope: Single Form Field– Evaluated: First– Returns: True/False

• Form Verification Actions– Scope: All Form Fields– Evaluated: Last– Throw Exception on Failure

Page 15: “To Inspire and Engage”

Extending Field Validators• Cross-Field Validation viaSitecore.Form.Core.Utility.WebUtil

Page 16: “To Inspire and Engage”

Technical Considerations

• Advantages:– Expands scope to all form fields.– Evaluated first with other field

validators.• Disadvantages:

– Programmatically ties field validator to another field.

– Content Editors can add/remove fields from forms.

Page 17: “To Inspire and Engage”

Validator Item

Page 18: “To Inspire and Engage”

Validation Wire-Up

Page 19: “To Inspire and Engage”

Form Verification Actions

• Define your own via BaseCheckAction.– Access to all form fields

Page 20: “To Inspire and Engage”

Form Verification Actions

• Raise validation failure by throwing an Exception

Page 21: “To Inspire and Engage”

Save Actions• Custom Save Actions via ISaveAction

Page 22: “To Inspire and Engage”

Q&A• Twitter: @PetersonDave• Blog: http://petersondave.wordpress.com

• ISITE Design: http://isitedesign.com• Built With Sitecore:

http://www.isitedesign.com/sitecore

Page 23: “To Inspire and Engage”

Extending DMS to Include non-Sitecore Data

Jamie Stump, Perficient Inc.

Page 24: “To Inspire and Engage”

B2B E-Commerce Site Integrated with Sitecore1 Million Unique Applications of ProductsSite Requires Paid Login to Access / SEO of No Concern

Products Stored in Proprietary Homegrown Database and Served to Website via Homegrown Web Services

Single Sitecore Page Item Serves All Products via Querystring Parameter

Custom DMS Integration Case Study

Page 25: “To Inspire and Engage”

Client wants to use DMS capabilities to full extent; including Analytics & Contextual Reports, Personalization (by Persona), Multivariate Testing

Need to be able to track Site Visitor information on a per-product basis even though there’s a singular Product Page Item

Implicit Personalization for Visitors to be done across multiple visits

Challenges

Page 26: “To Inspire and Engage”

Products / Companies

DB

Sitecore Analytics

DB (Personas)

New Products / Persona Scores DB

Single Products Page (w/ Querystring to Identify Individual

Product)

Get Product DataDisplay on Page via Web Service

Get Persona Scores for Displayed Product

Using DMS API – Write Individual Product / Score Info to Analytics DB

Product ID Foreign Key

Persona GUIDForeign Key

External Data Integration Solution

Page 27: “To Inspire and Engage”

Connect Users with Particular Visitor RecordEnsures Greatest Data AccuracyReduces DB Load

Created Customized ReportsProfile-Centric Across VisitorsProduct-Centric Across Visitors

Custom Conditions Allowing Personalization over Timespan (Cross-Visit)Rolling and Set Time Periods

DMS Customization Solutions

Page 28: “To Inspire and Engage”

Sitecore Visits can be finicky – don’t always end when you expect them to

Adjusting Visitor may cause Sitecore to think viewer is a Robot – may decrease session timeout to 1 minute

Stimulsoft Web Report Designer that ships with Sitecore has some bugs – Customization of Reports is better done with Stimulsoft Reports .NET

Does carry additional cost

API Properties can behave un-intuitivelyExample: VisitsRow.Profiles returns Profiles for Visitor not just for current Visit.

Lessons Learned

Page 29: “To Inspire and Engage”

• Twitter: @jstump29

• Email: [email protected]

• Blog: http://blogs.perficient.com/microsoft/author/jstump/

• http://www.Perficient.com

For Further Information

Questions?

08.08.13 7

Page 30: “To Inspire and Engage”

Q & A Session