tushar mahapatra - portfolio for sharepoint projects

26
SharePoint Projects Portfolio Name: Tushar Mahapatra Email: [email protected] As of: June 2010

Upload: tusharmahapatra

Post on 04-Feb-2015

2.353 views

Category:

Documents


3 download

DESCRIPTION

Tushar Mahapatra - portfolio for SharePoint projects

TRANSCRIPT

Page 1: Tushar Mahapatra - Portfolio for SharePoint projects

SharePoint Projects

Portfolio

Name: Tushar MahapatraEmail: [email protected]

As of: June 2010

Page 2: Tushar Mahapatra - Portfolio for SharePoint projects
Page 3: Tushar Mahapatra - Portfolio for SharePoint projects

Contents1. Introduction..........................................................................................................5

2. The SharePoint Training Track..............................................................................6

2.1 Projects..........................................................................................................6

3. The SharePoint Student Project.............................................................................7

3.1 Create Solution Site Web Part........................................................................8

3.2 Solution Management Web Part...................................................................11

3.3 Change Management List Definition.............................................................12

3.4 Content Query Web Part..............................................................................12

4. The SharePoint Team Project..............................................................................13

3.5 The Purchase Order InfoPath Form...............................................................14

3.6 The Invoice InfoPath Form............................................................................14

5. Appendix 1: SharePoint Training Curriculum.......................................................20

Page 4: Tushar Mahapatra - Portfolio for SharePoint projects
Page 5: Tushar Mahapatra - Portfolio for SharePoint projects

1. IntroductionThis portfolio discusses the projects I was involved in as a student of the SharePoint Training Track of SetFocus’ Master’s Program. The next chapter provides an overview of the course and its curriculum, and a brief introduction to the project work involved in the course. The following chapters discuss details of the individual and team projects I was involved in during the course.

5/23

Page 6: Tushar Mahapatra - Portfolio for SharePoint projects

2. The SharePoint Training Track

Between September 2009 and March 2010, I was enrolled in the SharePoint Training track of SetFocus’ Master’s Program. This track is an intensive SharePoint training experience designed to prepare students for development opportunities with Microsoft’s SharePoint 2007 product. During this SharePoint training program, students dive into Windows SharePoint Services 3.0 (WSS) and Microsoft Office SharePoint Server 2007 (MOSS) where they learn customization of look and feel through styles, themes, and master pages, controls and web parts, custom pages, creation and deployment of solutions, security, debugging, workflows, custom site definitions, lists, documents libraries, and features. The program also teaches the principles and practices of how to deploy, manage, and maintain SharePoint. It takes the students through each phase of a deployment as they plan, install, rollout, and support SharePoint in the real world. They learn how to assemble and configure business solutions by designing and architecting the portal and collaboration solutions, document and records management solutions, and web content management solutions of MOSS, implementing search and indexing as well as other business data-oriented concepts such as the Business Data Catalog, Excel Services, Key Performance Indicators, Business Intelligence Dashboards and Reports. Chapter 5, Appendix 1: SharePoint Training Curriculum lists the curriculum for the course.

1.1 ProjectsAs part of the training, students are expected to complete two projects simulating real-world projects. The first project is a student project which each student completes alone. The student project is completed in parts throughout the length of the program after logical units of classroom instruction are completed. The next chapter 3, The SharePoint Student Project, provides details about my experience in my student project.

The second project is a team project where all students collaborate in the completion of the project. This is completed at the end of the course. Chapter 4, TheSharePoint Team Project, describes my involvement in my team project.

6/23

Page 7: Tushar Mahapatra - Portfolio for SharePoint projects

3. The SharePoint Student Project

The student project was for a fictitious towing company called ‘Acme’. Students had to design and establish a SharePoint Solution Management Portal to help manage all of the SharePoint solutions created for the company. This portal in the company intranet was required to be created for the company’s SharePoint developers to organize and manage their solution projects.

The project was broken into the following milestones, and students were expected to complete a set of milestones after related instructional material were covered in the course.

1. Configure Farm and create a new intranet website

2. Create the Solution Portal site collection

3. Create Developer Knowledge Base

4. Create Solution Site Template

5. Create a new Solution Managers Group

6. Create Solution Content Type

7. Setup Development Environment

8. Add a Search Managed Property

9. Search Centre with Managed Property Search

10. Site Collection Search Settings and Scopes

11. Add “Saved” Searches to a page

