1

I am trying to ensure that a custom feature that I have written is activated when an SPWeb is created, and it has to be activated after all lists/libraries have been created (specifically the document library).

The feature's purpose is to hide the document libraries and deactivate the document library feature (dont ask). It throws an exception if its included in the WebFeatures tag in the onet.xml and from what I remember the feature stapling events fire before the lists are created.

Can anyone tell me what my options are regarding this?

Thanks.

5

You basically have to create a custom SPWebEventReceiver and activate your mandatory feature under "WebProvisioned" method, like this:

public class YourWebEventReceiver : SPWebEventReceiver
{
       public override void WebProvisioned(SPWebEventProperties properties)
       {
           base.WebProvisioned(properties);
           // Activate your mandatory feature here
           // site.Features.Add(featureId) #pseudo-code.
       }
}

If you need a step-by-step instruction to create a custom SPWebEventReceiver and deploy it, I found the following post helpful:

http://blog.qumsieh.ca/2010/10/07/how-to-attach-an-event-receiver-to-the-web-added-event-and-for-what-purpose/

1

SPWebProvisioned Event Handler

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.