EPiServer - Behind the scene

4,758 views

Published on

By Anders Hattestad

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,758
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

EPiServer - Behind the scene

  1. 1. Behind the scene<br />Anders Hattestad<br />Page 1<br /> , 18.05.2010<br />
  2. 2. Endres i topp-/bunntekst<br />Page 2<br /> , 18.05.2010<br />Anders Hattestad<br />
  3. 3. Vise eksempler<br />Hvordan det er løst<br />Grupperer litt etter ulik teknikk<br />Oppsummere etterpå<br />Endres i topp-/bunntekst<br />Page 3<br /> , 18.05.2010<br />Hva skal vi gå igjennom<br />
  4. 4. Property/Page/Control Adapters<br />Endres i topp-/bunntekst<br />Page 4<br /> , 18.05.2010<br />
  5. 5. Endres i topp-/bunntekst<br />Page 5<br /> , 18.05.2010<br />Change create new page<br />
  6. 6. Endres i topp-/bunntekst<br />Page 6<br /> , 20.05.2010<br />PageAdaptors<br />
  7. 7. Endres i topp-/bunntekst<br />Page 7<br /> , 18.05.2010<br />Change existing properties<br />Before<br />After<br />http://labs.episerver.com/en/Blogs/Anders-Hattestad/Dates/2009/4/Change-LinkCollection-with-PropertyDataControlAdapter/<br />
  8. 8. Endres i topp-/bunntekst<br />Page 8<br /> , 20.05.2010<br />PropertyDataControlAdapter<br />
  9. 9. GuiPluging hack with no front code<br />Endres i topp-/bunntekst<br />Page 9<br /> , 20.05.2010<br />
  10. 10. Endres i topp-/bunntekst<br />Page 10<br /> , 18.05.2010<br />Manipulere edit view<br />Group properties together in edit mode<br />Plan:<br />Make a new property that display’s other properties<br />Hide properties from 1) <br />Make CreateEditControls for new property<br />http://labs.episerver.com/en/Blogs/Anders-Hattestad/Dates/2010/3/Change-the-edit-page-for-the-editors/<br />
  11. 11. Endres i topp-/bunntekst<br />Page 11<br /> , 18.05.2010<br />PropertyNiceEditMode<br />MyMatches:<br /><ul><li>{PageStartPublish:DisplayName}
  12. 12. {PageStopPublish:DisplayName}
  13. 13. {PageStartPublish}
  14. 14. {PageStopPublish}</li></li></ul><li>Endres i topp-/bunntekst<br />Page 12<br /> , 20.05.2010<br />Hide Properties used by PropertyNiceEditMode<br />
  15. 15. Endres i topp-/bunntekst<br />Page 13<br /> , 18.05.2010<br />Generic view/edit mode for property<br />
  16. 16. Endres i topp-/bunntekst<br />Page 14<br /> , 20.05.2010<br />Edit mode for PropertyNiceEditMode<br />
  17. 17. Endres i topp-/bunntekst<br />Page 15<br /> , 18.05.2010<br />Change edit mode for Fetch data from<br />
  18. 18. Attach to edit table and add code on PreRender<br />Find PropertyDataControls in table<br />Find inherit value<br />Add a new column in row and show inherit value<br />Endres i topp-/bunntekst<br />Page 16<br /> , 18.05.2010<br />Plan<br />
  19. 19. Endres i topp-/bunntekst<br />Page 17<br /> , 20.05.2010<br />1)<br />
  20. 20. Endres i topp-/bunntekst<br />Page 18<br /> , 20.05.2010<br />2)<br />
  21. 21. Endres i topp-/bunntekst<br />Page 19<br /> , 18.05.2010<br />3)<br />
  22. 22. Normal GuiPlugin<br />Endres i topp-/bunntekst<br />Page 20<br /> , 20.05.2010<br />
  23. 23. Endres i topp-/bunntekst<br />Page 21<br /> , 18.05.2010<br />GuiPlugIn (Area = PlugInArea.EditPanel<br />
  24. 24. Endres i topp-/bunntekst<br />Page 22<br /> , 18.05.2010<br />Page_Load will always trigger<br />
  25. 25. Endres i topp-/bunntekst<br />Page 23<br /> , 18.05.2010<br />Can use control id’s as configuration<br />
  26. 26. Endres i topp-/bunntekst<br />Page 24<br /> , 20.05.2010<br />
  27. 27. Endres i topp-/bunntekst<br />Page 25<br /> , 18.05.2010<br />Save properties<br />
  28. 28. Endres i topp-/bunntekst<br />Page 26<br /> , 18.05.2010<br />Subscribers<br />
  29. 29. Endres i topp-/bunntekst<br />Page 27<br /> , 20.05.2010<br />Admin plugin with markup fil in dll<br />
  30. 30. Endres i topp-/bunntekst<br />Page 28<br /> , 20.05.2010<br />Auto VPP<br />.../Itera/EPi/Subscription/AdminSubscription.ascx<br />.../Subscription/AdminSubscription.ascx<br />.../AdminSubscription.ascx<br />
  31. 31. Inherit from PlugInAttribute static Start()<br />Endres i topp-/bunntekst<br />Page 29<br /> , 18.05.2010<br />
  32. 32. Endres i topp-/bunntekst<br />Page 30<br /> , 18.05.2010<br />Add save logic<br />
  33. 33. Endres i topp-/bunntekst<br />Page 31<br /> , 18.05.2010<br />code<br />
  34. 34. Endres i topp-/bunntekst<br />Page 32<br /> , 18.05.2010<br />UrlSegment<br />
  35. 35. Endres i topp-/bunntekst<br />Page 33<br /> , 18.05.2010<br />Attach too CreatingUrlSegment<br />
  36. 36. PageBase event<br />Endres i topp-/bunntekst<br />Page 34<br /> , 20.05.2010<br />
  37. 37. Endres i topp-/bunntekst<br />Page 35<br /> , 18.05.2010<br />Masterpage selector<br />
  38. 38. Endres i topp-/bunntekst<br />Page 36<br /> , 18.05.2010<br />Attach PageBase.PageSetup<br />
  39. 39. Endres i topp-/bunntekst<br />Page 37<br /> , 18.05.2010<br />Using MasterPage selector<br />
  40. 40. UrlRewriter<br />Endres i topp-/bunntekst<br />Page 38<br /> , 18.05.2010<br />
  41. 41. http://world.episerver.com/Blogs/Anders-Hattestad/Dates/2009/12/QueryRewriteProvider-replace-query-strings-with-paths/<br />Endres i topp-/bunntekst<br />Page 39<br /> , 20.05.2010<br />Change the url <br />
  42. 42. Endres i topp-/bunntekst<br />Page 40<br /> , 18.05.2010<br />Changing markup url to nice url<br />/Template/Page.aspx?id=54&quicksearchquery=test<br />=>/en/Examples/Search/quicksearchquery_test/<br />
  43. 43. Endres i topp-/bunntekst<br />Page 41<br /> , 20.05.2010<br />Change incoming url to internal<br />1 gang pr request<br />/en/Examples/Search/quicksearchquery_test/<br />/en/Examples/Search/<br />=>/Template/Page.aspx?id=54&quicksearchquery=test&MayBe404=true<br />
  44. 44. Lower case url’s<br />Alt 1) Save the url segment part as lower casehttp://blog.bigfinger.se/2010/4/22/seo-lowercase-urls-in-episerver-cms-6.aspx<br />Alt 2) Just change the rendered part to lower case<br />Endres i topp-/bunntekst<br />Page 42<br /> , 18.05.2010<br />Use right technic, dont over do it <br />
  45. 45. VPP<br />Endres i topp-/bunntekst<br />Page 43<br /> , 19.05.2010<br />
  46. 46. Vpp to server scaled images<br />Server control to display images/flash/youtube/…<br />Endres i topp-/bunntekst<br />Page 44<br /> , 19.05.2010<br />Itera.Media<br />http://labs.episerver.com/en/Blogs/Anders-Hattestad/Dates/2009/10/IteraMedia-a-easy-solution-for-media-files/<br />../width_410.height_190.mode_FillAreaWithCrop.pos_Default.color_White.jpg<br />../width_200.height_92.mode_FillAreaWithCrop.pos_Default.color_White.jpg<br />
  47. 47. Use attributes<br />Endres i topp-/bunntekst<br />Page 45<br /> , 20.05.2010<br />
  48. 48. Endres i topp-/bunntekst<br />Page 46<br /> , 18.05.2010<br />Use GuiPlugin and properties(Itera.MultiProperty)<br />
  49. 49. Endres i topp-/bunntekst<br />Page 47<br /> , 18.05.2010<br />Use Plugin as method to add<br />
  50. 50. Endres i topp-/bunntekst<br />Page 48<br /> , 18.05.2010<br />Easy build in configuration<br />
  51. 51. Oppsummering<br />Endres i topp-/bunntekst<br />Page 49<br /> , 18.05.2010<br />
  52. 52. Global.asax<br />Endres i topp-/bunntekst<br />Page 50<br /> , 18.05.2010<br />Koble seg på events<br />
  53. 53. Global.asax<br />Property/Page/Control Adapters<br />Endres i topp-/bunntekst<br />Page 51<br /> , 18.05.2010<br />Koble seg på events<br />
  54. 54. Global.asax<br />Property/Page/Control Adapters<br />Arv fra EPiServer PlugInAttribute, og bruke static Start()<br />Endres i topp-/bunntekst<br />Page 52<br /> , 18.05.2010<br />Koble seg på events<br />
  55. 55. Global.asax<br />Property/Page/Control Adapters<br />Arv fra EPiServer PlugInAttribute, og bruke static Start()<br />GuiPluging hack with no front code<br />Endres i topp-/bunntekst<br />Page 53<br /> , 18.05.2010<br />Koble seg på events<br />
  56. 56. Global.asax<br />Property/Page/Control Adapters<br />Arv fra EPiServer PlugInAttribute, og bruke static Start()<br />GuiPluging hack with no front code<br />CMS 6 have a new ModuleDependency attribute.<br />Endres i topp-/bunntekst<br />Page 54<br /> , 18.05.2010<br />Koble seg på events<br />
  57. 57. Forholdsvis likt fra 5-6<br />Unntak Plugins are broken i CMS 6<br />http://world.episerver.com/Blogs/Anders-Hattestad/Dates/2010/4/IteraMultiProperty-and-CMS-6/<br />Endres i topp-/bunntekst<br />Page 55<br /> , 18.05.2010<br />CMS 6<br />there<br />
  58. 58. TemplatePage.PageSetup Will trigger on all pages that inherit from PageBase (thats all of them)<br />EPiServer.DataFactory<br />Saving/Saved/Plublish/Delete<br />FinishedLoadingChildren….<br />Control PreRender, Load, Init….<br />Endres i topp-/bunntekst<br />Page 56<br /> , 18.05.2010<br />Events<br />
  59. 59. Endres i topp-/bunntekst<br />Page 57<br /> , 19.05.2010<br />Debug events<br />http://labs.episerver.com/en/Blogs/Anders-Hattestad/Dates/2008/12/Page-events-what-events-are-registered/<br />
  60. 60. GuiPlugin <br />PropertyControl event<br />Embedded Resource, no front end hassel<br />Embed language files<br /> (http://thisisnothing.wordpress.com/2010/05/18/embedding-episerver-language-files/)<br />Endres i topp-/bunntekst<br />Page 58<br /> , 20.05.2010<br />Change edit/admin<br />
  61. 61. FriendlyUrlRewriter<br />Mange muligheter til å manipulere visning og bruk av url’er<br />http://localhost/Forside.no/Nyheter/<br />http://localhost/no/3.Forside /4.Nyheter/<br />http://iphone.localhost/Forside/ => other masterpage. NB host ikke key i cache<br />http://rss.localhost/Forside/ => Forside’s list as rss<br />Endres i topp-/bunntekst<br />Page 59<br /> , 19.05.2010<br />URL’er<br />http://labs.episerver.com/en/Blogs/Anders-Hattestad/Dates/2009/10/IteraMedia-a-easy-solution-for-media-files/<br />
  62. 62. Thank you<br />Questions?<br />Endres i topp-/bunntekst<br />Page 60<br /> , 18.05.2010<br />

×