SlideShare a Scribd company logo
1 of 23
Matthias Einig
SharePoint Architect        SharePoint developer since 2005
Steria AB, www.steria.com
Stockholm, Sweden           MCSE, MCPD, MCITP MSCA in
                                               ,
                            SharePoint 2007-2013
                            SCRUM Master and Product Owner
Contact                     Main Focus:
@mattein                    •   Solution Architecture,
mail@matthiaseinig.de       •   Solution Development,
www.matthiaseinig.de        •   SharePoint ALM,
                            •   Solution Quality Assurance
SharePoint deployment always causes
problems when:
•   More than one developer is in a project
•   Machines are setup differently
•   Multiple target farms exist
•   Configuration of the farm is required
•   Deployment lacks documentation




Resources are wasted for troubleshooting
Manual deployment



     Manual setup of
       WebApps &
     Site Collections

  Manual configuration of
    farm, service apps,
      WebApps, etc.


         Manual tests
to verify correct deployment
For each farm        For each release




                                          On updates/bugfixes




DEVTEST   ACCEPTANCE         PRODUCTION
•   Standardize deployment process
•   Configurable
•   Extendable/customizable
•   Supports farm and sandboxed
    solutions
•   Checks pre-qrequisites
•   Supports team development
•   Supports staging scenarios
•   Detailed logging
•   PowerShell scripts
•   Standardizes the deployment process
•   Configure once with XML / deploy to
    multiple environments
•   Uses environment specific variables
•   Optimizes multi-server farm deployment
•   Runs pre-/post deployment actions on
    all servers in the farm (i.e restart-service)
•   Runs custom pre-/post-deployment
    scripts
•   Logs everything
Browse to
http://spsd.codeplex.com
and download the latest release.


Important!
Before unpacking the ZIP file, open the file
properties and unblock the file!
Otherwise all batch and ps1 files have to be
unblocked separately.
The easiest way:
                                              Environment XML files
1.   Drop WSPs in /Solutions folder
                                                    Log files
2.   Run batch file                                 PS scripts
                                              Solution drop folder
Or configure a custom environment XML:
•    When deploying WebApp solutions to       Batch files to execute
     only specific web apps                    predefined actions

•    When deploying Sandboxed solutions
•    Having different deployment urls/input
     parameters for each environment
•    Requiring prerequisites to be in place
<SPSD Version="4.1.1.2346">
                                            <!-- The Configuration node contains general settings which may be
                                                 reused in several environments -->
                                            <Configuration ID="Default">
                                              <!-- The Settings node specifies global deployment settings for the

The environment XML has 3 main sections
                                                   powershell scripts -->
                                              <Settings></Settings>
                                              <!-- The Restrictions node restricts the solution deployment

1.   Configuration                                 process to certain requirements -->
                                              <Restrictions></Restrictions>

        • Settings
                                              <!-- The Actions node specifies actions which should run after the
                                                   deployment, retraction or update process -->
                                              <Actions></Actions>

        • Restrictions                      </Configuration>


        • Actions
                                           <!-- The Environment node specifies the deployment environment with
                                                Variables, PreRequisiteSolutions, Solutions -->
                                           <Environment ID="Default">

     Environment
                                             <!-- The Variables node specifies the variables which will be
2.                                                replaced in the entire environment XML file -->
                                             <Variables ID="Default"></Variables>

        • Variables                          <!-- The PreRequisiteSolutions node specifies which solution
                                                  should be deployed -->

        • Prerequisite solutions
                                             <PreRequisiteSolutions ID="Default"></PreRequisiteSolutions>
                                             <!-- The solutionsSolutions node specifies which solution should
                                                  be deployed/reatracted/updated -->

        • Solutions                          <Solutions ID="Default" Force="true" Overwrite="true"></Solutions>
                                           </Environment>


3.   SiteStructures                         <!-- The SiteStructures node defines one or multiple site structures
                                                 which should be deployed or retracted (update command is not
                                                 changing existing content)-->
                                            <SiteStructures ID="Default" AllowRetraction="true"></SiteStructures>
                                          </SPSD>
<Settings>
                                                           <!-- Number of retries when solution deployment fails -->
                                                           <DeploymentRetries>3</DeploymentRetries>
                                                           <!-- Number of milliseconds to wait for processes, services -->
                                                           <DeploymentTimeout>60000</DeploymentTimeout>
                                                           <!-- Specifies if checks and actions should be run on all servers in

Settings configures
                                                                the farm or only the local server -->
                                                           <RunOnMultipleServersInFarm>Application</RunOnMultipleServersInFarm>
                                                           <!-- Number of milliseconds to leave the deployment script windows
•   Basic settings how SPSD is running                          open after the deployment -->
                                                           <WaitAfterDeployment>10000</WaitAfterDeployment>
                                                           <!-- Use wizards to specify variables -->
•   Timeouts, retries etc.                                 <DisplayWizards>false</DisplayWizards>
                                                           <!-- Create a log file in ULS log format -->
Note: RunOnMultipleServersInFarm requires PowerShell       <CreateULSLogfile>false</CreateULSLogfile>
                                                         </Settings>
