(Post dedicated to Nuri, Operations Manager for our delivery team in EMEA, and courtesy Sean Earp)
With the addition of PowerPoint Web App to SharePoint 2010, you can now view and edit PowerPoint presentations directly from within your browser. This technology has also been made available to consumers on services such as http://office.live.com/ and http://docs.com/.
In the past, it has been difficult to embed a PowerPoint document within a webpage, requiring workarounds such as saving the presentation as pictures, PDFs, or MHT documents. If you have a public presentation, it is now extremely easy to embed a PowerPoint deck on any web page, following the steps on the aptly named how to embed a PowerPoint presentation on a web page post.
Unfortunately, these steps do not work if your installation of PowerPoint Web App is local. The Share –> Embed option available from http://office.live.com is simply not present on SharePoint 2010.
So what to do if you want to embed an internal, private, or confidential PowerPoint presentation on an internal SharePoint page? Fortunately, it is possible to embed a presentation on a webpage without posting the presentation on a broadly available public site.
Step 1: Ensure that Office Web Apps have been installed and configured on SharePoint 2010. Those steps are out of scope for this article, but the official documentation should be all you need: Deploy Office Web Apps (Installed on SharePoint 2010 Products)
Step 2: Upload the PowerPoint to a document library
Step 3: Click on the PowerPoint Deck to open it in PowerPoint Web App. It will have a URL that looks like:
Don’t worry about writing down the URL. Unfortunately, you can’t paste it into a Page Viewer web part without getting an error message. So… a little magic to get the URL we need to embed our PowerPoint deck on our SharePoint Page.
Step 4: Open the Developer Tools in Internet Explorer (F12), and search for iframe.
Step 5: Copy the first result into your text editor of choice. The magic URL you need is the one within the src attribute.
Step 6: Delete everything except the part inside the quotes. Before the PowerPointFrame.aspx, add the relative URL to your site collection _layouts directory, and copy the whole URL into your clipboard.
Step 6: Go to the SharePoint Page you want to embed the PowerPoint into. Add a Page Viewer Web Part to the page. Open the tool pane for the web part,
Step 7: In the Page Viewer tool pane, paste in the URL, and optionally enter a height/width and chrome state for the PowerPoint Deck.
Step 8: Hit “OK” and be awed at how awesome it looks to have a fully functional PowerPoint deck embedded on your page. You can view the deck full screen by clicking “Start Slide Show”, you can change slides, view notes, click links, or click the “popout” button to have the deck open up in a popout window.
Super-secret-squirrel trick: If you want the deck to default to a slide other than the cover slide, click through to the slide you want, and then click the popout button in the top right of the PowerPoint Web App. The deck will be open to that slide in its own window.
Use the same Developer Tools trick from step 4, but this time search for &SlideId. You will see the URL has added two parameters… a slide ID and popout=1 (the URL will end with something like &SlideId=590&popout=1). You can guess what popout=1 does, and the SlideId is some sort of internal reference to the Slide ID (I have no idea how it is generated, but it doesn’t matter . My web app-fu will work just the same). Just copy the &SlideID=somenumber and paste it to the end of your URL in the Page Viewer web part, and now your web page will display the PowerPoint deck starting on whatever page you specified!
Office Web Apps technical library
(post courtesy Anand Nigam)
One of the cool things in SharePoint 2010 is the ability to show the Exchange Calendar on a SharePoint site, side by side. This is called as Calendar Overlay
This post will walk through how to configure this.
1. I have a SharePoint Site http://fabrikam which looks like this
2. I also have a calendar “MySharePointCalender” , with a few calendar events entered.
3. I have my Exchange Calendar in Outlook, with a few meeting/events there as well.
4. What we want is to see events from my Exchange calendar show up on the SharePoint calendar.
1. Open the SharePoint calendar --> Calendar Tools –> Calendar Overlay –>New Calendar,
Fill in the :
If your OWA URL is https://exch.contoso.com/owa, then the Exchange web Service URL would be https://exch.contoso.com/ews/exchange.asmx
(in other words, from the OWA URL , remove the trailing “owa” and add “ews/exchange.asmx”)
If you have not previously configured SharePoint to trust your Exchange server, you will receive the following error message:
Could not establish trust relationship for the SSL/TLS secure channel with authority ‘dc’. (GUID)
Could not establish trust relationship for the SSL/TLS secure channel with authority ‘dc’. (GUID)
Here is the fix
1. Get the CA Root Certificate for your domain
(Just a note, there are many ways to get the certificate, I’m taking the one that is less prone to error)
a. Go to the Server where you have the Certificate Authority installed. Open IIS and select the Server Certificates component.
Double click on Server Certificates
Locate the Root Certificate of the CA from the list, here is the one what I have.
(To double check if this it the Root certificate, open the certificate and see the certification path, It should have just one entry (root), that is the name of the Certification Authority, in your domain.). Below the image or my root certificate
b. Now that we have located the certificate, Open it go to Details tab and Click Copy to File
And now we have the Certificate exported to a file
Copy this certificate to the SharePoint Server, and follow the below steps
a. Open Central administration > Security> Manage Trust
b. Click on New, Provide a Name (I use RootCA), and navigate to the RootCA.cer file you exported in the previous step and Click OK
Now refresh the same calendar and confirm that you can see the Exchange calendar event for the logged in user
Although we can now see the Exchange calendar, we can on only see the free/busy status, and not the actual details of the event. It would be good if we could have the details displayed here too. To display details:
1. Open Outlook> File > Options>
2. Go to the Calendar Section > click Free/Busy Options
3. Select any one of the options below, I have selected Full details. Click Apply and Ok and exit out of Outlook. Now refresh the SharePoint calendar and see the difference.
Note: The calendar overlay is per user, meaning it will only show calendar items for the currently logged-in user.
(Post courtesy of Anand Nigam)
Hi SharePoint Folks,
I am back with yet another post, this time I will focus on an evergreen subject, Integration between SharePoint and CRM 2011 ? This is a huge topic as there are many possibilities. To have a better clarity on each of the Integration point, I’m going to split the post basis on the integration point covered.
The word you are thinking is “awesome”, well I know ,
Let’s cut short the talking and make it work, get ready!
So below is what you will need
In CRM 2011, document management feature comes OOB. This makes it very easy to setup document management as compared to CRM4. Once we are able to setup this up, a CRM 2011 user can create, upload, download, modify etc. to the documents/content in SharePoint without leaving the CRM UI, AND without using “not so good looking“ IFRAME method. Moreover it’s easy to pull administrative information too, All with minimal efforts
So here is my CRM
And here is my SharePoint
To actually integrate the two we have to complete 2 tasks :
1. Make SharePoint aware that CRM is going to speak to it. This is done by an add-on, which is essentially a sandbox solution, Please be aware, Sandbox solution has a restriction to work within the site collection, so if your need is to use multiple SharePoint site collection for integrating with CRM, you have to install the sandbox solution on each of the them. Also Note – I am not talking about subsite, I am talking about site collection. 2. Configure CRM to use SharePoint as the backend document server. This is done simply by configuring the SharePoint site collection URL in the CRM document management’s settings page.
1. Make SharePoint aware that CRM is going to speak to it. This is done by an add-on, which is essentially a sandbox solution, Please be aware, Sandbox solution has a restriction to work within the site collection, so if your need is to use multiple SharePoint site collection for integrating with CRM, you have to install the sandbox solution on each of the them.
Also Note – I am not talking about subsite, I am talking about site collection.
2. Configure CRM to use SharePoint as the backend document server. This is done simply by configuring the SharePoint site collection URL in the CRM document management’s settings page.
Step 1 – Log in to any (if you have multiple servers in SharePoint farm, just take any APPLICATION server) SharePoint server with the farm service account –
Download the List component here http://www.microsoft.com/download/en/details.aspx?id=5283
Step 2 – Extract the files,
Double click the installer
Read and understand and if you accept the terms tick mark and continue
Select the Location for extraction
Once successfully extracted open the location (“c:\CRM List Component\” in my case)
You will see 3 files, just 2 of them are important.
$WebApp = Get-SPWebApplication –identity <url of your webapp>
2 – crmlistcomponent.wsp - this is the solution, that we will upload to the SharePoint site solution gallery that will enable SharePoint to “Speak” with CRM
Easy till here? The next part is easy too !
Now Open SharePoint central administration site. Navigate to System Settings > Manage Services on Server > Look for “Microsoft SharePoint foundation Sandboxed Code Service”, now Click on Start. On a “Not so important” note - it’s always a good idea/best practice to turn on the services on multiple servers.
Ensure that you have started it , otherwise the sandbox solution WILL not work. Ok once this is done open services.msc and ensure the service “SharePoint 2010 User Code Host” is “started”. Not doing these steps are the most common reasons why many get error when they try to Activate the solution.
Now Open the SharePoint site and navigate to the site collection where you want CRM to push the data. In my case I have a default site collection “/” so I will navigate to it in the browser.
Navigate to Site Action> Site Settings > Solutions (Under Galleries)
Upload > and point to crmlistcomponent.wsp
Now click Activate.
On successful activation click on the solution once and ensure that your window looks similar to the one below. I get Deactivate options confirms the solution is successfully activated
Now Time to run the script
Fire up the SharePoint management shell > navigate to the AllowHtcExtn.ps1 location and run it in the below way
> AllowHtcExtn.ps1 <site collection url>
Eg > AllowHtcExtn.ps1 http://app1/
Successful run will show you a similar window
Step 1- Open CRM 2011 Site > Settings (at bottom of the image)
Click on Document management > click Document Management Settings
Now in the following window tick mark those entities where you WANT to have Document management Option. Eg :- if you only want “Account” entity to have the option to upload and download document select it, if you want document management on other entities like Order, Price List , Contract etc. just select it. By default Account, Article, Lead, Opportunity, Product, Quote and Sales Literature are already selected.
Next Enter the site collection url in the URL box.
CRM now will validate if the sandbox solution is present in that site collection and once it detects its presence will it continue further
Now we are given an option to select – On which Entity should CRM create the folder structure? Based on accounts or Contacts ?
Once we click next it will prompt to create the document libraries in SharePoint, say Ok , and it finishes with a charm.
Since we went with default entities, we got 7 libraries created in SharePoint
Open the CRM workspace> Open a Account.
Click on Documents menu on the left and you will receive a prompt (it says that I’m going to create a folder with the account’s name) say Ok
We got the library created
Add a document to this
You will see it below like this
If I now do the same operation for the entity Opportunity I will see the documents in a folder name Opportunity under the account library.
That's it !, we are done with the Document management integration of CRM 2011 and SharePoint 2010, wasn’t that easy?
1. Finally All the feature of document management server is provided in the CRM UI itself
2. If you DO NOT have list component on SharePoint still you can use the SharePoint libraries to store document. When you will use the documents option in the CRM entity it will ask you for a SharePoint library, Which CRM will show you in an IFRAME (like the good old days of CRM 4 with IFRAME of SharePoint library). CRM 2011 does the IFRAME configuration automatically.
Enter the absolute URL of the SharePoint library and you will see it in IFRAME
Now click save and see the library in IFRAMEJ.
3. On the entities we can see the option “Add Location”, this way we can have multiple locations added for content storage, it can be another SharePoint site or a different URL.
Notice the URL of the SharePoint, it’s a sub site, OR you could use another folder too. My intention is to have a separate folder for contract documents and another folder for other type of documents.
The result is – the users get the drop down to select where he wants to upload the document.
4. The Edit Location button will give us option to alter the location of the SharePoint folder.
5. Something that you must know .The Option to Remove / Delete added location is nowhere here. You must navigate to Document management settings > SharePoint Document Location. Remember this is the only place where you can see all the SharePoint sites currently used by CRM.
I hope you liked the post. I will be back with other parts soon !
Questions/feedback are welcome
Post courtesy of Yashkumar Tolia
One of the first things that an IT administrator (and even an end user) dreams for is “Integration”. For an administrator, integration of multiple technologies in your environment, consolidation of various products, management of everything from one single place, provision of data in a secured manner; are a few reasons. While for an end user, single point of access, anytime consumption of data and Single Sign-On pops up to one’s mind.
One of the prime technologies used by IT administrators for virtualization is Remote Desktop Services, previously known as Terminal Services. The TechNet article, Remote Desktop Services Overview, gives a great beginning to understanding this technology. As the link mentions, the major advantages of adopting this technology are:
SharePoint Server 2010
SharePoint Server 2010 is not just viewed as a content sharing and accessing product any more, but as a Business Collaboration Platform for the Enterprise and the Internet. With features like content management, workflows, search, SharePoint Server 2010 helps you to connect with colleagues and information; manage and govern enterprise content; balance user experience with policy and process; and help users find the content, information, and people. A great guide for understanding SharePoint Server 2010 is found in TechNet, SharePoint Server 2010.
Integration of Remote Desktop Services with SharePoint Server 2010
Integration of these 2 technologies opens up great avenues for consolidation. The Remote Desktop Web Access server role can be taken over by the already present SharePoint Server 2010 in the environment. This provides the possibility such as:
Steps to integrate Remote Desktop Services with SharePoint Server 2010
The integration of SharePoint Server 2010 (from now on, we will call it SPS) with Remote Desktop Services (from now on, we will call it RDS), is divided into 5 steps:
1. Installation of RDS Session host server
Perform these steps on the RDS Session Host server:
a. Go to Server Manager -> Roles -> Add Roles. This will take you to the Add Roles Wizard. Click Next.
Figure 1: Add Roles Wizard
b. Select Remote Desktop Services. Click Next.
Figure 2: Role Selection
c. Click Next.
Figure 3: Introduction to Remote Desktop Services
d. Select Remote Desktop Services Session Host role. Click Next.
Figure 4: Role Service Selection
e. Click Next.
Figure 5: Uninstall and Reinstall Application for compatibility warning
f. Select Require Network Level Authentication. Click Next.
Figure 6: Network Level Authentication Selection
g. Select the appropriate licensing scheme. Click Next.
Figure 7: Licensing Mode Selection
h. Select the appropriate users you want to give access to the RDSH server. Click Next.
Figure 8: User Group Definition
i. Select any of the features that you want to include in the Desktop Experience. Click Next.
Figure 9: Enabling Desktop Experience
j. Click Install. Reboot the server.
Figure 10: Installation summary
2. Installation of SPS 2010
Perform these steps on the SPS server:
a. Install SPS 2010.
Figure 1: SharePoint Installation
b. Check mark Run the SharePoint Products Configuration Wizard now. Click Close.
Figure 2: SharePoint Installation completion and Run Configuration Wizard
Figure 3: Configuration Wizard
d. Click Yes to restart the services.
Figure 4: Restarting of Services
e. Go to the SPS website by typing the following URL: http://<servername>/, to check if the SharePoint site is working fine or not.
Figure 5: SharePoint Website Home Page
Figure 2: Selection of Role Services
d. Click on Add required role services.
Figure 4: Add required Role Services
e. Click on Next.
Figure 5: Introduction to IIS
f. Click Next.
Figure 6: Add role services
g. Click Finish to finish installation.
4. Configuration of the Terminal Services Web Part
Perform these steps on SPS server:
a. Go to %SystemDrive%:\inetpub\wwwroot\VirtualDirectories\80. Right click Web.config and edit it in wordpad.
Figure 1: Editing web.config file
b. In the <SafeControls> section, add the following line under the other SafeControl Assembly entries (as a single line):
<SafeControl Assembly="TSPortalWebPart, Version=126.96.36.199, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.TerminalServices.Publishing.Portal" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
Figure 2: Adding SafeControl Assembly
c. Open an elevated command prompt. To do this, click Start, right-click Command Prompt, and then click Run as administrator:
· Type mkdir "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\188.8.131.52__31bf3856ad364e35\images" and then press ENTER.
· Type mkdir "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\184.108.40.206__31bf3856ad364e35\rdp" and then press ENTER.
· Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\220.127.116.11__31bf3856ad364e35\images” /T /E /P NetworkService:F and then press ENTER.
· Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\18.104.22.168__31bf3856ad364e35\rdp” /T /E /P NetworkService:F and then press ENTER.
Figure 3: Adding files to the Web Parts
d. Go to the SharePoint website as an administrator. In the upper-right corner, on the Site Actions tab, click Site Settings.
Figure 4: Editing the Site Settings
e. Under Galleries, click Web Parts.
Figure 5: Adding Web Part to the Gallery
f. Under the Web Part Gallery heading, click New.
Figure 6: Adding the TSPortalWebPart to the list
g. Select the check box next to Microsoft.TerminalServices.Publishing.Portal.TSPortalWebPart, and then click Populate Gallery.
Figure 7: Adding the new Web Part
5. Publishing of RemoteApps
a. On the Site Actions tab, click Edit Page.
Figure 1: Edit Web Page
b. Choose the location on the website where you want to add the Web Part, and then click Add a Web Part.
Figure 2: Adding the Web Part to the site
c. In the Add Web Parts -- Webpage Dialog dialog box, under the All Web Parts heading, select the TSPortalWebPart check box, and then click Add. The TSPortalWebPart Web Part will appear on the page.
Figure 3: Select the TSPortal Web Part
d. To configure the Web Part, click edit in the upper-right corner of the Web Part, and then click Modify Shared Web Part.
Figure 4: Editing the Web Part
e. In the RD Session Host server(s) or RemoteApp and Desktop Connection Management server name box, type <RDSservername> and then click OK.
Figure 5: Adding the RDS Session Host Server
f. Click Save icon in the top left corner of the website.
Figure 6: Saving the Web Part to the site
g. Test the application by running a RemoteApp.
Figure 7: Selecting the RemoteApp
Figure 8: Connecting to the RemoteApp
Figure 9: Providing credentials
Figure 10: Using the RemoteApp
In this way, you can leverage your already existing environment and integrate it for a single website for the users to log into and get their RemoteApps. This combined with the search and content sharing capabilities gives the user a seamless experience.
To learn more, check out the following articles:
Customizing Remote Desktop Web Access by Using Windows SharePoint Services Step-by-Step Guide
(Post courtesy Anil Malekani)
In this post I’ll explain how to configure Power Management with SCCM 2007 R3. The post is divided in three parts; prerequisites and dependencies, enabling power management on site and clients, and configuring reports for power management.
The power management feature in SCCM 2007 R3 provides the following capabilities:
1. Install KB977384 on the site server and create a package for deployment to SCCM clients machines.
a. Locate the file SCCM2007-SP2-KB977384-ENU.msi on the SCCM 2007 R3 install media and start installation.
b. During installation it will prompt to create a patch install package for clients. Select the first option to create the package and Press Next.
c. Press Next or modify the package name for the Patch.
d. Press Next twice.
e. Click Finish.
This process will create a package and a program in the SCCM console. Open the console and verify that it is present under packages. Now you can create an advertisement and target the patch install program on a collection of workstations. Make it a mandatory installation and it won’t require a restart on machines.
2. Enable the Power Management Client Agent setting on the Site server.
On the SCCM client workstation, you’ll find the new Power Management Agent component under the Configuration Manager Properties. This will appear only if you have patch KB977384 installed and policy updates have been received from the site server after enabling the power management agent.
3. Enable Power plans for a collection of machines.
a. Right-click a collection of machines and select Modify collection settings.
b. Click on the Power Management tab and select the option to Specify power management settings for the collection.
c. Define Peak hours and select a Peak plan.
d. You may select any of predefined power plans or modify the Customized Peak plan.
e. Similarly for Non-peak plan you may customize the Non-peak power plan and press OK.
1. Make sure SQL Reporting Services component is installed and configured. Use the Reporting Services Configuration tool to configure Reporting Services.
2. Install Reporting Services Point as a new site role in SCCM
3. Specify the Report Folder Name and press Next twice.
4. Go to Reporting Services under Computer Management > Reporting. Right-click the Reporting Services server role and select Copy Reports to Reporting Services.
5. Select Database server name and database instance name for SCCM.
6. Select database authentication method to gain access to connect to database and press Next.
7. Select the second option to Import Reports from a cabinet file, and click Browse.
8. Browse to "%ConfigMgr install folder%\Reports\Power Management" folder and select MicrosoftReportsPack.cab file.
9. This will list all Power Management reports which will be imported.
10. Press Next twice.
11. To view reports, open IE and type URL http://%servername%/Reports.
12. Click on ConfigMgr_%SiteCode% Folder and select Power Management Reports.
These Reports may also be executed from SCCM server console.