Sunday, July 22, 2012

sharepoint 2013 - databases behind the scenes

We all know - how the SQL server databases are related to SharePoint products and technologies. On releasing the SharePoint 2013 preview – let me try to create a ready reckoner for SharePoint databases

DB Category
DB Name
DB Name Syntax
Description
System DBs (Core DB)
Configuration
SharePoint_Config
Stores details about other SharePoint DBs, IIS web sites, web apps, trusted solutions, site templates and web app/farm settings.
Only one DB supported per farm
Central Admin Content
SharePoint_AdminContent_<GUID>
Centtral admin site's content database.
Only one DB supported per farm.
Content
WSS_Content_<GUID>
Stores all site content (list data, docs, web part properties, audit logs, user names, rights etc.)
Can contain more than one site collection data.
MS recomends the size to limit 200GB to ensure perfoemance. But can support upto 1TB if it’s a low IO system like Record Center.
Scale out to multiple DBs for a web app.
User Profile DBs
Profile
<UPSA>_ProfileDB_<GUID>
Stores and manages users and their social information
Synchronization
<UPSA>_SyncDB_<GUID>
Stores user profile configuration and staging data for use when profile data is syncd with directory services.
Social Tagging
<UPSA>_SocialDB_<GUID>
Stores social tags and notes created by users along with their URLs.
Search Service DBs
Search Admin
<SSA>_DB_<GUID>
Stores search application configuration and ACL for crawl component.
Analytics Reporting
<SSA>_Analytics ReportingStoreDB_<GUID>
Stores the results for usage analysis reports and extracts info from link DB.
Crawl
<SSA>_CrawlStoreDB_<GUID>
Stores the state of crawled data and crawl history
MS suggests add additional crawl DB per 10 mil items
Link
<SSA>_LinkStoreDB_<GUID>
Stores the info ie extracted by content processing component and click through info.
Growth: 1GB per 1mil docs ; 1GB per 1mil queries
Other Service App DBs
App License Management
AppMng_Service_DB_<GUID>
Stores the ap licenses and permissions that are downloaded from the Global Marketplace
Secure Store Service
Secure_Store_Service_DB_<GUID>
Stores and maps credentials such as accounts and password
Usage
WSS_Logging
Stores health monitoring and usage data temporaitly. It also used for reporting and diagnostics.
One usage DB per farm
Word Conversion
WordConversion_<GUID>
Stores information about pending and completed document conversion
Subscription Settings Service
SubscriptionSettings_<GUID>
Stores features and settings information for hosted customers.
sp 2013 (STD/ENT) Service App DBs
Word Automation Services
WordAutomationServices_<GUID>
Stores information about pending and completed document conversion
Business data Connectivity
BDC_Service_DB_<GUID>
Stores external content types and relate objects
Managed Metadata Service
<MMS>_<GUID>
Stores managed metadata and syndicated content types
Machine Translation Services
TranslationService_<GUID>
Stores info about pending and completed batch document translations
sp 2013 ENT Service App DBs
Project Server
<Project web App Content DB>
Store project and portfolio management data, time related data etc
PowerPivot Service App
<PPSA>_<GUID>
Stores data refresh schedules and PowerPivot usage.
This requires SQLServer 2012 analytical services (BI / ENT edition)
Taxonomy
<MMS>_<GUID>
Taxonomy related info
Performance Point Services
<PerfPointSA>_<GUID>
Stores temporary objects and persisted user comments and settings
State Service
<SS>_<GUID>
Stores temporary state info for inforpath forms services

Hope this helps J




Wednesday, July 18, 2012

Is SharePoint moving towards an App culture?


We are in a world of apps - yes you guessed it right Im talking about the stuff like Android apps , Iphone apps etc. After reading SharePoint 13 preview in Technet - I think SharePoint is also moving towards the App culture.. 


Architects/Developers like me have been building  server-side farm solutions that extend core SharePoint capabilities right from SharePoint 2003 (Im not sure wht was there prior to SPS2003). New SharePoint offers a new flexible development model that creates apps for SharePoint that take advantage of standard web technologies like JavaScript, OAuth, and OData. 


I believe the new app for SharePoint development model will extend the ability to build apps that take advantage of SharePoint capabilities and that run in the cloud instead of on our SharePoint farm. This flexible development model, along with the integration of standard web technologies, makes SharePoint development work more like other kinds of web development that we are already be doing. This change in philosophy would help the enterprises and users to discover, purchase and install sharepoint solutions quick and easy. The group benefited most out of this approach change is the solution providers who can simplify market and sell their solutions thru an app store - not necessarily Microsoft app store.
SharePoint Apps going to use the SharePoint client side techniques or REST to access SP entities and data. App for sharepoint cannot contain custom code that runs on Server and cannot call server object model APIs. In a nutshell App are for end users not for Admins.


The related major change we are seeing in SP13 preview is - deprecation of Sand-boxed solution (introduced in SP2010 - it was helping the site collection admins to manage solution of their own without touching farm servers)..

Tuesday, July 17, 2012

Whats there in new SharePoint

I was pretty excited to see latest version release of office suite 2013 along with new version of SharePoint.

