17
Managing 150 Sites with Sitecore @DREXEL UNIVERSITY

Managing 150 Sites with Sitecore

Embed Size (px)

DESCRIPTION

Managing 150 Sites with Sitecore. @Drexel university. Scope. Drexel – 300+ schools, departments, programs Drexel College of Medicine – 100+ departments, programs Academy of Natural Sciences. Development…. Sitecore development started in late 2008 with a single pilot site - PowerPoint PPT Presentation

Citation preview

Page 1: Managing 150 Sites  with Sitecore

Managing 150 Sites with Sitecore@DREXEL UNIVERSITY

Page 2: Managing 150 Sites  with Sitecore

Scope◦ Drexel – 300+ schools, departments, programs◦ Drexel College of Medicine – 100+ departments, programs◦ Academy of Natural Sciences

Page 3: Managing 150 Sites  with Sitecore

Development…◦ Sitecore development started in late 2008 with a single pilot site◦ 2 devs + 2 bosses + 1 conference room = 1 live website… in just a few weeks!◦ Then… off to the races!

12/08

4/09

8/0912/0

94/1

08/1

012/1

04/1

18/1

112/1

14/1

28/1

212/1

24/1

38/1

312/1

30

20

40

60

80

100

120

140

160

Sites

12/08

4/09

8/0912/0

94/1

08/1

012/1

04/1

18/1

112/1

14/1

28/1

212/1

24/1

38/1

312/1

30

50

100

150

200

250

300

350

400

450

500

Templates

12/08

4/09

8/0912/0

94/1

08/1

012/1

04/1

18/1

112/1

14/1

28/1

212/1

24/1

38/1

312/1

30

20,000

40,000

60,000

80,000

100,000

120,000

140,000

Items

Page 4: Managing 150 Sites  with Sitecore

Development…◦ Sitecore development started in late 2008 with a single pilot site◦ 2 devs + 2 bosses + 1 conference room = 1 live website… in just a few weeks!◦ Then… off to the races!

12/08

3/09

6/09

9/0912/0

93/1

06/1

09/1

012/1

03/1

16/1

19/1

112/1

13/1

26/1

29/1

212/1

23/1

36/1

39/1

312/1

33/1

40

50100150200250300350400

Components

Renderings SubLayouts

Page 5: Managing 150 Sites  with Sitecore

Web Project Workflow … from a developer perspective

Is IA complete-ish?

Kick to curb

No

Is design complete-ish?Yes

Kick “upstairs”

No

Determine “Page Types” and

ComponentsYes

Build Templates tell client to start keying

content

Develop components as

necessary. Re-use when possible

Unrealistic/fabricated deadline?

Give Shane the bulk of the work. Finish

on time.Yes

Probably

Page 6: Managing 150 Sites  with Sitecore

Website Structure◦ A typical site hierarchy

◦ Site◦ Section

◦ Section Page◦ Basic Page

◦ Each site also has an “Extras” folder for component metadata items

◦ CSS is stored in Sitecore and rendered via a custom handler “~/stylesheets/”

Page 7: Managing 150 Sites  with Sitecore

V1 -> V2 ConversionoV1 suffered from field bloat and misuse

oV2 was a major shift in field allocation and designo Fewer fields – Easier for users. Avoid field misuse.

Adherence to University’s new site policieso Inherited CSSo Responsive Design

oUpgradeV1toV2.aspxo XML File that maps old templates to new templateso Root Item, Validate Mappings, Preview, Upgradeo Run once, Republish, and everyone is happy!

Page 8: Managing 150 Sites  with Sitecore

Import DataoData Preservation is key when bringing a new site into Sitecore

oAcademy of Natural Scienceso Old XML Art Collection archiveo Audubon Birds of America book plates

oDrexelo Custom CMS -> V1 News, In The News, and Press Releaseso -> V2 News and In The News merged with Drexel Now

oCollege of Medicineo Faculty o News

Page 9: Managing 150 Sites  with Sitecore

PROD EnvironmentContent Delivery (CD)

VM VM

Content Management (CM)

VM

SQL 2008 Instance

Core~3 GB

Master~55 GB

Web~43 GB

WebForms~0.3 GB

Page 10: Managing 150 Sites  with Sitecore

Other Environments

Code (Test) Software (Test) Future

CM CD

Core Master Web

CM/CD

Core Master Web

CM CD1

Core Master Web

CD2

Dev

Dev machines

Core Master Web

Page 11: Managing 150 Sites  with Sitecore

Flexible Components◦ Datasets and DatasetRenderers

◦ Allows our “techie users” to quickly render lists of data◦ Sources of data:

◦ Sitecore query◦ External SQL DB query◦ XML feed◦ Sharepoint List/View

◦ Multiple DatasetRenderers may use the same Dataset◦ Supports a small set of inline functions using a custom language

parser built with Irony.NET

Dataset

DatasetRenderers

6/10

8/1010/1

012/1

02/1

14/1

16/1

18/1

110/1

112/1

12/1

24/1

26/1

28/1

210/1

212/1

22/1

34/1

36/1

38/1

310/1

312/1

32/1

40

500

1000

1500

2000

2500

Dataset Component Usage

Page 12: Managing 150 Sites  with Sitecore

Flexible Components◦ Active Data Calendar

◦ Stand alone calendar system◦ Repository for all events at the university

◦ Drexel.edu/Events ◦ Hybrid of Sitecore and the Active Data Calendar app

◦ Components to surface all calendar data in Sitecore◦ Parameters to control what data gets pulled from the calendar

1/09

4/09

7/0910/0

91/1

04/1

07/1

010/1

01/1

14/1

17/1

110/1

11/1

24/1

27/1

210/1

21/1

34/1

37/1

310/1

31/1

44/1

40

50

100

150

200

250

300

350

Calendar Component Usage

V1 V2

Page 13: Managing 150 Sites  with Sitecore

Flexible Components◦ Custom 404 Handler

◦ URLs that do not resolve to items are parsed and used to query our Lucene index in order to present the user with our “best guesses” of what they were looking for.

◦ User is 301 redirected to the top matching page and presented a jQuery dialog with other matches.◦ Works across all sites. If no acceptable matches are found, we redirect the user to the homepage of that site.◦ DEMO: http://ansp.org/dinosaurs

Page 14: Managing 150 Sites  with Sitecore

Performance Things that really helped improve performance

◦ Adding the 2nd CD server◦ Updating DB cache values (/admin/cache.aspx)◦ Sitecore Debugger + Profiler◦ Component query optimization◦ Periodically analyzing the Sitecore log files

Page 15: Managing 150 Sites  with Sitecore

Development Practices◦ SVN for source control

◦ Deployments occur via Sitecore packages

◦ Files (except DLLs) are sync’d with DFS; DLLs copied manually to CD servers

◦ Packages are used to deploy to TEST environments as well thus, testing the package

◦ Conventions

◦ We have code to dynamically generate a Field IDs DLL like Sitecores’. It contains name/GUID mappings for all our template fields so we can use strongly typed field references in our code.

Page 16: Managing 150 Sites  with Sitecore

I got this!

Page 17: Managing 150 Sites  with Sitecore

Questions? Demos?

Paul Martinhttp://sitecorepm.wordpress.com@sitecorepm

Shane Bair