[web part name] web part Functional Specifications Document Last Updated: 1 General 1.1 This document defines the [web part name] functional specifications. 1.2 [web part name] enables [short description of web part’s purpose and functionality] 2 Reference documents Doc Name Revision Published 3 Functional Specifications Here you should present all functional aspects – user interface and logic of the web part. Describe the web part from end user’s point of view according to the ordinary usage scenario 3.1 Appearance in the web part gallery Web parts are accessible by site owners through the web part gallery. Please define the following properties that make it easy for other site owners to understand its purpose and main functionality. Title Icon Description Icon [insert the web part’s icon] Title [The displayed name of the web part] Description [A sentence describing the purpose of the web part] 3.2 Web Part properties Here you should specify all web part’s dynamic properties that you wish that site managers should have access to – VERY IMPORTANT to define them in order to make this a generic, reusable web part. All web part’s dynamic properties are displayed in the toolpane. Every toolpane can include several tooparts – according to subjects – see the following image Property name Type Tooltip Required? Default Value Details [Tool part name] [example property name] Textbox Yes [Explanations of the purpose of this field] Show Manual Refresh Button Checkbox N/A Enable Asynchronous Automatic Refresh Checkbox N/A Automatic Refreshing Interval (seconds) Textbox No 60 Save user configuration using cookies checkbox N/A Unchecked Check this property to make the web part remember last enduser’s selections by using persistent cookies. Support Audience filtering checkbox N/A Unchecked For MOSS 2007/SharePoint 2010 Server only If the web part retrieves data from SharePoint lists/libraries that are configured to support content targeting, check this property to have this web part filter the displayed content according to the current user’s audience/s. Show errors checkbox N/A Unchecked Check this property to display error description (very important [Tool part name] Ajax properties Advanced properties for maintenance/support purposes). 3.3 Startup interface 3.3.1 After the web part is dragged into a page, it displays a default standard message: “In order to configure the web part please click here.” [Web part title] In order to configure the web part please click here. 3.3.2 After the user clicks the link on the startup page, the toolpane will be displayed. 3.4 [screen name] interface [Web part title] [Draw here functional sketch] 3.4.1 [Functional specifications regarding specific required logic] 3.4.2 [Functional specifications regarding specific required logic] 3.4.3 [Functional specifications regarding specific required logic] 3.4.4 [Functional specifications regarding specific required logic] 4 Technical Requirements Please specify the exact operating environment – Server and client. 4.1 Supported client OS versions 4.1.1 Server SharePoint infrastructure Edition Standard Enterprise WSS 3.0 SharePoint 2007 SharePoint 2010 Foundation SharePoint 2010 Server 4.1.2 Client 4.1.2.1 Windows Vista SP1 / Windows 7 4.1.2.2 IE7+/Firefox (Latest version)/Google Chrome (Latest version) 4.2 Standard and customizable SharePoint UI 4.2.1 All styles should be based on standard SharePoint styles, so that when the site’s theme is changed – it should apply also to this web part. 4.2.2 The web part should support the following level of GUI customizations: 4.2.2.1 Support the usage of alternate CSS file, enabling to customize the web part’s style on a web part-basis. 4.2.2.2 Support the usage of alternate XSL file, enabling to customize the web part’s interface rendering. 4.3 Ability to include the web part in a site template 4.3.1 The web part should be able to function immediately after a site is created from a template that includes this web part, without any required configuration. This means that: 4.3.1.1 All properties should have default values allowing the web part to function. 4.3.1.2 All properties that store url’s should be able to use relative url’s and tokens. 4.3.1.3 The following tokens should be supported by all web part properties that store url’s: Token Description [current site] Current site’s url [site collection] The current site’s top-level site url [server] The server’s url 4.4 Customizable and translatable UI captions 4.4.1 All field captions, user messages (warning, validation, error) will be managed in a standard .NET resource file. This enables an administrator to customize / translate selected strings. 4.5 Support RTL/LTR display direction 4.5.1 The web part should support both left-to-right (LTR) and Right-to-left (RTL) languages. 4.6 WCAG Compliant 4.6.1 The web part should WCAG level AA compliant.( http://www.w3.org/TR/WCAG20/ ) 4.6.2 The web part will be validated with [WCAG Validation tool] validator. 4.7 Web part API A web part can communicate with other web parts on the page, or can be set in run time according to selections made by users in run-time in another page. This enables for example to filter one web part’s content according to actions user makes in other web part. Please specify the type of information that this web part should be able to send/retrieve. 4.7.1 web part connection framework Web Part Connection Framework is a SharePoint built-in framework that enables web parts to communicate in run-time. The framework defines a standard protocol that a web part developer has to implement in order for the web part to be able to provide/consume data. A web part can implement the following interfaces: Cell Provider/Cell Consumer – Provide or consume a cell (a single data item) Row Provider/Row Consumer – Provide or consume a data record (several data fields) List Provider/List Consumer – Provide or consume several data records Filter Provider/Filter Consumer – Provide or consume a filter criteria 4.7.1.1 The following table defines the types of connections that the web part should support: Connection Title Direction Connection type Transferred Data Example: A Record including the following data items: Customer id Customer name Customer annual sales Example: A Record including the following data items: Customer id Customer name Customer annual sales (Provider/Consumer) [Connection title as appears in the web part’s “Connections” menu] Example: “Send Customer Details” 4.7.2 Provider URL parameters Run-time parameters can be sent to a web part through query string. This enables sending parameters from other pages. 4.7.2.1 The web part should be able to receive the following dynamic parameters via the page’s URL: Parameter Name Description Optional Values [Name as appears in the URL] [Explain how this parameter affects the behavior of the web part in run-time] [List the optional values]