ciur / papermerge

Open Source Document Management System for Digital Archives (Scanned Documents)
https://papermerge.com
Apache License 2.0
2.42k stars 258 forks source link

Papermerge 3.0 Status #548

Closed ciur closed 7 months ago

ciur commented 1 year ago

Currently Papermerge 3 2.2.x is in active development.

The major feature for 3 2.2.x release, from user point of view, will be the support for OAuth2, OpenID Connect (OIDC) and LDAP authentications.

In general the whole authentication is being carved out into a separate microservice. Sounds great, right? But what does it mean?

It means basically that authentication will not be performed by "papermerge-core" application, but in separate one. By default from 3 2.2.x onward the authentication will be performed by auth-server. As mentioned in first paragraph, auth-server will support oauth2, oidc and ldap in addition to default classical database user credentials authentication. The whole point of this feature, is that in case you want to replace default authentication system with another one e.g. authelia, keycloak etc you etc will be able to do so.

Why? You may wonder why would I need an external authenticator?

Well, because if you want to store your documents securely, then you may consider an 2FA authentication - and here were all external authentications come into the picture. Or maybe you want to authenticate to your Papermerge instance with your github account (which has 2FA enabled of course)? This is where support of oauth2 protocol comes into the foreground.

Another change, which I guess is not relevant for end users, but still keeps me busy, is the replacement of emberjs based frontend with reactjs. Also in frontend I use now TypeScript instead of JavaScript. Frontend code base was moved into papermerge-core repository.

Yet another change, which I think is relevant, is that REST API will be now written in FastAPI instead of DRF; from end user perspective it means much cleaner (and complete, i.e. with detailed definition of all fields) documentation of REST API.

I will be posting development updates in this ticket.

ciur commented 10 months ago

A couple of points:

  1. In order to avoid confusion, and be in line with semantic versioning - the release 2.2 will be re-titled 3.0. This is because 3.x won't be compatible with 2.x.
  2. There is a new documentation page https://papermerge.github.io/documentation/; which is not yet official, but it will be in a month or so. In new docs it is more intuitive to switch between 2.0, 2.1 and 3.0. In new docs, version 3.0 is currently labeled 3.0-dev.