CMS recommendations for school doc library, research

I’m working on a project for document management system for what will be a school document library and research system. I’ve done a great deal of searching but can only come up with either the stock open source CMS that I know (Wordpress, Joomla, Drupal and a lot of second comers) and enterprise resources that never price and always seek to call you to see how much they can upsell. There is some budget but not the massive corporate budget you’d expect. The project:

Overall, the document library will be like many of the systems you’d see in a university, such as one that has the main doc kept in either text, rich text, html along with an abstract (long summary of the doc), an excerpt (short summary of the doc) and:

  • ability to download the doc in different formats (html, doc, pdf)
  • tag docs using an organized tagging system for data entry
  • a drilldown search system (such as amazon where you enter the product, you get various categories you can find in a sidebar and then choose each category to filter through the remaining documents you’ll have in the main page area)
  • Keeps track of revisions and publishes the main doc (while archiving the old)
  • Ability to create relationships between docs, e.g. if one doc references another it will be added to tab in the document that will list the related docs and hyperlinks
  • manage 25,000- 100,000 docs
  • add relationships between docs and many attributes, e.g. language translations for each doc and a link to each document’s translated version.

At the moment I’ve used Wordpress for many of these things since a good amount can actually be built on the platform. It does many other great things too (such as user access levels) but it’s not the most ideal. I have concerns about scalability once more complexity is involved and the list of document attributes to mark and relate to other docs keeps growing.

Joomla is definitely out. Drupal is a thought but everything on that platform seems to require a ridiculous amount of very expensive programming. And unlike Wordpress, the interface leaves much to be desired. With Wordpress I can quickly build a beautiful back end form, plug in some ajax addons and it just works on the cheap as we grow the project, which can be exported and imported into something else. But what other tools are more appropriate for building a true doc library? Wordpress is more designed to be a good blogging tool that has great, inexpensive flexibility. Would really appreciate suggestions and recommendations.


Have you looked at using any Php Frameworks?

A basic framework will handle document storage, input search routines can be copied, pasted and modified to suit your requirements.

Also look at the third-party libraries, chances are somebody has solved your problems and supplied a free solution.

1 Like

Have a look at either ExpressionEngine or Craft, both will do that easily (with a bit of careful planning for data and content structure).

1. ability to download the doc in different formats (html, doc, pdf)
Easily done with both systems, just a case of creating the necessary fields for each file type.

2. tag docs using an organized tagging system for data entry
Craft has tagging built in, with EE you’ll need a 3rd party addon

3. a drilldown search system (such as amazon where you enter the product, you get various categories you can find in a sidebar and then choose each category to filter through the remaining documents you’ll have in the main page area)
That’s possible with both, though Craft would require some custom work, EE has the amazing “Low Search” addon that will let you search and filter as you describe.

4. Keeps track of revisions and publishes the main doc (while archiving the old)
Depends how detailed you need, Craft would require custom work, EE has basic revisons built in but a 3rd party addon like “Publisher” would give you a better workflow.

5. Ability to create relationships between docs, e.g. if one doc references another it will be added to tab in the document that will list the related docs and hyperlinks
Easily done with both systems native functionality, in fact relationships is where both Craft and EE excel.

6. manage 25,000- 100,000 docs
Yep both ok with that.

7. add relationships between docs and many attributes, e.g. language translations for each doc and a link to each document’s translated version.
Relationships I’ve covered under item 5. For language translations there are many ways to play it. Craft “Pro” licence has multi lingual abilities built in, with EE you could use something like the Publisher addon (as previously mentioned) to handle translated content, the “Transcribe” addon is another, or you could use native functionality and set up multiple channels for each language to hold your content.


I want a website that has a document management system and I’m looking for a way to use ExpressionEngine to do so. I been looking around for a plugin but I haven’t found one yet, so does anyone know of any?

You shouldn’t really need any plugins (or other addons) to make a Document manager type app in EE, it has most functionality built in that could achieve that. At least not unless you need some sort of specialised functionality in which case an addon or two may enhance what you want to do.

1 Like

Really… Drupal 8 interface leaves a lot to be desired. I completely disagree. Everything you mentioned can be achieved in Drupal 8 without any programming using fields. Many large university and academic institutions use Drupal.

