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
-...
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
-...
So what is a SharePoint
             Solution?
  -It’s a Cabinet File with the extension .WSP
  -It installs STUFF in the ...
So What Just
 Happened?
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features ex...
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features ex...
So What Just
               Happened?
Solution was added to farm (Via StsAdm in this case)
 Manifest Examined, Features ex...
The Anatomy of a Solution




<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1f"
          ...
The Anatomy of a Solution
Manifest.xml




<?xml version="1.0"?>
<Solution SolutionId="ee89a307-dc72-4622-9f81-a424ff247c1...
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID




<?xml version="1.0"?>
<Solution Solut...
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Loca...
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Loca...
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Loca...
The Anatomy of a Solution
Manifest.xml
    Set’s the solution ID which is a GUID
         Installs Assemblies, GAC or Loca...
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!! -->
  <FeatureManife...
FeatureManifest
     Includes Child Feature Manifest CAML Files




<FeatureManifests>
  <!--This Reference is relative to...
FeatureManifest
     Includes Child Feature Manifest CAML Files
     Location is relative to root of your solution
     CA...
The Assemblies Region
Processes when solution is deployed
adds your assemblies to local bin or GAC
allows you to specify s...
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 R...
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="MyN...
DwpFiles Region
Copies Featureless WebPart Definitions to
Web Applications (Huh?)
Supports either v2 (.DWP) or V3 (.webpart...
Quick-Tip Manifest
                        Location Summary
Assemblies
The parameter DeploymentTarget determines whether t...
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
       ...
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/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
The basic CAML
            elements
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/...
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 t...
DEMO
Thanks for spending your
valuable Saturday with us!
     http://gscottsingleton.com
     scott@gscottsingleton.com
     tw...
http://shareclave.org
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Anatomy Of A Share Point Solution
Upcoming SlideShare
Loading in...5
×

Anatomy Of A Share Point Solution

584

Published on

Slide deck from the Developer 101 Session: Anatomy of a SharePoint Solution.

This deck accompanied the session that discussed why it's important to use a solution deployment package (wsp) with SharePoint and the basic constructs of a the Solution Manifest File.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
584
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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)
  • 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
  • I tweet frequently, Really need to blog more.
    Next Slide is HAWT - Ask Why do I work with SharePoint?
  • I work with SharePoint &amp;#x2018;cause the chicks dig it!
  • 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
  • This is the type of ransom note I used to get from my developers when they&amp;#x2019;d go out to clients
  • 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)
  • this is 5 min 5 seconds.
  • 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
  • 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?
  • 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
  • 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
  • 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
  • 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
  • Application Resource Region
    1-Same deal with processing scope
    please files in the resource dir of IIS Folder
  • Application Resource Region
    1-Same deal with processing scope
    please files in the resource dir of IIS Folder
  • 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
  • RootFiles -kinda the same as template files but back one directory -- relative to the actual 12 HIVE folder
  • RootFiles -kinda the same as template files but back one directory -- relative to the actual 12 HIVE folder
  • DWPFiles
    Copies WebPart definition files to wpCatalog directory - this is called featureless webparts.
    Misnomer, archaic, handles both v2 (.dwp) and v3 (.webpart) files
  • DWPFiles
    Copies WebPart definition files to wpCatalog directory - this is called featureless webparts.
    Misnomer, archaic, handles both v2 (.dwp) and v3 (.webpart) files
  • So where does this all go, recap.
  • Anatomy Of A Share Point Solution

    1. 1. So what is a SharePoint Solution?
    2. 2. So what is a SharePoint Solution?
    3. 3. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP
    4. 4. So what is a SharePoint Solution? -It’s a Cabinet File with the extension .WSP -It installs STUFF in the hive
    5. 5. 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
    6. 6. 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
    7. 7. 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
    8. 8. 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
    9. 9. 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?
    10. 10. So What Just Happened?
    11. 11. So What Just Happened? Solution was added to farm (Via StsAdm in this case) Manifest Examined, Features extracted to: [Hive]TemplateFeatures[foo]
    12. 12. 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.
    13. 13. 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.
    14. 14. 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>
    15. 15. 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>
    16. 16. 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>
    17. 17. 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>
    18. 18. 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>
    19. 19. 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>
    20. 20. 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>
    21. 21. bing it FTW!
    22. 22. Getting Intellisense in VS makes it easy-peasy- lemon-squeezy!
    23. 23. FeatureManifest <FeatureManifests> <!--This Reference is relative to the Location in YOUR CAB!! --> <FeatureManifest Location="MyFirstFeatureFeature.xml"/> <FeatureManifest Location="MySecondFeatureFeature.xml"/> </FeatureManifests>
    24. 24. 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>
    25. 25. 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>
    26. 26. 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>
    27. 27. The Assemblies Region Processes when solution is deployed adds your assemblies to local bin or GAC allows you to specify safe control types
    28. 28. The ApplicationResources
    29. 29. The ApplicationResources Again - ‘Cause it’s in the Manifest it processes when solution is deployed
    30. 30. 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
    31. 31. The TemplateFiles Region Do I need to mention it again? Copies Files into the HIVE Under the Template directory
    32. 32. The RootFiles Region
    33. 33. The RootFiles Region Copies files to a location off the root HIVE
    34. 34. The RootFiles Region Copies files to a location off the root HIVE Really the best place to put global web services, etc.
    35. 35. DwpFiles Region <DwpFiles> <DwpFile Location="MyNonFeatureWebPart.webpart" /> </DwpFiles>
    36. 36. DwpFiles Region Copies Featureless WebPart Definitions to Web Applications (Huh?) <DwpFiles> <DwpFile Location="MyNonFeatureWebPart.webpart" /> </DwpFiles>
    37. 37. 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>
    38. 38. 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
    39. 39. The Feature Files if you thought the manifest was complicated...
    40. 40. The real meat of a feature
    41. 41. 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>
    42. 42. The basic CAML elements
    43. 43. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?>
    44. 44. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    45. 45. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType>
    46. 46. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/>
    47. 47. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/>
    48. 48. The basic CAML elements <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ContentType></ContentType> <ContentTypeBinding/> <HideCustomAction/> <Control></Control>
    49. 49. 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>
    50. 50. 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>
    51. 51. 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/>
    52. 52. 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>
    53. 53. 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>
    54. 54. 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>
    55. 55. 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>
    56. 56. 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>
    57. 57. 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>
    58. 58. 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/>
    59. 59. 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>
    60. 60. 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>
    61. 61. Now that I’ve pulled out your fingernails...
    62. 62. Now that I’ve pulled out your fingernails... If there’s anyone left in the room
    63. 63. 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!
    64. 64. DEMO
    65. 65. Thanks for spending your valuable Saturday with us! http://gscottsingleton.com scott@gscottsingleton.com twitter: @scottsingleton
    66. 66. http://shareclave.org

    ×