Pages

Friday, June 20, 2014

Future of Implementing Content Types and Site Columns

    Overview

    You are using SharePoint 2007, 2010, 2013 as On Prem. You are implementing Site Columns and Content Types to support your desired Taxonomy and document object models within your organization.

    Either in a near feature or you are in the process of moving to the cloud with O365, completely or partially for collaboration workloads.

    Beware of your implementation choices for Site Columns and Content Types and what is upcoming!

    Background

    Currently you have following options to implement the Site Columns and Content Type structures within the SharePoint platform and what it means to you.

    Options for implementing Site Columns and Content Types and the impact:

    • Deploying over the browser from Site Settings>Galleries>Site Columns or Content Types
      • SharePoint determines the GUID assigned for ID
      • Site Columns and Content Types are coded in to the content database
    • Deploying Declaratively:
      • By XML Site Column and Content Type Definitions in the form of Elements.xml
      • Baking the above XML definitions in to the Feature Solution
      • You determine the GUID assigned for the ID
      • Eventually deploying the solution to run as Full Trust Code (FTC)
      • Site Columns and Content Types are coded in to the content database

    Impact of GUIDs

    Impact of the Site Columns and Content Type IDs which are in the form of GUIDs

    • When you upgrade this site collection to next available version, the GUIDs are maintained.
    • When you are migrating to O365, you will need a tool to migrate the content.
    • You will need a commercial migration tool or custom code written tool by yourself.
    • You should ensure to retain the GUIDs of your Site Columns.
    • You want to retain the GUIDs so that the Site Column referencing libraries and lists data are intact.

    Issue

    • Like we all know there is no support for Farm Solutions with O365, we have no option to deploy our Site Columns and Content Types with our desired GUIDs.

    Content Type Hub

    • If you have deployed a Content Type Hub configuration to consolidate your enterprise Site Columns and Content Types, with migration to O365, you are still stuck with the above issue. (Also please read below how the migration products behave)

    Migration products behavior with the GUIDs

    The major migration product vendors I had spoken to, comment that they cannot retain the Site Column and Content Type GUIDs while their tools copy over for obvious reason. However, post the copy process the tools will reset such GUIDs to be all in synch.

    Alternative Coding/Scripting Options

    For those who have to opt for custom development option, beware of below aspects:

    • You can implement Site Column with a specific GUID via the AddasXMLSchema method on the SPWeb.Fields object.
    • However ContentType does not have similar AddAsXMLSchema support API.
    • However you can implement Content Type with your specific GUID via new SPContentType object and assign the GUID to the myContentType.ID field

    Update with SP1

Thursday, March 13, 2014

Misleading Visual Studio Online Name

Overview

With recent release of Visual Studio 2013 and the related Visual Studio Online Cloud Service, I took look at what is Visual Studio Online.

 

What is Visual Studio Online?

  • Visual Studio Online is really a hosted source control, work item tracking, collaboration and a build service. 
  • Visual Studio Online is free for teams up to 5 users
  • Visual Studio Online is also included as part of MSDN subscriptions. 

What is Not Visual Studio Online?

Like the name suggest, Visual Studio Online is not an online version of Visual Studio IDE. In order to use the Visual Studio Online you will still need Visual Studio IDE installed on your development environment.

 

What Source Control Options are available?

If you have used the TFS, the same features are available online like below, alternatively you can use GIT as source control provider. You can choose Process templates to manage your work items.

clip_image001

clip_image002

 

Lightweight Development capabilities via Monaco.

However, there are lightweight development capabilities within the Visual Studio Online server. Below are the quote from "http://blogs.msdn.com/b/somasegar/archive/2013/12/29/10465627.aspx"

Visual Studio Online “Monaco” is a coding environment for the cloud, in the cloud.  It complements the desktop IDE as a low friction experience that will help you get started, or make quick changes, to an existing cloud service.  And it is integrated with Visual Studio Online.

“Monaco” is already being used as the technology behind other cloud-based developer experience, from Office 365 “Napa” development to SkyDrive file editing.

 

Conclusion

As developer when we use Visual Studio, it is all the capabilities of developing various software components using variety of support languages, deploy and debug and test. Just with the lightweight Monoao capability (No Server side coding). the name Visual Studio "Online" is misleading!.

Sunday, February 23, 2014

My Certifications


  • Azure
    • AZ-203 Developing Solutions for Microsoft Azure
    • 70-532 Developing Microsoft Azure Solutions
  • SharePoint 2013
    • 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions
    • 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions
  • Microsoft Certified Application Developer
    • Microsoft Office SharePoint Server 2007, Application Development
      Microsoft Windows SharePoint Services 3.0, Application Development
    • Microsoft Office SharePoint Server 2007,Configuration
    • Microsoft Windows SharePoint Services 3.0,Configuration
