SlideShare une entreprise Scribd logo
1  sur  80
So what is a SharePoint
      Solution?
So what is a SharePoint
      Solution?
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
-It installs STUFF in the hive
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
-It installs STUFF in the hive
-it can install assemblies in the bin fldr or gac
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
-It installs STUFF in the hive
-it can install assemblies in the bin fldr or gac
-It can install feature definitions/site definitions
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
-It installs STUFF in the hive
-it can install assemblies in the bin fldr or gac
-It can install feature definitions/site definitions
-It can install class resources
So what is a SharePoint
           Solution?
-It’s a Cabinet File with the extension .WSP
-It installs STUFF in the hive
-it can install assemblies in the bin fldr or gac
-It can install feature definitions/site definitions
-It can install class resources
-It can install web part packages
So what is a SharePoint
             Solution?
  -It’s a Cabinet File with the extension .WSP
  -It installs STUFF in the hive
  -it can install assemblies in the bin fldr or gac
 -It can install feature definitions/site definitions
  -It can install class resources
  -It can install web part packages


zomg! then why doesn’t everyone use it?
So What Just
 Happened?
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features extracted to:
       [Hive]TemplateFeatures[foo]
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features extracted to:
       [Hive]TemplateFeatures[foo]

Solution Gets Deployed via timer jobs - global items
go into hive, items for apps provisioned out to wfes
etc.
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features extracted to:
       [Hive]TemplateFeatures[foo]

Solution Gets Deployed via timer jobs - global items
go into hive, items for apps provisioned out to wfes
etc.

Features then available and activating them provisions
the items specified in the feature elements file.
The Anatomy of a Solution




<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml




<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID




<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Local



<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Local
         Installs HIve files


<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Local
         Installs HIve files
         includes feature.xml feature defs
<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Local
         Installs HIve files
         includes feature.xml feature defs
<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          xmlns="http://schemas.microsoft.com/sharepoint/">


         CAML!? CAML! YUK!
  <Assemblies>
    <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" />
  </TemplateFiles>
</Solution>
bing it FTW!
Getting Intellisense in VS makes it easy-peasy-
                 lemon-squeezy!
FeatureManifest




<FeatureManifests>
  <!--This Reference is relative to the Location in YOUR CAB!! -->
  <FeatureManifest Location="MyFirstFeatureFeature.xml"/>
  <FeatureManifest Location="MySecondFeatureFeature.xml"/>
</FeatureManifests>
FeatureManifest
     Includes Child Feature Manifest CAML Files




<FeatureManifests>
  <!--This Reference is relative to the Location in YOUR CAB!! -->
  <FeatureManifest Location="MyFirstFeatureFeature.xml"/>
  <FeatureManifest Location="MySecondFeatureFeature.xml"/>
</FeatureManifests>
FeatureManifest
     Includes Child Feature Manifest CAML Files
     Location is relative to root of your solution
     CAbinet file




<FeatureManifests>
  <!--This Reference is relative to the Location in YOUR CAB!! -->
  <FeatureManifest Location="MyFirstFeatureFeature.xml"/>
  <FeatureManifest Location="MySecondFeatureFeature.xml"/>
</FeatureManifests>
FeatureManifest
     Includes Child Feature Manifest CAML Files
     Location is relative to root of your solution
     CAbinet file

     basically copies the manifest to hive and includes
     the files defined in the feature caml (more later..)


<FeatureManifests>
  <!--This Reference is relative to the Location in YOUR CAB!! -->
  <FeatureManifest Location="MyFirstFeatureFeature.xml"/>
  <FeatureManifest Location="MySecondFeatureFeature.xml"/>
</FeatureManifests>
The Assemblies Region
Processes when solution is deployed
adds your assemblies to local bin or GAC
allows you to specify safe control types
The
ApplicationResources
The
  ApplicationResources
Again - ‘Cause it’s in the Manifest it processes
when solution is deployed
The
  ApplicationResources
Again - ‘Cause it’s in the Manifest it processes
when solution is deployed
Places files in the Resources DIR of the root IIS
folder of deployed web applications
The TemplateFiles Region
Do I need to mention it again?
Copies Files into the HIVE Under the
Template directory
The RootFiles Region
The RootFiles Region
Copies files to a location off the root HIVE
The RootFiles Region
Copies files to a location off the root HIVE

Really the best place to put global web
services, etc.
DwpFiles Region




<DwpFiles>
    <DwpFile Location="MyNonFeatureWebPart.webpart" />
  </DwpFiles>
