SlideShare ist ein Scribd-Unternehmen logo
1 von 92
Case Study: Upgrading SLFE from 2007 to 2010 Shai Petel (shai@kwizcom.com) VP R&D, Microsoft Certified Trainer KWizCom Corporation
Content Building a new solution Upgrading an existing solution Version management
Goals In this session you will learn about the new VS2010 extensions for WSS You will learn how to migrate your existing solutions into the new environment reducing the migration process time to minimum. This session will allow you to make better decisions on your current solutions for 2007 today that will make the transition to 2010 easy and simple.
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Building a New Solution Before you begin… Is your team ready for 2010? Silverlight, Ajax, JSON Visual web parts! (or is it?) Prepare to be hosted! Limit customization to site collection level Prefer to support sandboxed solutions*
Building a New Solution Before you begin… Creating a new web part? Inherit from ASP.NET! ,[object Object]
Do not change base for existing web parts!!!,[object Object]
Building a New Solution Before you begin… Install all components on developer machine
Building a New Solution Before you begin… Install developer components on development client and use remote debugger to connect to development server (not so bad, but still…)
Building a New Solution Before you begin… Virtualize! (Recommended)
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Building a New SolutionCreating a new solution Open VS2010
Building a New SolutionCreating a new solution Click on new project. Go to: C# -> SharePoint -> 2010 templates
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Building a New SolutionChoose a project template There are a lot of new project templates to choose from! But fear not – You can easily add any component to any project later
Introducing Visual Web Part
Building a New SolutionChoose a project template – Visual web part This project template cannot be sandboxed
Building a New SolutionChoose a project template – Visual web part Project created with all web part files for you
Building a New SolutionChoose a project template – Visual web part A feature will be created for you automatically
Building a New SolutionChoose a project template – Visual web part A package will be created for you automatically
Building a New SolutionChoose a project template – Event receiver This project template can be sandboxed
Building a New SolutionChoose a project template – Event receiver “Create project” Wizard New types of receivers New events to handle!
Building a New SolutionChoose a project template – Event receiver Adds all needed files for you
Introducing Business Data Catalogue Tools
Building a New SolutionChoose a project template – Business Data Catalogue Model This project template can be sandboxed
Building a New SolutionChoose a project template – Business Data Catalogue Model BCS editing tools
Building a New SolutionChoose a project template – Business Data Catalogue Model Packaged and deployed as a farm level feature
Building a New SolutionChoose a project template – Content type This project template can be sandboxed
Building a New SolutionChoose a project template – Content type “Create content type” Wizard More work needed on the wizard though… 
Building a New SolutionChoose a project template – List definition This project template cannot be sandboxed
Building a New SolutionChoose a project template – Content type “Create List Def.” Wizard
Building a New SolutionChoose a project template – Content type Schema File Create Elements file for feature Optional: Create list instance XML
Building a New SolutionChoose a project template – Content type Packaged and deployed as a web feature
Building a New SolutionChoose a project template – Workflow This project template cannot be sandboxed
Building a New SolutionChoose a project template – Workflow Sequential workflow is designed to execute a series of predefined steps to accomplish a certain task State machine workflows are designed to work in event-driven scenarios. A state machine workflow contains two or more states, with one state being the active state at any given time
Building a New SolutionChoose a project template – Workflow Choose history and tasks lists.* Also choose a list if you selected a list workflow type Workflow initiation options “State machine” wizard
Building a New SolutionChoose a project template – Workflow Designer has different options for site and list workflows
Building a New SolutionChoose a project template – Workflow Add sequential workflow, with its own designer
Building a New SolutionChoose a project template – Workflow Creates separate elements file for each workflow
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Introducing Your very own sandbox!
Building a New SolutionSetup trust level Choose your destiny
Building a New SolutionSetup trust level To trust, or not to trust? Sandbox solutions is a way for you to deploy a set of features and components to your SharePoint site collection that will have no effect on other site collections Sandbox solutions have limited support for extensibility and not all SharePoint customizations are allowed Sandboxed solutions can be installed and deployed by site owner from site settings
Building a New SolutionSetup trust level What does this setting change? This setting does not get written to WSP package, but will allow VS to validate your content is supported within a sandboxes solution Solution assemblies within a sandboxed solution are not installed to GAC/Bin, and not running on W3WP process. Instead they run under SPUCWorkerProcess Sandboxed solutions can be deployed as a full-trusted solution as well
Building a New SolutionSetup trust level What is supported within a sandbox solution? List Definitions, List Instances, Content Types/Fields Web Parts (non visual) Event receivers: Item, List or Web Declarative workflows, Custom Actions (Ribbon) Onet.xml, WebTemplate feature element (instead of Webtemp.xml) allows for site collection level site definitions! More…
Building a New SolutionSetup trust level What is not supported within a sandbox solution? Mapped folders (14 hive) Some API will not work in sandboxed mode Visual Web Parts Application Pages Custom Action Group HideCustomAction element Web Application/Farm-scoped features Workflows with code
Building a New SolutionSetup trust level How do I deploy a sandbox solution? Upload to Solutions gallery Activate
Building a New SolutionSetup trust level Cannot activate solution? Go to central administration and make sure windows SharePoint user code service is started
Building a New SolutionSetup trust level Keep in mind: Deploying a sandbox solution automatically activates features within (unless specifically specified not to in the feature) To disable support for sandbox solutions simply stop the user code service Upgrading sandbox solutions are done manually site collection at a time
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Building a New SolutionAdding new components It is extremely easy to add any component to any project you like This allows you to easily create more complex solutions that includes several types of customizations such as: Feature – for activation Web parts – for visual UI Lists and list definitions for storing data Field types, event handlers, workflows and much more!
Building a New SolutionAdding new components Add mapped folder
Building a New SolutionAdding new components Add other components
Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
Building a New SolutionOne-click deploy or package Feature and Package editors available
Building a New SolutionOne-click deploy or package Project menu allows you to build, deploy to development server, and to package using a WSP Build – compile code only Package – compiles and builds the WSP package Deploy – compile, package anddeploy the package Retract – removes the solutionpackage from server
Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSS solution Upgrading a 2005/2008 VSeWSS solution Upgrading a WSP package Version management
Upgrading an Existing SolutionUpgrading an existing solution
Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSS solution Upgrading a WSP package Version management
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Case study: Upgrading KWizCom SharePoint List Forms Extensions What we had in 2007: controltemplates ASCX files. New control templates and updating existing ones* Application settings pages List settings link Feature activated, MSI installer External references to utilities/shared resources
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution SLFE version 1.*.*
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution What we added in 2010: List settings ribbon buttons Add CSS file using Delegate WSP packaging
SLFE Project Live demo of SLFE in Visual Studio demo
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution 2010 New UI Ribbon (resizable) Using image store filesand CSS class
SLFE Solution Live demo of SLFE in SharePoint demo
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Conclusion In order to make the most of VS2010 and VS2010 extensions for WSS its best to build a new project skeleton and import existing code into it. If you already have a WSP package you can use it to build your project skeleton from it (reverse engineer) but your .NET code will not be included!
Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Steps for upgrading a project Estimated time: 1 hour to 4 hours of 1 developer to have the solution ready for packaging.
Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSSsolution Upgrading a WSP package Version management
Upgrading an Existing SolutionUpgrading a 2005/2008 VSeWSSsolution Unfortunately, you cannot convert VS2005/2008 projects using visual studio alone Trying to do so will invoke this error:“The project type is not supported by this installation.”
Upgrading an Existing SolutionUpgrading a 2005/2008 VSeWSSsolution But fear not! VSeWSS2010 comes with a conversion tool from VSeWSS2008 only. For all other projects that used WSP for deployment - This next option might be what you are looking for!
Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSSsolution Upgrading a WSP package Version management
Upgrading an Existing SolutionUpgrading a WSP package If you have a WSP packaged solution, you can import it into 2010!
Upgrading an Existing SolutionUpgrading a WSP package Import wizard Your code does not get imported!
Upgrading an Existing SolutionUpgrading a WSP package The import process will build your skeleton for you After the import is done, some work is needed
SLFE Solution Importing WSP package demo
Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
Version ManagementVersion  management Why do we need version management? Tractability of bugs or changes Perform upgrade operations on existing installations (add a field, create hidden list etc.) Monitor Dev, Staging and production deployment running code Not for ISV only! In house development team? Get used to working with versioned packages!
Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
Version ManagementHow can I mark versions Cannot change assembly version! Currently no supportfor marking package,but you can markfeatures: Mark versionnumber in yourcode:
Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
Version ManagementShared resources You may need to add shared resources to your projects DLL’s (utility classes, base classes) Sandbox – no problem GAC – no problem BIN deployment – version collisions may occur. Shared resources (Images/CSS files) Use sub folders with utilities version number.For example:/_layouts/KWizCom_Shared_2.0.01
Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
Version ManagementUpgrade / downgrade solution version Built in support for upgrade operations! SharePoint will allow mark if feature requires upgrade Many upgrade operations supported, and custom upgrade handlers can be coded
Version ManagementUpgrade / downgrade solution version Upgrading / downgrading is easy! Once you deploy several versions of same solution you will be able to upgrade instead of activate!
Content Building a new solution Upgrading an existing solution Version management
Summary You now have real-world experience in upgrading components into 2010 There is a lot more to see Come visit us at our booth to get the complete presentation and for 1 on 1 talks! Overall, It’s been a pleasure!
Contact Us For more information on SharePoint 2010 please don’t hesitate to contact us! ,[object Object]
Email: shai@kwizcom.com
Online: http://www.kwizcom.com
Blog: http://kwizcom.blogspot.com* Learn * Plan * Deploy * Build * Call to learn how KWizCom can assist you!

