Non SharePoint Deployment
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Non SharePoint Deployment

on

  • 2,855 views

This presentation was given by Mart Muller of Wizzix as part of the Sparked Toolkit Session: SharePoint Nightmares. ...

This presentation was given by Mart Muller of Wizzix as part of the Sparked Toolkit Session: SharePoint Nightmares.

It discusses the problems that Mart has found when it comes to non-SharePoint deployment, and ofcourse, his solution to the challenges he faced.

Statistics

Views

Total Views
2,855
Views on SlideShare
2,806
Embed Views
49

Actions

Likes
0
Downloads
20
Comments
0

2 Embeds 49

http://blog.sparked.nl 42
http://www.slideshare.net 7

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Non SharePoint Deployment Presentation Transcript

  • 1. (NON) SharePoint Deployment Mart Muller mart@wizzix.nl http://blog.martmuller.nl/
  • 2. CASE  Application built on WSS 3.0  Besides SharePoint elements deployment (lists, content types, etc), …  … also non-SharePoint elements, like  A custom SQL Database  Backup scheduling custom database  Specific IIS settings (MIME Type)  IIS virtual directory
  • 3. (SOME) REQUIREMENTS  1-click remote site deployment (fully automated)  Multiple web applications per server  Admin users must be able to backup their own site & (custom) database  Remote updates to custom database
  • 4. DEPLOYMENT LEVELS  Level 1: Native SharePoint Elements  Level 2: Custom Code in SharePoint Farm  (Level 3: Exotic SharePoint Classes)  Level 4: Everything outside SharePoint Farm
  • 5. LEVEL 1: NATIVE SHAREPOINT ELEMENTS  Deploy native SharePoint elements  Solution for deployment  Features  Assemblies  Resources  SharePoint provides installation and deployment of solutions
  • 6. LEVEL 2: CUSTOM CODE IN FARM  Execute custom code using features and the SPFeatureReceiver class scope = within the SharePoint farm!
  • 7. public class MyFeatureReceiver: SPFeatureReceiver { public override void FeatureActivated(SPFeatureReceiverProperties properties) { } public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { } public override void FeatureInstalled(SPFeatureReceiverProperties properties) { } public override void FeatureUninstalling(SPFeatureReceiverProperties properties) { } }
  • 8. LEVEL 3: USE ‘EXOTIC’ CLASSES IN THE SHAREPOINT PLATFORM  Take a deep dive into the SDK!  Example: Custom Database SPDataBase SharePoint provides full deployment of SQL files, including updates, connectionstrings, etc.
  • 9. public override void Provision() { Dictionary<string, bool> options = new Dictionary<string, bool>(1); options.Add(SPDatabase.SqlDatabaseOption[2], false); SPDatabase.Provision(this.DatabaseConnectionString, @quot;C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATESQLcustom.sqlquot;, options); this.Update(); }
  • 10. LEVEL 4: OUTSIDE SHAREPOINT SCOPE
  • 11. LEVEL 4: OUTSIDE SHAREPOINT SCOPE  Code initiated by timerjob  Code  Console Application  Scripting  Etc.
  • 12. SPJobDefinition // inherit from SPJobDefinition class // override execute method public override void Execute(Guid targetInstanceId) { // Execute test.bat System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(@quot;c:test.batquot;); System.Diagnostics.Process.Start(psi); }
  • 13. SPFeatureReceiver // on FeatureActivated, deploy timer job SPSite site = properties.Feature.Parent as SPSite; // make sure the job isn't already registered foreach (SPJobDefinition job in site.WebApplication.JobDefinitions) { if (job.Name == CustomTimerJob.TimerJobName) job.Delete(); } // install the job CustomTimerJob custJob = new CustomTimerJob(site.WebApplication); // create schedule SPOneTimeSchedule schedule = new SPOneTimeSchedule(); schedule.Time = DateTime.Now; custJob.Schedule = schedule; custJob.Update();
  • 14. RESOURCES Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part 1 of 2) http://msdn.microsoft.com/en-us/library/bb530302.aspx Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part 2 of 2) http://msdn.microsoft.com/en-us/library/bb530301.aspx Creating Custom Timer Jobs in Windows SharePoint Services 3.0 http://msdn.microsoft.com/en-us/library/cc406686.aspx