Remoting to be enabled on each included server for the
deployment account                                       <!-- The Restrictions node restricts the solution deployment process to
                                                              certain requirements -->
Enable-PSRemoting -Confirm:$false                        <Restrictions>
                                                           <!-- Allow deployment of solution binaries to the global assembly

Restrictions defines                                            cache -->
                                                           <AllowGACDeployment>true</AllowGACDeployment>
                                                           <!-- Allow the deployment of binaries with code access security (CAS)
•   What type of solutions are allowed to be                    policies -->
                                                           <AllowCASPolicies>true</AllowCASPolicies>
    deployed (GAC, FullTrustBin, with CAS policies)        <!-- Allow the deployment of binaries with full trust, only available
                                                                in SP2013 -->
•   Which SharePoint version is required                   <AllowFullTrustBinDeployment>true</AllowFullTrustBinDeployment>
                                                           <!-- Minimal version number of the SharePoint installation required
                                                                to deploy this solution -->
•   Which SharePoint license is requires                   <MinimalSharePointVersion>14.0.0.0</MinimalSharePointVersion>
                                                           <!-- Minimal SharePoint license to deploy this solution. Valid
                                                                values: Foundation (default), Standard, Enterprise -->
                                                           <MinimalSharePointLicense>Foundation</MinimalSharePointLicense>
                                                         </Restrictions>
<!-- The Actions node specifies actions which should run after the
                                                                   deployment, retraction or update process -->
                                                              <Actions AfterDeploy="true" AfterRetract="true" AfterUpdate="true">
                                                                <!-- Restart SPTimerV4 Service on this/all servers with the Application
                                                                     role in the farm -->
                                                                <RestartService Name="SPTimerV4" Force="false" />

                                                               <!-- Restart SPAdminV4 Service on this/all servers in the farm -->
Actions configures what to do                                  <RestartService Name="SPAdminV4" Force="false" />

                                                               <!-- Restart SPUserCodeV4 Service on this/all servers in the farm -->
•   After deployment                                           <RestartService Name="SPUserCodeV4" Force="false" />


•   After retraction                                           <!-- Perform IIS reset on this/all servers in the farm -->
                                                               <ResetIIS Force="false" />

•   After update                                               <!-- Recycles all IIS application pools on this/all servers in the farm
                                                               <!-- Can be used alternatively to the ResetIIS action -->
Note: The “After*” attributes can also be assigned directly    <RecycleAppPools All="false" />

to every action which overrides the Actions node settings.      <!-- Warms up urls after the deployment process -->
                                                                <!-- The warmup will be executed on this/all servers by using a local

Possible Actions are                                                 proxy to avoid issues with a load balancer -->
                                                                <!-- It is required, that the LoopBackCheck is disabled on this/all
                                                                     servers to run this action -->
•   Restart server                                              <!-- The action will run after all structures are created and the
                                                                     custom deployment tasks are finished -->
    (name can be any Windows Service Name)                      <!-- The action is not executed on retraction -->
                                                                <!-- Optional: AllWebApps="[true|false]" Warms up all SharePoint
•   Reset IIS                                                        WebApplications -->
                                                                <!-- Optional: AllSites="[true|false]" Warms up all SharePoint
                                                                     SiteCollections -->
•   Recycle Application Pools                                   <WarmUpUrls AllWebApps="true" AllSites="false">
                                                                  <!-- You can also specify custom urls which should be hit

•   Warmup Urls                                                     <WarmUp Url="$(SiteUrl)" />
                                                                    <WarmUp Url="$(SiteUrl)" />
                                                                  -->
                                                                </WarmUpUrls>
                                                              </Actions>
Variables allows to create custom variables
which can be used anywhere:
                                                  <!-- The Variables node specifies the variables which will be replaced in
                                                       the entire environment XML file -->
                                                  <!-- You can use variables with $(variablename) in the xml file and

•   In the environment XML file                        $vars["variablename"] in the CustomTargets.ps1 PowerShell
                                                       script -->
                                                  <!-- You can also use system environment variables with
•   In the CustomTargets.ps1 (see further down)        $(env:VARIABLENAME) in the xml file and $vars:VARIABLENAME in
                                                       PowerShell -->
                                                  <!-- For a detailed list of ystem environment variables open cmd.exe and
                                                       type "set“ or "Get-ChildItem env:" in PowerShell-->
                                                  <!-- Attributes -->

The variables                                     <Variables ID="Default">
                                                    <Variable Name="UserID">$(env:USERDOMAIN)$(env:USERNAME)</Variable>

•   Are resolved recursively                        <Variable Name="WebAppUrl">
                                                              http://$(env:COMPUTERNAME).$(env:USERDNSDOMAIN)
                                                    </Variable>
•   Can include system environment                  <Variable Name="SiteUrl">http://$(WebAppUrl)/sites/TestSite</Variable>
                                                    <Variable Name="LCID">1033</Variable>
    variables like current user, machine          </Variables>


    name, domain etc.
