Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Presentation Moss 2007 Usman


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Presentation Moss 2007 Usman

  1. 1. <ul><li>By: Usman Zafar Malik </li></ul><ul><ul><li>[ MCTS : Microsoft Office SharePoint Server 2007] </li></ul></ul>
  2. 2. <ul><li>Policy </li></ul><ul><li>Auditing </li></ul><ul><li>Creating Business Intelligence(BI) Solutions by using MOSS </li></ul><ul><li>Working with KPIs </li></ul>
  3. 3. <ul><li>What is the Policy? </li></ul><ul><li>Policy Architecture. </li></ul><ul><li>How to define Policy? </li></ul><ul><li>How to implement the Policy by using Code? </li></ul>
  4. 4. <ul><li>Policy is a collection of instruction sets for one or more policy features. </li></ul><ul><li>Each policy feature provides a specific kind of content management functionality. </li></ul><ul><li>You can assign a policy to either a content type or a list. </li></ul>
  5. 6. <ul><li>Each policy feature that you want to include in a policy, you include an instruction set, called a policy item , in the policy. </li></ul><ul><li>Policy item is an XML node within a policy that contains the settings for only one policy feature, includes like ID, NAME of Policy Feature. </li></ul>
  6. 7. <ul><li>A policy feature is an assembly that provides some content management functionality to Office SharePoint Server 2007. </li></ul><ul><li>You can include the same policy feature in multiple policies. </li></ul><ul><li>A policy feature can use one or more policy resources </li></ul><ul><li>Example: Audit. Expiration ,Labels, Bar Codes </li></ul>
  7. 8. <ul><li>A policy resource is an assembly that assists the policy feature by providing some functionality the feature needs. </li></ul><ul><li>For example, the Bar Code policy feature uses a Bar Code Provider, which generates the bar codes, as a policy resource. </li></ul><ul><li>Expiration policy feature applies an Expiration Formula Calculator as a policy resource to determine a document's actual expiration date. Policy feature also uses an Expiration Action policy resource to determine what action to take when an item reaches its expiration date. </li></ul><ul><li>Policy Resources are not shared between Policy Features. </li></ul>
  8. 9. <ul><li>Implement Interface IPolicyFeature . </li></ul><ul><li>Reference: </li></ul><ul><ul><li>Microsoft.Office.Policy.dll </li></ul></ul><ul><li>NameSpace: </li></ul><ul><ul><li>Microsoft.Office.RecordsManagement.InformationPolicy </li></ul></ul><ul><li>Include these methods </li></ul><ul><ul><li>OnCustomDataChange </li></ul></ul><ul><ul><li>OnGlobalCustomDataChange </li></ul></ul><ul><ul><li>ProcessListItem </li></ul></ul><ul><ul><li>ProcessListItemOnRemove </li></ul></ul><ul><ul><li>Register </li></ul></ul><ul><ul><li>UnRegister </li></ul></ul>
  9. 10. <ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> </li></ul></ul><ul><ul><li><p:PolicyFeature id=&quot;TST.POC.PolicyFeatures.PolicyOfTruth&quot; </li></ul></ul><ul><ul><li>    xmlns:p=&quot;urn:schemas-microsoft-com:office:server:policy&quot; group=&quot;Policy&quot;> </li></ul></ul><ul><ul><li>  <p:LocalizationResources>dlccore</p:LocalizationResources> </li></ul></ul><ul><ul><li>  <p:Name>Policy of Truth</p:Name> </li></ul></ul><ul><ul><li>  <p:Description> </li></ul></ul><ul><ul><li>      This policy helps us to achieve the goals set in our </li></ul></ul><ul><ul><li>      &quot;one version of the truth&quot; project </li></ul></ul><ul><ul><li>  </p:Description> </li></ul></ul><ul><ul><li>  <p:Publisher>Ton Stegeman</p:Publisher> </li></ul></ul><ul><ul><li>  <p:ConfigPage>policyoftruthsettings.ascx</p:ConfigPage> </li></ul></ul><ul><ul><li>  <p:ConfigPageInstructions> </li></ul></ul><ul><ul><li>      You can add keywords here. </li></ul></ul><ul><ul><li>      If any of these keywords is found in the item&quot;s metadata and the metadata also has </li></ul></ul><ul><ul><li>      the word &quot;truth&quot; or &quot;proof&quot;, then the item is considered to be the &quot;truth&quot;. And our </li></ul></ul><ul><ul><li>      truth is something we need to manage. Separate your keywords with a &quot;;&quot; </li></ul></ul><ul><ul><li>  </p:ConfigPageInstructions> </li></ul></ul><ul><ul><li>  <p:AssemblyName> </li></ul></ul><ul><ul><li>      TST.POC.PolicyOfTruth, Version=, Culture=neutral, </li></ul></ul><ul><ul><li>      PublicKeyToken=503edd7b21a430b3 </li></ul></ul><ul><ul><li>  </p:AssemblyName> </li></ul></ul><ul><ul><li>  <p:ClassName>TST.POC.PolicyFeatures.PolicyOfTruth</p:ClassName> </li></ul></ul><ul><ul><li></p:PolicyFeature> </li></ul></ul>
  10. 11. <ul><ul><li>    <!-- _lcid=&quot;1033&quot; _version=&quot;12.0.4518&quot; _dal=&quot;1&quot; --> </li></ul></ul><ul><ul><li>    <!-- _LocalBinding --> </li></ul></ul><ul><ul><li>    <%@ Assembly Name=&quot;TST.POC.PolicyOfTruth, Version=, Culture=neutral, PublicKeyToken=503edd7b21a430b3&quot;%> </li></ul></ul><ul><ul><li>    <%@ Register Tagprefix=&quot;SharePoint&quot; Namespace=&quot;Microsoft.SharePoint.WebControls&quot; </li></ul></ul><ul><ul><li>            Assembly=&quot;Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; %> </li></ul></ul><ul><ul><li>    <%@ Register Tagprefix=&quot;Utilities&quot; Namespace=&quot;Microsoft.SharePoint.Utilities&quot; </li></ul></ul><ul><ul><li>            Assembly=&quot;Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; %> </li></ul></ul><ul><ul><li>    <%@ Import Namespace=&quot;Microsoft.SharePoint&quot; %> </li></ul></ul><ul><ul><li>    <%@ Control Language=&quot;C#&quot; Inherits=&quot;TST.POC.PolicyOfTruth.PolicyOfTruthSettings&quot; %> </li></ul></ul><ul><ul><li>    <p> </li></ul></ul><ul><ul><li>    <table cellpadding=&quot;0&quot; class=&quot;ms-authoringcontrols&quot;> </li></ul></ul><ul><ul><li>        <tr> </li></ul></ul><ul><ul><li>            <td>&nbsp;</td> </li></ul></ul><ul><ul><li>            <td><asp:Label runat=&quot;server&quot; Text=&quot;Enter your keywords, separated by &quot;;&quot;&quot;></asp:Label></td> </li></ul></ul><ul><ul><li>        </tr> </li></ul></ul><ul><ul><li>        <tr> </li></ul></ul><ul><ul><li>            <td>&nbsp;</td> </li></ul></ul><ul><ul><li>            <td> </li></ul></ul><ul><ul><li>            <asp:TextBox id=&quot;TextBoxKeywords&quot; runat=&quot;server&quot; MaxLength=&quot;1024&quot; </li></ul></ul><ul><ul><li>                    class=&quot;ms-input&quot; ToolTip=&quot;Enter your keywords here.&quot; /> </li></ul></ul><ul><ul><li>            <asp:RequiredFieldValidator </li></ul></ul><ul><ul><li>                        id=&quot;RequiredValidatorKeywords&quot; </li></ul></ul><ul><ul><li>                        ControlToValidate=&quot;TextBoxKeywords&quot; </li></ul></ul><ul><ul><li>                        ErrorMessage=&quot;At least one keyword is required.&quot; </li></ul></ul><ul><ul><li>                        Text=&quot;Please enter on or more keywords separated by a semicolon.&quot; </li></ul></ul><ul><ul><li>                        EnableClientScript=&quot;false&quot; </li></ul></ul><ul><ul><li>                        runat=&quot;server&quot;/> </li></ul></ul><ul><ul><li>            </td> </li></ul></ul><ul><ul><li>        </tr> </li></ul></ul><ul><ul><li>    </table> </li></ul></ul><ul><ul><li>    </p> </li></ul></ul>
  11. 12. <ul><li>Creating the Policy Control you have to inherit the control from abstract class CustomSettingsControl . </li></ul><ul><li>Important part are “ CustomData ” property and “ onLoad ” Method. </li></ul><ul><li>In the “ CustomData” property the xml is generated with the values of the controls. </li></ul><ul><li>The “ OnLoad ” reads the xml string and sets the values for the usercontrol(s) in your editor. </li></ul>
  12. 13. <ul><li>Add the Control in the “ LAYOUTS ” folder of the MOSS Deployed Path. </li></ul><ul><li>Deploy the Assemblies. </li></ul>
  13. 14. <ul><li>Register your policy in the Policy Catalog . </li></ul><ul><ul><li>PolicyFeatureCollection policyFeatures = PolicyCatalog.FeatureList; </li></ul></ul><ul><ul><li>        foreach (PolicyFeature policyFeature in policyFeatures) </li></ul></ul><ul><ul><li>        { </li></ul></ul><ul><ul><li>            if (policyFeature.Id==&quot;TST.POC.PolicyFeatures.PolicyOfTruth&quot;) </li></ul></ul><ul><ul><li>            { </li></ul></ul><ul><ul><li>                MessageBox.Show(&quot;Policy was already installed&quot;); </li></ul></ul><ul><ul><li>                return; </li></ul></ul><ul><ul><li>            } </li></ul></ul><ul><ul><li>        } </li></ul></ul><ul><ul><li>        string manifest = System.IO.File.ReadAllText(&quot;manifest.xml&quot;); </li></ul></ul><ul><ul><li>        PolicyFeature.ValidateManifest(manifest); </li></ul></ul><ul><ul><li>        PolicyFeatureCollection.Add(manifest); </li></ul></ul>
  14. 15. <ul><li>Unregister your policy in the Policy Catalog . </li></ul><ul><ul><li>PolicyFeatureCollection policyFeatures = PolicyCatalog.FeatureList; </li></ul></ul><ul><ul><li>        foreach (PolicyFeature policyFeature in policyFeatures) </li></ul></ul><ul><ul><li>        { </li></ul></ul><ul><ul><li>            if (policyFeature.Id == &quot;TST.POC.PolicyFeatures.PolicyOfTruth&quot;) </li></ul></ul><ul><ul><li>            { </li></ul></ul><ul><ul><li>                PolicyFeatureCollection. Delete (policyFeature.Id); </li></ul></ul><ul><ul><li>                return; </li></ul></ul><ul><ul><li>            } </li></ul></ul><ul><ul><li>        } </li></ul></ul>
  15. 16. <ul><ul><li><p:Policy xmlns:p=&quot;office.server.policy&quot; local=&quot;false&quot; id=&quot;62bb137b-e4c5-4dab-9b90-c9b3e54384c5&quot;> </li></ul></ul><ul><ul><li>        <p:Name>The truth about SharePoint</p:Name> </li></ul></ul><ul><ul><li>        <p:Description>This policy manages &quot;truth&quot; items on SharePoint in our portal</p:Description> </li></ul></ul><ul><ul><li>        <p:Statement> </li></ul></ul><ul><ul><li>          SharePoint list items and documents that are considered to be the truth about SharePoint </li></ul></ul><ul><ul><li>          Technologies, will be managed by our &quot;truth manager&quot;. </li></ul></ul><ul><ul><li>        </p:Statement> </li></ul></ul><ul><ul><li>        <p:PolicyItems> </li></ul></ul><ul><ul><li>          <p:PolicyItem featureId=&quot;TST.POC.PolicyFeatures.PolicyOfTruth&quot;> </li></ul></ul><ul><ul><li>            <p:Name>Policy of Truth</p:Name> </li></ul></ul><ul><ul><li>            <p:Description>This policy helps us to achieve the goals set in our &quot;one version of the </li></ul></ul><ul><ul><li>                truth&quot; project</p:Description> </li></ul></ul><ul><ul><li>            <p:CustomData> </li></ul></ul><ul><ul><li>              <data> </li></ul></ul><ul><ul><li>                <keywords>SharePoint; MOSS; WSS</keywords> </li></ul></ul><ul><ul><li>              </data> </li></ul></ul><ul><ul><li>            </p:CustomData> </li></ul></ul><ul><ul><li>          </p:PolicyItem> </li></ul></ul><ul><ul><li>        </p:PolicyItems> </li></ul></ul><ul><ul><li>      </p:Policy> </li></ul></ul>
  16. 17. <ul><li>Demo (Label Policy) </li></ul>
  17. 18. <ul><li> </li></ul><ul><li> </li></ul>
  18. 19. <ul><li>What is the Auditing? </li></ul><ul><li>Demos </li></ul>
  19. 20. <ul><li>Audits are performed to ascertain the validity and reliability of information. </li></ul><ul><li>Track data such as which users viewed and updated records and documents, check-in, check-out etc. </li></ul>
  20. 21. <ul><ul><li>Demo - Create a Custom Audit Report </li></ul></ul><ul><ul><li>Demo - Use auditing feature in MOSS </li></ul></ul><ul><ul><li>Demo - Create a Custom File Submission </li></ul></ul><ul><ul><li>Demo - Create a Custom Legal Hold </li></ul></ul>
  21. 22. <ul><li>Implement interface “ IRouter” </li></ul><ul><li>Only one method “ OnSubmitFile ” </li></ul><ul><li>Reference: </li></ul><ul><ul><li>Microsoft.Office.Policy.dll </li></ul></ul><ul><li>NameSpace: </li></ul><ul><ul><li>Microsoft.Office.RecordsManagement.RecordsRepository </li></ul></ul>
  22. 23. <ul><li> </li></ul>
  23. 24. <ul><li>What is Business Intelligence? </li></ul><ul><li>How many ways we can use BI in MOSS? </li></ul>
  24. 25. <ul><li>The promise of Microsoft BI is to help decision makers at all levels throughout your organization have confidence that their decisions support your company’s goals and initiatives. </li></ul>
  25. 26. <ul><li>Report Center </li></ul><ul><li>Excel Services </li></ul><ul><li>Connections to external data sources </li></ul><ul><li>Key Performance Indicators (KPIs) </li></ul><ul><li>Filter Web Parts </li></ul><ul><li>Dashboards </li></ul>
  26. 27. <ul><li>The Report Center site provides a central location for business-intelligence-related information. </li></ul>
  27. 28. <ul><li>Excel Services enables you to store an Excel workbook on a server and then publish any part of that workbook on a Web page. </li></ul><ul><li>Users need only a browser to view and interact with the live data. </li></ul><ul><li>The workbook is published on the Web page by using the Excel Web Access (EWA) Web Part </li></ul>
  28. 29. <ul><li>You can use data from other business applications, such as SAP and Siebel, in SharePoint lists, pages, and Web Parts. </li></ul><ul><li>You can build Web Pages and SharePoint lists that allow users to interact with the data in the external source without ever leaving the SharePoint page. </li></ul>
  29. 30. <ul><li>A Key Performance Indicator (KPI) is a visual cue that communicates the amount of progress made toward a goal. </li></ul><ul><li>KPIs are created by using KPI lists and then are displayed by using special KPI Web Parts. </li></ul>
  30. 31. <ul><li>Filters allow you to display only the subset of data that you are interested in view. </li></ul><ul><li>Office SharePoint Server 2007 has 10 Filter Web Parts. </li></ul><ul><li>Example : Current User Filter Web Part. </li></ul>
  31. 32. <ul><li>Dashboards, also known as multi-report summary pages, contain one or more Web Parts, such as business data Web Parts, Excel Web Access Web Parts, or KPIs etc. </li></ul><ul><li>You can create your own dashboard page by using various Web Parts. </li></ul>
  32. 33. <ul><li> </li></ul>
  33. 34. <ul><li>Indicator using data in SharePoint list </li></ul><ul><li> </li></ul><ul><li>A SharePoint list that contains items from which you want to create an aggregate value, such as a sum, minimum, or maximum. Before you set up the KPI, make sure the SharePoint list already is in the view that you want to use. You must first display the appropriate columns in order for the KPI to work. </li></ul><ul><li>Indicator using data in Excel workbook </li></ul><ul><li> An Excel workbook where the KPI is calculated in the workbook. </li></ul><ul><li>Indicator using data in SQL Server 2005 Analysis Services </li></ul><ul><li> A SQL Server 2005 Analysis Services cube. </li></ul><ul><li>Indicator using manually entered information </li></ul><ul><li>Information that is not in a system and therefore entered manually. </li></ul><ul><li>Demo </li></ul>
  34. 35. <ul><li> </li></ul>
  35. 36. <ul><li>Extend Page Authoring Toolbar </li></ul><ul><li>Create Pages Dynamically. </li></ul><ul><li>Modify Page Layouts by using Content Placeholders </li></ul><ul><li>Create Custom Field Control </li></ul><ul><li>Variations </li></ul><ul><li>Deploy Content between servers. </li></ul>
  36. 37. <ul><li>Demo </li></ul><ul><li>Files </li></ul>
  37. 38. <ul><li>Class: ConsoleAction </li></ul><ul><ul><li>A class provided by MOSS for you to create new menu items. </li></ul></ul><ul><li>Method: RaisePostBackEvent </li></ul><ul><ul><li>It basically does all the heavy lifting required at the time the action is clicked </li></ul></ul>
  38. 39. <ul><li>Class: ConsoleNode </li></ul><ul><ul><li>This feature to be presented as a top level menu with children not just a single menu item. </li></ul></ul><ul><li>Method: InitNode </li></ul><ul><ul><li>Will be run on every page load, when the object is created so we use this method to determine whether the current page is in edit mode. </li></ul></ul><ul><li>Method: EnsureChildNodes </li></ul><ul><ul><li>Will construct the correct list of links which are to be displayed to the user. </li></ul></ul>
  39. 40. <ul><li>Steps involved to change the custom XML file: </li></ul><ul><ul><li>Using SharePoint Designer, check out the CustomEditingMenu.xml file under the master page gallery:   ” _CatalogsmasterpageEditing Menu”, Then, modify the custom XML file with the following changes. </li></ul></ul><ul><ul><li>Add some references to the top of the file so that the new actions from the assemblies can be referenced. Make sure you use the right PublicKeyToken key and the namespace so that the references are clear. </li></ul></ul>
  40. 41. <ul><li> </li></ul>
  41. 42. <ul><li>PageLayout </li></ul><ul><li>PublishingPage </li></ul>
  42. 43. <ul><li>Go to “Site Actions”  “Site Settings”  “ Modify All Site Settings ”  “ Site columns ”  “ Create ” </li></ul><ul><li>Enter the Column Name “ NewsHtmlColumn ” </li></ul><ul><li>Select Column type to “Full HTML content with formatting and constraints for publishing. </li></ul><ul><li>Enter the Group Name “ ColumnsGroup ” in a new Group Section and Press the Ok Button. </li></ul><ul><li>The Go to “ Site content type ”  “ Page ( link under the “Publishing Content Types Group”)”  “Add from existing site columns” </li></ul><ul><li>Add the “ NewsHtmlColumn ” </li></ul><ul><li>Demo </li></ul>
  43. 44. <ul><li>Create an “ .ascx ” file with a “ Sharepoint :RenderingTemplate” control. </li></ul><ul><li>We need to implement its code behind class must derives “ BaseFieldControl” and overrides the Property “ Value ”. </li></ul>
  44. 45. <ul><li>Create a custom “ field type” class, must inherit the base class “ SPField” . </li></ul><ul><li>Override method “ GetValidatedString ” to check the validity of input and return value. </li></ul><ul><li>Override method “ GetFieldValue ” to get the field value </li></ul><ul><li>Override “ FieldRenderingControl ” property returns the user control that created above. </li></ul>
  45. 46. <ul><li>The custom type must include a custom field type definition and name convention should be “ fldtypes_*.xml ”. </li></ul>
  46. 47. <ul><li>Build the solution and sign the assembly </li></ul><ul><li>Put the assembly into GAC </li></ul><ul><li>Copy the user control to program files...web server extensions12 emplatecontroltemplates </li></ul><ul><li>Copy fldtypes_name.xml to program files...web server extensions12 emplatexml </li></ul><ul><li>Run iisreset command. </li></ul>
  47. 48. <ul><li>SPFieldBoolean    Represents a Boolean field type. </li></ul><ul><li>SPFieldChoice     Represents a choice field type. </li></ul><ul><li>SPFieldCurrency      Represents a currency field type. </li></ul><ul><li>SPFieldDateTime     Represents a date-time field type. </li></ul><ul><li>SPFieldMultiColumn   Represents a multicolumn field type </li></ul><ul><li>Demo </li></ul>
  48. 49. <ul><li> </li></ul><ul><li> </li></ul>
  49. 50. <ul><li>Variations can be used for publishing related sites or pages, purpose is to support Multilingual in MOSS. </li></ul><ul><li>Instead, you will have sub sites under the web root representing your variations. </li></ul>
  50. 51. <ul><li>The root welcome page is configured by SharePoint (upon creation of variation labels and site structures) to point to a file called “ VariationRoot.aspx ”. </li></ul><ul><li>Template Page of “ VariationRoot.aspx ” is “ VariationRootPageLayout.aspx ” </li></ul><ul><li>This file contains a user control “ VariationsRootLanding.ascx” , which has the code that redirects. </li></ul><ul><li>  </li></ul><ul><li>For customization you have to change the control. </li></ul><ul><li>Control Location: </li></ul><ul><ul><li>“ C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATECONTROLTEMPLATESVariationsRootLanding.ascx ” </li></ul></ul>
  51. 53. <ul><li> </li></ul>
  52. 54. <ul><li>Create Production Site Collection. </li></ul><ul><li>Allow Incoming Content Deployment Jobs on the Production Site. </li></ul><ul><li>Create Content Deployment Path from Staging to Production. </li></ul><ul><li>Create Content Deployment Job. </li></ul><ul><li>Run Content Deployment Job. </li></ul><ul><li>Run Quick Deploy Job. </li></ul>
  53. 55. <ul><li>Create Production Site Collection. </li></ul><ul><ul><li>Select &quot; Blank Site &quot; as the template. This step is IMPORTANT , because Blank Site is the only template that you can import any other template into </li></ul></ul><ul><li>Allow Incoming Content Deployment Jobs on the Production Site. </li></ul><ul><ul><li>Central Administration  Operation  ” Content deployment settings ”  (Select “ Accept incoming content deployment jobs ” ) </li></ul></ul><ul><li>Create Content Deployment Path from Staging to Production. </li></ul><ul><ul><li>Central Administration  Operation  ” Content deployment paths and jobs ”  ” New Path ” </li></ul></ul><ul><li>Create Content Deployment Job. </li></ul><ul><ul><li>Central Administration  Operation  ” Content deployment paths and jobs ”  ” New Job ” </li></ul></ul><ul><li>Run Content Deployment Job. </li></ul><ul><ul><li>From the context menu on the job, select “ Run Now ” </li></ul></ul><ul><li>Run Quick Deploy Job. </li></ul>
  54. 56. <ul><li> </li></ul>
  55. 57. <ul><li>Provision multiple sites in a hierarchy. </li></ul><ul><li>Display data from a Microsoft Excel workbook by using Excel Services. </li></ul><ul><li>Create a trusted workbook location by using the Stsadm.exe command-line tool. </li></ul><ul><li>Filter data in a workbook by using Excel Services. </li></ul><ul><li>Configuration of Reporting Services. </li></ul><ul><li>How to use Report Viewer webpart providing with parameters. </li></ul>
  56. 59. <ul><li>Make sure the file from where the Excel file is view its path should be added in the “trusted file location” of Shared Services. </li></ul><ul><li>Path: SharedServices1  “ Trusted file locations ”  ” Add Trusted File Location”. </li></ul><ul><li>You can view the Excel file on the web with the help of excel services and at the backend the “ Excel Web Access (EWA) ” webpart is viewing this file. </li></ul><ul><li>Demo </li></ul><ul><li>Trusted file location </li></ul>
  57. 60. <ul><li>%STSADM% -o add-ecsfiletrustedlocation -ssp %sspname% -location %1 -includechildren true -locationtype %LocationType% </li></ul>
  58. 65. <ul><li>Microsoft SQL Server 2005. </li></ul><ul><li>Reporting Services installed on the server. </li></ul><ul><li>SQL Server Service Pack 2 </li></ul><ul><li>Microsoft SQL Server 2005 Reporting Services Add in for SharePoint Technologies </li></ul><ul><li>Download at: </li></ul>