Frage

I have a document library with about 25,000 folders in it, each folder represents a task in our task system and is used as a document repository for those tasks.

Of the 25,000 tasks about 22,000 are in a closed state (completed, cancelled, etc...). Our goal is to make the folders for closed tasks read only and the remaining 3,000 ones not. We expect to write .NET code which will interact with the SharePoint API and/or workflows to accomplish this. Metadata exists on the folders which can be used to calculate whether or not the folder should be read only or not.

We already tried setting the default permissions for the document library to read only and then setting custom permissions for the remaining 3,000 items (through code) to open back up access... what a nightmare. we passed that 1,000 security scope limit and just about took out the whole farm...

War es hilfreich?

Lösung

You can create event receiver that will check that task is closed and disallow adding file and redirecting to custom page, where the details will be shown. Please check the article related how to implement in in SP2007 - http://www.sharepointkings.com/2008/06/redirection-from-event-handler.html.

But in my opinion archiving process will be better, as @Kit Menke suggested.

Andere Tipps

Hmmm, I'm leaning towards a custom EventReceiver which fires on ItemAdding, ItemUpdating and ItemDeleting and checking the folder metadata if it is marked as "closed".

If so, any operation is denied and a custom error message is returned.

This would also require to disable DataSheet view and opening in Windows Explorer as those do not allow to display custom error messages.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top