Check out not required but created files are in check out status - sharepoint-online

Today, for the first time, I watched an anomaly behaviour in all my SPO sites (all in classic experience).
I have Document Libraries where it's not required documents to be checked out, until yesterday when I created new documents they were in "check in" status but today they are created in "checked out" status.
To be exact, the first document I create in a Document Library is in "check in" status, all the further documents in "check out" status: what happened? How can I create every time documents in "check in" status?
Update:
I have done some tests but I have to give you some more information.
I have a custom Content Type for Document Set and one for files present in the Document Set. Two properties of the Document Set are Shared Columns with the Content Type of the files: if I set these properties as hidden I can create a file in "check in" status. My problem is I need these properties are visible.

Check if Library Settings -> Version Settings -> Require Check Out set to Yes:
The set above will make file check out after uploading files in library.

Related

Default folders on SharePoint Document Set

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.

Required field doesnt work in document libraries when we upload document in SharePoint 2010

When uploading a new document to the library, its a two step process. the document is considered "posted" as soon as step 1 is complete, but at that point in time none of the required fields has been uploaded yet, resulting in blank items showing.
Is there any way to stop upload document without filling required fields?
Thanks,
There are 2 things you can do here: simple and more advanced.
Simple step is to make your fields "Required". After file has beed uploaded the form will pop up and user will have to fill out fields. Although this will not remove the file uploaded, but it will alert user to fill the fields.
Advanced way is to create event receiver or workflow which would actually remove the file after some period if required fields are not filled out. Workflow option could be easier to create and you can do that in Sharepoint Designer

Document version management [duplicate]