DwpFiles Region
Copies Featureless WebPart Definitions to
Web Applications (Huh?)




<DwpFiles>
    <DwpFile Location="MyNonFeatureWebPart.webpart" />
  </DwpFiles>
DwpFiles Region
Copies Featureless WebPart Definitions to
Web Applications (Huh?)
Supports either v2 (.DWP) or V3 (.webpart)
definition files


<DwpFiles>
    <DwpFile Location="MyNonFeatureWebPart.webpart" />
  </DwpFiles>
Quick-Tip Manifest
                        Location Summary
Assemblies
The parameter DeploymentTarget determines whether to deploy the assembly to the GAC or to a directory (WebApplication).
With the GAC option assemblies are copied to C:WINDOWSassembly. With the WebApplication option the files are copied to
C:InetpubwwwrootwssVirtualDirectories80bin.
Features: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES
TemplateFiles: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE
Application Resources: C:InetpubwwwrootwssVirtualDirectories{virtual app port}resources
Global resources: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES
Web Parts: C:InetpubwwwrootwssVirtualDirectories80wpcatalog
Site definitions
The SiteDefinitionManifests list contains descriptions of all site definition folders. The Location attribute defines the name of the
folder that contains the site definition. This folder contains the ONET.xml and other components of the site definition.
Target Folder: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATESiteTemplates
The Feature Files
if you thought the manifest was complicated...
The real meat of a feature
The real meat of a feature


The Element Manifest - or more aptly put the
  SharePoint CAML definitions of what the
               feature does.
  <ElementManifests>
      <ElementManifest Location="MySiteColumns.xml"/>
      <ElementManifest Location="MyContentTypes.xml"/>
      <ElementManifest Location="MyListDefs.xml"/>
      <ElementManifest Location="MyListInstances.xml"/>
      <ElementManifest Location="ICouldGoOnandOn.xml"/>
    </ElementManifests>
The basic CAML
   elements
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
  <Module></Module>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
  <Module></Module>
  <Receivers></Receivers>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
  <Module></Module>
  <Receivers></Receivers>
  <UserMigrator/>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
  <Module></Module>
  <Receivers></Receivers>
  <UserMigrator/>
  <Workflow></Workflow>
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType></ContentType>
  <ContentTypeBinding/>
  <HideCustomAction/>
  <Control></Control>
  <CustomAction></CustomAction>
  <CustomActionGroup></CustomActionGroup>
  <DocumentConverter/>
  <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  <Field></Field>
  <ListInstance></ListInstance>
  <ListTemplate></ListTemplate>
  <Module></Module>
  <Receivers></Receivers>
  <UserMigrator/>
  <Workflow></Workflow>
</Elements>
Now that I’ve pulled
out your fingernails...
Now that I’ve pulled
out your fingernails...

         If there’s
       anyone left
       in the room
Now that I’ve pulled
   out your fingernails...

                 If there’s
               anyone left
               in the room


Let’s look at the ways to reduce the level of
                   effort!
DEMO
Thanks for spending your
valuable Saturday with us!
     http://gscottsingleton.com
     scott@gscottsingleton.com
     twitter: @scottsingleton
http://shareclave.org

Contenu connexe

Tendances

Going Beyond LAMP Again - Manchester WordPress User Group
Going Beyond LAMP Again - Manchester WordPress User GroupGoing Beyond LAMP Again - Manchester WordPress User Group
Going Beyond LAMP Again - Manchester WordPress User Group
Tim Nash
 
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyondAutomating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyond
Nuvole
 

Tendances (11)

Drupal 8 deploying
Drupal 8 deployingDrupal 8 deploying
Drupal 8 deploying
 
Going Beyond LAMP Again - Manchester WordPress User Group
Going Beyond LAMP Again - Manchester WordPress User GroupGoing Beyond LAMP Again - Manchester WordPress User Group
Going Beyond LAMP Again - Manchester WordPress User Group
 
Drupal 8 CMI on a Managed Workflow
Drupal 8 CMI on a Managed WorkflowDrupal 8 CMI on a Managed Workflow
Drupal 8 CMI on a Managed Workflow
 
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorGetting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise Monitor
 
Awr doag
Awr doagAwr doag
Awr doag
 
WordPress Plugin development
WordPress Plugin developmentWordPress Plugin development
WordPress Plugin development
 
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyondAutomating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyond
 
Advanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionalsAdvanced Shell Scripting for Oracle professionals
Advanced Shell Scripting for Oracle professionals
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
 
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...
 