<!-- The PreRequisiteSolutions node specifies which solution should be
                                                     deployed -->
                                                <!-- before the the deployment/update process is starting (does not apply
                                                     to retraction)-->
                                                <PreRequisiteSolutions ID="Default">
                                                  <Solution Name="Solution.GAC.wsp" />
                                                  <Solution Name="Solution.WebApp.wsp">

Prerequisite solutions defines solutions            <WebApplication Url="$(WebAppUrl1)" />
                                                    <WebApplication Url="$(WebAppUrl2)" />

which have to be deployed in order to start       </Solution>
                                                  <Solution Name="Solution.Sanboxed.wsp">

the deployment.                                     <SiteCollection Url="$(SiteUrl1)" />
                                                  </Solution>
                                                </PreRequisiteSolutions>
                                                <!-- The solutions node specifies which solution should be
                                                     deployed/reatracted/updated -->
                                                <!-- If the node is missing or empty all solution files found in the
Solutions                                            /Solutions folder -->
                                                <!-- of the deployment package will be used as farm solutions on all
                                                     content urls / globally -->
If empty or not existing, all solutions which   <Solutions ID="Default" Force="true" Overwrite="true">

are found in the /Solutions folder are
                                                  <!-- If you specify one or more solutions here, only these will be used
                                                       (instead of all WSPs in the solutions folder) -->

deployed either:
                                                  <!-- The solution file has to be located in the '/Solutions' folder of
                                                       the deployment package -->
                                                  <!-- Attributes are inherited from the solutions node and can be

    To the Global Assembly Cache or
                                                       overridden for each solution -->
•                                                 <Solution Name="Solution.GAC.wsp" />
                                                  <Solution Name="Solution.WebApp.wsp" Force="true" Overwrite="true">
•   To all Content Urls (for bin assemblies)        <WebApplication Url="$(WebAppUrl1)" />
                                                    <WebApplication Url="$(WebAppUrl2)" />

If specified, only the given solutions are
                                                  </Solution>
                                                  <Solution Name="Solution.Sandboxed.wsp" Overwrite="true">

deployed.
                                                    <SiteCollection Url="$(SiteUrl1)" />
                                                    <SiteCollection Url="$(SiteUrl2)" />
                                                    <SiteCollection Url="$(SiteUrl3)" />
                                                  </Solution>
                                                </Solutions>
<SiteStructures ID="Default">
                                                         <SiteStructure AllowRetraction="true">
                                                           <WebApplication Name="" Url="">
                                                             <SiteCollection Name="Name" Description=""
                                                                             SiteLanguageID="$(LCID)"
                                                                             SiteOwnerID="$(env:CurrenUser)"
SiteStructures is currently under                                             SiteDefinitonID="STS#01"
                                                                             RelativeUrl="/">
development and will come as a future                          <Permissions>
                                                                  <Permission User="Visitors" PermissionSet="Read" />
feature                                                           <Permission User="Contributors" PermissionSet="Contribute" />
                                                               </Permissions>

It will allow to create
                                                               <Sites>
                                                                  <Site Name="Subsite" Description="" SiteLanguageID="$(LCID)"
                                                                        SiteDefinitonID="STS#01" RelativeUrl="subsite" />

    WebApplications
                                                               </Sites>
•                                                              <Lists>
                                                                 <List ListName="List" DisplayName="List" ListTemplate="100">
•   SiteCollections                                                  <Item><Field Name="Title">Value</Field></Item>
                                                                   </List>

    Sites
                                                                 </Lists>
•                                                              <Libraries>
                                                                 <Library ListName="Documents" DisplayName="Documents"
•   ListItems/Pages/Documents                                             ListTemplate="105">
                                                                   <Files><File SourceFile="Files/File.doc” /></Files>
                                                                 </Library>
•   Permissions                                                  <Library ListName="Pages" DisplayName="Pages"
                                                                        ListTemplate="103">
•   Navigation items                                               <Pages><Page PageLayout="Article" /></Pages>
                                                               </Library>
                                                             </Libraries>
                                                             </SiteCollection>
                                                           </WebApplication>
                                                         </SiteStructure>
Note: The sample structure is still in draft status.   </SiteStructures>
USERNAME.xml
                                         <SPSD Version="4.1.1.2346">
                                           <Configuration>... </Configuration>
                                           <Environment>...</Environment>
                                           <SiteStructures />

SPSD uses the environment XML file
                                         </SPSD>



in the following precedence              Machinename.xml
      USERNAME.xml (i.e. MEI.xml)
                                         <SPSD Version="4.1.1.2346">
1.                                         <Configuration ID="Default" FilePath="Default.xml" />
                                           <Environment ID="CustomMachine">

2.    MACHINENAME.xml (i.e. WFE01.xml)       <Variables ID="CustomMachine">...</Variables>
                                             <PreRequisiteSolutions ID=" CustomMachine ">...
                                             <Solutions ID=“Default" FilePath="Default.xml" />
3.    Default.xml                          </Environment>
                                           <SiteStructures ID="Default" FilePath="Default.xml" />
                                         </SPSD>




Every XML node can also be loaded        Default.xml
from a separate file                     <SPSD Version="4.1.1.2346">
                                           <Configuration ID="Default">
                                             <Settings>...</Settings>