Thanks to all for a great conversation!

@oddz - They may use Drupal for publishing. And if they use it for much more, like systems that require programming, they do so because someone was sold on a project for large dollars. I find that while Drupal can do a lot under the hood, the interface is generally very lacking and building things requires a tremendous amount of very expensive custom programming.

  • #1 - Can be done.

  • #2 - None of these systems have what is needed to properly organize and manage tags. It’s always the same interface and, at best, an ajax based autocomplete system. What happens when you have 500 tags? How can users find tags that might be useful for them to use, for example, get a list of what tags may have already been created in a certain section? So if I have a site on sports, it would be helpful for users to see tags under “football” or “baseball” and not continue to add marginally useful tags.

  • #3 - Craft certainly requires programming it seems. EE’s Low Search apparently requires more work even though it is very nice. Unfortunately there are precious few videos or examples of what it does or can do. Drupal cannot do this out of the box from my understanding. And my frustration with it is that there are so many half/mostly working addons. Wordpress actually has several addons that work completely in this regard. Unfortunately I don’t think it is the most robust system for this type of work.

  • #4 - This is not internal document revisions, like editing, coming back later, etc. It’s more document relationships. For example, you have a proposal. That’s MyProposal v 1. Then it is reviewed and modified - MyProposal v 2. Then you have it submitted and it comes back with changes. MyProposal v 3. So all these docs are different unique docs but really under a category of one document. This happens a lot in the academic world. Not sure the best way to manage this.

  • #5 - This is similar to #4 - the relationship between docs. What will be interesting is to see how easy it is to actually relate them with the UI. For example, how do I define a manual relationship between docs, e.g. Someone creates another document that cites an earlier document. The person entering the later doc into the system needs to (a) click a button to define a relationship; (b) have some type of interface that allows the user to find the doc sought; and (c) click another button to define the relationship as being “related documents” and (d) create not just one way but a two way relationship. This needs to be managed in a table somehow and somewhere. This seems to be the greatest challenge.

  • #6 - This number is growing but yes, all should handle it. I’ve mostly nixed Wordpress because I am concerned about hitting 100,000 docs, even though I’ve heard others claim it works.

  • #7 - Most don’t understand that this is not multi-lingual sites. Let’s say I am an English speaker and I want access to the Spanish version of the document to download and send to someone else. I should not be clicking on a sitewide Spanish button that changes both the doc and the website to spanish. @bluedreamer - thanks for your very helpful post. I’ll have to look at the Publisher addon.

1 Like

@John_Betong - I think that PHP Frameworks can get very expensive very quickly. I’m having to guess someone has built something like this but I haven’t been able to find any third party libraries that are relatively complete, reliable and that I’d want to build an entire system upon and hope there is someone supporting it in a year. Might you be able to suggest any PHP Frameworks?

You can either use ExpressionEngine or SilverStripe as i also use them to great extend.But using wordpress with necessary plugins wil be the good one option

It might be worth taking a look at the article I wrote back in August on b2evolution - even if you don’t go that route, it’s worth considering.

I just tried that the other day. Unfortunately the “easy install” wasn’t so easy.

Seems no PHP 7 support yet :frowning:

require_once $inc_path.'_core/_class'.floor(PHP_VERSION).'.funcs.php';

inc/_core/_class7.funcs.php): failed to open stream: No such file or directory

Drupal 8 can do all that. Most of it with a minimal amount of programming. The problem is really knowing what Drupal is capable of because it is so massive. None the less, it can do all that.

1 Like

That’s odd. I’ve seen the occasional permissions issue on upgrades, but clean installs have always gone OK, unless the FTP has missed a file upload for whatever reason. I just posted a question about it over on their forums to see what the thinking is on it going forward. Anyway, this is a bit off-topic, so back to the man’s question…

1 Like