Getting to The Loop - London Wordpress Meetup July 28th
Getting to The Loop - London Wordpress Meetup  July 28thGetting to The Loop - London Wordpress Meetup  July 28th
Getting to The Loop - London Wordpress Meetup July 28th
 

Similaire à Anatomy Of A Share Point Solution

SharePoint 2010 Training Session 3
SharePoint 2010 Training Session 3SharePoint 2010 Training Session 3
SharePoint 2010 Training Session 3
Usman Zafar Malik
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
julien.ponge
 

Similaire à Anatomy Of A Share Point Solution (20)

SharePoint 2010 Training Session 3
SharePoint 2010 Training Session 3SharePoint 2010 Training Session 3
SharePoint 2010 Training Session 3
 
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
 
Riga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous IntegrationRiga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous Integration
 
Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013
 
Modular Test-driven SPAs with Spring and AngularJS
Modular Test-driven SPAs with Spring and AngularJSModular Test-driven SPAs with Spring and AngularJS
Modular Test-driven SPAs with Spring and AngularJS
 
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxPowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
 
Monitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerMonitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 Server
 
intellimeet
intellimeetintellimeet
intellimeet
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karaf
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin Development
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with Features
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on Salesforce
 
Deploying PHP Applications with Ansible
Deploying PHP Applications with AnsibleDeploying PHP Applications with Ansible
Deploying PHP Applications with Ansible
 
An Introduction to Maven and Flex
An Introduction to Maven and FlexAn Introduction to Maven and Flex
An Introduction to Maven and Flex
 
Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
 