Weitere ähnliche Inhalte

Was ist angesagt?

Collaborative project communication for construction company
Collaborative project communication for construction companyCollaborative project communication for construction company
Collaborative project communication for construction companyAnatoliZ
 
#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance TestingAgile Testing Alliance
 
Windows shell integration advanced
Windows shell integration advancedWindows shell integration advanced
Windows shell integration advancedYann Lecourt
 
O365Engage17 - Building portals with microsoft graph api
O365Engage17 - Building portals with microsoft graph apiO365Engage17 - Building portals with microsoft graph api
O365Engage17 - Building portals with microsoft graph apiNCCOMMS
 
O365Engage17 - Developing with groups teams and planner
O365Engage17 - Developing with groups teams and plannerO365Engage17 - Developing with groups teams and planner
O365Engage17 - Developing with groups teams and plannerNCCOMMS
 
Opticon18: Developer Night
Opticon18: Developer NightOpticon18: Developer Night
Opticon18: Developer NightOptimizely
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Moataz Nabil
 
New features in qtp11
New features in qtp11New features in qtp11
New features in qtp11Ramu Palanki
 
New features in qtp11
New features in qtp11New features in qtp11
New features in qtp11G.C Reddy
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration BriefingAngela Dugan
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlEd Leighton-Dick
 