12. Keywords and Best Bets

13. Enable access from the Extranet

14. Change the look and feel of the Portal

15. Solution List Definition

16. Content Query Web-part

17. Create Solution Site Web-part

18. Solution Management Web-Part

19. SharePoint Designer 2007 Workflow 1

20. Visual Studio 2008 Workflow

21. Change Management Request List

22. InfoPath Change Management Request Form

23. Custom Search Web Part

24. Records Center

25. Document Center

26. Publishing Page Layouts

7/23

Page 8: Tushar Mahapatra - Portfolio for SharePoint projects

The following picture is a screenshot of the portal I developed.

The picture illustrates several artifacts I developed during the student project. The following paragraphs describe some of these artifacts in detail.

1.2 Create Solution Site Web PartThe top section titled ‘Create Solution Sites’ is an instantiation of a ‘CreateSolutionSiteWebPart’ web-part I developed for Milestone 17. The goal of milestone 17 was to create a custom web part to create new sub-sites using an existing site template. The web part should:

1. Create a new SharePoint site under the site the web part is deployed to

2. Allow the user to create a new site name

3. Allow the user to specify an existing site template from the Site Template Gallery, from a dropdown list

4. Upon creation, provide user interface elements indicating whether the site creation succeeded or failed, and an OK button to proceed

8/23

Page 9: Tushar Mahapatra - Portfolio for SharePoint projects

5. Upon clicking OK, hide the site creation input controls, and return to the original web part screen (allowing the user to create another solution)

6. Provide a Web Part Property that allows the administrator to specify the name of the Solution list

On the top of the web page, there is a collection of tabs of which some have names of the form ‘Test Site ##’. These are sites created by this web part. Selected snippets of the code for the web-part are reproduced below.

The code for the ‘SolutionsList’ property is shown above. The code illustrates validations done on the name of the solutions list. Due to the attributes specified for the property, the ‘SolutionsList’ property is exposed by the web-part as a property. The value entered by the user is validated here.

The following code from the ‘Click’ event handler for the ‘Submit’ button ensures that all required data is available and is valid, and then proceeds to create the requested site. Note the use of special constructs at lines 352 and 376 to bypass security.

9/23

Page 10: Tushar Mahapatra - Portfolio for SharePoint projects

At line 340 in the picture above, the ‘IsAuthorized’ function is called. The code for the function is shown below.

10/23

Page 11: Tushar Mahapatra - Portfolio for SharePoint projects

1.3 Solution Management Web PartBelow the ‘Create Solution Site Web Part’, in the section titled ‘Solution Management’ is an instantiation of another web part I created for Milestone 18 named ‘SolutionManagementWebPart’. This web part used SharePoint’s SPGridView and SPDataSource controls to display a grid-view of all solution items in the ‘Solution List’ SharePoint list. The following two pictures show snippets of the code for the web part.

11/23

Page 12: Tushar Mahapatra - Portfolio for SharePoint projects

1.4 Change Management List DefinitionBelow the Solution Management web part is a SharePoint list created from a ‘Change Management List Definition’ I developed for milestone 21.

1.5 Content Query Web PartBelow the Change Management list is an instance of the Content Query Web Part I created for milestone 16 to find and display all Solution items in the site collection.

12/23

Page 13: Tushar Mahapatra - Portfolio for SharePoint projects

4. The SharePoint Team Project

The team project was also for a fictitious construction company called ‘Acme’. Students had to collaborate in the design and setup of a SharePoint application to support the company’s towing providers. We were expected to perform the following:

Create a SharePoint Application with internal as well as extranet visibility

Develop an InfoPath document library

Develop custom workflows

Implement Content Management

The project was broken down into the following milestones which we had to meet in order:

1. Milestone 1:

a. Create SharePoint Application

b. Extend SharePoint Application

c. Configure Extended Site for Forms based Authentication

2. Milestone 2:

a. Implement Site Branding Feature

3. Milestone 3:

a. Implement Intranet Team Site

b. Implement Shared Calendar

c. Create a Shared Contacts List

d. Implement Shared Sales Deck

e. Implement Monthly Newsletter CMS site

4. Milestone 4:

a. Implement Custom Venders List

b. Create InfoPath Purchase Order Form

c. Create Purchase Orders Custom Form Library List Definition

d. Create InfoPath Invoice Form

5. Milestone 5:

a. Implement InfoPath Invoice Form

b. Implement Vender Site Definition

