Archive for the ‘Sharepoint Topics’ Category

One of the projects I finished before is to implement a SharePoint 2003 -:) Site Usage report .

Note: SP2010 has a web analysis service running at different levels and provide detailed web analysis OOTB. Now, in SP2013, it is not a SharePoint Service any more, instead it is integrated into Search service and is a standing alone feature with its own Content DB. From 2003 –> 2007 –> 2010 –> 2013, Web analysis is changed significantly. Although the component was changed dramatically, the Object Model is still similar, and approaches listed below are still useful and can be served as a solution design reference.

Requirement: For upgrading 2003 to 2010. It is helpful to understand what the most popular SharePoint sites/pages are, and which SharePoint sites/pages are never used before the upgrading work.

My Original Thought and initial design is to put several options on the list:

Step One: extract the site usage data from the SharePoint Sites, including all sites, sub sites and each detailed pages.


1. Use a third party tool, like CardioLog, looks it provides exactly what I need, but the full version of the software is not free.

2. Use existing usage static page: this is same as if you configure the usage statics on the central admin page. As we already knew, this approach is not including sub sites, we have to navigate to all the sites/sub sites to get usage data. This is not a good approach if we need to go through over 5,000 sites.

3. Use customized web page to collect the site and sub sites usage data and gather them together into one single page – in this way you do not need to navigate to all the sub sites, and it will return all the usage data back on one page for one site collection. – It is a preferred approach. we can then go through all the site collections and get the usage data from all sites and sub sites and put them together.

5. Use Stsadm tool. There is no command related with site usage analysis, but there are a couple of commands to loop through the site collections. Did not find out if there is any built-in option available for Listing usage data there, Looks like I have to build a stsadm command extension, this is sort of painful, especially when SharePoint 2003 Object Model is not as neat as 2007 version.

6. Work on configuring the Log file and find/build a log reader to get the usage data and build a UI to display the extracted Usage data. This also needs customized code to parse the log data.

7. Work on SharePoint Database to extract all usage information is recorded on a SharePoint database table. Then using query against the database to calculate the usage summary data. – This need further understand the DB schema structure regarding how it is to store the usage data, and need to access SharePoint DB without using an API.

8. Write or use some tool to parse the user request data information directly at the IIS level since IIS 6.0 support the ISAPI routing pipeline. – This is a good approach if we do not require detailed request information but it needs lots of work on IIS log information parsing process.

Compare with different approaches:

Option 3 is a better choice, it requires using .NET 1.1 to against the SharePoint 2003 Object Model using VS tool. There are two options:

1.Create a unique virtual directory under the portal web site in IIS to deploy the page with codes running on the back end if building a web site, and we do not want it interfere with the running SharePoint sites.

2.Using a script page runs script to access the Object Model to get information. We can deploy it under some secured site so only administrator can view the page results.

Step Two: Analyze the data

A well-structured data format is the base to simplify web site usage report analysis. Since a script page can control how to write out a file, decide to use an xmlwriter class to write out a xml format file on the output page, the save the page as a xml file. Using excel 2010’s new feature to read the xml file directly and then doing analysis accordingly.

Solution Design:

Final decision is option 3, and then writing a script page to reach the SharePoint 2003 Object Model to loop through all virtual server, site collections, sub sites and each pages, and use usage analysis function to get the usage data. Since we are using object model, we get all the current usage data for the latest 31 days by default. This script is writing a xml formatted output on the page itself, and it is then saved as a xml file, and  it is proceed by excel 2010 tool.


Read Full Post »

Sharepoint 2010 is releasing on May 12th, 2010, and RTM (Release to Manufacturing) will be coming up this April 2010.

It is not surprised to know that Microsoft postpone the release date of Sharepoint 2010 a little bit, hope that they added new features and solved some known issues with Beta 2 version like: allow drill down in excel web access workbook, more compatible with VS2010 RC, since it is still not a formal version yet, even release VS2010 together with Sharepoint 2010 and office 2010, and with less configuration issues, etc.

It’s coming, it happens, it is here.

Here are some resource to help you pick it up quickly, depend on different roles you are in:

– In general review, Jeff’s notes are the best to summarize top 40 features Sharpeoint 2010 surprise you:http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx

– For a quick look and feel for New features of Sharepoint 2010 and focus on SHarepoint Enterprise Content Management, this Link has a first 22 minutes show to tell you what’s new with Sharepoint 2010 Business Collaboration Platform, especially new features for Enterprise Content Management, with lots of screen shots and very good contents. If you are interested in Sharepoint or ECM, I recommend you watch this part, it is one of the best among many webcasts about Sharepoint 2010.

