Saturday, September 25, 2010

Governance in SharePoint

As promised, trying to ensure that I learn and document something new everyday.
Today trying to document whatever I can recollect about our recent Governance especially performance engineering techniques in SharePoint. Firstly there are several usual tools AVICode, YSlow, HttpWatch, Fiddler + NExpert that have been a boon. Knowing the areas to be compressed, Minified or corrected due to repeated/failed calls is invaluable.

Another tool that helps a lot,  RPO (Runtime Page Optimizer) from Aptimize.
An interesting sight for overall Governance in SharePoint is :
http://technet.microsoft.com/en-us/office/sharepointserver/bb507202.aspx

Thursday, September 23, 2010

A new lesson a day

While I have been lazy in my blog posting, I have tried to keep this as updated as possible based on the time I get. I have come to realize that I need to be more proactive and start following the "Something new each day" axiom. And more importantly, as I have recently learnt, document what I learn. It could be anything - Technology, business, Religion, Politics....anything..a titbit here and there goes a long way.
"Only those people who documented, made it big" a birdy tells me and so I have decided to at least dedicate 10 mins each day to documenting this fact. Lets see how far I get.
Today's post is around: Startups around Cloud computing...


Altor Networks -

They tackle the challenge of security posed for virtualized datacenter infrastructure - through a virtual firewall/IPS system - that mitigates risks to virtualized and cloud-based applications and data.

Appirio

It bills itself as a provider of “both products and professional services that help enterprises accelerate their adoption of the cloud.” The company’s strategy is to focus on existing platforms, such as Google Apps, Amazon Web Services and Salesforce CRM, and provide tools and services that help customers leverage those platforms.

Wednesday, September 22, 2010

Some useful SharePoint links

Articles and White Papers for SharePoint Server
http://msdn.microsoft.com/hi-in/office/ee534017(en-us).aspx

MSS 2010 links
http://msdn.microsoft.com/en-us/library/ff598603(office.14).aspx

Friday, September 10, 2010

Exam 70-576 requirements

Creating an Application Design (19%)

  • Identify artifacts from application requirements: Web parts, event receivers, list definitions, list templates, workflows, site definitions, custom actions, content types, site columns, mapping artifacts to application requirements
  • Select a deployment model:
    Identifying artifacts and execution appropriate for sandbox and farm (i.e. GAC vs. BIN) implementation, designing solutions for single server or multi-server environments, dividing artifacts between sandbox and farm
  • Select the appropriate execution method:
    In-page, workflow, event receiver (asynchronous vs. synchronous), timer job, and service application, selecting which logic execution model to use for a problem, determining where code or artifact runs.