I'm trying to work out a way to display the contents of the version column from SharePoint (i.e. the value that changes every time a file is checked in) as a field (or something similar) inside of a Word document.
Ideally, I'd like to know how to configure SharePoint so I could click something like "Insert > Quick Parts > Document Property > Version", and it would include the version in the document. The goal is to make it easier for someone to correlate a printed version of a document with the version history of SharePoint.
I have been able to add editable text columns to the Document content-type and have them show up as document property quick parts. I've also been able to add a calculated column which gets the version as a text string... however this calculated column isn't showing up in Word as a document property. (Perhaps I'm missing a setting on the calculated column)
This is one way to get the version in your document, it's a bit painful to get it working...
Enable versioning and content types on your document library.
Go into document library settings and select the content types you want the version to appear in.
Select Information management policies settings from the content type menu.
Select define a policy and click .
Click on the 'Enable Label' Check box
Do not Check the other two boxes in the Labels section.
In the Label Format field, enter the metadata fields in the following format:
Version : {Version} \n
Set the label appearance and click on preview.
Click at the bottom of the page.
Go back to the library and create a new document using the content type you have modified.
Save the file as a Word 2007 format.
Select the insert tab
Select Quick Parts from the Ribbon menu and hover over document property
Select Label from the properties list
This should display the metadata defined in your label as a field in your word document. The field will update automatically when you next open the document.
Save.
This requires configuring both SharePoint and your Word document.
TO CONFIGURE SHAREPOINT'S DOCUMENT LIBRARY:
Go to the document library where you plan to store your version-controlled documents.
Click on Settings > Document Library Settings
Click on "Versioning settings" and make sure that you're either having it "create major versions" or "create major and minor (draft) versions".
Click OK.
Click on "Information management policy settings"
If your library can handle multiple content types, you'll see a list of them. Click on "Document". If it can only handle one content type, skip this step.
Select "Define a policy..." and click OK.
Check the "Enable Labels" box, but don't check either of the other two boxes in that section.
Type {Version} into the "Label format" box.
(Optional) You can format the version label.
Click on the "Refresh" button to see a preview of your version label. It will say something like {_UIVersionString}
When you're satisfied with the label's appearance, click OK.
To get back to your document library, click on the document library's name in the breadcrumb trail at the top of the page.
TO CONFIGURE YOUR WORD DOCUMENT:
Either create a new document in the library or upload one.
Open the document and edit it.
Put the cursor wherever you want the version label to appear.
Go to Insert > Quick Parts > Document Property > Label
The version label "{_UIVersionString}" will show up in the document.
Save the document (and choose what the next version should be). You're all set!
If you want to test it, close the document and reopen it. The updated version will automatically appear where you put the version label.
These instructions were based on Erwin's answer.
I followed Rachel's instructions and they worked great. However, capturing this version update in the document does create a problem if you want to do electronic signatures. For instance, if your version is 1.6 and you decide this is the one for people to sign; you'll find that when they sign it, the document will be saved as version 1.7. When you open the document again, the version 1.7 will not match the authorized version of 1.6 and you'll be informed that all the signatures are invalid.
IMPORTANT:
In SP2010 you cannot save as a site template when Labels are enabled within a document library under Information management policy settings. The document library will get corrupted and even if we disable the policy, the save as site template function is still broken. The only option seems to be to permanently delete and rebuild the list.
The RevNum field that I think jaloplo is referring to is not the same as the SharePoint document version number. It updates every time you save the document, but seems to keep its own revision numbering system, correlated to (but independent of) the SharePoint version numbering system.
Try creating a calculated field in a custom content type. The field can be equal to the Version. That will give you the ability to add it as a property in the document. This only works well with Office 2007 docs.
Once a custom content type is created, you create a new document based on the content type.
After creating the document, you can extract the document information panel and save it. It is an info path form, so you can customise it if necessary and upload the customised panel to the content type.
Erwin's answer is spot on, but I wanted to leave this in case someone runs into the same issue I did. If you attempt to set the label for version on the site collection content type rather than at the document library level, you will get the error "The label reference, Version, could not be found." when previewing or saving the Information Policy. Also, you will be unable to save a policy at the document library level if you have previously defined one at the site collection content type level. It must be set to "None" on the site collection content type. Probably should have been obvious to me from the start, but it wasn't, and maybe this will help someone else down the line.
All columns of a document library are document properties for a word document. To take the version of the document you have to show document properties and then select "advanced properties". In thit moment, you'll see the classic document properties window and you can see the "Version" property in the last tab.
So, you can add the value of this property to your document in the place you want, for example, the footer.

Prevent Concurrent Editing of a List Item

In Sharepoint MOSS multiple users can edit the same item in a sharepoint list at the same time…the first person to save their edit “wins”.
Is there a way to prevent this, to lock the list item while it is being edited?
NB: This refers to a custom list -Not a document in a document library
Not possible - checkin/checkout is only supported for list items with an associated SPFile object (images, pages, documents - essentially everything that derives from SPDocumentLibrary)
-Oisin
There are a few ways to do that, all custom. As Oisin said on his post the native check-in/check-out engine needs a file associated.
Ideas:
Javascript
Modified EditForm.aspx file, embedded in a List Template, XmlHttpRequest checks for a "Checked-out Items List" repository, expires/remove the check after 10-20 minutes of inactivity from the user currently editing the file.
.NET
Event Handlers: I have not checked but the ItemUpdating Event Type could stop you from updating it if the Modified date changed since you opened the item, saying the item was modified while being edited and need to be updated (cloning the behavior of aspx/publishing pages in SharePoint)
Infopath
I noticed you said you dont have the enterprise version, still your users could have the InfoPath client on their machines and fill the form locally.
Now lets start the fun :)
Empty Document Template
You can hack your way to create a super "Add Item" button that uploads/creates a new Document Library Item with an empty document (.txt) and redirect the user directly to the Edit Properties form. I did this when I replaced the "Change Image" in the My Sites profile with a Document Library.
Word Document
Word 2007 can create documents similar to forms where the user can only fill the exact fields you want, so can excel (Infopath was created because users were using these programs for forms).

Disable Word/Sharepoint Integration

I have a requirement to disable the integration between Sharepoint and Word in a project that I am working on. This requirement comes from the request that the user is able to edit the properties of the document but not edit the document itself. The request has also been made to disable the Shared Workspace toolbar that appears when a document is open. The solution must exist on the server as some of the users are external. The users have also requested that they are able to use the Outlook/Sharepoint Integration. Does anyone have any thoughts on how this can be accomplished?
I'm guessing they want to change some document properties, apply those as new field values and print - but not change the original.
Here are some ideas, not sure how useful they could be.
1) apply a password for editing the Word document - It may still allow changing properties & printing.
2) strip out doc the properties and put them in a sharepoint list, with the document itself as an attachement - the document then remains as read-only, but the properties are held separately
3) If your documents are in a list, Allow changes on the list, but demand changes be approved, so users only get to see their own changes, no-one else sees the changes they made. Changes will sit there pending approval. Periodically you can go and reject any changes.

Resources