– For Developer, check out a Developer’s quick start site here , the ten topics and examples give you a quick start help.

– For IT pros, this evaluation guide provides most of the update and important information you need to know as an IT personal.

Along the side, you need to start working on VS2010 RC, new Sharepoint Designer and the new office 2010 families.

Enjoy Sharepoint in 2010.

Read Full Post »

Now let’s talk about development on Sharepoint. We all know that it is painful to use Visual Studio 2008 to develop Sharepoint solutions, even integrate with the office tools for it. For instance, it takes more than 12 steps to design, develop and deploy a feature to the local host through VS tool. Now with two weeks developing practices on VS 2010 and SPD 2010, I can finally say: It is easier than ever.

1. SPD 2010 plays a bigger role in developing now. SPD 2007 was a tool for end user/power user/IT Pros only, and it is really limited because of the GUID key used widely by sharepoint 2007 and WSS3.0. Now Microsoft Sharpeoint team removed most of that restriction and added much more features on SPD tool. For instance, you can develop a reusable workflow combined SPD 2010 with VS 2010 and deploy it as a reusable workflow template. You can create an external content type directly from SPD tool and build up a BDC file using SPD 2010 for a BCS service, then publish the external content type on the farm level.

2. SPD is not just a tool to modify html file anymore, it becomes a visual tool to manage a sharepoint site and lists, and provides all metadata information for an end user to work on, without any coding.

3. Now let’s talking about the key part for development using Visual studio 2010. Huge changes!

— most important Architecture change is that no more post backs, now all is based on Ajax Call Back using JSON and XML techniques, Server side Ribbon controls, and Web 2.0 Style. All major Browsers are supported. Client sides have two level: IE 7/Safari/Firefox and IE 7 64 bits version.

— one click deployment: I like it very much! Most of the development and testing process can be done just by one click to Deploy, it is feature driven, and integrated with best practice coding templates.

— SandBox dev and deployment: it is not difficult even you are the first time user to develop a sandbox solution. And this solution relieves so many pains from an admin, and a developer as well.

— more Sharepoint solution templates, based on the best practiced guide and provides more standard approach and sample coding guides, this is very useful, as there might be 4 different ways to develop a web part, while visual studio gives you one of the best by default.

— Silverlight support. Sharepoint 2010 not only provides an out of box Silverlight web part, it also provides some architecture object Model–like client OM, to support codes being executed on the client side, not caring which forms(web, window, console, etc) it is running, which relieves heavy work load on the Sharepoint server side.

— Client OM. Yes, now you can run Sharepoint services on you client machine, no matter what OS and tools you are using, as long as you can connect to the Sharepoint server and has the authetication to access Sharepoint. It supports most, if not all, the Sharepoint service and Object Models on client side, this, combined with .NET component, Silverlight and ECMAScript support, really enhanced the Sharpoint development into a higher level (.Net 3.5+).

— Sharepoint Server explorer. — this is big too. From a Visual studio tool you can link to any sharepoint site and list and create a link to it and use the exposed Object on the web site and drive through the Sharepoint objects.

— LINQ to Sharepoint. No more CAML statement bother you programming queries and searches. LINQ to Sharepoint Engine will take care of transfer it into CAML to take with Sharepoint. Using SPMetal tool, all Sharepoint enitities(site, web, list, doc library, etc) are automatically built into entity classes, and you can directly use Strong typed codes with LINQ to Entity, and it will take care the fastest way to query the Sharepoint Database for you.

–Workflow enhanced. Now you can build a site level workflow, it is no longer only tied with a list item or a document, and SPD workflow can be reusable, lots of new activities added and it can take the external parameter to drive the workflow to different directions.

4. Overall, programming is based on .NET3.5 SP1, tool is VS 2010 only, sorry have to say bye with VS 2008, IIS 7.0 is the web engine, and 64 bits is a requirement, Now you can do development from a box either Windows Server 2008, or Window 7!

5. Introduced a new federated Authentication: Claims Based Authentication. This is the basic SOA style standord security Token that using SAML. Which also requires Sharepoint Database support the particular security component.

6. Developer Dashboard. This is new and brilliant! After turn on the Dashboard, you can see each major page rendering, data caching, and query performance, and look into the time spent there, thus provides absolute clear clue where and how to improve your web part/customized codes performance. Admin can also use this to identify some front server/DB server issues.

