We have about 50 content types. We want to create a routing rule that matches EVERY document. So, we've created a rule and added the alias "*". However, it doesn't work! It only works when we upload a document of that one content type. Accordingh to the note:

Note: Adding the type "*" will allow documents of unknown content types to be organized by this rule.

... it should work as we expect. Why doesn't it work? I don't see anything in the ULS Log either?


After decompiling SharePoint DLL's (ILSpy ftw!) and checking the ascx templates, I found the issue. It's a UI bug in SharePoint! What happens is: During activation of the Records feature receiver, a different rendering template is set on all content types in the Drop off library. If you add rules later, they will get the default template! This custom rendering template has a custom save button, which does the routing. It will work if you add all content types to the drop off library and re-activate the web-scoped Content Organizer feature.

When using the object model to submit files, it should be working. Or, when "Send to Records Center" is used, the same object model API call is used, which should be working.

But: When adding files to the Drop off library, aliases are ignored! And, new content types added to the Drop off library won't have the correct template if you re-activate the content organizer feature... Two major bugs in SharePoint.

| improve this answer | |

Create a base content type, and have all your child content types inherit from the base. Then create the routing rule on the base content type.

...of course, if you've already created the content types, and have data associated with them, you are out of luck. The wildcard syntax doesn't work the way I think you believe it does. It is meant to handle content types that are named differently in different site collections.

A possible workaround might be to create your rule on the "Document" content type, but that could allow undesired content types to match the rule.

When designing an information architecture, it is critical that you get it right the first time, because it's extremely difficult - perhaps impossible - to change once it's in place.


One thing you could do is create the parent/child content types and add them to your document libraries. You would then have to "flip" each document to its corresponding "new" content type before sending to the record center. If you have server access you should be able to script that.

| improve this answer | |
  • We do have one base content type, all of our content types inherit from that content type. However, the organizer rule only fires when I upload a document of that base content type.... So your solution will not work. And I still don't know when to use aliases? – Boland Sep 29 '14 at 2:34

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.