Sharepoint Document Upload Page - Passing URL Variables? - sharepoint

Throughout my SharePoint site, I have several document repositories that are tied to primary keys from an external database. I have added custom columns in the document library metadata fields so that we will know which SharePoint documents correspond with which table entries. As a requirement, we need to have document uploads that have these fields automatically populated. For instance, I'd like to have the following url:
./Upload.aspx?ClassID=2&SystemID=63
So that when you upload any documents to this library, it automatically adds the ClassID and SystemID values to the corresponding ClassID and SystemID columns outlined in the SharePoint document library fields.
Is there any quick or easy way to do this, or will I have to completely rewrite the Upload.aspx script from scratch?

I think the only way to go is to create your own Upload.aspx page. Read more here.

Unfortunately, it looks like going custom is the only option for now. Here are some tips on how to code the submission page.
There is a corresponding entry that describes how to add a document to a document library here:
How do you upload a file to a document library in sharepoint?
Likewise, once you have a document library file handler, you can alter its metadata column values using this method:
http://www.davehunter.co.uk/Blog/Lists/Posts/Post.aspx?List=f0e16a1a-6fa9-4130-bcab-baeb97ccc4ff&ID=109
Essentially it's just
SPFile.Item["ColumnName"] = "Value";

Related

Document library properties in sharepoint other than default like Title, Description

Is it possible to add additional properties to a document library in SharePoint using OOTB or Customization?
By default Document library has properties like Title, Description.
I need to add an other custom property in a library level which i can use it for further purpose.
Appreciate your inputs..
Thanks,
Gnanasekhar K
If you want to have metadata for folders/Library, You can look in to "Document Sets"(OOTB)
You can create columns and even run workflows on it.
You can add custom columns to document library. Navigate to document library settings and click on add new column. Or Alternatively click on Create Column option in the ribbon.
Choose the column display name, data type and other properties like default values, choice options etc. (depending upon the type of column you intend to create) and click on OK button.
You would be able to see the column in the default list view. You will also be able to capture the column's value for each document (after you upload it) via Edit properties form.
Refer [this][1] article for more details
For storing metadata for document library, you can use property bags. Property bags can be associated with
farm
web application
site collection
site
list/library
You can do this using
Powershell script
CSOM code
JSOM code

How to store multiple images for an entity record in Dynamics CRM 2013?

Microsoft Dynamics CRM 2013 can store exactly one image per entity record. Storing multiple images per record seems to be not intended, since you get an error message if you try to add more than one entity field of type image. However, I need to store multiple images per record, so is there a way to achieve this? Some workaround maybe?
It depends on whether you need to see the photo you're attaching to the CRM record instantly or not. IE Does it just needs to be referenced in the same way other attachments (such as documents) are referenced?
If you do not need to see the multiple photos from the record without downloading first and you're happy to reference them in the same way that you reference other attachments, you could add the additional photos in the Notes area of the record, or if you need classifications against those photos, create a new entity to hold photos and Categorise them using an Option Set.
The alternative, if you do need to see the photos instantly when viewing the record, is to either write some custom code and utilise the iFrame feature of the entity form which looks at a custom entity holding photos behind the scenes, or to look at an existing product such as PowerPhoto.
As a possible workaround you can try to use Annotation entity.

How do I store this external data in SharePoint?

I am using Visual Studio 2010, SharePoint 2010 with custom document content types and forms. And plan to also use jquery to build the document add/edit/view forms.
I am developing a solution where I want to have a document library where each document uploaded also has a number of external data elements added as metadata.
The tricky part I'm trying to figure out is I want the user to be able to specify and add a multiple number of those same external data elements.
I'm trying to figure out how I represent the data internally in SharePoint. My initial thought is to programmaticly add hidden external fields as the users adds those external selections. But then I also think of simply storing those external elements as non-external text fields but have my own code which performs the external data lookup and validation.
I'm not adverse to significant custom coding, as I'm probably going to need to do a lot anyway since even the user interface is going to be a jquery tabbed form to enable all the external data the user will be able to associate with each SP document.
I've made an attempt to hopefully further explain what I'm trying to do and included that image. Essentially I'm wanting to add 1+ external data relationships to each document, as desired by the user.
It uses just example data. I'll actually have 4-7 different complex relationships much like the example. And the user is permitted to drilldown and select 1, 2 or all 3 of the dropdowns.
Think of it as similar to how here on Experts-Exchange we can add multiple zones to a question.
An example illustration is here: http://flic.kr/p/aFUSJn
Could you simply add a multi-line text column and have the user input the metadata with comma's, then use your code to seperate the data and do what you want with it?
You said you were not adverse to significant custom coding :)
One solution is to use SharePoint content types. The trick is that not all items in a list need to have the same content type.
Therefore, you can do the following:
As the user is selecting the fields he wants to use you generate or select a content type that matchs those fields.
You then add your document to the document list using the content template
You then have all your information strongly typed in SharePoint lists.
We have previously built a system where we generate content types based on xsd files, this worked very well.

Link to another item in a sharepoint document library

I am writing a custom Sharepoint solution and I have to fulfill a requirement that an item in 1 document library must be visiable in another document library, e.g. maintaining global company document which should display in all other librarys
I need to sync properties, e.g. name so that when it changes in the source list it should also change in the destination lists. The items created in the destination list should not be able to have workflows or other options in the ECB Menu (exception for maybe going to source document).
Does anyone have a realistic solution on how to accomplish this ?
I have been trying to use CopyIntoItems of the copy web service to create linked copies with no luck, it always just creates a new copy of the source item (see: http://platinumdogs.wordpress.com/2009/01/14/sharepoint-moss-creating-document-library-items-uploading-files-to-a-document-library/)
Creating a custom content type has also entered my mind (since the source properties is contained in a content type) but then how do I filter the ECB menu ?
If the destination document library is a replica of the source document library, can't you solve this by displaying the items on the destination side using a content query web part instead of duplicating the items?
In the process for googling for something else I might have come across the solution to your problem.
Apparently Sharepoint has a built in 'linked document' type. You can just use that to link the documents, instead of copying.
More info here.

Sharepoint lookup column customization

I'm developing a customized document library in the SharePoint 2007 environment. What I'm doing is creating a content type with multiple columns of information related to the document. Users will use this content type to upload new documents rather than the standard new document functionality. One of my columns in this content type is proving to be more difficult than I can handle.
The column is essentially supposed to be a sort of 'related documents' column, where it offers the user the option to select another document that is related to this document. So I thought I'll create a lookup column that displays the titles of all other documents in the library and allows the user to choose one. Simple enough, but I need much more functionality than this...and here is where I need help.
I need the related document column to actually link to the related document, not just display the title...not in edit mode while a user is adding a document, just in the standard document library view after the document has been added.
I also need the link to include a url variable that is stored in another column named 'Document Number'.
I assume this will require custom coding which is fine. Please not that I can't use SharePoint Designer. I use Visual Studio and code must be C#. This will be packaged and released as a feature.
Can anyone help me acheive this? Example code, suggestions, etc...? Thanks!
I would suggest using a multi-column field as your base value type - this article on MSDN should get you started. For rendering the field in document library views, you will need to use a rendering pattern. Conveniently, MSDN has an example of a multi-column RenderPattern.

Resources