Designing UX (17%)
  • Determine presentation page type:
    Web Part page, application Page, publishing page, page layout, static page.
  • Determine SharePoint visual components:
    Web parts, silverlight, AJAX, ribbon, visual web parts, delegate controls, custom field types, dialog.
  • Plan branding strategy:
    Determining usage of themes, templates, enforce consistency via site definitions, master pages and page layouts, determining usage of CSS styles and JavaScript, designing.
  • Design application customization strategy:Supportable customizations allowed through SharePoint UI, SharePoint Designer 2010, VS 2010 (site columns, content types, page customization, themes, page layouts, personalization)
  • Design navigation strategy
    Identify inclusion of navigational items (global/current/custom), consume an existing site map provider vs. create a custom provider, determine depth and inclusion of pages/sites, dynamic vs. static navigation, consume an existing navigation control vs. create a custom navigation control
  • Managing Application Development (18%)
  • Design for localization and globalization:
    Use and implementation of resource files, variations (content creation and workflow, multilingual content), selecting locales, date and time, regional settings, RTL vs. LTR.
  • Develop a security approach
    Authentication (NTLM, Kerberos, Forms-based Authentication, claims, Single Sign-On, Anonymous), authorization (SharePoint groups, AD groups, claims, permission levels) enterprise-wide security policies.
  • Define application configuration approach
    Defining "web.config" modifications, Lists as a configuration option, Property bags, declarative vs. programmatic, SP persisted objects.
  • Optimizing SharePoint Application Design (15%)

    Optimize page performance:View State, Inline JS, Inline CSS, HTML output, AJAX, Client side cache, .NET cache, BLOB Cache, Session State, IIS compression.
  • Optimize data access:SPQuery, SPSiteDataQuery, Large lists, Search (managed properties), SharePoint 2010 query throttling, Client object model vs. web service/rest/SOAP/RPC, Linq.
  • Design for logging and exception handling
    Determining appropriate level of logging to include in a custom code project, Evaluating SharePoint log data, Instrumenting code to improve the ability to maintain the system, Determining when exceptions are raised, error values returned, and what should be written to the SharePoint ULS log, Debugger, and Event log.
  • Identify and Resolve deployment issues
    Single server vs. farm vs. multi-farm, infrastructure vs. content database, web applications, application pools, feature activation failures, pushing applications to front end, security context, feature scope, feature dependencies.
  • Analyze memory utilization
    Memory profiling, Disposal of SharePoint objects, Load testing, Identifying memory bottlenecks (hierarchy), Analyze ULS logs, Monitoring memory counters, ensure implemention of IDisposable on custom artifacts containing IDisposable members.
  • Designing SharePoint Composite Applications (13%)
    Design external application integration
    Selecting appropriate BCS connection from Web Service, .NET Type, and SQL Connection, Defining authentication requirements, Defining solutions that include Office client applications.
  • Determine data capture approach
    Evaluate when to use different forms technologies (InfoPath vs. ASP.NET), Office client, Silverlight, BCS, Infopath Forms Services.
  • Design SharePoint information architectureContent types (local, global), Site columns, Site structure, Taxonomy (managed metadata).
  • Design a workflow solution
    Workflow tool (Visio, SharePoint Designer, Visual Studio), Sequential vs. State Machine, Item vs. Site, Declarative vs. Code, custom actions.
  • Designing SharePoint Solutions and Features (18%)
    Plan SharePoint Features

    Feature Sets, Feature Stapling, determine feature scope, Create a new Feature (vs. extending), activation dependencies, feature receivers.
  • Plan SharePoint solution packaging
     Create a new Solution (vs. extending), Manage reference assemblies in a SharePoint WSP solution, solution sets, solution dependencies, solution targeting.
  • Establishing application modification and version upgrade strategy
     Designing an artifact upgrade strategy, Feature and solution upgrade, Site upgrade, Versioning custom assemblies, Versioning workflows (new feature, new assembly version, new code), Resolving incompatible changes between dev and production.
  • Develop a strategy for delivery of application modifications and existing data transformation
     Formulating a new version of custom code, Updating Web parts while retaining properties, connections and other user entered settings, Content maintenance, Developing a content upgrade strategy, Deployment configurations, Deploying modified code safely (data safe), Preparing scripts (PowerShell, EXE), packages (WSP, MSI), or installers

Best Practices for MOSS

http://spg.codeplex.com/

Exam 70-573

  • Some Sites:
http://techtrainingnotes.blogspot.com/2010/05/sharepoint-2010-preparing-for-70-573-ts.html

Six ways to store data in MSS:
http://www.wictorwilen.se/Post/Six-ways-to-store-settings-in-SharePoint.aspx


  • Working with the SharePoint User Interface (19%)
  • Manage SPSite and SPWeb programmatically by using Visual Studio 2010
This objective may include but is not limited to: creating sub webs, referencing SPFiles, manipulating property bag, when to call Update, referencing SPContext, SPSite, SPWeb, SPSite.OpenWeb, SPWeb.Webs, feature activiation and deactivation