Thanks for the vote of confidence in Drupal 8. However the more I look at it, the more I see “it can be done” but will probably take a good amount of custom programming in addition to the question marks, such as the fork in development. I’d sooner go to a product with paid incentive than languish waiting. Things I don’t see in drupal with minimal programming.

  1. Ability to have a managed versioning system. This is important. I’d like to be able to have discrete docs that show each stage to a final completion. I see Craft and perhaps EE allow you to save a draft with a name so that it’s frozen and avaialble later for access by others. In Drupal there are saved versions but they are more like drafts, just like wordpress. They aren’t intended to be able to be retrieved in the same way. I’d also like to be able to make drafts available to some but not other users.

  2. The drilldown search is possible but not simple with filtering. I could not find a plugin that allows me to do the following:

Search using specified criteria (a basic text search or an advanced search page) and results show and a filter can further whittle down results, e.g. filter by date, filter by document type, filter by author, etc. I’ve found several tools that do this on Wordpress including.

This is just one example. You can have dropdowns, checkboxes, etc. and by selecting each one you filter out the results. It’s really nice. I wish there was something similar elsewhere and I’m told there is something near that for ExpressionEngine but it would take extra work. Don’t see any plugins at all for CraftCMS.

I took a look at b2evolution and OctoberCMS and Backdrop - and I don’t know that it’s best suited for the task. There are other requirements, such as being able to have documents relate to each other and tagged (so that there is a tab and list of related document URLs appear). The scope creep has been large. Thanks for the help thinking through it.

1 Like

Regarding Wordpress, I have a site up and a lot done. Problem is that some things will be impossible, like the document draft versions among others. You’re hacking in so much it’s crazy…

I have to agree with you.
I tried it out the other day and was very impressed.

The shear number of free modules alone makes it the most flexible CMS I can think of.

Probably way over-kill for most sites. and the learning curve might get steep depending on what one wants to do with it, but it most definitely can do anything if any CMS can. eg.

Revisioning with Taxonomy Access and Workflow

1 Like

Advanced filtering can be accomplished with views which are built directly into Drupal 8 and are one of the most powerful features out of the box. Drupal also keeps historical info for most content. So offering views for different versions shouldn’t be to much trouble. There might even be a module out there to help you out. Much of it comes down to knowing the ecosystem and terminology to search for. I digress though since Drupal is such a massive platform which requires a lot of time to learn. It isn’t really a set it and forget it platform like others. You really have to devote yourself completely to it.

1 Like

I’ve had a play with SeedDMS in the past and it seems as though it might do what you want. It can be a wee bit problematic to install though…

Apparently, it’s half implemented, and they’re are working on finishing it off - Francois says he doesn’t want to do a quick hack job of it.

1 Like

I’ve found a number of great YouTube videos on how to create faceted search, which is exactly what I want to build - that Amazon like searching. The real problem I’m having with Drupal (and my most serious reservation) is that so many of these modules are “in progress” for Drupal 8 and they are not there. Two of the modules for a video I saw are Drupal 7 only and the 8 version was “we hope to have the community help us bring it to 8” and the like. This is not a good sign. In the forum I saw a number of references to Drupal 8 being something to mess around with for the next several months but not really project ready. And I really do NOT want to get only 75% of the way there only to find out that a Drupal module to link things together doesn’t exist, etc. The cost to create things with a Drupal developer can be ridiculous - as seems the number of modules for everything.

Now I can try to build it in 7 which I know should work. And this seems to be what was recommended in the forum too. For at least another year, Drupal 8 will probably still be in progress and used only by those who really, really know Drupal inside out. At this stage though, using Drupal 7 doesn’t seem like the best idea to begin a project. And I agree with you. If someone is an expert they can use all the modules. But good heavens, it looks like you have to really know how to sift through and install dozens of different modules and connect the dots. I’m unsure about Backdraft CMS too. Just don’t know if I want to get caught in the “work in progress” period. If anyone is really confident and wants to discuss whether this is a project I can work with them on (paid of course) I’d be open to people contacting me.

As of right now, I’m guessing that ExpressionEngine or CraftCMS seem better suited for this project. The only thing that needs to be built from scratch is the faceted search. But with Twig templates and an addon, this seems like it can be done, also for a much more economical cost than Drupal development. And the back end is so much cleaner. Again, thanks so much for the conversation. you’ve all really helped me see where Drupal does shine and consider it as a possibility. Just don’t know if this project is both overkill and whether Drupal 8 and BackdraftCMS are still in the “getting there” stage. Really, many thanks.