Sunday, October 10, 2010

Leaning past 3 days

Some new things I learnt in the last 3 days:
The site which outlines most of the highly scalable projects/sites:
http://highscalability.com/
This site discusses the arch of the following sites
  • YouTube
  • Flickr
  • Amazon
  • Google
  • Plenty of Fish
For comparison of features between the basic, standard and enterprise versions of SharePoint :
http://sharepoint.microsoft.com/en-us/buy/Pages/Editions-Comparison.aspx

Wednesday, October 06, 2010

Telerik RADAJAXManager slow at ihttpasynchandler.beginrequest

We are experiencing an issue with the AJAX calls getting slow while using the RADAJAXManager and the AVICode analysis of the dump shows slowness in the IHttpAsyncHandler BeginRequest. This is for a specific project. Similar implementations done on other projects is not causing any probs...Investigating..

Tuesday, October 05, 2010

Two updates in the Program I am working

While resolving some of the FxCop issues tht we encountered in the program, we were trying to use the GlobalSuppression.cs file for obviously...suppressing the errors and were having some issues. Interestingly I personally did not find a lot of places where global suppression was being explained..So here goes some places we visited / used to get it working:
http://blogs.msdn.com/b/codeanalysis/archive/2006/12/28/faq-what-is-the-globalsuppressions.cs-globalsuppressions.vb-file-and-why-is-it-needed-is-it-possible-to-change-the-name-of-this-file-david-kean.aspx

http://dansen.wordpress.com/2008/04/15/suppressing-code-analysis-rules/

Another area we are seeing is the "Please wait while scripts are loaded" message. Typical suspects are JS issues, big JS/CSS sizes etc...A good JS debugger tool for ie should help..Firebug anyone?
This did help us to narrow down on the piece of JS script that was causing this error to come up..Removed that and BINGO!.

Saturday, October 02, 2010

Sandboxed vs Farm

Nice article on "Developing, Deploying, and Monitoring Sandboxed Solutions in SharePoint 2010"
http://msdn.microsoft.com/en-us/magazine/ee335711.aspx

For those who donno about Sandboxed solutions, some primer:
One of the many challenges in SharePoint solutions is striking a balance between creating solutions and deploying them in a way that you can trust will not damage or impair the SharePoint farm. Farm administrators are responsible for maintaining the health and integrity of the SharePoint farm, and often this means putting complicated, time-consuming processes in place to test and validate solutions deployed to the farm. This need is counter to the rapid application model used to create SharePoint solutions, and it complicates the deployment of third-party solutions. A new feature in SharePoint 2010, called sandboxed solutions, addresses many of these concerns, enabling farm administrators to feel comfortable that the SharePoint farm is safe, giving site collection administrators the authority to manage the applications in their site collection, and providing developers with the flexibility to create solutions they know will be deployed in a safe and rapid manner.

Friday, October 01, 2010

RBS Storage

Overview of Remote BLOB Storage (SharePoint Server 2010)

This article is a conceptual overview of how RBS works with Microsoft SQL Server 2008 Express and Microsoft SQL Server 2008 R2 Express. It contains important information about RBS features and providers. We strongly recommend that you read this article before you implement RBS.

Install and configure Remote BLOB Storage (RBS) with the FILESTREAM provider (SharePoint Server 2010)
This article describes how to install and configure RBS and implement the FILESTREAM provider for use with SharePoint Server 2010.

Install and configure Remote BLOB Storage (RBS) without the FILESTREAM provider (SharePoint Server 2010)
This article describes how to install and configure RBS without using the FILESTREAM provider.

Set a content database to use Remote Blob Storage (RBS) (SharePoint Server 2010)
This article describes how to set a content database to use RBS. You must already have RBS installed to perform these procedures.

Migrate content into or out of Remote BLOB Storage (RBS) (SharePoint Server 2010)
This article describes how to migrate content into or out of RBS, or to a different RBS provider.

Disable Remote BLOB Storage (RBS) on a content database (SharePoint Server 2010)
This article describes how to disable RBS in a SharePoint Server 2010 environment.

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.

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!