This objective does not include: trivial cases such as setting title and other loose properties of the objects
  • Implement a dialog by using the Dialog FrameworkThis objective may include but is not limited to: Create dialogs from JavaScript or from server side, display dialogs.
  • Create a custom ribbon object
    This objective may include but is not limited to: adding custom actions to the ribbon, customizing groups, customizing tabs, customizing the existing ribbon
  • Customize navigation programmatically
    This objective may include but is not limited to: TopNav bar, quick launch, custom actionsThis objective does not include: custom menu controls, custom site map providers
  • Create and apply branding to a SharePoint site
    This objective may include but is not limited to: applying custom master pages to content pages and application pages, placeholders, page layouts, programmatically working with themes, deploying CSS, CSSlink, ScriptLink
    This objective does not include: graphic design, creating a CSS
  • Developing Web Parts and Controls (21%)
  • Create Web Parts This objective may include but is not limited to: including properties, controls using Render vs. CreateChildControl, life cycle, visual, standard Web Parts,
    This objective does not include: trivial case where developer uses Visual Web Part project template
    Create connectable Web Parts
    This objective may include but is not limited to: Implement consumer/provider interfaces
  • Debug Web Parts
    This objective may include but is not limited to: ULS log, and event log, debug.log tracing, developer dashboard
  • Create and implement delegate controls
    This objective may include but is not limited to: overriding existing controls with lower sequence, developing and using .ascx files
  • Developing Business Logic (19%)
  • Implement a custom workflow in Visual Studio 2010This objective may include but is not limited to: work with inititation data or association data to create a SharePoint task, extend a workflow imported from SharePoint Designer 2010, use a HandleExternalEvent and CallExternalMethod to interact with a custom local service, work with inititation data or association data in a site workflow, corelation token.
    This objective does not include: trivial cases such as workflows with no custom actions, initiation data, association data.
  • Create a custom workflow action
    This objective may include but is not limited to: create a custom SPD action, create and add a custom activity to a Visual Studio workflow, define an action.xml file.
  • Create and implement event receiversThis objective may include but is not limited to: accessing event properties, list, item, site, email, avoiding recursion, cancelling events, choosing synchronization state
  • Customize Enterprise Content Management (ECM)
    This objective may include but is not limited to: creating a content type that inherit from appropriate parent, creating and implementing a custom publishing field control that is page mode aware, activating a master page programmatically including token usage,
    This objective does not include: page layouts, formatting
  • Create, implement and debug a Timer JobThis objective may include but is not limited to: configuration, programmatic scheduling, queueing, attaching debugger to the Timer service
  • Create and modify Business Connectivity Service model in Visual Studio 2010This objective may include but is not limited to: create a BDC model in Visual Studio 2010, define insert, update and delete methods, create and read items, make data searchable
  • Manage Users, Groups, Permissions
    This objective may include but is not limited to: SPGroups, SPUser, permission inheritance, all securable objects, SPRoleDefinition, SPRole, SPRoleAssignment.
  • Working With SharePoint Data (22%)
  • Access list data by using the Server object model This objective may include but is not limited to: SPQuery, LINQ, SPList, SPSiteDataQuery, schema management, working with a query Governor, create LINQ query that includes a join statement, SPQuery Vs. SPSiteDataQuery
  • Access SharePoint Data by using WCF Data Services
    This objective may include but is not limited to: WCF ListData.svc, RESTFUL URLs conventions, create and use a client service reference.
  • Access (CRUD) data by using the Client Object ModelThis objective may include but is not limited to: Javascript, .NET, Silverlight, Build Silverlight User Interface for SharePoint using Client Object Model, Query data by using CAML over the Client Object Model in Silverlight, non data API (site, web, list, access).
  • Work with documents programmatically
    This objective may include but is not limited to: SPFile, SPFolder, SPVersion, upload document and set meta data.
  • Work with the meta data
    This objective may include but is not limited to: Access data from user profiles, taxonomy, folksonomy.
  • Extending SharePoint Search
    This objective may include but is not limited to: creating a custom query using full text query or keyword query, customize the look and feel of the search result using XSLT.
  • Implement and debug code that executes in an alternative security context.This objective may include but is not limited to: create code that uses the RunWithElevatedPrivileges delegate (including debugging), create code that uses the System Account, create code that impersonate a different user.
  • Create and modify a custom content type
    This objective may include but is not limited to: declaratively and programmatically creating and upgrading content type using Visual Studio 2010, modifying an exisiting content type, site columns.
  • Stabilizing and Deploying SharePoint Components (19%)
