Understanding automatic check-in for SharePoint Online
The Muhimbi Document Converter for SharePoint Online behaves consistently, across all functionality provided, when it comes to automatically checking files in or out.
A similar article, for the on-premise version of the Muhimbi Document Converter, can be found in this Knowledge Base article.
There are 2 different scenarios, which - for good reasons - behave differently:
-
GUI / REST API (Explicit Login): Operations carried out via Muhimbi’s user interface, as well as API access where user credentials are provided explicitly, are a bit more flexible as operations are carried out in the context of a real user.
-
Workflows / REST API (Login via APP): Operations carried out via SharePoint Designer Workflows (not MS-FLOW), and those carried out via our API (where authentication is carried out by the Muhimbi App), run in the context of the App User. As a result files cannot be left checked-out, as regular users cannot see files left checked out by an App.
A full overview can be found in the table below.
Doclibs without explicit check-out / check-in | GUI/ API (Explicit login) | Workflow / API (Login via App) |
---|---|---|
Required metadata filled out | ||
File is new | checked-in | checked-in |
Overwrite file that is not checked out | checked-in | checked-in |
Overwrite file that is checked out by current user | checked-out error | |
Overwrite file that is checked out by other user | error | error |
Required metadata is missing | ||
File is new | checked-in | checked-in |
Overwrite file that is not checked out | checked-in | checked-in |
Overwrite file that is checked out by current user | checked-out | error |
Overwrite file that is checked out by other user | error | error |
Doclibs requiring explicit check-out / check-in | ||
---|---|---|
Required metadata filled out | ||
File is new | checked-in | checked-in |
Overwrite file that is not checked out | checked-in | checked-in |
Overwrite file that is checked out by current user | checked-out | error |
Overwrite file that is checked out by other user | error | error |
Required metadata is missing | ||
File is new | checked-out | error |
Overwrite file that is not checked out | checked-out | error |
Overwrite file that is checked out by current user | checked-out | error |
Overwrite file that is checked out by other user | error | error |
If you wish to apply different criteria to check-out and check-in operations then we recommend creating a simple workflow that evaluates the status of the file and based on the outcome checks it in our out.