7. Powershell integration — Sharepoint 2010 provides End to End integration to Powershell, no as a developer or an admin, you should, or MUST use Powershell to enhance the programming and administration skills and functions. It is a Swedish Knife for Sharpeoint 2010.

In Summary, Sharepoint 2010 programming has more:

Efficiency: fast program, deployment and live debugging. Enhanced project template with best practice guide, more existing tools.

Features: Sandboxed solution, reusable workflow from SPD, farm level content types, managed metadata, Client OM, LINQ feature, WCF based communication, Silverlight and ECMAscript support.

A lot more, waiting for you to adventure.

Read Full Post »

Since Microsoft released Sharepoint 2010 Beta in the middle of November, I installed and played with it for a while. Here are some notes.


It is much easier to install. However, you need to read some posts on line for some known issues to save your time, and download some patches before doing the full installation. Sharepoint 2010 also provides a way to auto download those files for you, so you need to set up the network connection for your VM before installation. I used VMWare to install 2010, OS is Windows Server 2008 with SP2. The configuration process is very smooth, you do not need to type in anything. To enable everything on 2010, you also need to set up the web server role and application role using windows server management tool.

Important New Features:

There are lots of topics about new features and guides about Sharepoint 2010. Sometimes you are getting lost because there are so many information available online. Based on my experiences, with new technologies, I always start from a box — a Sharepoint 2010 VM, an overview — an IT Pro’s evaluation guide, a sample — a developer evaluation guide, and a detailed reference – Sharepoint foundation 2010 and Sharepoint server 2010 SDKs. As an IT Pro, you may be very interested in these new features 2010 brings up on table:

1. Office Web Application: After downloading the latest released Office 2010 web app beta, and integrated it into Sharepoint by installing it as a Sharepoint service application, now I can open a word, excel, or a power point file from my browser including IE, Firefox, Safari (from both window pc and iphone), and even Google Chrome, and edit these files directly in browsers, with version controls and synchronization running on the server! These make it possible to read/edit Sharepoint documents from anywhere, anytime, by using mobile devices like iphone or Microsoft mobile phone. And I would say that the 2010 version mobile pages are great! It is automatically designed to integrate with my iphone, and browsering a Sharepoint 2010 sites is easy and very smooth. Lots of problems are solved to make it better to view Sharepoint site from Firefox, Safari and Chrome. The following are 16 screen shots tested on my sharepoint 2010 server using iphone, firefox and Google Chrome.

2. Global Content Type: Content types now are farm wise concept! This is very important for the enterprise to build up their own custom meta data across the server and reuse it anywhere afterwards. And different site collections can share the same content type now.

3. WCF Based Service: Now Sharepoint services are WCF based — which means that you can access Sharepoint from any platform anywhere, and chose connection types, this is huge for enterprise level integration architecture, to make Sharepoint services connected with any existing applications.

4. Document Set: This is very important for document management, now you can group document type together as a set and bound them with workflow, version control and content types. For instance, you can create a document set called proposal which includes Technical approach, cost evaluation and system quality control analysis files and bound them together as a document set, Sharepoint will manage it as a single resource.

5. Access DB to Sharepoint: Now power users can create DBs using Access service with a form and view supported on Sharepoint site and publish new access solutions to Sharepoint sites with centrally accessible from Browser. — this helps we create project matadata (temple tables) with different business needs in the real life, without making any connection/changes to the application databases. Each project site Owner can create their own temple DB tables using Access Service and view it immediately on Site pages. Quick and Easy!

6. Sandbox Solutions: For any customized codes, now we can deploy it on the part of the server without influence other regular services running on Sharepoint.

7. Developer Dashboard View: As an IT Pro, you can turn on this Developer Dashboard feature to check the running process for server controls, db queries and networking performance and help you easily identify the problems.

8. BCS: Now you can directly create a Business Data Catalog using SPD 2010 or Visual Studio 2010 tools and it also support CRUD(Create/Read/Update/Delete) functions and this is also making office apps connect with BCS with Business Data information as the metadata.

Lots more, like Power Shell helps administration, Visio Service helps workflow, Search with FAST, communicate with people connections, Large List performance improvement, Excel Service as REST architecture, in memory DB technique (“Gemini”), etc….

… To be continued …

Read Full Post »

Microsoft raised the curtain on SharePoint 2010 at Worldwide Partner Conference (WPC) for the very first time, will be released in the first half of 2010. Here is the summary about the key improvement for this exciting upgraded product:

