6/07/2009
Well the product has been on the market for a few years.. and I see so many people struggle with getting some of the basics of SharePoint right. If you are looking at starting SharePoint development or have been developing sites on SharePoint here is one cool sample site you should look at.
Microsoft has made available a great sample site built to showcase the WCM capabilities of SharePoint. Head over to http://www.mssharepointdeveloper.com/ and get hold of the Adventureworks demo site and the sample MSDN guided modules and demos.
The new SharePoint On The Web modules cover the following topics:
- Getting Started with SharePoint Development on the Web
- Site Structure and Branding
- Custom Field Types and Mode
- FBA Authentication
- Web Interoperability
- SharePoint Search
- Content Deployment
- Minimal Publishing Site Definition
- Enabling Social Networking
- Silverlight and SharePoint
All the training modules and the Installer can be downloaded from : http://code.msdn.microsoft.com/spotw/Release/ProjectReleases.aspx?ReleaseId=2702
Thanks to Todd and Spence for blogging this earlier and the correct link to the downloads!
10/03/2009
Via Ryan Duguid and the MSFT SharePoint Blog.
The Accessibility Kit for SharePoint (AKS) v2.0 is now available for download. This new version provides some key new features as listed below.
Key Features in the AKS v2.0
The AKS v2.0 introduces the following:
-
Smart Control adapters which greatly reduce the amount of custom configuration previously required for AKS control adapters.
-
The Web Part Zone Control Adapter, a special Smart Adapter that modifies the output of SharePoint so that it does not use tables for layout of the Web parts.
-
HiSoftware’s Compliant Code Engine (HCCE) to assist organizations in creating code that is compliant to standards-based HTML or XHTML.
-
Additional requirements under Canadian Common Look and Feel 2.0 (CLF 2.0) guidelines.
-
Examples of remediation to comply with WCAG 2.0 Level AA.
-
French language version of AKS 1.0 components.
AKS can significantly reduce the time, knowledge, and effort required to implement a SharePoint-based Web site that conforms to the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 1.0 Priority 1 and 2 checkpoints, which are collectively known as WCAG 1.0 AA. The AKS can also be used to address the exceptions that have been identified in the U.S. government’s Section 508 of the Rehabilitation Act’s Voluntary Product Accessibility Template or VPAT documents for MOSS 2007.
Download the AKS v2.0
29/10/2008
OK, I know that a lot of SharePoint deployments out there have not even upgraded to Service Pack 1. Previously I blogged about why you should upgrade to Service Pack 1 and that any new SharePoint farms being deployed should be using the SP 1 MOSS/WSS build. Microsoft has made a recent announcement that service pack 2 will be made available soon. I don't have a definite date yet. Let me highlight to you why you need to ensure that you have a proper process in place to update and manage your existing SharePoint deployments. When I talk about "deployments" I refer to your DEV > STG > PRD environments and that all of these should be patched and updated so each one has the same service pack and hot fix levels.
One of the issues that you may have is that in order to update your existing SharePoint servers you will have to schedule downtime. However you may look at it the downtime period is purely dependent on each deployment and currently cannot be avoided. However the good news is that if you plan well enough and keep your SharePoint farm healthy you can minimise the downtime when applying service packs and updates. This is due to a few reasons.
There are two phases of updating when applying service packs and updates.
- Installing the updated binaries
- Running psconfig
The second phase, running psconfig, is the one that is going to take a longer time period and also the cause of downtime. The time taken is directly proportional to the amount of site collections/data that is present within your SharePoint deployment. Psconfig upgrades each content database schema and in many installations this may take many hours to complete resulting in longer periods of downtime.
So in essence if you wanted to minimise your downtime the approach that you can take is to plan to update your configuration database first and attach each content database individually once you have run Psconfig.
In a real world scenario your approach to this should include the following steps.
- Identify content databases and web applications in your farm that require high availability and should be back online at the earliest possible time
- Communicate to your business/stake holders of the planned outage
- Take your entire farm off line
- Detach all the "Content" databases
- Install the WSS updates
- Install the MOSS updates
- Run Psconfig ONCE. You only need to run PSconfig once after installing all the updates and not after each update
- Start attaching each content db to web applications starting with the most important one first (Note that you can only attach one content DB at a time and after the update a full crawl will be started)
- Communicate to each business/stakeholder about availability after each content db attach is completed
Some tips: Make sure that you have backups of your content dbs before making the updates. Ideally a full DR farm should be on standby. The recently released Infrastructure Update (IU) is a critical update that will provide the groundwork for many future updates. So ideally if you are building a new SharePoint deployment today please make sure that you follow this build order.
There is no media (CD/DVD) which includes SP1 for MOSS; however a cumulative updated MOSS + SP1 build can be downloaded from the following location. Please ensure that you always check and test your build order as part of your deployment.
1. The 2007 Microsoft Office Servers Service Pack 1
2. The Windows SharePoint Services Infrastructure Update x86 x64
3. The Microsoft Office Servers Infrastructure Update x86 x64
4. KB 953397: Excel Server Security Update x86 x64
5. KB 955586: Document Lifecycle Workflow Update
6. August Cumulative Update for Windows SharePoint Services 3.0 (Global)
7. August Cumulative Update for Microsoft Office Servers
What Do I get with Service Pack 2?
Good question.
- Improved Read-only Content Databases
Whenever a content database is marked read-only, all of the site collections in that database are automatically marked as read-only.
- ECM Performance and Manageability Improvements
Improved performance and manageability in variations, including STSADM commands for repairing links between source and target pages.
- Improved Index Rebuild Timer Jobs
SharePoint content databases running in SQL Server 2005 will undergo an automatic index rebuild, which helps stop defragmentation, and stop the database from degrading in performance.
- Upgrade Checker
This will scan your SharePoint farm in advance of applying SP2 and will provide feedback on the environments readiness to upgrade.
Service pack 2 will also apply to Office Programs
For Office Desktop Programs:
- Improved Outlook Calendaring Reliability
- Improved Outlook Performance
- Enabling Object Model support for Charts in PowerPoint and Word
- Improved cryptographic functionality by supporting all cryptographic algorithms offered by the operating system
- Improved functionality in Excel’s charting mechanism
- Ability to ungroup SmartArt graphics (and as a result, the ability to add animations to them in PowerPoint)
- Ability for Visio to export UML models to an XML file compliant with the XMI standard
- Tool that enables the uninstall of Office client Service Packs
So look out for the next update and make sure you start planning your updates and if you haven't already updated your servers make sure you update them to at least Service Pack 1.
Previous Posts on Service Pack 1 > http://www.chandima.net/Blog/Lists/Posts/ViewPost.aspx?ID=134
Post SP 1 Updates > Recently Released Post SP 1 updates for SharePoint
Infrastructure Updates >Infrastructure Updates for SharePoint (KB951297 - MOSS and KB951695 - WSS) > SharePoint Post SP1 Infrastructure Update - August Cumulative Updates
14/07/2008
This month we have Craig Carpenter (MCSA, MCSE, MCT) visiting speaker from the UK presenting at the user group. Craig is here in Wellington this week training a SharePoint Administrator class as part of Combined Knowledge Asia Pacific and MindSharp training now offered in New Zealand. Developer training for SharePoint and WCM development will be coming up soon!
This months session topic: Best Practices for SharePoint Web Applications.
In this session Craig will showcase best practices for deployment of SharePoint web applications. This session is targeted towards all levels of SharePoint enthusiasts.
As one of the founders of Combined Knowledge, Craig Carpenter (MCSA, MCSE, MCT) has over ten years experience of training and consulting on Microsoft platforms. Craig started his IT career within the education arena, a start that provided an exceptional breadth of knowledge for, as Craig says, "in education you are expected to do everything". From there, Craig moved into industry working for several companies both large and small, before becoming a Microsoft trainer for 4 years.
Over the past two years, Craig has been concentrating on SharePoint, being on the TAP program for MOSS 2007, and contributing to the MindSharp courseware.
A self confessed gadget nut, Craig enjoys everything technical, especially if it also happens to be expensive, and lives in South Leicestershire with his partner Alice, and one and a half cats.
Date: Monday 21st July
Venue: Intergen Limited, Level 7, Plunket House, 126 Lambton Quay.
Presentation Starts at 6PM
Please RSVP to: wlgspug@sharepointservices.net.nz 12/07/2008
The concept of My Sites in SharePoint is often ignored in deployments due to the lack of understanding of the value that My Sites add when an organisation is considering a SharePoint deployment. One of the compelling reasons that I see for organisations for allowing My Sites to be enabled in a deployment is that it allows your users to explore and also learn on their own without being restricted to a "corporate rule". Recently Michael posted 10 tips of establishing "your" profile with My sites, which I must say is along more than enough reason that you should seriously consider opening My sites in your SharePoint deployment since it provides an instant findability and contactability solution for connecting with people in a large organisation.
From an IT and architecture point of view My Sites can be resource intensive and you need to plan accordingly before you open up My Sites to thousands of users. The reason My Sites are resource intensive is because each person's profile is invoked at the time when a user clicks the "My Site" link. I.e: The site provisioning code namely the UserProfile object and profile.CreatePersonalSite() is run in the background which results in a site collection being created. Also a when a user browses to a My Site profile page a series of web parts query the user profiles database to retrieve profile property information related to each user. This is typically via a URL such as "http://mysites/Person.aspx?accountname=MOSS\chandimak" or a URL with a GUID such as http://mysites/Person.aspx?guid=A151E8C0-6F59-42B7-AE2C-C9E06E5059CE . The "Person.aspx" contains a number of web parts that retrieve information from various sources. This page is also the page users visit when using the "People Search" functionality in SharePoint. That is to say when someone performs a Search by selecting the "People" tab the results are links to the matched My Site profiles.
The information is usually retrieved from your Active Directory or the profile properties can also be manually imported or inputted by users by selecting "Edit details" in their own profile page. One thing you should know is that these properties are not limited to what is configured by default. User profile information is used by index and search services to provide better search results, and is used in targeting content to audiences. You can import user profile information directly from AD directory services or enter it manually. You also have the ability to customise the properties of the user profile according to the needs of your organisation or to map to existing AD properties.
While browsing a persons private view of a page (that is me browsing my own My Site) a few web parts query and retrieve information. One of these web parts is the Colleague Tracker.
The Colleague Tracker actively informs me of changes to people's profiles. As a user you can also change what is being tracked.
The cumulative result of all of these web parts providing information from various sources (mainly from the Profile database via the SSP) is reasonably resource intensive. In fact the majority of the information is from the single profiles database.
Whilst you can provision all "My Site" content to be stored in a dedicated database or spread across several databases by applying this as a planned deployment stage the profile database is part of your Shared services. Note that the correct way to implement My sites is to host these on it's own web application and apply the personal sites quota template.
Via command line:
stsadm.exe -o extendvs -url <url> -ownerlogin <domain\name> -owneremail <someone@example.com> [-exclusivelyusentlm] [-ownername <display name>] [-databaseuser <database user>] [-databaseserver <database server>] [-databasename <database name>] [-databasepassword <database user password>] [-lcid <language>] [-sitetemplate <site template>] [-donotcreatesite] [-description <iis web site name>] [-sethostheader] [-apidname <app pool name>] [-apidtype <configurableid/NetworkService>] [-apidlogin <DOMAIN\name>] [-apidpwd <app pool password>] [-allowanonymous]
Example:
stsadm.exe -o extendvs -url http://mysite -ownerlogin moss\administrator -owneremail demo@kcue.net -exclusivelyusentlm -ownername "Administrator" -databaseserver MOSS-SQL -databasename WSS_Content_MySites -sitetemplate spsmsitehost -description "My Site Host" -sethostheader -apidname MySiteAppPool -apidtype configurableid -apidlogin moss\mysiteapp
Will create a My Sites web application named http://mysite in a database named "WSS_Content_MySites" and apply the "spsmsitehost" template.
Once the application has been created you will need to enable self service site creation via Central Administration and ensure that Personalisation Services are set appropriately. By default the "NT AUTHORITY\Authenticated Users" have full rights. You should remove this group and add a specific AD group or create a pilot My Site Permission group with some specific users that you can manage specifically for the purpose of using My Sites.
These decisions require to be thought out and decided with business requirements in mind since My Sites are primarily meant to encourage collaboration within individual team members. The site collection boundary effectively isolates My Sites from being less structured and allows free thinking and the ability for your users to get familiar with concepts of specific SharePoint functionality. From an IT governance point of view My Sites can be managed and monitored by using the following controls.
- Quota Templates - Quota templates are applied at web application level. My Sites by default can be set with the Personal Site quota template (100MB)
- Recycle Bin - Site Level and Server Level should be set accordingly
- Blog API - On or Off (Link to create personal blog under My Site)
- Site use confirmation and deletion - Automate sites to be removed if not used for a XX number of days (Alerts site owners before deletion)
These are just some of the administrative controls that IT teams can use to ensure that My Sites are used effectively within organisations.
Resources:
14/06/2008
This recently released white paper outlines information about what is required in terms of ensuring your backup and recovery strategies that you put into maintaining of your SharePoint deployment. The white paper addresses the three levels of data recovery in a SharePoint deployment and provides guidance and best practice on what you can plan for in terms of recovery options.
The three levels of recovery available are
- Content recovery - Content deleted by end users that can be recovered via the site level and site collection level recycle bins by site administrators
- Site recovery - Recover sites from accidental data loss or deletion of a site or data corruption which can be performed by server or site administrators
- Disaster recovery - When you need to move servers or recover from a corrupted disk failure or accidental site collection failure usually the task of server administrators
The most important thing to note is that you will need to evaluate your backup and recovery options with your organisation in relation to your business priorities. This is usually depending on how many applications depend on SharePoint and how long can you afford to go without access to your data.
The white paper can be downloaded from the TechNet site. White paper: Data protection and recovery for Office SharePoint Server
12/06/2008
If you are deploying SharePoint you should take some time and read the following WSS/MOSS Content Deployment article series from Stefan. He covers the WSS/MOSS Content Migration API in depth and what you need to know when moving content between your server farms.
Deep Dive into the SharePoint Content Deployment and Migration API - Part 1 > 6 (Highly recommend that you start with part 1 and read through to 6)
If you are new to content deployment here is what's available via the API
- export an entire site collection - export a specific site inside a site collection including or excluding content in subsites - export a list or document libraries or even of a folder inside a document library - export a single list items or documents from a document library - export dependent objects (like images referenced by a page) by following links - generate as a compressed export file or in uncompressed format - allow export with a define a maximum size for the generated compressed file (multiple export files will be created if required) - allow incremental export of items based on a given change token. This will export all items that have been created, changed or deleted after the timestamp in the change token. - import the exported content with or without identiy preservation (means items will keep their GUID or not) - import the exported content under the same or a differnt parent in the destination database - do link fixup during import
Some things you need to be aware when using content deployment is that your content database size will grow. There is also a bit of an impact on your performance depending on the frequency and time you do your content deployment jobs.
Also check out the GUI tool created by Chris O'Brien it has come in handy in many situations for me. SharePoint Content Deployment Wizard.
29/05/2008
In the previous two posts in this series I showed some ideas and thoughts on how to approach your SharePoint Search deployment. This third post is a wrap up as well as some external resources including training videos previously published on the Search TechCenter site on TechNet.
Read the previous two posts in this series.
SharePoint Search Deployment Guidance (Part 1)
SharePoint Search Deployment Guidance (Part 2)
In my last post I mentioned about the Search indexing component in MOSS. This Search Architecture white paper available from Microsoft (MS Word) provides details on how the Indexing Architecture works. In summary the two core core components of a Search solution are as follows.
Indexing Engine
The indexing component is capable of crawling and indexing a variety of content sources. It uses protocol handlers to connect and traverse the source systems and restive the system level meta-data. When it identifies content it will invoke known iFilters to read those content. (Example: SharePoint for Search requires the PDF iFilter to retrieve PDF content).
The indexing engine maintains a file-based index, which contains the indexed content and also maintains managed properties also known as the property store or search schema with scope definitions in the search and configuration databases managed by SQL Server.
Query Engine
Queries are initiated when a user enters a search term and the term is passed by the query server to the query engine. The query engine then searches the full-text index for items that contain the searched-for terms. The end user results are supplemented with keywords, best-bets, and managed properties from the search configuration database, managed by SQL Server. Queries are initiated through the Search object model or the Search Web service on Web servers. So as a developer you can also create your own Search implementation using the object model.
The following articles are available for Developers.
Visual How-to guides and screen casts.
Search Architecture
In a server deployment you should also understand the different components that make up your Search solution. Depending on the number of content sources and the size of your organisations the server roles within your Search solution may have significant impact on how you architect a solution to provide a robust search implementation.
The following are server roles that you need to take into consideration.
- Indexing Server - The indexer role provides the indexing services, such as crawling content, managing crawl schedules, and defining crawl rules.
- Query Server - The query server role runs queries over the full-text index. Query servers are managed at the farm level in your deployment.
- Web Server - The Web server role responds to search queries for users and applications. The Web server collects query terms from the user and contacts the query and database server to create a result set.
- Database server - The database server role performs search-specific actions that apply at configuration, indexing, and query time the database server also stores data that is retrieved from the crawl processes. Specifically, when managed property values and access control lists are retrieved from content sources, their values are stored in the search database.
Within these you can consolidate all of these on a single server but the recommendation is to have these separated or combined to at least two or more servers. For example you can have one server for Index and Query. (Query role is the server that takes the search requests and has a copy of the propagated index). But in a high availability scenario you should always look to splitting these roles. If you physically separate the query server role from the indexer onto one or more servers, then the full-text index is propagated from the indexer to all query servers your farm.
More guidance on this is available on Joel Oleson's blog. SharePoint Farm Topology for Search Index and Query.
Planning for high availability - SharePoint TechNet Article
Search Community Toolkit and Faceted Search
Through community driven development to enhance the Search user experience the following utilities are available through the CodePlex Search Community Toolkit site. One of the most talked about solutions is the Faceted Search solution ( http://www.codeplex.com/FacetedSearch) which provides facet based category search for your standard SharePoint deployment. It should be noted though that you should test these out as part of your deployment well before you implement these.
For administrators who are managing a SharePoint deployment tools such as the Search Crawl log exporter (http://www.codeplex.com/ExportCrawlLog) provides the ability to move and monitor crawl logs to find summary information about crawls.
The Search relevancy tool adds the capability to set higher relevancy for specific results in your organisation. This is handy and the tool will allow you to change the weighting and normalization of Managed properties and some of the system level relevancy settings. (http://www.codeplex.com/searchrelevancy)
With the inclusion of these Search solutions you can also take ownership of the source and build and customise to your requirements.
Search Videos from Microsoft
If you want to learn in-depth about Search the following video training series is available for download.
The following 14 recorded presentations are based on training modules from three-day, in-person training sessions. The presentations provide details about key enterprise search capabilities in Microsoft Office SharePoint Server 2007. Additionally, the presentations provide guidance about how to combine SharePoint products and technologies in order to build, implement, and manage enterprise search solutions.
Slides from the User Group Presentation
The presentation "Making the Most of Search in SharePoint (Zip 1MB)" which used for the UG is available for download as a PDF file.
21/05/2008
I will be presenting at the SharePoint User Group meeting in Wellington on 28th May (Wednesday) 2008.
Session Title: Making the most of Search in SharePoint
Organizations who are planning to implementing an enterprise search solution with SharePoint often approach this “technical problem” by asking “What do we need to index?” While this approach may yield results, they are usually less than optimal in some cases. We showcase what can be achieved using SharePoint Search and planning guidance for a better end user experience.
I hope to cover the following:
- Search Center design and configuration
- Customizations to enhance the SharePoint search experience
- Community enhancements such as "Faceted Search"
This session will be of interest to Intranet Administrators and Business Analysts.
Presented by: Chandima Kulathilake (MCTS/MVP)
Date: 28th May (Wednesday) 2008
Venue:
Microsoft New Zealand (Wellington)
157, Level 12 Vodafone on The Quay
Lambton Quay
Session starts at 6PM. For late arrivals please txt 021 775172.
|
|
|
|
|