i.e. to                                      <Restrictions>...</Restrictions>
                                             <Actions>...</Actions>
                                           </Configuration>

•    Reuse configuration                   <Environment ID="Default">
                                             <Variables ID="Default">...</Variables>
                                             <PreRequisiteSolutions ID="Default">...
•    Reuse SiteStructure                     <Solutions ID="Default">...</Solutions>
                                           </Environment>
                                           <SiteStructures ID="Default">...</SiteStructures>
                                         </SPSD>
CustomTargets.ps1


Define custom deployment targets in
                                        #region AfterDeploy


the “Scripts/CustomTargets.ps1” file.
                                        # Desc: use this target to perform operations after a
                                        successful deployment
                                        function AfterDeploy($vars){

Available targets are:                  # Sample PowerShell commands
                                         New-SPSite -Url '$vars["SiteUrl"]'
•   Before deployment                               -OwnerAlias '$env:USERDOMAIN$env:USERNAME'
                                                    -Name 'Test Site'
                                                    -Template 'STS#0’
•   After deployment                    Install-SPFeature -Path '[feature name]'

•   Before retraction                                     -Force
                                        Enable-SPFeature -Identity '[feature name]'
                                                         -Url '$vars["SiteUrl"]' -Force
•   After retraction                    Enable-SPFeature -Identity [feature guid]
                                                         -Url '$vars["SiteUrl"]'

    Before upgrade
                                                         -Force
•
                                        }

•   After upgrade                       #endregion
SPSD Environment Editor helps to:
-   Create/edit environment XML files
-   Reference nodes in other files
-   Create custom variables with the variable editor
-   Define environment aware URLs for deployment
    or warmup tasks


Note: Existing files will automatically updated to the
most current version of SPSD. Comments in the XML
file will be lost when saving the file.
WebApplication


•   Deploy test data based on XML input
                                             Site 1         Site 2
        • WebApplications
        • SiteCollections/Sites
        • Pages/Items                         SubSite 2

        • Permissions
        • Navigation                          SubSite 1

•   Visual Studio Project Template
•   User input dialogs
•   Integrated in SPSF (spsf.codeplex.com)
Where do I get it?   Follow us!
                     The SharePoint Code Quality Team

                             Torsten Mandelkow
                             @tmandelkow
                               blogs.msdn.com/b/torstenmandelkow



                              Matthias Einig
                              @mattein
                               www.matthiaseinig.de
Download for free at www.spcaf.de

More Related Content

What's hot

Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...
Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...
Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...Novell
 
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...Jeff Kayser
 
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Banking at Ho Chi Minh city
 
Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory UpgradeSpiffy
 
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...Mark Broadbent
 
Instruction on creating a cluster on jboss eap environment
Instruction on creating a cluster on jboss eap environmentInstruction on creating a cluster on jboss eap environment
Instruction on creating a cluster on jboss eap environmentMadhusudan Pisipati
 
