Checkin / Checkout

Firstly an observation, I have an IT background, but any Project Admin etc responsible for selecting and getting an EDMS up an running would look at Mayan documentation and just run away. It might be accurate, but it is about as bad as I have seen for an admin system and I have seen some bad ones. It needs to be rewritten completely from a user perspective (no I’m not volunteering). here’s the text for Versioning (I’m sorry it makes this a bit long, but I did want to illustrate my point) :

Since document versions and their pages are nothing more than pointers, they can be modified without affecting their underlying source.

Document version pages can disabled, enabled, appended, removed, or even reordered. All of this is achieved in a non destructive way (the original uploaded file is never changed in any way), all of the changes happen only at the application level for the document version.

There is no limit to the number of versions a document can have. Document versions can also be deleted in any order and at any time.

Although many versions for a single document, only one version can be marked as the active version.


Transformations can be applied to document version pages as they can be applied to document file pages. However, since document file pages are the source for the document version pages, transformations applied to a document file page will be reflected on any document version page, transformations applied a document version page will not be reflected on the source document version file.


Since document versions are virtual objects, they cannot be downloaded. Instead document versions are exported as a PDF and this PDF representation of the document version is then downloaded.

I am more than familiar with check in / check out (from both a code and document basis). I’ve used Project in a Box check in / check out and versioning for project documentation. It’s simple and works.

So I add a document to Mayan.
I even manage to get it into the container I want (Mayan manage to obsfucate this really well)
I then Check the document out, it has an X and other access is denied. Here’s the documentation:


Checkouts are a way to block certain accesses or actions of a document for a period of time.

An user can choose to checkout a document to work on an update and block new versions of that document to be uploaded by other users. Document are checked out for a certain amount of time and if not manually checked in by the original user, will be checked in automatically by the system.

To be able to check in documents that were checked out by other users, the permission ‘Forcefully check in documents’ is required.


So where is the document checked out to (note there is NO documentation for checkin)? I edit the original document that I imported, thinking it might be checked out over that, and checked back in, but changes not applied so not there. Exactly where do I go to edit the document I checked out so it can be checked in?

This simple task is mindbogglingly difficult (yes if you know, you know).

And versioning isn’t really versioning, I have to manually add a version number - really weird. PIAB works by every time you checkin it starts at 0.1 to the version and then you checkin as release where it increments the number to the left of the decimal point and resets the number to the right to 0. A typical versioning scenario would be : 0.1 0.2 0.3 0.4 0.5 1.0 (Release) 1.1 1.2 1.3 2.0 (second release) 2.1 and so on.

I’m just not getting Mayan. I see the potential, but every time I try and do something intuitively, it’s something else entirely. rant mode off.

If someone can just explain to me how checkin/checkout works (as far as the document to be edited when checked out) I’d appreciate that.