6. Milestone 6:

a. Implement Purchase Order Workflow

7. Milestone 7:

a. Implement Purchase Order Approval Workflow Feature

I handled the work for all of Milestone 4, and Part a of Milestone 5.

13/23

Page 14: Tushar Mahapatra - Portfolio for SharePoint projects

1.6 The Purchase Order InfoPath FormFor Milestone 4, part b, I developed the following InfoPath form which was meant for the user to submit purchase order data to a form library. The Reference Number is calculated by the form based on the date and time. The form retrieves the names of the Vendors from the Venders list for the ‘Vender’ dropdown list. Based on the vender selected and the Distance entered, the Rate is retrieved from the Venders list and the Charge is calculated and shown dynamically. This form was submitted to the Purchase Order form library which was created for Part c of the same Milestone.

1.7 The Invoice InfoPath FormSimilar to the Purchase Order form I developed the Invoice InfoPath form shown below for Milestone 4, part d.

14/23

Page 15: Tushar Mahapatra - Portfolio for SharePoint projects

The form retrieves and displays purchase order data from the Purchase Order list. This form is displayed on selection of the ‘New’ option in the Invoice List, and its data is submitted to the same form library list.

I also developed an ‘Invoice’ ECB menu item for the purchase order list. The menu item is shown open below. Selecting the ‘Invoice’ option in the Purchase Orders list led to the display of an ASP.NET application page (shown next) which I developed. In the web form, the user could review purchase order data retrieved from the purchase orders list, enter invoice data, and submit it to the invoice form library.

15/23

Page 16: Tushar Mahapatra - Portfolio for SharePoint projects

16/23

Page 17: Tushar Mahapatra - Portfolio for SharePoint projects

The invoice list below shows invoice list items created by the process described above.

The ASP.NET page serializes the invoice data and submits it to the Invoice list. The following screenshots show the code for this web form.

17/23

Page 18: Tushar Mahapatra - Portfolio for SharePoint projects

18/23

Page 19: Tushar Mahapatra - Portfolio for SharePoint projects

19/23

Page 20: Tushar Mahapatra - Portfolio for SharePoint projects

20/23

Page 21: Tushar Mahapatra - Portfolio for SharePoint projects

5. Appendix 1: SharePoint Training Curriculum

Below is a description of SetFocus' SharePoint Training curriculum for The Master's Program. SetFocus utilizes the Microsoft Official Curriculum (MOC) seen below customized with its own training materials. In addition to the outline below, SetFocus has developed labs, projects, and exams to test appropriate knowledge transfer.

ASP.NET & XML Review

Master pages and site navigation

Web Parts

Security

Profiles

Themes, skins and localization

Basic XML

Validating XML

SharePoint for Administrators

Planning

Installing

Configuring the server

Preparing

Roll-out

Providing support

Managing the server

Configuring external access

Customized Student SP Admin Project

SharePoint for Developers

Introduction to SharePoint Development

Site Columns and Content Types

Extending Lists with Office 2007

Authentication and Authorization

Forms Based Authentication and Anonymous Access

SharePoint Architecture

Features

21/23

Page 22: Tushar Mahapatra - Portfolio for SharePoint projects

Solution Development

Categorized Document Library

Site Definitions

Programming Fundamentals

Creating User Controls and Web Parts

Advanced List Concepts

Customized Student SharePoint Development Project

Branding & Web Content Management

Introduction to MOSS Publishing

Branding

Creating a Publishing Site Definition

Content Types and Page Layouts

SharePoint Site Design

Content Management

Navigation and Search

Aggregation Information

Customized Student SharePoint Branding & Web Content Management Project

SharePoint Business Processes

Out-of-the-Box Business Process Automation

SharePoint Designer Workflows

Working with SharePoint Designer and Custom ASP.NET Forms

Using InfoPath Forms with SharePoint

Custom Workflows and the SharePoint Object Model

Visual Studio 2008 Workflow Development Basics

Workflow Tasks

Workflow Forms

Customized Student SharePoint Business Processes Project

SharePoint Portal Management

Collaboration Portals

Personalization and My Sites

Business Data Catalog

Office Forms Services

22/23

Page 23: Tushar Mahapatra - Portfolio for SharePoint projects

Excel Services

Customizing Search Center

Programming with the Search API

Document Management

Customized Student SharePoint Portal Management Project

Customized Team SharePoint Final Project

23/23