1 / 15

Web Part Best Practices

Web Part Best Practices. Sweden SharePoint User Group WictorWilén 2009-02-09. Vem är jag?. Wictor Wilén Systemarkitekt Pdb Stockholm, tidigare iBizkit wictor.wilen@ibizkit.se http://www.pdb.se/ http://www.wictorwilen.se/ http://www.twitter.com/wictor/. Web Part Best Practices.

hung
Download Presentation

Web Part Best Practices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Part Best Practices Sweden SharePoint User Group WictorWilén2009-02-09

  2. Vem är jag? • Wictor Wilén • Systemarkitekt • Pdb Stockholm, tidigare iBizkit • wictor.wilen@ibizkit.se • http://www.pdb.se/ • http://www.wictorwilen.se/ • http://www.twitter.com/wictor/

  3. Web Part Best Practices 10 steg till bättre Web Parts

  4. #1 - WebPart eller WebPart? • Microsoft.SharePoint.WebPartPages.WebPart • Arv från SharePoint 2003 • Bakåtkompabilitet • System.Web.UI.WebControls.WebParts.WebPart • Kommer från ASP.NET 2.0 • Går att köra utan SharePoint • Framtiden (inga ändringar i ASP.NET 4.0 PDC 08 preview) • Begränsningar i Web Part Connections • Endast mellan Web Parts , i WebPartZones , på samma sida

  5. #2 – Förstå Event Modellen • Grundläggande ASP.NET 2.0 kunskaper • Vad händer med en sida och kontroll när • sidan laddas • postas tillbaka (PostBack) • ViewState • Använd aldrig Render() • Använd CreateChildControls() • Övning • Lägg till alla events och stega igenom en laddning och en postback

  6. #2 – Förstå Event Modellen GET Request PostBack OnInit OnInit ApplyPersonalization OnLoad LoadViewState CreateChildControls CreateChildControls OnPreRender OnLoad SaveViewState Control Events Render OnPreRender OnUnLoad SaveViewState Render OnUnLoad

  7. #3 – GAC eller bin? • Utveckla i bin • Fungerar oftast då i GACen • Inte alltid tvärtom • Snabbare utveckling • App poolen recyclas automatiskt • Glöm inte CAS • GAC i drift • Prestanda, .NET letar i GACen först • Full Trust! • Multipla versioner • IISRESET • Signa alltid din assembly!

  8. #4 – definiera din .webpart fil • Krävs för galleriet • Fördefiniera den • Standardvärden • Jämför med New->Populate Gallery • CatalogIconImageUrl – galleriet • (TitleIconImageUrl – Web Part headern) • AllowClose = false • Tar bort Close verbet

  9. #5 – Utnyttja wpresources • Länkade resurser • Farm • ~/_wpresources • C:\Program Files\Common Files\microsoft shared\Web Server Extensions\wpresources\ • WebApplication • ~/wpresources • C:\InetPub\wwwroot\wss\VirtualDirectories\80\wpresources\ • Använd undermappar, med assemblyns namn • Deploy med ClassResouces/ClassResource i manifestet • Page.ClientScript.RegisterClientScriptInclude ("file.js", ”~/_wpresources/namespace/script.js”); • Inbyggda resurser • WebResource.axd

  10. #6 – Paketera som feature • Enkel installation • Populerar Web Part galleriet, vid aktivering • Gruppering • OBS: Avaktivering tar inte bort den från WPG

  11. #7 - Versionshantering • Använd inte: • [assembly: AssemblyVersion(”1.0.*.*")] • Använd Assembly Redirection • <runtime> <assemblyBinding> <dependentAssembly> <assemblyIdentity name="WebPart" publicKeyToken="ba74fbef247b82bb" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-1.5.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding></runtime>

  12. #8 – Web Part Properties • Tänk på scopet • [Personalizable(PersonalizationScope.Shared)][WebPartStorage(Storage.Shared)]public int Prop{ get; set; }

  13. #9 – Editor Parts • Bättre användarupplevelse • Valideringar • Länkade Properties

  14. #10 – några snabba tips • HTMLEncode • undvik script/SQL injections • ValidationGroup • Lokalisera • Tänk på att din Web Part kan läggas in var som helst i siten!

  15. Web Part Best Practices Sweden SharePoint User Group Wictor Wilén2009-02-09

More Related