For Admin:

  •  Central Administration has been overhauled and has a cleaner, more productive, more intuitive UI with new functionality like new reports.
  •  built-in Best Practices Analyzer! — helps identify potential problems before they become real headaches
  • No more 2,000 items performance limitation (per list)!!
  •  Support Ribbon — While it also has a Visual Upgrade feature that lets you keep the old look and feel until you’re good-and-ready

For end-users:

  • The entire end-user experience is improved. It supports a rich, Ribbon-based, asynchronous UI that in one or two clicks, on one page. You can use IE, Firefox, Apple’s Safari, and “other browsers” — Apple iphone? By using Web Edit, you can edit any part of any page, in place and WYSIWYG—like a Wiki. — Great for customizaiton and personalization for ICE sites at a BU and personalized base.
  • Sharepoint Workspace — previous called Groove. This support offline sharepoint list/lib data edit and sync with real time data features. 
  • With BCS(Business Connectivity Services), which support read and WRITE! Whether it’s SharePoint data or data in back-end applications and databases, it all shows up as a SharePoint list. Huge changes!
  • SharePoint 2010 offers rich media support – can host videos effectively, and incorporate Silverlight with a built-in Silverlight Web part.
  • New Service for user – Visio Services tapps into back-end data sources and creates dynamic diagrams, no user side Visio installation.

For Developers:

  • Visual Studio 2010 SharePoint Tools — Coming up with Sharepoint 2010, make developemnt more efficient and powerful.
  • integrate with LINQ, a client side object model, BCS, Silverlight Web Part, TFS, a standard Solution Package and the developer dashboard, which can expose debugging information on any SharePoint page.

And a lot more …

Basically, we see that the whole architecture and infrustracture of next version Sharepoint 2010 is not changed a lot, while it added more features, site definitions, based on WSS3.0 (will Microsoft announce WSS4.0??) and provide more functionalities. components and services: like BCS, Visio Service, Ribbon, Silverlight WP, BPA, Rich Browser support, and better performance. With the new tool — VS 2010 Sharepoint Tool, it gives a more powerful weapon to implement and develop Sharepoint Solutions in a more efficient way. Watch detailed information on: http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx

And this is just partial of what Sharepoint 2010 brings to us early of year 2010.

Read Full Post »

Is this the hardest exam among the four Sharepoint certificate exams? The answer is Yes. Windows Shared Services 3.0 Development is the basic and the most important concepts around Sharepoint, and the exam lasts more than 3 hours. With 55 questions, your knowledge about how to develop a sharepoint component and entity is tested. Here are the basic concepts tested in this exam:  

Deploying Windows SharePoint Services and Custom Components

  • Deploy a Web Part to the Windows SharePoint Services server — Register an assembly as a safe control ile; Configure Web Part permissions; Enable a Web Part to access resources by creating a custom security policy.
  • Create and deploy a Windows SharePoint Services solution package.
  • Deploy a site definition to a Windows SharePoint Services front-end Web server — Deploy a site definition manually
  • Deploy a feature manually; Install and activate a feature using STSADM.
  • Deploy a Web service within the context of any Windows SharePoint Services site and to the Windows SharePoint Services context.
  • Deploy user controls to Web server.

Creating Site and Feature Provisioning Components

  • Create a feature definition — Specify a feature that depends on another feature to activate; Event Receiver; using a resource file; action to add an option to the site settings menu
  • Create a site definition — top and side navigation; list definition to use in a site; Hide a list definition from the Create Page; Specify a Document Template in a site definition; Document Template
  • site definition module — Force a Feature to install when a site is created by using the site definition
  • Specify the configurations of lists and modules in a site definition — Create multiple configurations; site created as the root Web site in a collection
  • Create pages and layouts for a site — Page Layout that has multiple Web part zones; Modify the page layout for a site using master pages

Creating Metadata and Workflow Provisioning Components

  • Create a site column — in a site definition in a Feature
  • Create a list definition — hiding it on the list Create Page; Add a new view
  • Create a Custom Field Type
  • Create a Workflow definition  — Attach a workflow to a list on creation; Package a workflow in a feature
  • Create a Content Type: multiple Content Types; Apply a Content Type to multiple file types; Inherit properties; Update an existing content type

Developing Windows SharePoint Services Components by Using the .NET Framework

  • Handle Windows SharePoint Services events by developing an event receiver — Handle a list event; Cancel an operation; feature event
  • Develop a Web Part — postback using control life cycle; Handle exceptions within a Web Part; Convert a user control into a Web Part; caching; personalized Web Part property; shared Web Part property; Create a Web Part that uses CSS styles; custom tool part.
  • Share data between Web Parts — data provider; data consumer; Filter information from one Web Part to another.
  • Elevate application permissions by using impersonation.
  • Enable a custom Windows SharePoint Services administration page to access the Windows SharePoint Services object model.
  • Schedule tasks by using the SharePoint Timer service.