Was ist angesagt? (11)

Collaborative project communication for construction company
Collaborative project communication for construction companyCollaborative project communication for construction company
Collaborative project communication for construction company
 
#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing
 
Windows shell integration advanced
Windows shell integration advancedWindows shell integration advanced
Windows shell integration advanced
 
O365Engage17 - Building portals with microsoft graph api
O365Engage17 - Building portals with microsoft graph apiO365Engage17 - Building portals with microsoft graph api
O365Engage17 - Building portals with microsoft graph api
 
O365Engage17 - Developing with groups teams and planner
O365Engage17 - Developing with groups teams and plannerO365Engage17 - Developing with groups teams and planner
O365Engage17 - Developing with groups teams and planner
 
Opticon18: Developer Night
Opticon18: Developer NightOpticon18: Developer Night
Opticon18: Developer Night
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
New features in qtp11
New features in qtp11New features in qtp11
New features in qtp11
 
New features in qtp11
New features in qtp11New features in qtp11
New features in qtp11
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration Briefing
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
 

Ähnlich wie Upgrade to SharePoint 2010, Shai Petel SharePoint Conference Las Vegas Sep 2009

Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010KWizCom Team
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deploymentSalaudeen Rajack
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for DevelopersSarah Dutkiewicz
 
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016Jim Adcock
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization modelEuropean Collaboration Summit
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Developmentmaddinapudi
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Chris O'Brien
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5Ivan Sanders
 