Manage a solution in Visual Studio 2010
This objective may include but is not limited to: modify the contained features in the solution, add an assembly that is not included in the visual studio solution, manage mapped folders for localization, sandbox and farm solutions, customize manifest.xml .
  • Manage a feature by using Visual Studio 2010
This objective may include but is not limited to: upgrading, localizing, versioning, developing features, feature receivers (activating and installing) that interact with their parent object, customizing feature.xml
This objective does not include: features without elements

  • Store and retrieve configuration data
    This objective may include but is not limited to: App config, web config, persisted object, list, xml, file system, cookies, property bag.
  • Create a site definition by using Visual Studio 2010This objective may include but is not limited to: feature activation, site provisioning, localization.
    This objective does not include: list definitions and modules defined in ONET.xml, SharePoint Designer.
  • Manage SharePoint object life cycle by using the Dispose API
This objective may include but is not limited to: SPWeb, SPContext, IDisposable, Try…Catch…Finally, using blocks

  • Develop, debug, and deploy sandboxed solutionsThis objective may include but is not limited to: APIs that are allowed or not allowed in sandbox, use a full trust proxy



.

Thursday, September 09, 2010

Exam 70-667 requirement

  • Installing and Configuring a SharePoint Environment (25 percent)
  • Deploy new installations and upgrades.This objective may include but is not limited to: running Visual Upgrade, performing an in-place upgrade, performing a database attach upgrade, analyzing a PreUpgradeCheck report, installing language packs, and scripting installations; analyzing ULS logs, installation error logs, and event logs to identify installation problems; and repairing installation errors
  • Configure SharePoint farms.
    This objective may include but is not limited to: configuring inter-server communications, server roles, high availability, InfoPath Forms Services (IPFS), Alternate Access Mappings (AAM), external sites, host headers, and applying and managing patches
  • Configure service applications.This objective may include but is not limited to: configuring service applications such as Business Connectivity Services (BCS), Access Services, Visio Services, Microsoft Office PerformancePoint Server 2007, user profiles, Microsoft Office Excel services, Managed Metadata Services (MMS), and IPFS
  • Configure indexing and search.
    This objective may include but is not limited to: configuring FAST Search for SharePoint, crawl schedules, iFilters, crawl rules, content sources, scopes, managed properties, content types, search components, index partitioning, and federated search locations
  • Managing a SharePoint Environment (26 percent)
  • Manage operational settings.
    This objective may include but is not limited to: configuring logging, quotas, monitoring levels, health reports, security, and SQL Server Reporting Services (SSRS) integration
  • Manage accounts and user roles.
    This objective may include but is not limited to: managing user accounts, group accounts, managed accounts, computer accounts, and service accounts; and delegating site collection administration
  • Manage authentication providers.
    This objective may include but is not limited to: managing NTLM, Kerberos, claims-based, and forms-based authentication; and configuring Secure Store Service (SSS) and Active Directory Federation Services (AD FS)
  • Deploying and Managing Applications (24 percent)
  • Manage Web Applications.
    This objective may include but is not limited to: managing databases, Web Application settings, security, and policies
  • Manage site collections.This objective may include but is not limited to: managing site collection policies, features, caching, and auditing; configuring site collection security; configuring multi-tenancy; and configuring site collection quotas and locks
  • Deploy and manage SharePoint solutions.This objective may include but is not limited to: deploying and managing SharePoint solution packages, managing sandbox solutions, and managing user solutions
Maintaining a SharePoint Environment (25 percent)
  • Back up and restore a SharePoint environment.
This objective may include but is not limited to: configuring backup settings; backing up and restoring content, search, and service application databases; detaching and attaching databases; and exporting lists and sites
  • Monitor and analyze a SharePoint environment.
    This objective may include but is not limited to: generating health, administrative, and Web analytics reports; interpreting usage and trace logs; identifying and resolving health and performance issues
  • Optimize the performance of a SharePoint environment.
    This objective may include but is not limited to: configuring resource throttling (large list management, object model override); configuring remote Binary Large Objects (BLOB) storage and BLOB and object caching; and optimizing services

SharePoint 2010

