Presentation on theme: "using SharePoint Automation Services;"— Presentation transcript:
1using SharePoint Automation Services; The administrator, developer, and user primer
2About me Working with SharePoint since WSSv2 SharePoint Server MVP SharePoint-Community.net repSharePoint MSDN/TechNet Forums ModeratorNaupliusOpen Source DevelopmentDeep-dive in SharePoint@NaupliusTrevor
3using Word Automation Services; Converting word documents
4What is…?Provides a service to convert Word documents (DOC, DOCX) from one file format to another…… such as, PDF, XPS, JPG, PNG, RTF, XML…Preserves embedded fonts and images during conversionContains Workflow support, making mass-automated conversion processes easy to performOr can be leveraged by any application running from the SharePoint server
5WAS: AdministrationAvailable with SharePoint 2010 and 2013 Standard or EnterpriseService Instance [Word Automation Services]Service ApplicationCentral AdministrationPowerShell (New-SPWordConversionServices)Conversions executed by Timer Job, every 15 minutes by defaultConfiguration via Central Administration or PowerShell (Set- SPWordConversionServices)
6WAS: Administration Cont. Documents are kept in-memory during conversion, monitor memory usageLarge documents can have a significant processor impactDocument conversion occurs within WordServerWorker.exeAccount running Service Application Pool must be Farm Administrator
7WAS: Administration Cont. Extensive diagnostics support, but….… not very useful.
8WAS: DeveloperRequires Full Trust Code; Server Side Object Model Only – Not Available in Office 365 Scott Hiller provides a REST endpoint (http://code.msdn.microsoft.com/office/SharePoint-2013-Convert- 1e0578a1) … on-premises onlyProvides a queue to add one or more documents toUse the Microsoft.Office.Word.Server.Conversions namespace
9WAS: Developer Cont.Create a ConversionJob with Word Automation Services proxy and a UserTokenSet the Output file formatGive the job a NameAdd the input file and output file to the job using URIsStart the job… and waitUse ConversionJobStatus to monitor jobs
10WAS: Developer Cont.Traditional Conversion Process
11WAS: Developer – Instant Access New “Instant” Conversions in SharePoint 2013, bypass the queue!
13Let’s see how this actually works! WAS: UserLet’s see how this actually works!
14ReferencesEstimate performance and capacity requirements for Word Automation Services in SharePoint Server 2010Word Automation Services ArchitectureWhat's new in Word Automation Services for developersNauplius.WAS
16What is…?Provides a service to convert PowerPoint documents (PPT, PPTX) from one file format to another…… such as, PDF, XPS, JPG, PNG…Preserves embedded fonts and images during conversionContains Workflow support, making mass-automated conversion processes easy to performOr can be leveraged by any application running from the SharePoint server
17PAS: AdministrationAvailable with SharePoint 2013 Standard or EnterpriseService Instance [PowerPoint Conversion Services]Service ApplicationPowerShell Only (New-SPPowerPointConversionServiceApplication)Conversions executed immediatelyNo Database for Service ApplicationConfiguration via PowerShell Only (Set- SPPowerPointConversionServiceApplication)
18PAS: Administration Cont. Documents are written to disk on SharePoint server running Service Instance (C:\ProgramData\Microsoft\SharePoint\PowerPointConversion)Large documents can have a significant processor impactDocument conversion occurs within pptworker.exeAccount running Service Application Pool must be Farm AdministratorDiagnostics are actually useful!
19PAS: DeveloperRequires Full Trust Code; Server Side Object Model Only – Not Available in Office 365 There is no ‘queue’, documents are immediately convertedUse the Microsoft.Office.Server.PowerPoint.Conversion namespace
20PAS: Developer Cont.Pass a valid SPFile Binary Stream into a PresentationRequest with a reference to the output SPFileStream and PresentationTypeConversions are Asynchronous. Use BeginConvert and EndConvertSave output SPFileStream as SPFile to target locationNo method available to monitor jobsCan be leveraged by console applications or other Web Applications where the Server OM is available