Diff sand box and farm
Diff sand box and farmDiff sand box and farm
Diff sand box and farmRajkiran Swain
 
Fly Buys website development using SharePoint 2007
Fly Buys website development using SharePoint 2007Fly Buys website development using SharePoint 2007
Fly Buys website development using SharePoint 2007Ari Bakker
 
1) workbench basics
1) workbench basics1) workbench basics
1) workbench basicstechbed
 
VS Code and Modern Development Environment Preview
VS Code and Modern Development Environment PreviewVS Code and Modern Development Environment Preview
VS Code and Modern Development Environment PreviewRoberto Stefanetti
 
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365Ed Musters
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 

Ähnlich wie Upgrade to SharePoint 2010, Shai Petel SharePoint Conference Las Vegas Sep 2009 (20)

Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deployment
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
 
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016
Quick Wins to Jump Start Your SharePoint Implementation - SPEngage Raleigh 2016
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Development
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Faster WordPress Workflows
Faster WordPress WorkflowsFaster WordPress Workflows
Faster WordPress Workflows
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5
 
Diff sand box and farm
Diff sand box and farmDiff sand box and farm
Diff sand box and farm
 
Fly Buys website development using SharePoint 2007
Fly Buys website development using SharePoint 2007Fly Buys website development using SharePoint 2007
Fly Buys website development using SharePoint 2007
 
1) workbench basics
1) workbench basics1) workbench basics
1) workbench basics
 
VS Code and Modern Development Environment Preview
VS Code and Modern Development Environment PreviewVS Code and Modern Development Environment Preview
VS Code and Modern Development Environment Preview
 
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
 
SAP ByDesign Development
SAP ByDesign DevelopmentSAP ByDesign Development
SAP ByDesign Development
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 