Its catch word says SharePoint Server 15 enhances the workload experiences by enabling new compelling scenarios that engage and work with the user.

Had a quick look at Technet site and came to knew that the platform stays the same but few new things introduced....

Let me share few thing real  quick
  1. There are few  platform level improvements and new capabilities
    • Shredded Storage
    • SQL Improvements
    • Cache Service
    • Request Management
    • Themes
    • Sharing
  1. Content Management
    • Site-level retention policies was a pain point when we did Records Management for one of the Pharma major in SharePoint 2010 . Now the compliance levels extended to sites
    • The new  policies include - Retention policy for sites and Team Mailbox associated with site
    • This feature could help us the common business functions like Project closure and site level expiration policy
    • The discovery and legal hold feature were primitive in SP2010 – Microsoft claims there is exponential improvement in this area. Can’t wait to know it …
  1. Looks like there are handful of changes in Service applications  
    • (I’m yet to explore more details) there are New service applications available and improvements on existing ones
    • Office Web Apps is no longer a service application
    • Web Analytics is moved to part of search

I will detail more about customization, architecture in the upcoming posts

Saturday, June 16, 2012

Workflow issue with Content Type Hub


I have configured a content type hub in SP2010. My document content types have Expiration policies assigned to them. My record center application is a subscriber of the content type hub in the portal site collection. So the content types with policies get synchronized over to the record center.


In the main portal, I have a two stage policy triggered by an event date property. this first stage sends the document to the record center for archival. where the second stage kicks in and counts down a set number of years. at the expiration of this period, it is supposed to launch a disposition WF but it does not. I can find nothing in the event logs to hint at a problem.


Note. for testing I set the archival period of the second stage to 0 days. I run the expiration timer job manually to get it to trigger the policy, but nothing happens.


I use the same "0 day" trigger to test the first stage of the policy and it works fine.


The disposition WF starts automatically in the portal on docs that have policies that do not send them to the record center.


I can start the Disposition WF manually in the record center on docs that were sent there by my policy, and the disposition task gets created as it should. it just will not trigger the WF automatically.


If a published site content type has a workflow, and the content type is consumed in a another site, the workflow will have to be recreated and the following modification done:

  • Open “xoml.wfconfig.xml” of the workflow in Parent site/sitecollection
  • Find tag which says ‘<Template BaseID="{GUID}" ‘
  • Copy the GUID into workflow xoml in site/sitecollection that is consuming that content.

Saturday, June 2, 2012

Site features causing issues - I found a resolution


I created site template by saving it from a minor customized blog site. I exported it in VS2010 and created a custom web template. Im seeing few site feature references along with some web features in its onet.xml.


After making the required changes, I

  1. deployed my solution in one of my web apps of my farm
  2. created a site collection from BLANK site template in that web app.
  3. activated my web template related features in my site collection
  4. Once I tried to create a sub site based on my Custom Web Tempplate, Im seeing the errors like "<GUID> feature not found"



The issue was due to the need of a manual activation of features referred in the Site Feature section of Web Template Onet.XML. All the features refered in Web Features section of  web template will get activated autoamtically when a site created using that template but the site features have to activated manually.


I resolved this issue by 


Removing the unwanted feature references from the Site Features section of Web Template.
Activating the required site features in a site collection feature prior to the web template based site creation.

Different behavior of OOTB Blog list while versioning

Per my understanding Post list behaves differently from other SharePoint list types when it comes to content approval and versioning. Please check the  following list(see the underlined lines). I doubt this is a bug with the product...
Post List:
if Content Approval Reqd=No AND  Versioning = No     : No version created on saving existing blog posts, Save As Draft option not available
if Content Approval Reqd=No AND  Versioning = Yes    : Versions created on saving existing blog posts, Save As Draft option not available
if Content Approval Reqd=Yes AND  Versioning = No    : No versions created on saving existing blog posts, Save As Draft option available
if Content Approval Reqd=Yes AND  Versioning = Yes  : No versions created on saving existing blog posts, Save As Draft option available
All other list types:
if Content Approval Reqd=No AND  Versioning = No     : No version created on saving existing blog posts, Approval option not available
if Content Approval Reqd=No AND  Versioning = Yes    : Versions created on saving existing blog posts, Approval option not available
if Content Approval Reqd=Yes AND  Versioning = No    : No versions created on saving existing blog posts, Approval option available
if Content Approval Reqd=Yes AND  Versioning = Yes  : versions created on saving existing blog posts, Approval option available

Friday, May 11, 2012

SharePoint Groups Context


Most of us (atleast me) forget a simple stuff around SharePoint groups often ...
SharePoint Groups are defined / exist at the Site Collection level. If we need different group members in a subsite then we need to create a new group for that subsite.
Sharepoint Groups are created in SharePoint Site Collection context.
So when the users are added into SharePoint Groups  will be reflected everywhere. so add specific subsite level groups after setting the Unique permissions.
For Eg: If you have 2 SharePoint groups (Admins, CommonUsers) at site collection level, when users added to these groups from anywhere (from top level site or sub siites) in the site collection will be reflected everywhere. You are advised to set unique permissions to subsite, then add sub site level groups  (SubSite1 Admins, SubSite1 CommonUsers) and add users to those groups.