Manipulating Site Content by using the API

  • Manage an alert — Create, Remov and Change the frequency of alerts.
  • Enhance the Windows SharePoint Services search service — SPQuery; cross-site search.
  • User access permissions — Add, Remove and change user to a site group.
  • Manipulate items in lists.
  • Manipulate documents in lists.
  • Manage records by using the records repository.
  • Manage document versions.

Manipulating Site Configuration by Using the API

  • Manipulate a list structure.
  • Dynamically handle events.
  • Manage site hierarchy.
  • Customize navigation in a Windows SharePoint Services site.
  • Create a custom site group and set permissions for the group.


Read Full Post »

I took the Sharepoint Development exam before Windows Shared Service 3.0 Development exam because I have been working on MOSS for 3 years. The exam covered each MOSS topic and it is the shortest test(33 questions), not the easiest, though. Here are the highlights for the key concepts being tested:

Managing Enterprise Content

  • Enforce document storage business rules by using Document Policy –Create a custom document policy; Deploy a document policy by using a policy feature; Specify logic for a document policy by using a policy resource; Manage document retention rules by using the expiration feature policy; Launch a workflow when a document expires
  • Audit Windows SharePoint Services content by using a custom policy.
  • Manage records by using Office SharePoint Server 2007 record management features — Create a custom audit report; Create a custom legal hold.
  • Create content by using the Office SharePoint Server 2007 Web content management features — Create pages dynamically; Create a custom field control; Localize a site by using resource lists.
  • Deploy content between servers.
  • Provide variations of Web content — Redirect a user to a variation based on profile setting; Provision multiple sites in a hierarchy.

 Creating Business Intelligence Solutions by Using Office SharePoint Server 2007

  •  Display data from a Microsoft Excel workbook by using Excel Services
  •  Create a trusted workbook location by using the Stsadm.exe command-line tool. 
  •  Implement business logic by using an Excel Services user-defined function.
  •  Expose a data source by adding a data connection to a Report Center Web Site.
  •  Create a key performance indicator (KPI) Web Part by using data from a report data source. 

Integrating Business Data with Office SharePoint Server 2007 by Using the Business Data Catalog (BDC)

  • Create a BDC Application Definition –Create a line of business (LOB) system.
  • Describe an external application in the BDC Application Definition –Create an LOB system instance; Create an entity
  • Display data from an external data source – Create a Finder method.
  • Enable indexing of data stored in an external data source — Create an IDEnumerator.
  • Enable searching on a BDC Application Definition — Enable a single item query by creating identifiers for entities; Create a filter descriptor.
  • Create a custom action on an entity — Create an association between two entities.
  • Create a Web Part to browse data — Execute a wildcard filter on an entity.

Accessing Office SharePoint Server 2007 Application Platform Services  

  • Display an InfoPath Form from within an ASP.NET page by using the Form Services control.
  • Automate Office Forms Server administration tasks –Activate a previously uploaded form template.
  • Manage credentials by using the single sign-on (SSO) credential store — Create a custom SSO provider for use by the BDC
  • Transform a custom document format into another format.
  • Display a user profile retrieved from an Office SharePoint Server 2007 Web service.

Customizing Functionality by Using Profiles

  • Import users into the user profile store from an LDAP store.
  • Manipulate profile properties –Add a profile property to the user profile store; Store a user’s attributes in the user profile store by creating a multivalue property; Map a BDC data item to a user profile property; Set the privacy policy for a user profile property.
  • Add a distribution list to a new membership

Searching Data by Using the Search Service

  • Programmatically enhance the search service –Access the search context for the Shared Services Provider (SSP)
  • Add a custom search page for searching the BDC — Extend the user interface by adding a tab to the search page.
  • Provide custom search capabilities by creating an enterprise search Web Part.
  • Customize the display of search results by modifying the Search Core Results XSLT.
  • Display results from a Windows SharePoint Services search Web service.
  • Display the results of a keyword query

Targeting Content Based on Audience Membership

  • Create an audience.
  • Specify conditions for audience membership by using rules.
  • Target a list item to an audience.
  • Display all audiences to which a user belongs.
  • Display all users in a given audience.

 Overall, there are more questions focus on BDC, Reporting service, Excel Service and WCM.  

Read Full Post »

Older Posts »