Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I am a total newbie to SharePoint but I have been given the task of driving the roll out/Proof of Concept that SharePoint 2010 is capable of providing what our company wants.

One of the main requirements is to Override the default "upload.aspx" page for a Document Library.

The reason being is that users want to be able to select at the point of Upload a security group to apply to the document (most documents will NOT have document level security but for the few that do - this is how users want to be able to apply it).

I have read a number of articles on Overriding the AddItem event of a Document Library and then breaking the default permission and assigning a group from the Feature.xml file.

But my main headache at the moment is how do I override the default upload form for a document library? Does this need to be a custom component created in Visual Studio or can it be created/Edited from within SharePoint Designer/Info Path?

Also, to develop SharePoint components in visual studio, does the project have to be developed on the same server that runs SharePoint?

I have ordered some books on SharePoint development but while I wait for them to arrive I'd like to know what options are available to me.

Another question I have relating to metadata is this...My boss has the idea that ALL the metadata about a document could conceivably go into one or two columns as opposed to having hundreds of columns for each possible group of metadata.

The way we want to implement this would be to have our main "column" of metadata being what we consider to be the "Top Level" and this would be multi select.

Then based upon which of these multi-select boxes have been chosen, populate a second column of multi-select options onto a form.

For example Top Level metadata options

  • Development
  • Guides
  • etc

Managed Metadata linked to Development

  • C#
  • SQL
  • etc

Managed Metadata linked to Guides

  • Installation Manual
  • Admin Guide
  • etc

Then when uploading a document and only Development was ticked, there would be tick boxes for a second column with values of C# and SQL

When uploading a document and only Guides was ticked, there would be tick boxes for a second column with values of Installation Manual, Admin Guide

If both Development AND Guides was ticked there would be tick boxes for all 4 of C#, SQL, Installation Manual and Admin Guide.

The result being two metadata columns of comma separated values which can be filtered on using views by choosing where "Name Contains" instead of Grouping on a single metadata column.

  1. Is this even possible - to dynamically add check boxes to an upload form based on values selected in the form (I can imagine a drop down box being easier to populate than generating check boxes)?
  2. Is this a good idea? If not, why not?

The number of "Top Level" metadata columns is pretty small at 7 and the number of "Sub Level" values is also quite small with not every Top Level metadata tag having sub levels.

Therefore the two multi-select columns would not contain a massive amount of values and therefore using a "Contains" search I don't think would be too intensive. BUT this WOULD massively reduce the number of overall columns required in the Document Library. Plus any new metadata value would be added to the managed metadata and automatically be included in the form (if it's possible).

If you have read this far, thanks, I am more concerned with how to override the default upload page for a document library than the secondary metadata question. I may have displayed a massive amount of naivety with regards to SharePoint but appreciate all input.

Thanks

Sam

share|improve this question
    
Did my answer help you get this working? –  Steve Lineberry Feb 24 '13 at 18:10
add comment

1 Answer

I don't think you need to override the default upload page. After you upload a document it will take you to a page where you can select the metadata for the document you just uploaded. Using required columns or the content organizer (with content types) you can force them to fill in this data.

I recently had to do something similar and I wrote an eventreceiver that examined the metadata of a document/listitem and based on that metadata, applied different security group permissions. What I needed to do sounds very similar to what you are attempting.

As for the dynamic check boxes and what not, why don't you just use hierarchy with the managed metadata to accomplish something similar. This way you also get type ahead when entering the metadata. You can also always tag the parent in addition to the child. i.e. Tag Development and C# in the same metadata column. That way you could filter on either.

share|improve this answer
    
Thanks for the reply. It sounds like you have done something similar and have given me a starting point. –  Sam Feb 8 '13 at 13:09
    
However, being a total newbie I'm still a little lost with some of the concepts. If I am not overriding the "upload" page of the document library but the second page which allows the entry of the metadata - what is that called? For the Managed Meta - Do I end up with a table of terms as almost key value pairs? That way when the first term is selected I can query the metadata table to return the sub-metadata terms associated with the first term? When writing the Event Receiver - was this in Visual Studio or info path? –  Sam Feb 8 '13 at 13:19
    
Most of what I said was ootb. I don't think you need to create a page at all. Just try what you can do ootb and see how far that gets you. Did you setup your managed metadata service? If so, you should be able to go to site settings and then term store management to create your terms and termsets. I created the event receiver in visual studio. –  Steve Lineberry Feb 8 '13 at 13:33
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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