I'd like to setup a Team Site for each project I'm currently working on. Each project will have a set of properties, for example Project Manager, Project Reference, Project Number etc. that is stored somewhere. (I've not determined where as of yet, but I don't think it matters for this question).

Within each site will be a Document Library with several content types associated to it, for example Introduction To Project Document, Project Specific Procedure Document, Project Governance Document etc. and they all contain the above properties/columns.

I'd like to prevent the users having to enter this information into every new document they create. I know I can set the properties on the SPListItem once it's added (or even correct them if they're different to the configuration) using an EventReceiver but I don't know of a way of setting the properties as the document is created.

If possible, I'd like to avoid each site having it's own specific Content Types which have these properties set as the number of Content Types would quickly explode.

Does anyone know of a way to set these properties on a new document when it is created via Library Tools->Documents->New on the ribbon?

I've considered replacing that ribbon button with my own, but that just seems "wrong".

Edit: I should mention that the Content Types are created in a Content Type Hub and these project sites will subscribe to it. That seems to prevent the idea of Default Values from working as the default value from the Content Type Hub is not over-ridden.

  • Have you looked into the ItemAdding Event Reciever? msdn.microsoft.com/en-us/library/…
    – Mike
    Jul 30, 2012 at 14:08
  • Unfortunately that seems to fire when the document is saved, not when the document is created. Which I guess makes sense as you may change your mind and not save it.
    – MattDuFeu
    Jul 31, 2012 at 7:23

1 Answer 1


Put some custom fields into your document content types for the metadata you want to store(Project Manager, Project Name, etc) and make them hidden. When you set up a new project site set up the default values of these fields as part of your site setup process. Then all documents in the site will have this metadata, and your users will not have to set them.

This assumes, of course, that every document in the site has the same Project ID, Project Manager, etc.

  • Thank you, that works for Content Types that I've created in that Site Collection, however, I'm intending to use a Content Type Hub to store them. For some reason any changes made to the subscribed content type (after setting "Should this content type be read only? to No) is ignored. I've even change the Content Type name and Column name and that's not reflected in the new document created!
    – MattDuFeu
    Jul 31, 2012 at 8:07

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.