Pyramid patterns
Pyramid patternsPyramid patterns
Pyramid patterns
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS world
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Anatomy Of A Share Point Solution

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. So what is a SharePoint Solution?
  • 9. So what is a SharePoint Solution?
  • 10. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP
  • 11. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive
  • 12. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive -it can install assemblies in the bin fldr or gac
  • 13. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive -it can install assemblies in the bin fldr or gac -It can install feature definitions/site definitions
  • 14. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive -it can install assemblies in the bin fldr or gac -It can install feature definitions/site definitions -It can install class resources
  • 15. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive -it can install assemblies in the bin fldr or gac -It can install feature definitions/site definitions -It can install class resources -It can install web part packages
  • 16. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive -it can install assemblies in the bin fldr or gac -It can install feature definitions/site definitions -It can install class resources -It can install web part packages zomg! then why doesn’t everyone use it?
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. So What Just Happened?
  • 25. So What Just Happened? Solution was added to farm (Via StsAdm in this case) Manifest Examined, Features extracted to: [Hive]TemplateFeatures[foo]
  • 26. So What Just Happened? Solution was added to farm (Via StsAdm in this case) Manifest Examined, Features extracted to: [Hive]TemplateFeatures[foo] Solution Gets Deployed via timer jobs - global items go into hive, items for apps provisioned out to wfes etc.
  • 27. So What Just Happened? Solution was added to farm (Via StsAdm in this case) Manifest Examined, Features extracted to: [Hive]TemplateFeatures[foo] Solution Gets Deployed via timer jobs - global items go into hive, items for apps provisioned out to wfes etc. Features then available and activating them provisions the items specified in the feature elements file.
  • 28. The Anatomy of a Solution <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 29. The Anatomy of a Solution Manifest.xml <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 30. The Anatomy of a Solution Manifest.xml Set’s the solution ID which is a GUID <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 31. The Anatomy of a Solution Manifest.xml Set’s the solution ID which is a GUID Installs Assemblies, GAC or Local <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 32. The Anatomy of a Solution Manifest.xml Set’s the solution ID which is a GUID Installs Assemblies, GAC or Local Installs HIve files <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 33. The Anatomy of a Solution Manifest.xml Set’s the solution ID which is a GUID Installs Assemblies, GAC or Local Installs HIve files includes feature.xml feature defs <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 34. The Anatomy of a Solution Manifest.xml Set’s the solution ID which is a GUID Installs Assemblies, GAC or Local Installs HIve files includes feature.xml feature defs <?xml version="1.0"?> <Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f" xmlns="http://schemas.microsoft.com/sharepoint/"> CAML!? CAML! YUK! <Assemblies> <Assembly Location="WSP1.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> <TemplateFiles> <TemplateFile Location="LAYOUTSMYfirstSolutionSampleService.asmx" /> </TemplateFiles> </Solution>
  • 36. Getting Intellisense in VS makes it easy-peasy- lemon-squeezy!
  • 37. FeatureManifest <FeatureManifests> <!--This Reference is relative to the Location in YOUR CAB!! --> <FeatureManifest Location="MyFirstFeatureFeature.xml"/> <FeatureManifest Location="MySecondFeatureFeature.xml"/> </FeatureManifests>
  • 38. FeatureManifest Includes Child Feature Manifest CAML Files <FeatureManifests> <!--This Reference is relative to the Location in YOUR CAB!! --> <FeatureManifest Location="MyFirstFeatureFeature.xml"/> <FeatureManifest Location="MySecondFeatureFeature.xml"/> </FeatureManifests>
  • 39. FeatureManifest Includes Child Feature Manifest CAML Files Location is relative to root of your solution CAbinet file <FeatureManifests> <!--This Reference is relative to the Location in YOUR CAB!! --> <FeatureManifest Location="MyFirstFeatureFeature.xml"/> <FeatureManifest Location="MySecondFeatureFeature.xml"/> </FeatureManifests>
  • 40. FeatureManifest Includes Child Feature Manifest CAML Files Location is relative to root of your solution CAbinet file basically copies the manifest to hive and includes the files defined in the feature caml (more later..) <FeatureManifests> <!--This Reference is relative to the Location in YOUR CAB!! --> <FeatureManifest Location="MyFirstFeatureFeature.xml"/> <FeatureManifest Location="MySecondFeatureFeature.xml"/> </FeatureManifests>
  • 41. The Assemblies Region Processes when solution is deployed adds your assemblies to local bin or GAC allows you to specify safe control types
  • 43. The ApplicationResources Again - ‘Cause it’s in the Manifest it processes when solution is deployed
  • 44. The ApplicationResources Again - ‘Cause it’s in the Manifest it processes when solution is deployed Places files in the Resources DIR of the root IIS folder of deployed web applications
  • 45. The TemplateFiles Region Do I need to mention it again? Copies Files into the HIVE Under the Template directory
  • 47. The RootFiles Region Copies files to a location off the root HIVE
  • 48. The RootFiles Region Copies files to a location off the root HIVE Really the best place to put global web services, etc.
  • 49. DwpFiles Region <DwpFiles> <DwpFile Location="MyNonFeatureWebPart.webpart" /> </DwpFiles>
  • 50. DwpFiles Region Copies Featureless WebPart Definitions to Web Applications (Huh?) <DwpFiles> <DwpFile Location="MyNonFeatureWebPart.webpart" /> </DwpFiles>
  • 51. DwpFiles Region Copies Featureless WebPart Definitions to Web Applications (Huh?) Supports either v2 (.DWP) or V3 (.webpart) definition files <DwpFiles> <DwpFile Location="MyNonFeatureWebPart.webpart" /> </DwpFiles>
  • 52. Quick-Tip Manifest Location Summary Assemblies The parameter DeploymentTarget determines whether to deploy the assembly to the GAC or to a directory (WebApplication). With the GAC option assemblies are copied to C:WINDOWSassembly. With the WebApplication option the files are copied to C:InetpubwwwrootwssVirtualDirectories80bin. Features: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES TemplateFiles: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE Application Resources: C:InetpubwwwrootwssVirtualDirectories{virtual app port}resources Global resources: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES Web Parts: C:InetpubwwwrootwssVirtualDirectories80wpcatalog Site definitions The SiteDefinitionManifests list contains descriptions of all site definition folders. The Location attribute defines the name of the folder that contains the site definition. This folder contains the ONET.xml and other components of the site definition. Target Folder: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATESiteTemplates
  • 53. The Feature Files if you thought the manifest was complicated...
  • 54. The real meat of a feature
  • 55. The real meat of a feature The Element Manifest - or more aptly put the SharePoint CAML definitions of what the feature does. <ElementManifests> <ElementManifest Location="MySiteColumns.xml"/> <ElementManifest Location="MyContentTypes.xml"/> <ElementManifest Location="MyListDefs.xml"/> <ElementManifest Location="MyListInstances.xml"/> <ElementManifest Location="ICouldGoOnandOn.xml"/> </ElementManifests>
  • 56. The basic CAML elements
  • 57. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?>
  • 58. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  • 59. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType>
  • 60. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/>
  • 61. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/>
  • 62. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control>
  • 63. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction>
  • 64. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup>
  • 65. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/>
  • 66. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation>
  • 67. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field>
  • 68. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance>
  • 69. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate>
  • 70. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate> <Module></Module>
  • 71. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate> <Module></Module> <Receivers></Receivers>
  • 72. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate> <Module></Module> <Receivers></Receivers> <UserMigrator/>
  • 73. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate> <Module></Module> <Receivers></Receivers> <UserMigrator/> <Workflow></Workflow>
  • 74. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control> <CustomAction></CustomAction> <CustomActionGroup></CustomActionGroup> <DocumentConverter/> <FeatureSiteTemplateAssociation></FeatureSiteTemplateAssociation> <Field></Field> <ListInstance></ListInstance> <ListTemplate></ListTemplate> <Module></Module> <Receivers></Receivers> <UserMigrator/> <Workflow></Workflow> </Elements>
  • 75. Now that I’ve pulled out your fingernails...
  • 76. Now that I’ve pulled out your fingernails... If there’s anyone left in the room
  • 77. Now that I’ve pulled out your fingernails... If there’s anyone left in the room Let’s look at the ways to reduce the level of effort!
  • 78. DEMO
  • 79. Thanks for spending your valuable Saturday with us! http://gscottsingleton.com scott@gscottsingleton.com twitter: @scottsingleton