MCTS(rgb)_525_529_526_530
MCAD(rgb)MCP(rgb)
  • .NET and the Microsoft .NET Framework
    • Developing XML Web Services and Server Components with Microsoft Visual C#
    • Developing and Implementing Web Applications with Microsoft Visual Basic .NET
      and Microsoft Visual Studio .NET
    • Designing and Implementing Databases with Microsoft SQL Server’ 2000
      Enterprise Edition
    • Designing and Implementing Desktop Applications with Microsoft Visual Basic 6.0
    • Microsoft Visual Basic 5.0 Programming

Friday, August 16, 2013

My Speaking Engagements



  • 2017-2018- Hosted 4 Microsoft Containers Workshop sessions
  • 2018-2019- Hosted 4 Microsoft DevOps sessions
  • 2016-2018- Hosted 21 Workshop Sessions on IoT Camp 
  • 5/29/2018: San Francisco Azure DataFest: Advanced Analytics & Big Data Conference. Azure IoT Hub Deep Dive
  • 6/11/2016: SharePoint Saturday Conference. Keynote Bonus topic: Microsoft Azure and IoT
  • 4/28/2016: Introducing Microsoft Azure Cloud platform and the IoT for SharePoint developers!(NorCal 365 & SP User )
  • 4/9/2016: IoT for Data Guys and Gals (SQL Saturday Conference)
  • 8/25/2015: SharePoint, Nintex and DocuSign – Putting it all together (YouTube, SlideShare)
  • 6/4/2015: Silicon Valley SharePoint User Group: Insights from Ignite, Hosted Guest Speakers.
  • 5/30/2015: Silicon Valley SharePoint Saturday Conference: Apps Strategy for Business, IT and Developers 
  • 4/1/2015: Netwoven Webinar: Nuts and Bolts of Building Compliance Process with Nintex and SharePoint 2013  (YouTube)
  • 3/20/2015: Sacramento SharePoint User Group: Strategy for Forms and Workflow Patterns with Nintex
  • 2/26/2015: East Bay SharePoint User Group: Strategy for Forms and Workflow Patterns with Nintex
  • 10/14/2014: Netwoven Webinar: Powerful and Quick Workflow Automation Solutions with Nintex (YouTube)
  • 8/13/2014: Netwoven Webinar: How to maximize your O365 Investments with OneDrive for Business  (YouTube)
  • 6/11/2014: Netwoven Webinar: How to develop your SharePoint Forms Strategy for Cloud and On-Prem
  • 6/5/2014:  Peninsula O365 User Group: Office 365, Calendars, Folders and Delegation
  • 8/16/2013: Silicon Valley SharePoint User Group, Records Management and eDiscovery in SP 2013
  • 8/7/2013: Silicon Valley SharePoint User Group, Panel Meeting
  • 6/22/2013: SharePoint Saturday Conference, Silicon Valley, Building Practical SharePoint Development Environment SP 2013
  • 5/16/2013: Silicon Valley SharePoint User Group, SharePoint 2013 WCM, ECM and DM Features
  • Monday, August 5, 2013

    My Conclusions on Installation and Configuration of SharePoint 2013 Farm (& Related) and Development Efforts

     

    This blog is part of Series : Comprehensive SharePoint 2013 Development Environment Installation and Configuration

    Overview

    With the past several weeks of (Retries over Months) effort on trying to establish an orderly process for Installing and Configuring SharePoint 2013 Farm for the purpose of Development (Equally applies to most QA/Stage/Production environments as well), I wanted to capture some of my conclusions on the overall process and the effort involved.

     

    • The overall SharePoint install involves several downloads (depending on other sub components you choose to install more software to be downloaded)
    • Other than basic SharePoint Install, typical farm installation process is very comprehensive (like this main series blog itemized)
    • Certain installations and configurations can be done only with a PowerShell Scripts and as you can experience following this blog series, there are several of them.
    • I have gone through several installation missteps  before I got it right (some of feature to work properly). So the sequence of installation and configuration is important to get it right.
    • Weather you are following the installation and configuration wizard or combination of PowerShell scripts, it it very critical to ensure appropriate configuration parameters are used. 
    • So by the time you had completed the baseline install and configurations, you would probably start jumping in to to start your development.
    • During this initial development effort uncover several security and further configuration requirements.
    • So what is the outcome: “Inefficiencies in starting an effective development”

    Now having said that, don’t get me wrong, I am hardcore developer, but this “Time To Build” is too tedious. By the time IT learns all the details and get their environment ready for developers it will be a while!