Kürzlich hochgeladen

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Kürzlich hochgeladen (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Upgrade to SharePoint 2010, Shai Petel SharePoint Conference Las Vegas Sep 2009

  • 1.
  • 2. Case Study: Upgrading SLFE from 2007 to 2010 Shai Petel (shai@kwizcom.com) VP R&D, Microsoft Certified Trainer KWizCom Corporation
  • 3. Content Building a new solution Upgrading an existing solution Version management
  • 4. Goals In this session you will learn about the new VS2010 extensions for WSS You will learn how to migrate your existing solutions into the new environment reducing the migration process time to minimum. This session will allow you to make better decisions on your current solutions for 2007 today that will make the transition to 2010 easy and simple.
  • 5. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 6. Building a New Solution Before you begin… Is your team ready for 2010? Silverlight, Ajax, JSON Visual web parts! (or is it?) Prepare to be hosted! Limit customization to site collection level Prefer to support sandboxed solutions*
  • 7.
  • 8.
  • 9. Building a New Solution Before you begin… Install all components on developer machine
  • 10. Building a New Solution Before you begin… Install developer components on development client and use remote debugger to connect to development server (not so bad, but still…)
  • 11. Building a New Solution Before you begin… Virtualize! (Recommended)
  • 12. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 13. Building a New SolutionCreating a new solution Open VS2010
  • 14. Building a New SolutionCreating a new solution Click on new project. Go to: C# -> SharePoint -> 2010 templates
  • 15. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 16. Building a New SolutionChoose a project template There are a lot of new project templates to choose from! But fear not – You can easily add any component to any project later
  • 18. Building a New SolutionChoose a project template – Visual web part This project template cannot be sandboxed
  • 19. Building a New SolutionChoose a project template – Visual web part Project created with all web part files for you
  • 20. Building a New SolutionChoose a project template – Visual web part A feature will be created for you automatically
  • 21. Building a New SolutionChoose a project template – Visual web part A package will be created for you automatically
  • 22. Building a New SolutionChoose a project template – Event receiver This project template can be sandboxed
  • 23. Building a New SolutionChoose a project template – Event receiver “Create project” Wizard New types of receivers New events to handle!
  • 24. Building a New SolutionChoose a project template – Event receiver Adds all needed files for you
  • 25. Introducing Business Data Catalogue Tools
  • 26. Building a New SolutionChoose a project template – Business Data Catalogue Model This project template can be sandboxed
  • 27. Building a New SolutionChoose a project template – Business Data Catalogue Model BCS editing tools
  • 28. Building a New SolutionChoose a project template – Business Data Catalogue Model Packaged and deployed as a farm level feature
  • 29. Building a New SolutionChoose a project template – Content type This project template can be sandboxed
  • 30. Building a New SolutionChoose a project template – Content type “Create content type” Wizard More work needed on the wizard though… 
  • 31. Building a New SolutionChoose a project template – List definition This project template cannot be sandboxed
  • 32. Building a New SolutionChoose a project template – Content type “Create List Def.” Wizard
  • 33. Building a New SolutionChoose a project template – Content type Schema File Create Elements file for feature Optional: Create list instance XML
  • 34. Building a New SolutionChoose a project template – Content type Packaged and deployed as a web feature
  • 35. Building a New SolutionChoose a project template – Workflow This project template cannot be sandboxed
  • 36. Building a New SolutionChoose a project template – Workflow Sequential workflow is designed to execute a series of predefined steps to accomplish a certain task State machine workflows are designed to work in event-driven scenarios. A state machine workflow contains two or more states, with one state being the active state at any given time
  • 37. Building a New SolutionChoose a project template – Workflow Choose history and tasks lists.* Also choose a list if you selected a list workflow type Workflow initiation options “State machine” wizard
  • 38. Building a New SolutionChoose a project template – Workflow Designer has different options for site and list workflows
  • 39. Building a New SolutionChoose a project template – Workflow Add sequential workflow, with its own designer
  • 40. Building a New SolutionChoose a project template – Workflow Creates separate elements file for each workflow
  • 41. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 42. Introducing Your very own sandbox!
  • 43. Building a New SolutionSetup trust level Choose your destiny
  • 44. Building a New SolutionSetup trust level To trust, or not to trust? Sandbox solutions is a way for you to deploy a set of features and components to your SharePoint site collection that will have no effect on other site collections Sandbox solutions have limited support for extensibility and not all SharePoint customizations are allowed Sandboxed solutions can be installed and deployed by site owner from site settings
  • 45. Building a New SolutionSetup trust level What does this setting change? This setting does not get written to WSP package, but will allow VS to validate your content is supported within a sandboxes solution Solution assemblies within a sandboxed solution are not installed to GAC/Bin, and not running on W3WP process. Instead they run under SPUCWorkerProcess Sandboxed solutions can be deployed as a full-trusted solution as well
  • 46. Building a New SolutionSetup trust level What is supported within a sandbox solution? List Definitions, List Instances, Content Types/Fields Web Parts (non visual) Event receivers: Item, List or Web Declarative workflows, Custom Actions (Ribbon) Onet.xml, WebTemplate feature element (instead of Webtemp.xml) allows for site collection level site definitions! More…
  • 47. Building a New SolutionSetup trust level What is not supported within a sandbox solution? Mapped folders (14 hive) Some API will not work in sandboxed mode Visual Web Parts Application Pages Custom Action Group HideCustomAction element Web Application/Farm-scoped features Workflows with code
  • 48. Building a New SolutionSetup trust level How do I deploy a sandbox solution? Upload to Solutions gallery Activate
  • 49. Building a New SolutionSetup trust level Cannot activate solution? Go to central administration and make sure windows SharePoint user code service is started
  • 50. Building a New SolutionSetup trust level Keep in mind: Deploying a sandbox solution automatically activates features within (unless specifically specified not to in the feature) To disable support for sandbox solutions simply stop the user code service Upgrading sandbox solutions are done manually site collection at a time
  • 51. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 52. Building a New SolutionAdding new components It is extremely easy to add any component to any project you like This allows you to easily create more complex solutions that includes several types of customizations such as: Feature – for activation Web parts – for visual UI Lists and list definitions for storing data Field types, event handlers, workflows and much more!
  • 53. Building a New SolutionAdding new components Add mapped folder
  • 54. Building a New SolutionAdding new components Add other components
  • 55. Content Building a new solution Creating a new solution Choose a project template Setup trust level Adding new components One-click deploy or package Upgrading an existing solution Version management
  • 56. Building a New SolutionOne-click deploy or package Feature and Package editors available
  • 57. Building a New SolutionOne-click deploy or package Project menu allows you to build, deploy to development server, and to package using a WSP Build – compile code only Package – compiles and builds the WSP package Deploy – compile, package anddeploy the package Retract – removes the solutionpackage from server
  • 58. Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSS solution Upgrading a 2005/2008 VSeWSS solution Upgrading a WSP package Version management
  • 59. Upgrading an Existing SolutionUpgrading an existing solution
  • 60. Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSS solution Upgrading a WSP package Version management
  • 61. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Case study: Upgrading KWizCom SharePoint List Forms Extensions What we had in 2007: controltemplates ASCX files. New control templates and updating existing ones* Application settings pages List settings link Feature activated, MSI installer External references to utilities/shared resources
  • 62. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution SLFE version 1.*.*
  • 63. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution What we added in 2010: List settings ribbon buttons Add CSS file using Delegate WSP packaging
  • 64. SLFE Project Live demo of SLFE in Visual Studio demo
  • 65. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution 2010 New UI Ribbon (resizable) Using image store filesand CSS class
  • 66. SLFE Solution Live demo of SLFE in SharePoint demo
  • 67. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Conclusion In order to make the most of VS2010 and VS2010 extensions for WSS its best to build a new project skeleton and import existing code into it. If you already have a WSP package you can use it to build your project skeleton from it (reverse engineer) but your .NET code will not be included!
  • 68. Upgrading an Existing SolutionUpgrading a non-VSeWSSsolution Steps for upgrading a project Estimated time: 1 hour to 4 hours of 1 developer to have the solution ready for packaging.
  • 69. Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSSsolution Upgrading a WSP package Version management
  • 70. Upgrading an Existing SolutionUpgrading a 2005/2008 VSeWSSsolution Unfortunately, you cannot convert VS2005/2008 projects using visual studio alone Trying to do so will invoke this error:“The project type is not supported by this installation.”
  • 71. Upgrading an Existing SolutionUpgrading a 2005/2008 VSeWSSsolution But fear not! VSeWSS2010 comes with a conversion tool from VSeWSS2008 only. For all other projects that used WSP for deployment - This next option might be what you are looking for!
  • 72. Content Building a new solution Upgrading an existing solution Upgrading a non-VSeWSSsolution Upgrading a 2005/2008 VSeWSSsolution Upgrading a WSP package Version management
  • 73. Upgrading an Existing SolutionUpgrading a WSP package If you have a WSP packaged solution, you can import it into 2010!
  • 74. Upgrading an Existing SolutionUpgrading a WSP package Import wizard Your code does not get imported!
  • 75. Upgrading an Existing SolutionUpgrading a WSP package The import process will build your skeleton for you After the import is done, some work is needed
  • 76. SLFE Solution Importing WSP package demo
  • 77. Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
  • 78. Version ManagementVersion management Why do we need version management? Tractability of bugs or changes Perform upgrade operations on existing installations (add a field, create hidden list etc.) Monitor Dev, Staging and production deployment running code Not for ISV only! In house development team? Get used to working with versioned packages!
  • 79. Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
  • 80. Version ManagementHow can I mark versions Cannot change assembly version! Currently no supportfor marking package,but you can markfeatures: Mark versionnumber in yourcode:
  • 81. Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
  • 82. Version ManagementShared resources You may need to add shared resources to your projects DLL’s (utility classes, base classes) Sandbox – no problem GAC – no problem BIN deployment – version collisions may occur. Shared resources (Images/CSS files) Use sub folders with utilities version number.For example:/_layouts/KWizCom_Shared_2.0.01
  • 83. Content Building a new solution Upgrading an existing solution Version management How can I mark versions Shared resources Upgrade / downgrade solution version
  • 84. Version ManagementUpgrade / downgrade solution version Built in support for upgrade operations! SharePoint will allow mark if feature requires upgrade Many upgrade operations supported, and custom upgrade handlers can be coded
  • 85. Version ManagementUpgrade / downgrade solution version Upgrading / downgrading is easy! Once you deploy several versions of same solution you will be able to upgrade instead of activate!
  • 86. Content Building a new solution Upgrading an existing solution Version management
  • 87. Summary You now have real-world experience in upgrading components into 2010 There is a lot more to see Come visit us at our booth to get the complete presentation and for 1 on 1 talks! Overall, It’s been a pleasure!
  • 88.
  • 91. Blog: http://kwizcom.blogspot.com* Learn * Plan * Deploy * Build * Call to learn how KWizCom can assist you!
  • 92.
  • 93. Remember to fill out your evaluations onMySPCfor your chance to win two HD web cams and a designer mouse (3 prizes awarded daily)
  • 94. Learn More about SharePoint 2010 Information forIT Prosat TechNet http://MSSharePointITPro.com Information forDevelopersat MSDN http://MSSharePointDeveloper.com Information forEveryone http://SharePoint.Microsoft.com
  • 95. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Hinweis der Redaktion

  1. This is my personal experience upgrading SLFE from 2007 to 2010.(what will be different in my presentation is that it is based on actual migration I did and the lessons I learned, hope it can save you some time and allow to you take the right decisions on your projects today that will prepare you for the future)
  2. These are the topics…1st quick overview on VSeWSS2010, allow us to prepare for the next topic, which is the main one…Last – versioning, my personal goal to make all my customer work like an ISV
  3. * Sandbox See below
  4. 2 clicks
  5. Farm level resources:SQL, file system, 14 hive, schema filesEasy to mess up:Developer has full control and can make his environment. Unusable and cannot revert it back to original form.Hard to backup:Server, not code. For code we use VSS.New: Supported under windows 764bit for developers!!!
  6. No worries environment:(can restore to original state with no problems so feel free to mess up the server!
  7. 1 click
  8. You will need to decide what type of project you wish to create.(Visual web part, list/site definition, event handler, workflow, BCS and much more)If you are not sure you can start with an empty one.For advanced solutions that has many different customizations (web parts, list definitions and more…) just pick any project and add other components to it after you create the project.
  9. Files:CS file for web partASCX and ASCX.CS file for user control*.webpart XML fileElements XML file for use in featuresNote: All web part related files are created within the same folder to help you keep resources organized.4 clicks
  10. Note:New feature designer!The elements file from within the web part is recognized and added into your feature.
  11. Note:New package designer!All features and elements in this projectare recognized and added into your package.1 click
  12. When creating this type of project there is a wizard to guide you through the creation of the solution.Note: new types of event receivers.Note: New events to handle in existing event receivers!2 clicks
  13. Elements file within the receiver’s folder to be used in features.Receiver’s handler code file.1 Click
  14. BCS – Business connectivity Services (former BDC)1 click
  15. Just intelli-sense… no real wizard.2 Clicks
  16. no real wizard. But creates all files for you (list def, feature elements, and list instance)
  17. 2 clicks
  18. no real wizard. But creates all files for you (list def, feature elements, and list instance)
  19. 1 click
  20. 1 Click
  21. 1 Click
  22. Deploying a sandbox solution that has any of the forbidden content will succeed but that content will not be deployed.Application pages: no pages into layouts since no mapped folders.Pages with embedded code are not supported from data base – security.
  23. 1 click
  24. 1 click
  25. 1 click
  26. 1 click
  27. Updating existing ones done using file system priority trick still working in 2010.We used MSI installer due to some limitations in WSP
  28. 1 Click
  29. All in XML,Added images, CSS and ASCXShow live, visual studio
  30. Show the upgraded componentsShow the new components
  31. Show live
  32. Show the new Ribbon UI, and shot settings pagesShow it working in the new item popupShow next / prev item based on view in tasksShow groupingShow disabled field
  33. 2 Clicks
  34. 1 Click
  35. 1 Click
  36. Note: code does not get imported.3 clicks
  37. After import is done – still need to import code manually and set namespace / assembly evidence
  38. Import SLFE WSP package,Show what is created (skeleton),Manually add code files and set namespace, assembly evidence.
  39. Pages, web parts, event handlers – do not support assembly version changes.Version in features for upgrade operations if needed. Change only when needed.Version in code, to show in about to identify current running version easily. Change every time.
  40. 2 clicks
  41. 1 click after auto
  42. Overall, my personal experience was very positive,The beta is in great shape and migrating customizations looks simple.