I'm trying to achieve a project documentation solution on SharePoint 2013 using a custom Document Set Content Type. Each new project Document Set would hold four types of documents.
My initial thought was to use folders for each type to allow easy drag and drop behavior for adding documents. The problem is, by default, folders can be created only by adding default documents to a Document Set Content Type. I wish to create the folders upon the creation of new instance of this Document Set but not add any documents inside these folders.
This is what I have tried so far:
Using workflow to delete default documents inside folders that were created in the new Document Set.
Custom folder Content Types.
The reason for use of folders is to avoid metadata tagging when uploading documents.
I'm quite restricted with the tools that I can use so the most basic level solutions would be appreciated.
To be more clear, I would hope to have a Document Set Content Type which holds four folders. Document Set would act as a holder for all documentation relevant for a single project and folders inside would group the documentation into groups. Each new project will generate documents in its lifespan and these documents should be grouped into categories, say marketing, finance, production and HR. So when I have a new project, I can create a new instance of custom Document Set with pre created, named, empty folders inside.
There's two ways you can achieve this I think. First would be to set-up your document set to have an empty document deployed to all of the folders you'd like to create. Simply add "Default Content" to your document set and there specify the correct folders. Unfortunately there's no way to create empty folders, so you'll need to put a dummy document in each folder which the user can then delete or override.
Second would require some coding. By attaching a remote event receiver to the library, you could trigger some custom code which would create the folder structure inside of the document set once created. This would allow you to create the folder structure without the need for dummy documents; so it's a bit more work which requires a developer, but the end result is also better.
The second solution you might also be able to pull off in a workflow (or Microsoft Flow) which then uses the API's to create the folders, but that's most likely less clean and more hassle to get working.
Create a custom content type called "Folder Creator". Use that content type to create the subfolders. Then have the "Folder Creator" content type auto delete using SharePoint Information Management Policies. Be sure to set your "Expiration Policy" job to run at least once a day.
Related
I need to create list of products (with details like date of orders, etc). But I want to also add files for each product, like order document, leaflet, etc and of course I want to have possibility to filer/group by files. I try to create column with files in, but I fail. Maybe I can link somehow documents from Library to items in list?
Can someone help me?
thanks
I got the feeling the best solution to use here would be document sets. It is both for SP onPrem and online
Basically a document set is like and item with metadata and a folder for files at the same time.
Update1
for SharePoint Online (onPrem the steps are very similar, just the look and feel is different)
go to sitcollection features and activate document set feature.
go to content types settings in sitecollection settings and create a new content type
when creating content type make the content type inherit from document set content type
then add some columns (like text fields, datetime pickers etc. whatever is needed, You may also have status column)
after that in the document library You want to use the document set go to list settings and in advanced settings turn on content type management
add the new document set content type (You may also add this ct as default one)
when adding new item select the new content type. You will have the new form with all the defined columns, In the item You may add files like You would add them to the folder. Being in the item You may see the properties in the right property pane
I hope this solution is what You need :). I think it is the best OOTB solution that I can think of for Your problem.
Update2
please also check this link for a similar step by step instructions but with screens.
I'm trying to create a flat view that shows all documents in a list without folders, but I can't figure out how to get for each document the columns of the parent folder.
We have to keep the folders system, but be able to use filters on this view.
View screenshot with folders
View Screenshot without folders, where I need to get the folder columns
I think this is a misunderstanding of the columns behavior, in fact you are displaying the same columns in both views (except for Modified, Index, ISO Language), however I assume what you really want is to display the same Field Values of the parent folder for each child item, that kind of behavior (values inheritance between folders and child items) isn't possible by just editing the view neither by applying some list settings.
First of all you need to understand that list items, documents and folders are all list items from the system perspective so they have individual properties for each one of them, a folder is just a special type of item that is able to contain other items (strictly speaking is just simulating a container).
In your case the Field Values that are being displayed in the columns of the folders view are values that belong to the folder itself but not to his child items. If you want to propagate those field values for the child items of each folder then you have two options:
Manually: Assign the values to each child item by editing their
properties using the Edit Form or using a Grid View to edit multiple
items faster.
Automatically: Create a Workflow or Event Receiver to copy the values
of the parent folder to each new item/document that is added to the
list/library.
However, as I can see your library is not being used in production yet, so my personal recommendation is to change your approach and use something similar to a Managed Metadata term store instead of folders (folders should be your last option to categorize items/documents, just for cases when you really don't have another way to achieve your goal), with the Managed Metadata approach you are able to apply tags to the items allowing them to belong to multiple categories and being filtered and searched more efficiently, but I know what you may be thinking "how can I do this if the Managed Metadata Service is not available in SharePoint Foundation", well thats why I said "use something similar", there should be more than one third party solution out there that will provide a similar functionality, but if you want to choose the less effort path, just use out-of-the-box Multi-choice field or Multi-lookup field, that you can start to using right now and assign the categories that you want to your items and create different views and filter them.
To achieve this you need to create a new view, or modify an already existing one, in your library.
When you edit or create a new view you are presented with the "Edit view" screen, here you can choose to "Show all files without folders" in the "Folders" section.
See e.g. for more details http://www.bloggedbychris.com/2013/10/19/flatten-document-library-list-sharepoint-2013-2010/ on this particular problem.
I am tasked in work with creating a share-point site.
Here are my requirements:
The main page must allow the user to create a new "File".
The file must be an excel sheet template that i will style to my liking.
After the user creates a new "File", the Excel sheet is opened in the webpage for them to edit. They can save it and reopen later.
Many other users will create new "files" also - same process - same template. If i change the template then any new files use the new template.
When files are created the user must put it into a section that high level describes the location of our plant that the "file" is relevant for . e.g Some users will put files under the "Company Shipping category" category and others the "Company receiving category".
Any user can search any or all "files" for full textual searches and also within categories of our company plant (as described in item Above)
Is all this possible and what is the easiest method - Any examples of this would be great.
Thanks,
Damo
This is all built in SharePoint functionality. You can create a document library with a default file template using excel. The document library can have added columns called metadata to track the high level descriptions. SharePoint has built in search functionality.
The best way is to get a SharePoint administration book and start reading. There are also a lot of contractors that specialize in setting up SharePoint.
EDIT:
Here is a tutorial video and here is the second part on setting up a document library and adding advanced features like metadata columns.
Is it possible to access the list items in the (hidden) "Forms" subfolder of a document library using the Lists.GetListItems web service method? I need to set the content type of uploaded document templates using Lists.UpdateListItems, otherwise, document created from these templates will have the 'Document' content type and not the content type the template had been assigned to.
Lists.UpdateListItems works in subfolders of the "Forms"' folder, but I need the ows_UniqueId of the list item that represents the uploaded file, and I can only get it using List.GetListItems.
Is there maybe another method of uploading files to SharePoint document libraries, in which you can set the content type?
List.GetListItems expects you to pass it a view, if you don't it uses the defaults view. So what you need to do is create a seperate view which lists all items, and make this view list flat (not listing by subfolder).
Then query against this view.
Does this suck? Yes. Does SharePoint suck? I'll let you answer that question. I didn't write sharepoint, just telling you the way it is.
I don't understand the relationship between the content type of an uploaded document in a document library and the elements in the Forms subfolder.
What I'd try:
- Use Copy Web Service, method CopyIntoItems to upload the file, setting some properties, including the content type.
- Use Lists.GetListItems, with a CAM query specifying the file name and asking for ows_UniqueID property
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.