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..