USING SHAREPOINT TO CREATE YOUR PUBLIC WEBSITE JUNE 13, 2012 @ 2:45 PRESENTED BY: MARK GEROW & CHARLES FARAMARZI-RAD, FENWICK & WEST LLP MICHAEL P. KOLB, CIO, DICKINSON WRIGHT PLLC DICKINSON WRIGHT SNAPSHOT: DICKINSON WRIGHT - 11 OFFICES 300 LAWYERS MOVE TO SHAREPOINT INTERNALLY - 2007 MOVE TO SHAREPOINT EXTRANET - 2010 MOVE TO SHAREPOINT WEBSITE - MARCH 2011 INITIAL DRIVERS • MARKETING CONTINUITY • SINGLE SOURCE DATABASE • CONNECTIVITY TO INTERNAL SYSTEMS DICKINSON WRIGHT: DICKINSON WRIGHT: BENEFITS TO USING SHAREPOINT: • LESS TRAINING TIME REQUIRED IF SHAREPOINT IS ALREADY USED IN THE FIRM AS AN EXTRANET/INTRANET. • • • MOVE CONTENT MANAGEMENT AWAY FROM IT DEPARTMENT EASE TRANSITIONS WITH MARKETING DEPARTMENT FAMILIAR WITH CMS • Website • Contact Manager • Email Marketing • Event Management System DICKINSON WRIGHT: DICKINSON WRIGHT: BENEFITS OF USING SHAREPOINT: • BUILT IN CONTENT MANAGEMENT SYSTEM (CMS) WITH WORK FLOW, PUBLISHING AND VERSIONING • SHAREPOINT TAKES ADVANTAGE OF .NET MASTER PAGES AND LAYOUT PAGES FOR EASIER DEVELOPMENT AND CONTROL OF SHAREPOINT. • AUDIENCE TARGETING OF CONTENT DICKINSON WRIGHT: BENEFITS TO USING SHAREPOINT: • SHAREPOINT ALLOWS FOR DIFFERENT LEVELS OF CONTRIBUTION WITHIN ORGANIZATION (CONTENT CONTRIBUTORS ADD CONTENT BUT CAN’T PUBLISH WITHOUT APPROVAL) • • • • • LAWYERS DEPARTMENT MANAGERS CONTENT MANAGERS SECRETARIES MARKETING DICKINSON WRIGHT PLLC ISSUES TO BE AWARE OF: • SHAREPOINT INTRANET SITES ARE NOT SEO FRIENDLY OR COMPLIANT FOR ACCESSIBILITY STANDARDS WITHOUT CUSTOMIZATION. • • • • MAKE SURE EACH PAGE HAS A UNIQUE TITLE THAT REFLECTS IT’S CONTENT MAKE SURE EACH PAGE HAS A DESCRIPTION • Add a description column to all the content types used for each page layout MAKE SURE EACH PAGE HAS AN ALTERNATIVE TEXT THAT DESCRIBES IF FOR THE IMAGE SEARCH RELEVANT PAGES FOR THE SITE MAP DICKINSON WRIGHT PLLC ISSUES TO BE AWARE OF: • • • BRANDING SHAREPOINT SITES REQUIRES SHAREPOINT SPECIFIC BRANDERS AND/OR .NET - PRICE POINT FOR SHAREPOINT FOR INTERNET SITES IS VERY EXPENSIVE SEE LINK NEED ACCESS TO SYSTEM FILES ON THE SERVER TO DO ANY CUSTOM DEVELOPMENT WHICH MAY BE A LONG PROCESS DEPENDING ON HOW IT IS INVOLVED. MOBILE VIEWS REQUIRE HIGHLY CUSTOMIZED PAGES OR THIRD PARTY PRODUCTS TO CHANGE THE FORMAT OF A SHAREPOINT PAGE. FENWICK’S GOALS FOR THIS WEB SITE 1.TO TAKE ADVANTAGE OF SHAREPOINT’S BUILT IN CMS 2. PERFORMANCE IS KEY 3. HIGHLY INTERCONNECTED WEBSITE 4. USING SEARCH AND METADATA TAGS TO BRING CONTENT TO YOU (DYNAMIC PAGES) 5. VANITY URLS 6. MAINTAIN AND MIGRATE. PERFORMANCE • DYNAMIC MASTER PAGES • CACHE IS KING • AJAX AND JQUERY DYNAMIC MASTERPAGE CREATED A BASE CLASS UPON WHICH CUSTOM PAGE LAYOUTS ARE BASED, SO THAT MASTER PAGE SWAPPING CAN BE CENTRALIZED. THE ANONYMOUS MASTER PAGE WILL NOT CONTAIN JAVASCRIPT OR FORM TAGS AND OTHER INCLUDES REQUIRED TO SUPPORT CONTENT EDITING, AND THUS WILL LOAD MUCH MORE QUICKLY FIDDLER SNAPSHOT AUTHENTICATED FIDDLER SNAPSHOT ANONYMOUS CACHE IS KING • • • • OUTPUT CACHING BLOB CACHING CUSTOM OBJECT LEVEL CACHING SEARCH CUSTOM OBJECT LEVEL CACHING • CACHE ALL OBJECTS CONTENT (EXAMPLE CACHE ALL PROFESSIONALS) • PERFORM QUERIES AGAINST THAT CACHE • CACHE THE RESULT OF THAT QUERY AJAX AND JQUERY • MAKING AJAX CALLS USING JQUERY TO LAYOUT PAGES. • ASYNCHRONOUS CALLS WILL MAKE THE PAGE APPEAR TO LOAD FASTER. (SEARCH PAGES). • WILL HAVE NO PAGE REFRESH • ALL THIS IS DONE WITHOUT USING ASP.NET AJAX AND POST BACKS. DEMO • PROFESSIONAL SEARCH • SEARCH FEEDS • TRENDING TOPICS INTERCONNECTED WEBSITE • DATA IS PULLED IN TO THE PAGE FROM ALL OVER THE SITE COLLECTION. • EVERYTHING IS TAGGED SO THAT YOU CAN CLICK ON A TAG AND SEE EVERYTHING THAT IS ASSOCIATED WITH THAT TAG. • GREAT USE OF MANAGED METADATA • GREAT FOR SEARCH • GREAT FOR SEO DEMO TOPICS AND TOPIC DETAIL PAGE. USING SEARCH AND MANAGED METADATA • EXTENSIVE USE OF TAXONOMY FIELDS • TIED IN WITH CUSTOM CONTENT TYPES • CREATION OF MANAGED PROPERTIES IN SEARCH • ENTER “THE FILTER FEED” • 70-80% OF OUR CONTENT IS DELIVERED VIA THESE FEEDS. • USING SHAREPOINT SEARCH DEMO FILTER FEED VANITY URLS • • NEEDED A WAY TO CONTINUE TO SERVE URLS FROM LEGACY ASP SITE, AND SHAREPOINT URLS ARE: • UGLY • BAD FOR SEO • … BUT • YOU CAN USE AN HTTP MODULE TO REROUTE URLS, SO THAT OLD LINKS WILL BE REDIRECTED TO CORRESPONDING PAGES ON NEW SITE THE PROCESS CONTROL LIST SHAREPOINT LIST USED TO MAP URLS http://www.fenwick.com/attorneys/4.2.1.asp?aid=304 MAINTENANCE AND MIGRATION TOOLS BUILT TOOL TO MIGRATE CONTENT INTO THE SITE FROM THE LEGACY SITE. MAINTENANCE AND MIGRATION TOOLS BUILT TOOL TO UPDATE THE NEW PAGES WITH ALL THE NECESSARY WEBPART ON A GLOBAL SCALE OR LOCAL SCALE MAINTENANCE AND MIGRATION TOOLS BUILT TOOL TO SWAP PAGE LAYOUTS FOR WHEN WE HAVE TO UPDATE THE PAGE LAYOUTS. MAINTENANCE AND MIGRATION TOOLS • HAD TO BUILD OUR OWN WARMUP TOOL. • BECAUSE EVERY PAGE HAS CACHED CONTENT ON THERE, WE WANTED TO MAKE SURE THAT EVERY PAGE IS HIT. • VERY SIMILAR TO HOW SHAREPOINT SEARCH CRAWLS THE PAGES MAINTENANCE AND MIGRATION TOOLS BUILT SCRIPTS TO MIGRATE DATABASES AND NEW WSPS FROM PRODUCTION TO BACKUP FARMS. LESSONS LEARNED • SEARCH OFFERS THE BEST BANG FOR BUCK WHEN IT COMES TO QUERYING LARGE DATASET WITH PERFORMANCE IN MIND. • MAKE SURE THE DATA STRUCTURES ARE THE FIRST THING THAT ARE DESIGNED AND LOCKED DOWN. HEADACHE TO GO THROUGH AND CHANGE AFTER THE FACT. • CREATE THE CONTENT TYPES USING VISUAL STUDIO LESSONS LEARNED • • • IF CACHING IN CODE, WHEN IT COMES TO TAXONOMY FIELDS, YOU NEED TO BUILD STRING REPRESENTATIONS OF THEM IN ORDER FOR CACHING TO WORK. XML WEB PARTS ARE A SAVIOR. TAKE THE TIME TO BUILD XML REPRESENTATION OF THE PAGE. BUILD A UTILITY THAT WILL GENERATE A XML FOR EVERY PAGE THAT IS VISITED, AND THEN USE XSLT TO STYLE THE PAGE. LESSONS LEARNED • PAGE LAYOUTS WERE A NIGHTMARE WHEN IT CAME TO UPDATING THEM. ESPECIALLY AFTER MIGRATION HAD HAPPENED FROM LEGACY DATABASE. • THAT IS WHY WE CREATED THE PAGE LAYOUT SWAPPER. • USE SHAREPOINT DESIGNER TO CREATE YOUR CUSTOM LAYOUTS. LESSONS LEARNED AND PITFALLS TO AVOID • PLAN YOUR DR. • AGILE REALLY WORKS