(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADMBIOVIA
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningMichel Schildmeijer
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Jeroen Burgers
 
Weblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationWeblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationRakesh Gujjarlapudi
 
Essential Linux Commands for DBAs
Essential Linux Commands for DBAsEssential Linux Commands for DBAs
Essential Linux Commands for DBAsGokhan Atil
 
Simplify your external dependency management - DPC11
Simplify your external dependency management - DPC11Simplify your external dependency management - DPC11
Simplify your external dependency management - DPC11Stephan Hochdörfer
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guidefranarayah
 
Managing Windows Server Systems For Midsize Organizations
Managing Windows Server Systems For Midsize OrganizationsManaging Windows Server Systems For Midsize Organizations
Managing Windows Server Systems For Midsize OrganizationsMicrosoft TechNet
 
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...BIOVIA
 
Advanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionalsAdvanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionalsAndrejs Vorobjovs
 
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE DeploymentsAAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE DeploymentsWASdev Community
 

What's hot (20)

Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...
Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...
Application Repackaging Best Practices for Novell ZENworks 10 Configuration M...
 
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
 
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
 
Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory Upgrade
 
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...
SharePoint is from Mars, SQL Server is from Venus (SQL Server for SharePoint ...
 
Instruction on creating a cluster on jboss eap environment
Instruction on creating a cluster on jboss eap environmentInstruction on creating a cluster on jboss eap environment
Instruction on creating a cluster on jboss eap environment
 
(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
 
Weblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationWeblogic Administration Managed Server migration
Weblogic Administration Managed Server migration
 
Weblogic12 c installation guide
Weblogic12 c installation guideWeblogic12 c installation guide
Weblogic12 c installation guide
 
Essential Linux Commands for DBAs
Essential Linux Commands for DBAsEssential Linux Commands for DBAs
Essential Linux Commands for DBAs
 
Simplify your external dependency management - DPC11
Simplify your external dependency management - DPC11Simplify your external dependency management - DPC11
Simplify your external dependency management - DPC11
 
Siebel server cloning
Siebel server cloningSiebel server cloning
Siebel server cloning
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guide
 
Managing Windows Server Systems For Midsize Organizations
Managing Windows Server Systems For Midsize OrganizationsManaging Windows Server Systems For Midsize Organizations
Managing Windows Server Systems For Midsize Organizations
 
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
 
Advanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionalsAdvanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionals
 
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE DeploymentsAAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
 

Viewers also liked

Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioElaine Van Bergen
 
The Evolution of SharePoint
The Evolution of SharePointThe Evolution of SharePoint
The Evolution of SharePointMatthias Einig
 
Share point workflow presentation
Share point workflow presentationShare point workflow presentation
Share point workflow presentationWyngate Solutions
 
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010ridwansassman
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Nik Patel
 
SharePoint Demo features lists by le huy luyen
SharePoint Demo features lists by le huy luyenSharePoint Demo features lists by le huy luyen
SharePoint Demo features lists by le huy luyenLe huy Luyen
 
Information and Records Management in SharePoint (SharePoint Saturday 2014)
Information and Records Management in SharePoint (SharePoint Saturday 2014)Information and Records Management in SharePoint (SharePoint Saturday 2014)
Information and Records Management in SharePoint (SharePoint Saturday 2014)Randy Perkins-Smart
 
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23Matthias Einig
 
Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Michal Pisarek
 
Clase 11: Microsoft InfoPath Designer 2010.
Clase 11: Microsoft InfoPath Designer 2010.Clase 11: Microsoft InfoPath Designer 2010.
Clase 11: Microsoft InfoPath Designer 2010.Carlos Martínez
 
Sample Product Demo Powerpoint
Sample Product Demo PowerpointSample Product Demo Powerpoint
Sample Product Demo Powerpointmlbslideshare
 
PowerPoint demo samples
PowerPoint demo samplesPowerPoint demo samples
PowerPoint demo samplesCheryl Yiatras
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint OverviewAmy Phillips
 
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...youth_nex
 

Viewers also liked (16)

Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
 
The Evolution of SharePoint
The Evolution of SharePointThe Evolution of SharePoint
The Evolution of SharePoint
 
Share point workflow presentation
Share point workflow presentationShare point workflow presentation
Share point workflow presentation
 
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
2012-03-01 SharePoint Demo
2012-03-01 SharePoint Demo2012-03-01 SharePoint Demo
2012-03-01 SharePoint Demo
 
SharePoint Demo features lists by le huy luyen
SharePoint Demo features lists by le huy luyenSharePoint Demo features lists by le huy luyen
SharePoint Demo features lists by le huy luyen
 
Demo Mindup En
Demo Mindup EnDemo Mindup En
Demo Mindup En
 
Information and Records Management in SharePoint (SharePoint Saturday 2014)
Information and Records Management in SharePoint (SharePoint Saturday 2014)Information and Records Management in SharePoint (SharePoint Saturday 2014)
Information and Records Management in SharePoint (SharePoint Saturday 2014)
 
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
 
Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010
 
Clase 11: Microsoft InfoPath Designer 2010.
Clase 11: Microsoft InfoPath Designer 2010.Clase 11: Microsoft InfoPath Designer 2010.
Clase 11: Microsoft InfoPath Designer 2010.
 
Sample Product Demo Powerpoint
Sample Product Demo PowerpointSample Product Demo Powerpoint
Sample Product Demo Powerpoint
 
PowerPoint demo samples
PowerPoint demo samplesPowerPoint demo samples
PowerPoint demo samples
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint Overview
 
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...
Patricia Jennings, MEd, PhD - "Mindfulness-Based Approaches to Promoting Stud...
 

Similar to Professional SharePoint Solution Deployment with PowerShell

WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...Kasun Gajasinghe
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702Jess Coburn
 
MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015Dave Stokes
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileWASdev Community
 
EM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACEM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACSecure-24
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12cGuatemala User Group
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.Dimitris Andreadis
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopersBryan Cafferky
 
Changes in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must KnowChanges in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must KnowBruno Borges
 
Changes in weblogic12c_every_administrator_must_know-140812141929
Changes in weblogic12c_every_administrator_must_know-140812141929Changes in weblogic12c_every_administrator_must_know-140812141929
Changes in weblogic12c_every_administrator_must_know-140812141929Demodx Demodxz
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changesMorgan Tocker
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMark Swarbrick
 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsWSO2
 
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...Leighton Nelson
 

Similar to Professional SharePoint Solution Deployment with PowerShell (20)

J boss
J bossJ boss
J boss
 
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
 
MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015
 
Maven advanced
Maven advancedMaven advanced
Maven advanced
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
 
EM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACEM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RAC
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12c
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopers
 
Changes in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must KnowChanges in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must Know
 
Changes in weblogic12c_every_administrator_must_know-140812141929
Changes in weblogic12c_every_administrator_must_know-140812141929Changes in weblogic12c_every_administrator_must_know-140812141929
Changes in weblogic12c_every_administrator_must_know-140812141929
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changes
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 Products
 
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
UPGRADING FROM ORACLE ENTERPRISE MANAGER 10G TO CLOUD CONTROL 12C WITH ZERO D...
 

More from Matthias Einig

Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Matthias Einig
 
Transforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App ModelTransforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App ModelMatthias Einig
 
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelSPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelMatthias Einig
 
Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24Matthias Einig
 
Keynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapKeynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapMatthias Einig
 
SPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsSPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsMatthias Einig
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementMatthias Einig
 

More from Matthias Einig (7)

Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365
 
Transforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App ModelTransforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App Model
 
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelSPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
 
Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24
 
Keynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapKeynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recap
 
SPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsSPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutions
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle Management
 

Recently uploaded

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
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
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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...
 
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
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Professional SharePoint Solution Deployment with PowerShell

  • 1.
  • 2. Matthias Einig SharePoint Architect SharePoint developer since 2005 Steria AB, www.steria.com Stockholm, Sweden MCSE, MCPD, MCITP MSCA in , SharePoint 2007-2013 SCRUM Master and Product Owner Contact Main Focus: @mattein • Solution Architecture, mail@matthiaseinig.de • Solution Development, www.matthiaseinig.de • SharePoint ALM, • Solution Quality Assurance
  • 3. SharePoint deployment always causes problems when: • More than one developer is in a project • Machines are setup differently • Multiple target farms exist • Configuration of the farm is required • Deployment lacks documentation Resources are wasted for troubleshooting
  • 4. Manual deployment Manual setup of WebApps & Site Collections Manual configuration of farm, service apps, WebApps, etc. Manual tests to verify correct deployment
  • 5. For each farm For each release On updates/bugfixes DEVTEST ACCEPTANCE PRODUCTION
  • 6. Standardize deployment process • Configurable • Extendable/customizable • Supports farm and sandboxed solutions • Checks pre-qrequisites • Supports team development • Supports staging scenarios • Detailed logging
  • 7. PowerShell scripts • Standardizes the deployment process • Configure once with XML / deploy to multiple environments • Uses environment specific variables • Optimizes multi-server farm deployment • Runs pre-/post deployment actions on all servers in the farm (i.e restart-service) • Runs custom pre-/post-deployment scripts • Logs everything
  • 8.
  • 9. Browse to http://spsd.codeplex.com and download the latest release. Important! Before unpacking the ZIP file, open the file properties and unblock the file! Otherwise all batch and ps1 files have to be unblocked separately.
  • 10. The easiest way: Environment XML files 1. Drop WSPs in /Solutions folder Log files 2. Run batch file PS scripts Solution drop folder Or configure a custom environment XML: • When deploying WebApp solutions to Batch files to execute only specific web apps predefined actions • When deploying Sandboxed solutions • Having different deployment urls/input parameters for each environment • Requiring prerequisites to be in place
  • 11. <SPSD Version="4.1.1.2346"> <!-- The Configuration node contains general settings which may be reused in several environments --> <Configuration ID="Default"> <!-- The Settings node specifies global deployment settings for the The environment XML has 3 main sections powershell scripts --> <Settings></Settings> <!-- The Restrictions node restricts the solution deployment 1. Configuration process to certain requirements --> <Restrictions></Restrictions> • Settings <!-- The Actions node specifies actions which should run after the deployment, retraction or update process --> <Actions></Actions> • Restrictions </Configuration> • Actions <!-- The Environment node specifies the deployment environment with Variables, PreRequisiteSolutions, Solutions --> <Environment ID="Default"> Environment <!-- The Variables node specifies the variables which will be 2. replaced in the entire environment XML file --> <Variables ID="Default"></Variables> • Variables <!-- The PreRequisiteSolutions node specifies which solution should be deployed --> • Prerequisite solutions <PreRequisiteSolutions ID="Default"></PreRequisiteSolutions> <!-- The solutionsSolutions node specifies which solution should be deployed/reatracted/updated --> • Solutions <Solutions ID="Default" Force="true" Overwrite="true"></Solutions> </Environment> 3. SiteStructures <!-- The SiteStructures node defines one or multiple site structures which should be deployed or retracted (update command is not changing existing content)--> <SiteStructures ID="Default" AllowRetraction="true"></SiteStructures> </SPSD>
  • 12. <Settings> <!-- Number of retries when solution deployment fails --> <DeploymentRetries>3</DeploymentRetries> <!-- Number of milliseconds to wait for processes, services --> <DeploymentTimeout>60000</DeploymentTimeout> <!-- Specifies if checks and actions should be run on all servers in Settings configures the farm or only the local server --> <RunOnMultipleServersInFarm>Application</RunOnMultipleServersInFarm> <!-- Number of milliseconds to leave the deployment script windows • Basic settings how SPSD is running open after the deployment --> <WaitAfterDeployment>10000</WaitAfterDeployment> <!-- Use wizards to specify variables --> • Timeouts, retries etc. <DisplayWizards>false</DisplayWizards> <!-- Create a log file in ULS log format --> Note: RunOnMultipleServersInFarm requires PowerShell <CreateULSLogfile>false</CreateULSLogfile> </Settings> Remoting to be enabled on each included server for the deployment account <!-- The Restrictions node restricts the solution deployment process to certain requirements --> Enable-PSRemoting -Confirm:$false <Restrictions> <!-- Allow deployment of solution binaries to the global assembly Restrictions defines cache --> <AllowGACDeployment>true</AllowGACDeployment> <!-- Allow the deployment of binaries with code access security (CAS) • What type of solutions are allowed to be policies --> <AllowCASPolicies>true</AllowCASPolicies> deployed (GAC, FullTrustBin, with CAS policies) <!-- Allow the deployment of binaries with full trust, only available in SP2013 --> • Which SharePoint version is required <AllowFullTrustBinDeployment>true</AllowFullTrustBinDeployment> <!-- Minimal version number of the SharePoint installation required to deploy this solution --> • Which SharePoint license is requires <MinimalSharePointVersion>14.0.0.0</MinimalSharePointVersion> <!-- Minimal SharePoint license to deploy this solution. Valid values: Foundation (default), Standard, Enterprise --> <MinimalSharePointLicense>Foundation</MinimalSharePointLicense> </Restrictions>
  • 13. <!-- The Actions node specifies actions which should run after the deployment, retraction or update process --> <Actions AfterDeploy="true" AfterRetract="true" AfterUpdate="true"> <!-- Restart SPTimerV4 Service on this/all servers with the Application role in the farm --> <RestartService Name="SPTimerV4" Force="false" /> <!-- Restart SPAdminV4 Service on this/all servers in the farm --> Actions configures what to do <RestartService Name="SPAdminV4" Force="false" /> <!-- Restart SPUserCodeV4 Service on this/all servers in the farm --> • After deployment <RestartService Name="SPUserCodeV4" Force="false" /> • After retraction <!-- Perform IIS reset on this/all servers in the farm --> <ResetIIS Force="false" /> • After update <!-- Recycles all IIS application pools on this/all servers in the farm <!-- Can be used alternatively to the ResetIIS action --> Note: The “After*” attributes can also be assigned directly <RecycleAppPools All="false" /> to every action which overrides the Actions node settings. <!-- Warms up urls after the deployment process --> <!-- The warmup will be executed on this/all servers by using a local Possible Actions are proxy to avoid issues with a load balancer --> <!-- It is required, that the LoopBackCheck is disabled on this/all servers to run this action --> • Restart server <!-- The action will run after all structures are created and the custom deployment tasks are finished --> (name can be any Windows Service Name) <!-- The action is not executed on retraction --> <!-- Optional: AllWebApps="[true|false]" Warms up all SharePoint • Reset IIS WebApplications --> <!-- Optional: AllSites="[true|false]" Warms up all SharePoint SiteCollections --> • Recycle Application Pools <WarmUpUrls AllWebApps="true" AllSites="false"> <!-- You can also specify custom urls which should be hit • Warmup Urls <WarmUp Url="$(SiteUrl)" /> <WarmUp Url="$(SiteUrl)" /> --> </WarmUpUrls> </Actions>
  • 14. Variables allows to create custom variables which can be used anywhere: <!-- The Variables node specifies the variables which will be replaced in the entire environment XML file --> <!-- You can use variables with $(variablename) in the xml file and • In the environment XML file $vars["variablename"] in the CustomTargets.ps1 PowerShell script --> <!-- You can also use system environment variables with • In the CustomTargets.ps1 (see further down) $(env:VARIABLENAME) in the xml file and $vars:VARIABLENAME in PowerShell --> <!-- For a detailed list of ystem environment variables open cmd.exe and type "set“ or "Get-ChildItem env:" in PowerShell--> <!-- Attributes --> The variables <Variables ID="Default"> <Variable Name="UserID">$(env:USERDOMAIN)$(env:USERNAME)</Variable> • Are resolved recursively <Variable Name="WebAppUrl"> http://$(env:COMPUTERNAME).$(env:USERDNSDOMAIN) </Variable> • Can include system environment <Variable Name="SiteUrl">http://$(WebAppUrl)/sites/TestSite</Variable> <Variable Name="LCID">1033</Variable> variables like current user, machine </Variables> name, domain etc.
  • 15. <!-- The PreRequisiteSolutions node specifies which solution should be deployed --> <!-- before the the deployment/update process is starting (does not apply to retraction)--> <PreRequisiteSolutions ID="Default"> <Solution Name="Solution.GAC.wsp" /> <Solution Name="Solution.WebApp.wsp"> Prerequisite solutions defines solutions <WebApplication Url="$(WebAppUrl1)" /> <WebApplication Url="$(WebAppUrl2)" /> which have to be deployed in order to start </Solution> <Solution Name="Solution.Sanboxed.wsp"> the deployment. <SiteCollection Url="$(SiteUrl1)" /> </Solution> </PreRequisiteSolutions> <!-- The solutions node specifies which solution should be deployed/reatracted/updated --> <!-- If the node is missing or empty all solution files found in the Solutions /Solutions folder --> <!-- of the deployment package will be used as farm solutions on all content urls / globally --> If empty or not existing, all solutions which <Solutions ID="Default" Force="true" Overwrite="true"> are found in the /Solutions folder are <!-- If you specify one or more solutions here, only these will be used (instead of all WSPs in the solutions folder) --> deployed either: <!-- The solution file has to be located in the '/Solutions' folder of the deployment package --> <!-- Attributes are inherited from the solutions node and can be To the Global Assembly Cache or overridden for each solution --> • <Solution Name="Solution.GAC.wsp" /> <Solution Name="Solution.WebApp.wsp" Force="true" Overwrite="true"> • To all Content Urls (for bin assemblies) <WebApplication Url="$(WebAppUrl1)" /> <WebApplication Url="$(WebAppUrl2)" /> If specified, only the given solutions are </Solution> <Solution Name="Solution.Sandboxed.wsp" Overwrite="true"> deployed. <SiteCollection Url="$(SiteUrl1)" /> <SiteCollection Url="$(SiteUrl2)" /> <SiteCollection Url="$(SiteUrl3)" /> </Solution> </Solutions>
  • 16. <SiteStructures ID="Default"> <SiteStructure AllowRetraction="true"> <WebApplication Name="" Url=""> <SiteCollection Name="Name" Description="" SiteLanguageID="$(LCID)" SiteOwnerID="$(env:CurrenUser)" SiteStructures is currently under SiteDefinitonID="STS#01" RelativeUrl="/"> development and will come as a future <Permissions> <Permission User="Visitors" PermissionSet="Read" /> feature <Permission User="Contributors" PermissionSet="Contribute" /> </Permissions> It will allow to create <Sites> <Site Name="Subsite" Description="" SiteLanguageID="$(LCID)" SiteDefinitonID="STS#01" RelativeUrl="subsite" /> WebApplications </Sites> • <Lists> <List ListName="List" DisplayName="List" ListTemplate="100"> • SiteCollections <Item><Field Name="Title">Value</Field></Item> </List> Sites </Lists> • <Libraries> <Library ListName="Documents" DisplayName="Documents" • ListItems/Pages/Documents ListTemplate="105"> <Files><File SourceFile="Files/File.doc” /></Files> </Library> • Permissions <Library ListName="Pages" DisplayName="Pages" ListTemplate="103"> • Navigation items <Pages><Page PageLayout="Article" /></Pages> </Library> </Libraries> </SiteCollection> </WebApplication> </SiteStructure> Note: The sample structure is still in draft status. </SiteStructures>
  • 17. USERNAME.xml <SPSD Version="4.1.1.2346"> <Configuration>... </Configuration> <Environment>...</Environment> <SiteStructures /> SPSD uses the environment XML file </SPSD> in the following precedence Machinename.xml USERNAME.xml (i.e. MEI.xml) <SPSD Version="4.1.1.2346"> 1. <Configuration ID="Default" FilePath="Default.xml" /> <Environment ID="CustomMachine"> 2. MACHINENAME.xml (i.e. WFE01.xml) <Variables ID="CustomMachine">...</Variables> <PreRequisiteSolutions ID=" CustomMachine ">... <Solutions ID=“Default" FilePath="Default.xml" /> 3. Default.xml </Environment> <SiteStructures ID="Default" FilePath="Default.xml" /> </SPSD> Every XML node can also be loaded Default.xml from a separate file <SPSD Version="4.1.1.2346"> <Configuration ID="Default"> <Settings>...</Settings> i.e. to <Restrictions>...</Restrictions> <Actions>...</Actions> </Configuration> • Reuse configuration <Environment ID="Default"> <Variables ID="Default">...</Variables> <PreRequisiteSolutions ID="Default">... • Reuse SiteStructure <Solutions ID="Default">...</Solutions> </Environment> <SiteStructures ID="Default">...</SiteStructures> </SPSD>
  • 18. CustomTargets.ps1 Define custom deployment targets in #region AfterDeploy the “Scripts/CustomTargets.ps1” file. # Desc: use this target to perform operations after a successful deployment function AfterDeploy($vars){ Available targets are: # Sample PowerShell commands New-SPSite -Url '$vars["SiteUrl"]' • Before deployment -OwnerAlias '$env:USERDOMAIN$env:USERNAME' -Name 'Test Site' -Template 'STS#0’ • After deployment Install-SPFeature -Path '[feature name]' • Before retraction -Force Enable-SPFeature -Identity '[feature name]' -Url '$vars["SiteUrl"]' -Force • After retraction Enable-SPFeature -Identity [feature guid] -Url '$vars["SiteUrl"]' Before upgrade -Force • } • After upgrade #endregion
  • 19.
  • 20. SPSD Environment Editor helps to: - Create/edit environment XML files - Reference nodes in other files - Create custom variables with the variable editor - Define environment aware URLs for deployment or warmup tasks Note: Existing files will automatically updated to the most current version of SPSD. Comments in the XML file will be lost when saving the file.
  • 21. WebApplication • Deploy test data based on XML input Site 1 Site 2 • WebApplications • SiteCollections/Sites • Pages/Items SubSite 2 • Permissions • Navigation SubSite 1 • Visual Studio Project Template • User input dialogs • Integrated in SPSF (spsf.codeplex.com)
  • 22. Where do I get it? Follow us! The SharePoint Code Quality Team Torsten Mandelkow @tmandelkow blogs.msdn.com/b/torstenmandelkow Matthias Einig @mattein www.matthiaseinig.de
  • 23. Download for free at www.spcaf.de