A	
  CASE	
  STUDY	
  IN	
  USING	
  MVC	
  WITH	
  
EKTRON
1
Kurt	
  Wiersma	
  
American	
  Academy	
  of	
  Neurology	
  
kwiersma@aan.com
Who	
  am	
  I?
• Developed	
  web	
  apps	
  for	
  over	
  11	
  years	
  
• Have	
  used	
  the	
  MVC	
  pattern	
  with	
  Java,	
  
ColdFusion	
  (CFML),	
  C#,	
  and	
  Python	
  
• Lead	
  a	
  team	
  of	
  3	
  other	
  devs
2
Agenda
• AAN	
  Background	
  
• MVC	
  Pros	
  &	
  Cons	
  
• Our	
  Architecture	
  
• Mobile	
  
• Tips	
  and	
  Tricks	
  
• Q	
  &	
  A
3
AAN	
  Background
• We	
  are	
  a	
  pro	
  association	
  for	
  over	
  27,000	
  neurologists	
  
across	
  the	
  world	
  
• Hadn't	
  been	
  completely	
  redesigned	
  since	
  2007	
  
• Moved	
  from	
  CF	
  to	
  .Net	
  MVC	
  with	
  C#	
  
• Moved	
  from	
  a	
  home	
  grown	
  CMS	
  to	
  Ektron	
  8.7	
  
• Hired	
  C2	
  as	
  Ektron	
  implementation	
  experts
4
View	
  (html,	
  cshtml)
Controller
Model	
  (people,	
  places,	
  things)
View	
  Model
What	
  is	
  MVC?
6
7
MVC	
  Pros
• Clean	
  separation	
  makes	
  enhancements	
  and	
  unit	
  testing	
  
easier	
  
• Mobile	
  site	
  was	
  quick	
  and	
  easy	
  to	
  build	
  
• Could	
  customize	
  how	
  the	
  site	
  works	
  (didn't	
  use	
  Ektron	
  
widgets)	
  
• Dev	
  Team	
  was	
  familiar	
  with	
  it	
  
• Excellent	
  Ektron	
  API
8
MVC	
  Cons
• No	
  in-­‐place	
  editing	
  for	
  content	
  updates	
  
• You	
  cannot	
  use	
  PageBuilder	
  
• Cannot	
  use	
  pre-­‐built	
  Ektron	
  UI	
  widgets	
  
• Limited	
  docs	
  and	
  examples
9
PageController
AliasMvcHandler
EktronAliasManager
Ektron	
  API
View	
  Model
Razor	
  View
EktronPageService
Mobile	
  
Layout
Desktop	
  
Layout
Our	
  Architecture
Server	
  Environments
• Dev	
  -­‐	
  test	
  new	
  Ektron	
  releases	
  changes	
  to	
  our	
  
MVC	
  app	
  
– TeamCity	
  build	
  server	
  
• Staging	
  -­‐	
  updates	
  done	
  here	
  
• Production	
  -­‐	
  2	
  virtual	
  servers	
  &	
  a	
  load	
  balancer
12
Mobile
Server	
  Side	
  User	
  Agent	
  Detection
Server	
  Side	
  User	
  Agent	
  Detection
Content	
  Update	
  UX
!
http://staging.aan.com/WorkArea/edit.aspx?id=130	
  
Tips	
  &	
  Tricks
• Getting	
  started	
  &	
  URL	
  Aliasing	
  
• Internal	
  Libraries	
  
– User	
  login	
  /	
  account	
  management	
  
– Shared	
  layout
18
Resources
• Ektron	
  MVC	
  Dev	
  Center	
  Article	
  
– https://developer.ektron.com/experts/derek-­‐barka/ektron-­‐cms-­‐
asp-­‐net-­‐mvc-­‐sample/	
  
• Ektron	
  MVC	
  Sample	
  Code	
  
– https://developer.ektron.com/Templates/CodeLibraryDetail.aspx?
id=461&blogid	
  
• Phone	
  User-­‐Agent	
  Detection	
  
– http://detectmobilebrowsers.com
19
Special	
  Thanks
• AAN	
  Development	
  Team:	
  Mike	
  Bishop,	
  Nick	
  
Weber,	
  and	
  Andrew	
  Leaf	
  
• The	
  C2	
  Group	
  
• Ektron:	
  Jon	
  Kee,	
  James	
  Stout
20
Questions?
• With	
  answers	
  (hopefully!)
21

Ektron Synergy 2014 - A Case Study in Using MVC with Ektron

  • 1.
    A  CASE  STUDY  IN  USING  MVC  WITH   EKTRON 1 Kurt  Wiersma   American  Academy  of  Neurology   kwiersma@aan.com
  • 2.
    Who  am  I? •Developed  web  apps  for  over  11  years   • Have  used  the  MVC  pattern  with  Java,   ColdFusion  (CFML),  C#,  and  Python   • Lead  a  team  of  3  other  devs 2
  • 3.
    Agenda • AAN  Background   • MVC  Pros  &  Cons   • Our  Architecture   • Mobile   • Tips  and  Tricks   • Q  &  A 3
  • 4.
    AAN  Background • We  are  a  pro  association  for  over  27,000  neurologists   across  the  world   • Hadn't  been  completely  redesigned  since  2007   • Moved  from  CF  to  .Net  MVC  with  C#   • Moved  from  a  home  grown  CMS  to  Ektron  8.7   • Hired  C2  as  Ektron  implementation  experts 4
  • 5.
    View  (html,  cshtml) Controller Model  (people,  places,  things) View  Model What  is  MVC?
  • 6.
  • 7.
  • 8.
    MVC  Pros • Clean  separation  makes  enhancements  and  unit  testing   easier   • Mobile  site  was  quick  and  easy  to  build   • Could  customize  how  the  site  works  (didn't  use  Ektron   widgets)   • Dev  Team  was  familiar  with  it   • Excellent  Ektron  API 8
  • 9.
    MVC  Cons • No  in-­‐place  editing  for  content  updates   • You  cannot  use  PageBuilder   • Cannot  use  pre-­‐built  Ektron  UI  widgets   • Limited  docs  and  examples 9
  • 11.
    PageController AliasMvcHandler EktronAliasManager Ektron  API View  Model Razor  View EktronPageService Mobile   Layout Desktop   Layout Our  Architecture
  • 12.
    Server  Environments • Dev  -­‐  test  new  Ektron  releases  changes  to  our   MVC  app   – TeamCity  build  server   • Staging  -­‐  updates  done  here   • Production  -­‐  2  virtual  servers  &  a  load  balancer 12
  • 13.
  • 14.
    Server  Side  User  Agent  Detection
  • 15.
    Server  Side  User  Agent  Detection
  • 16.
  • 18.
    Tips  &  Tricks •Getting  started  &  URL  Aliasing   • Internal  Libraries   – User  login  /  account  management   – Shared  layout 18
  • 19.
    Resources • Ektron  MVC  Dev  Center  Article   – https://developer.ektron.com/experts/derek-­‐barka/ektron-­‐cms-­‐ asp-­‐net-­‐mvc-­‐sample/   • Ektron  MVC  Sample  Code   – https://developer.ektron.com/Templates/CodeLibraryDetail.aspx? id=461&blogid   • Phone  User-­‐Agent  Detection   – http://detectmobilebrowsers.com 19
  • 20.
    Special  Thanks • AAN  Development  Team:  Mike  Bishop,  Nick   Weber,  and  Andrew  Leaf   • The  C2  Group   • Ektron:  Jon  Kee,  James  Stout 20
  • 21.