Day 4: Templates and Features
Below are my actual notes during the Templates and Features session here at the SharePoint Conference. (Please forgive any wrong grammar. (It is like writings from the old age where the pen and exact document by famous people are kept in a museum).
Templates and Features: Everything and Administrator Needs to know
Arjun Ohri
Program Director
WSS
Being able to activate Master and Content Pages
Users now have the power to simply turn on features for master pages and contents
There are templates that are readily available
Features Scope
Farm Elements
Item Custom Actions
Site Settings Links
Admin Custom Actions
Web Applications Elements
Item Custom Actions
Site Settings Links
Admin Custom Actions
Site Collection Elements
Site Settings Links
Admin Custom Actions
Web Elements
Feature Lifecycle
Activate -> Deactivate
Adding Features to Sites (UI)
Command Line, User Interface, Object Model
Activation Dependencies
Ex. Activate Announcements List when you activate WSS Team Collaboration Features
Embedded in Site Definitions
Site Definition Bindings
Ex. Activate WSS Team Collaboration Feature when a user creates a new Team Site
Add
Extending User Interface
Toolbars, Menus, Settings Pages
Link to Pages
Can use ASP.NET controls on toolbars
Associate by
List Type
Content Type
File Type
Provisioning Callouts
Features can execute code
Site Definitions Callout
Eg. Portal Provisioning
Per-Feature Callouts
FeatureInstalled
FeatureUninstalled, etc.
Feature and Site Definitions Gotchas
No out-of-box tools for working features/site definitions at admin level
Some WSS concepts require XML definitions to work
List Definitions
Content Types
Complete uninstallation of features is not really possible, in some casesUpgrading Sites from V2
Sites based on V2 site definitions still work in V3
Generally don’t take advantage of V3 features
Master pages, features, Inc
Upgrading Definitions
Adding V3 power to V2 sites
Convert V2 site definitions to V3
Files and lists mapped to V3 locations
New feature listings
Re-entrant: you can gradually upgrade sites one at a time
Feature and Site Definitions
Build to Build Lifecycle
Modifyuing XML files after provisioning is not recommended
Use features to encapsulate new functionalities
Solution Lifecycle
Helpdesk Features
Customers – SPSite Feature
“Customer” Content Type & Column Templates
Help Desk – SPWeb Features
Solution Deployment
Developer packages a custom web application into a solution Admin deploys:
Files go to all web fron end servers
Can deploy to application servers
Solutions can contain:
Feature definitions
Site definitions
Template Pages & Resources
Resources
Global, Bin assemblies
Solution Deployment Security
Problems
Assembly deployment options
Bin is more secure (WSS_Minimal)
GAC gives assembly full trust
Natural Conflict
Admins don’t know what rights to grant
Hard for developer to specify required rights
Developer can put a Code Access Security
Developer specifies deployment location for assemblies in a solution GAC or bin
Solution packages can contain CAS policy
Doesn’t require putting assemblies in GAC
Admins will know exactly what permissions your assembly needs
Deployment Techniques
Solutions
Small-large projects, internal projects
Full MSI
Deploy files to “Program Files”
Registry entries
Hybrid Approach
MSI’s that contain solution packages
Added and deployed via custom action, or via separate approach EULA install for ISVs
Call To Action
Great! What do I do now?
Consider the life cycle of new custom solutions
How will upgrades work?
How do you remove the solution?
Work with your developers to ensure your custom solutions are manageable













V said,
January 31, 2007 @ 7:20 pm
Review by V, January 31, 2007
Arjun,
Thanks for your session at the Office Dev Con. Even though I did not attend the conference, I got a lot out of watching the recording.
Is it at all possible to get the source code for the help desk application you demonstrated in your session?
Thanks,
Arjun,
Thanks for your session at the Office Dev Con. Even though I did not attend the conference, I got a lot out of watching the recording.
Is it at all possible to get the source code for the help desk application you demonstrated in your session?
Thanks,
Jay Arvin S. Gamiao said,
March 5, 2007 @ 6:44 am
Review by Jay Arvin S. Gamiao, March 5, 2007
Hi Arjun,
I am currently working on a SharePoint project that was currently created in SharePoint V2 and would be migrating to V3. One of the resources that i saw is your video regarding Site Defintion and Features which i think is very beneficial to us. Is it possible to have the codes.
Thanks,
Hi Arjun,
I am currently working on a SharePoint project that was currently created in SharePoint V2 and would be migrating to V3. One of the resources that i saw is your video regarding Site Defintion and Features which i think is very beneficial to us. Is it possible to have the codes.
Thanks,
Rahul Breh said,
October 10, 2007 @ 5:34 am
Review by Rahul Breh, October 10, 2007
Hi Arjun,
I have worked with features for quite sometime now. Have never faced any such issue before. I am facing a problem in uninstalling a feature in MySite. I am using SharePoint-2007.
Steps Followed:
[1] Created a Reciever Class & installed the DLL in GAC.
[2] Installed Staplee & Stapler for the desired feature.
[3] Staplee is installed & activated at SITE level.
[4] Stapler is installed at FARM level [for Template SPSPERS].
[5] The My Site Stops working.
Now I understand that there could be some problem with the code. But atleast I should be able to uninstall it.
[6] Then I Uninstall Stapler successfully.
[7] I deactivate Staplee.
[8] Now, when I try Uninstalling Stapler – It Says :: The feature with ID ‘[*ID*]’ is still activated within this farm or stand alone installation. deactivate this feature in various locations where it is activated or use -force to force uninstallation of this feature.
After FORCING uninstallation – the MY SITE completely goes off.
The possible solutions like changing SSP doesn’t help.
I have 2 questions, only if you could help & answer out of your precious time ::
[1] Is it a known condition?
[2] Is Complete Un-Installation possible for all Custom Features?
Hi Arjun,
I have worked with features for quite sometime now. Have never faced any such issue before. I am facing a problem in uninstalling a feature in MySite. I am using SharePoint-2007.
Steps Followed:
[1] Created a Reciever Class & installed the DLL in GAC.
[2] Installed Staplee & Stapler for the desired feature.
[3] Staplee is installed & activated at SITE level.
[4] Stapler is installed at FARM level [for Template SPSPERS].
[5] The My Site Stops working.
Now I understand that there could be some problem with the code. But atleast I should be able to uninstall it.
[6] Then I Uninstall Stapler successfully.
[7] I deactivate Staplee.
[8] Now, when I try Uninstalling Stapler – It Says :: The feature with ID ‘[*ID*]’ is still activated within this farm or stand alone installation. deactivate this feature in various locations where it is activated or use -force to force uninstallation of this feature.
After FORCING uninstallation – the MY SITE completely goes off.
The possible solutions like changing SSP doesn’t help.
I have 2 questions, only if you could help & answer out of your precious time ::
[1] Is it a known condition?
[2] Is Complete Un-Installation possible for all Custom Features?