Hermes: An open-source document management system
hashicorp.com
hashicorp.com
This Hermes seems nice and being open source is a great thing but it's still in alpha, do not support custom file types and very Google oriented.
If anyone has a good mature alternative I'm all ears.
It's written in Rust but I never managed to continue the project sadly :(
Maybe yes, maybe no. Despite what many say, when digging into a specific domain and topic, I don't find "almost any language" is approximately equal when it comes to the effort and joy of building and maintaining a project.
(A theoretical explanation: It would be statistically very interesting if this were the case, since that level of uniformity would not be expected across all domains and topics.)
(Personally, people have particular preferences of varying intensity. Once a software developer has learned ~5ish diverse languages, I tend to think languages, their ecosystems, and their community are viewed with more nuance.)
Also, open source projects tend to involve a whole broad set of motivations.
Thanks to the author for sharing this! I aspire to have the same gratitude even if it was written in Cold Fusion.
> ... there's no need for super-optimized memory management.
This is not the only benefit of Rust.
Note: I can see hints of constructive criticism in the above comment... (But what are the specifics? Probably not rewrite in another language, methinks. To change the README?) ... so I'm offering constructive criticism as well. I can also see what might be armchair quarterbacking and overlooking of personal motivations.
Depends on the scale, and the original comment in this thread mention "serious performance issues" as something they care about, so choosing a faster language is not that far fetched as an idea (algorithms trump but still...)
My use case with CMS is business related. I'm looking for a solution that can
handle millions of documents and folders,
versioning files,
handle metadata to the saved files(types),
be able to search between documents fast,
has a standard protocol or at least a nice API(nice==documented),
able to handle java transactions (xa) and
has a UI for manual testing
Self hosted option
However, support isn’t great. I’ve been stuck on a 7 year old version because the upgrade path past 2.8 is very murky and I’ve been unable to figure it out to date. Older versions of the docs have just vanished from the internet. There was a Tim when the lead had health issues and it halted development for several months (glad he recovered though, seems fine now, but it all depends on the one person)
It’s stuck running on an Ubuntu 16.04 VM that I can’t update and is heavily firewalled because of that.
If I were starting over I’d be using paperless-my instead.
Note this is for personal use, I scan everything and destroy the documents but it amounts to maybe 10–20 documents a week at most.
SharePoint had better search than Nuxeo, for instance.
Tired looking design, forced 'Book a demo' (why? Just give me the damn product) nonsense, still using SVN for their opensource version, etc.
It might be a great package but most people will never know with the lack of demo and red flags all over the place.
I've seen some inhouse developed system due to the high price tags, but these had there issues too. With long archival times I would always recommend something as "KISS" as possible, even for smaller environments. Supporting special features for a long time can we demanding task on its own.
One thing I'm missing especially is a standardized API like you have SMPT for email systems.
The same with file formats originally used for archival (e.g. PDF/A) have much to many revisions with too many features.
We had quite good success with conversation of complex data formats to TIFF (limiting to basic features of this format) or plain text at the time of the archival together with the original format.
Respectfully, I’d never describe Sharepoint as nice.
It’s been hell since the first time I encountered it 15 years ago.
All of them have different levels of pain.
Someone has never seen the advanced permissions tab...
There is not "eh, they're all kinda bad" left in your head after you try to understand that mess. And forget actually being able to validate your permissions, it's basically impossible without some actually licensed fake account that you can use for testing.
Also, in what world is "denying someone access to a folder" the same as making the folder invisible? What went through the head of the designer?
It's the only way I'm aware of to have a modern tech like office productivity suite that's genuinely compliant with security and compliance regulations applying to the most heavily regulated industries. Google's offering is not that. You can get there with mashups of other tools if you start with a compliant (but clunky) groupware live discussion offering and identity aware role based access to a versioned collaborative document store.
Most firms are not required to have this level of regulated compliance, so most firms don't have to put up with the downsides. If you do, it is the least worst.
You're right about their Mail solutions though they're not that great.
We've relied for a long time on a home grown document management system, which is simple and excellent. Unfortunately it's built on Lotus Notes, which just isn't sustainable forever.
I am a committer and PMC member in the project, so I may be biased.
It was basically a freemium model, which means that a complete OSS solution is out of reach.
This basically looks like the same thing. I guess Hashicorp is slightly better at OSS, but... I dunno.
A DMS needs:
1) storage (duh)
2) metadata
3) permissions enforcement
4) search / indexing
5) rendering to pdf and pdf signing services
6) workflow engine for document lifecycles, versioning, approvals, rendering
7) a bunch of virtual filesystem interfaces like CMIS, maybe JCR, webDAV, SFTP
8) a decent web client
9) a decent integration API
It's quite the laundry list. A "modern" one should probably be cloud-aware (so docs can be stored in cloud object stores, utilize interface with the various semi-document features of S3 or other object stores, etc.
IMO it should also be implemented perhaps as a non-cloud self-hosted option atop Cassandra or some other scheme with good global replication and scale.
Honestly I don't understand why a consortium of governments and businesses with high regulatory requirements don't simply get together and develop a common platform for this. They'd rather give billions of dollars to Documentum or Oracle. If they want support, SOMEONE will provide paid support, like Postgres
This is a great recipe for billions expended on a system that should cost a few million at most.
Or have a cooperative of businesses write the necessary software.
In Germany we have vaguely similar thing going on with DATEV: Basically all tax advisors are members of the DATEV cooperative if they want to use their software suite, which for all intents and purposes is able to implement absolutely anything a tax advisor is required to do while at the same time implement all regulatory requirements such as confidentiality, archival rules, reporting, logging etc.
In my opinion there should be a similar thing going on for all industry to implement the regulations required by GoBD, GDPR and so on.
Authors in larger organizations are more editors than authors, and documents require submissions and detailed reviews by many different people. A management feature would be summarizing comments (RID - review item discrepancies, AI - action items, etc) and status of each comment; plus document deltas; plus document delta markup (change-bars in the margins of presentation versions like PDF).
Another feature would be support of document hierarchies, where changes to one doc invoke functions/procedures/status changes on subordinate docs.
Another feature would be tagging a set of matching documents as a "release" set.
The enterprise products support much of this. And the price is not small.
The point I'm (badly) trying to make it is that my intuition tells me very few companies will actually pick up and adopt software like this. If they do, there might be many nuances in their process and they might find the versioning easier to do with simple duplicate Notion/Office/GDocs parent templates.
A few years after I moved out of documentation I went back to Alfresco to download a document, only to find none of the tools still in use. jessica_edit_v2_final.pdf type documents all over my beautiful server!
A DMS is very good for storing reference documents however.
The only company I worked for where DMS was really successful, there was someone in charge of managing it full time. The only documents which could go in had to have been reviewed and signed by the relevant persons. Documents were considered as not existing unless they were in the DMS and producing said documents was a significant part of our objectives as they were contractually mandated by our customers.
This had the nice side effect of making retrieving documents very easy.
Law firms are heavy users of a DMS, especially versioning. Insurance companies use it too, but probably not versioning. So there are customers, but quite specific.
Most people have only interacted with file management systems, which are far more basic in their functionality.
https://www.glean.com/pricing is the worst ‘pricing’ page I’ve ever seen XD
By titling itself as a document management system I would assume it would be something like paperless-ngx[0] or mayan edms[1]. The latter of which has a built in workflow system[2].
But by being tied to google docs you can't really self host the important parts
---
0: https://github.com/paperless-ngx/paperless-ngx
No thanks.
Algolia is shockingly fast in any part of the world. That would probably not be true for your single region Lucene cluster.
Also mildly irrelevant to a document management system, but meh.
its amazingly simple and easy to use. It's rapidly becoming my fav self hosted service. Now you get my backlog of documents scanned and destroyed.
Google Docs are the books. Hermes is the library.
Notion’s success (for example) is more about it making it possible to create a useable library of documents than it is about being an editor with neat widgets.
I don’t know if Hermes is going to be particularly successful given it’s competing with things like Notion, but in principle, a library for Google Docs is a great and valuable project for teams using Google Docs.
It’s shockingly bad given that Google literally is a SEARCH company.
1. Like Google Search, you shouldn't try to organize your files, you should just let search do all the heavy lifting.
2. You should definitely organize things yourself, but search is a nice backup if you make a mistake -- anyone here create a document in Drive and have no idea what folder it *actually* ended up in?
3. Search? That's another team.Think gerrit for docs.
For plain text, diff is do-able, but I don't know if comparing two PDFs can involve a detailed "diff" vs. a checksum, since the text could be the same but there's a change in layout, an image, etc.
The diffing isn't there, or at least not to the degree that code review tools offer.
I'm not sure the feature has evolved in years either. Definitely feels like one of those things a Google engineer threw into production one day, and it's never been considered again.
The lack of code blocks in google docs makes it tough for a centralized document repository for an engineering org. For companies using Quip it could work really well...except that I don't think quip lets you embed the editor like that.
Everything that's been built so far for Hermes looks cool. My personal opinion is that it'll need more UX iteration for it to really take off.
https://workspaceupdates.googleblog.com/2022/12/format-displ...
Sacrificing one such bill with every delivery magically makes Hermes minions much more reliable.
Same applies to all the others.
This may sound sarcastic, but it is how it is. I don't envy the subsubcontracted delivery people, and I fume at the thougt of privatization, outsourcing to the lowest bidder, while their websites proudly present meaningless labels praising customer satisfaction, trust, reliability, whatever, while their hotlines are useless. But again, that's just how it is. I can't influence that shit. Except by 'tipping' the scale of the stressed, overworked, and time pressured person towards that 5€ dangling before his eyes, if package is delivered to my door.
Getting the right staff in the right place sometimes makes a big difference.
Some take their time and work slower, some leave them buy your front door and don't ring the bell, some dump them over the fence, and some just mark them as delivered and drive home with the parcels.
https://github.com/gollum/gollum
Edit and view pages as a normal markdown wiki. But the backend is just a git repository of markdown files so you can also just use your text editor and git pull/push. Usable by any novice but with the ideal power user interface.
Super handy for devs who both dev and wiki doc.
Or like Obsidian for business people.
Or Notion but can (optionally) work offline.
https://www.craft.do/solutions/businesses
https://open.nytimes.com/we-built-a-collaborative-documentat...
> 4,773 repository results
At least people have last names.
Source - https://www.silive.com/nation/2022/03/most-popular-baby-name...
I think it's his job now to get distracted. :) Though I see no reason from this post to think Hermes is one of Mitchell's projects.
After 2 epochs make the legacy^2 wiki available only upon request that is active only for a week at a time.
Also, it sounds these ideas have been learned from many painful lessons?
IMO, document management's root problem can be well understood with behavioral economics: a nice library is a public good. Maintaining it is costly. More people need this to sink in.
So, with this realization, we should design accordingly, with _all_ necessary organizational and behavioral levers in place.
This is what social software means to me. ^
Box has Box Notes and Box Canvas for composing documents. Beyond the actual files, it has automated workflows like review & approval processes, document metadata, flexible sharing permissions, full text search, and a laundry list of other features enterprises want/need.
I wonder why Hermes doesn't handle files by itself instead (or in addition) of relying on Google?
Algolia search is a tough decision, because it means instant "no go" for projects with confidential data.
Markdown is so ubiquitous as a dev that I strongly resist writing anything else these days.
Looks like it only supports bold/italic, links, and headers.
Support documentation: https://support.google.com/docs/answer/12014036?hl=en
Wired article going in a little more depth: https://www.wired.com/story/how-to-use-markdown-google-docs/
- microsoft office - confluence - markdown?
I wonder if it exposes a good interface to implement different backends.
I think if the search works well, it can be of great help!
Congrats for the launch!
If I could store all kinds of documents there, I'd adopt in a heartbeat. My use case would be to combine this with a contract management system and to attach all (email) correspondence to the respective contract, so we wouldn't have to rely on the responsible people managing their inboxes.
In turn, I'd like to attach deletion, visibility and archival rules, such that I conform with GoBD and GDPR (I am based in Germany) where on one hand there are archival rules, such as keeping contracts for ten years after they are canceled, or correspondence for six years, but also have to keep in mind that PII gets deleted regularly.
So after a contract has been canceled I'd like to archive all correspondence and the contract itself, such that the operating team only sees active contracts and correspondence older than six years is immediately deleted.
https://github.com/dosyago/documentspark
The idea is to defuse/prevent any document-borne malware vectors from infecting the device. I incorporate a version of it into the Pro version of my RBI (remote browser), BrowserBox.
Maybe by Unisys? I’ve worked in the publishing industry and that name sounds familiar…
https://workspace.google.com/marketplace/app/code_blocks/100...
https://workspaceupdates.googleblog.com/2022/12/format-displ...
I wish it wasn't only for premium.
This is just a joke, that you learn what Hermes means at one company and have to unlearn that when the next Hermes enters your life :p
I used it for a trending system I worked on long ago.
Great. 50 million incompatible parts combined with duct tape that is no better than Jira workflows with Google Docs, and less flexible. I can't wait to staff a team to maintain this garbage pile.
> leverages several Google Workspace services for creating and modifying documents
Sooo, it's a UI over Google Workspace? Sounds a lot less interesting than I was lead to believe.
It’s a stock market listed billion dollar company with 2000 employees. I would not call that tiny.