Notes de l'éditeur

  1. This is a Introductory Class Doctor Strangelove! Anyone Get it Prize for questions. What file format is a WSP? What does DDF Stand for? (CABinet, Diamond Directive File)
  2. Developing Software Since 1989, Cobol-&gt;Clipper 87-&gt;Pascal-&gt;FoxPro-&gt;C++-&gt;C# Took a year off to build a house, Summer off to chase the pipe dream of being an FF Guide Got lucky enough to get in on SharePoint before the boom in the SharePoint 2010 TAP Program
  3. I tweet frequently, Really need to blog more. Next Slide is HAWT - Ask Why do I work with SharePoint?
  4. I work with SharePoint &amp;#x2018;cause the chicks dig it!
  5. this is what I saw when I installed screen caps on devs boxes. But no worries I added a &amp;#x201C;Fail&amp;#x201D; catcher! it didn&amp;#x2019;t work. This slide ends when mouse hovers Web Service Name. Next Slide is Ransom Note
  6. This is the type of ransom note I used to get from my developers when they&amp;#x2019;d go out to clients
  7. This is actually my #1 Rule for my developers/Designers. #2 is learning what an IDisposable Object is (SPDispose is not an excuse to be a poor programmer)
  8. this is 5 min 5 seconds.
  9. because you&amp;#x2019;re going to go out and BING it, Yes Virginia, it&amp;#x2019;s a verb now, and you&amp;#x2019;re going to look for the CAML.NET intellisense intal for VS 2008
  10. because when you add in CAML intellisense into Visual Studio you make the whole think easy-peasy-lemon-squeezy. So what do all these XML elements and attributes mean? What can I put into a Manifest File?
  11. I can Add Feature Manifests. Explain Features. 1-include child features CAML files 2-Location is alwys relative 3 -basically copies the stuff declared in the feature CAML into a Hive Location
  12. I can Add Feature Manifests. Explain Features. 1-include child features CAML files 2-Location is alwys relative 3 -basically copies the stuff declared in the feature CAML into a Hive Location
  13. I can Add Feature Manifests. Explain Features. 1-include child features CAML files 2-Location is alwys relative 3 -basically copies the stuff declared in the feature CAML into a Hive Location
  14. The Assemblies region 1-Processes when solution is deployed 2-Adds assemblies to the bin or gac 3-Allows you to specify Safe Control Types
  15. Application Resource Region 1-Same deal with processing scope please files in the resource dir of IIS Folder
  16. Application Resource Region 1-Same deal with processing scope please files in the resource dir of IIS Folder
  17. Template File Region Do I really need to mention when this gets processed? it&amp;#x2019;s in the manifest so it gets processed when the solution is deployed. - Files here get copied into the Hive&amp;#x2019;s Template Directory.. the LayoutsMyFirstSolution folder to be specific
  18. RootFiles -kinda the same as template files but back one directory -- relative to the actual 12 HIVE folder
  19. RootFiles -kinda the same as template files but back one directory -- relative to the actual 12 HIVE folder
  20. DWPFiles Copies WebPart definition files to wpCatalog directory - this is called featureless webparts. Misnomer, archaic, handles both v2 (.dwp) and v3 (.webpart) files
  21. DWPFiles Copies WebPart definition files to wpCatalog directory - this is called featureless webparts. Misnomer, archaic, handles both v2 (.dwp) and v3 (.webpart) files
  22. So where does this all go, recap.