In an attempt to get an overall mastery over MSS 2010 I am planning a series of posts and sessions where people can understand the internals of SharePoint 2010 through self learning...Keep tuned..

Sunday, August 01, 2010

Back in Mumbai....

Back in Mumbai..Feels great to be back amidst my own. The Mumbai monsoon is in full swing and so are the welcome back parties..Its goin to be back to work Monday..Fun stuff..

Thursday, July 29, 2010

Yet another master blaster double ton

and he does it yet again..with so much style. No wonder he is the best ever.
That takes care of the SL tour. Thats it to report on that front.
The SharePoint 2010 learnings are goin on in full swing and at some point I would like to create a section on this blog dedicated to the learnings from that technology. For now, its onto the Whiteboard to understand the fundas..
Flying to India today..the long journey giving me the creeps as usual...

Wednesday, July 28, 2010

News this week..

With India getting some sound whipping in SL, none of the master batsmen really playing that well...bored of following cricket..
On personal front fly to India July 29th..Whohooooooooo..so thats great...Mumbai monsoons getting better..Some nice outings already planned..
While that is on, packing, finishing all tasks, meeting friends and attending send off lunches going on.
Interest rates hiked in India to curtail inflation and bring the economy back on track..Good news. Plane crash in Pak with low possibility of survivors..well...Bad news..
More to come about my activities for this week soon...

Monday, July 19, 2010

Other events

With the FIFA world cup declaring Spain as a winner..cricket not too much goin on..except Ind-SL series..me onto the HTML5 capabilities..Will blog about findings..

Tuesday, June 15, 2010

Union Carbide story

The decision from the Supreme Court on the 25+ yr old Union Carbide story has left the nation livid..2 yrs?? WTF does that mean? 15K people dead and lakhs affected and 2 yrs? Time for our law makers to brush up their basics and go for a makeover of archaic laws...

FIFA World cup fever

With the FIFA world cup fever gripping the world, it is time to wear the favorite team Tees...Stories of how a friend's companies staff have started adorning Brazil's shirts while trading or how another friend's colleagues gather around the TV set, their eyes fixated on an amazing goal...These are fun times...One of the very few times the world comes together..Cheers!

Monday, June 14, 2010

Now a US Citizen....

After 14 long yrs of arduous and curvy immigration path, we finally got our US Citizenship last week. Feels good!

Monday, May 24, 2010

Mangalore plane crash

Its been a terrible couple of days reading about the tragedy of the Mangalore plane accident. The heart rendering news article about the two young air hostesses from Mumbai and aspirations killed could not be forgotten...Makes you think ...lucky to be alive!

Wednesday, May 05, 2010

PerformancePoint Services

With the advent of SharePoint 2010 Insights, there has been more and more focus on how to get data in a meaningful and organized way so that business users can make sense of the enterprise data store. Whether it is Slicing and dicing the data with Excel services or front ending it with some fancy web parts in SharePoint or self servicing features of the BI Platform, Insights has the answer for you...

Added in this offering is also Visio Services, Better Chart, Decomp Tree, scorecard, Graphical controls etc and effective Admin functionalities...Digging deeper into this..

Saturday, May 01, 2010

IPL and the related fiascos

While it has been great fun following your favorite teams during IPL 3, you cannot but think about the spirit of cricket or whether we are killing it by commercializing this game. Agreed you can keep the two separate by focusing on the game but with the dangerous mix of bolloywood with cricket - the two most dangerous passions in India are we creating a lethal dosage? So much money and so much exposure for these young 19 yr olds..Is this what we really want? Cannot escape this thought...

Monday, February 01, 2010

Certifications

I was looking at the latest stack of MOSS certifications and found these set of exams:

http://www.microsoft.com/learning/en/us/certification/cert-sharepoint-server.aspx#tab2

The format seems pretty good and unlike a lot of other Microsoft exams there are no ready made cramsheets that I can see...As I understand it there are about 50-55 questions..multiple choice and you need to shoot straight from the hip...Interesting huh?

Sunday, January 24, 2010

Comparison: Azure SQL and SQL Server

An interesting comparison between Azure data services and SQL Server :
http://go.microsoft.com/?linkid=9692818