CMS recommendations for school doc library, research

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.

If all you want is an Amazon like search you may be interested in this DEMO on building your own. The demo source file (also online) shows how to call the two relevant files:

 
<?php 
  error_reporting(-1); ini_set('display_errors','1');
  define('LOCALHOST','localhost'===$_SERVER['SERVER_NAME']);

  $title = 'Ajax Search Routine';
  $sp    = 'https://www.sitepoint.com/community/t/search-when-iconv-fails/209863';
  $live  = 'http://www.johns-jokes.com/downloads/sp-e/jb-ajax-search/';


?><!DOCTYPE HTML>
<html lang="en-GB">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title><?=$title;?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="style-ajax-search.css" rel="stylesheet" />
<body>

  <div class='hdg rn0'>
    <?php /* ONLY REQUIRED FOR DEMO */ require '_banner.php';?>
  </div>

  <div id="content" class="w88 mga bgs p42">
   <?php require '_ajax-form.php';?>
   <!-- 
    ESSENTIAL:
      '_ajax-form.php' and 'db-results.php'
      MUST BE IN THIS DIRECTORY
   -->   
  </div> 

</body>
</html>

For your own installation, two files are required, ajax-form.php and db-results.php. The latter script requires a database and the following connection constants to be defined:

define(‘HOST’, ‘yourHost’);
define(‘uNAME’, ‘userName’);
define(‘pWORD’, ‘passWord’);
define(‘dBASE’, ‘dataBase’);
define(‘dTABLE’, ‘tableName’);
define(‘dCOL001’,‘column_1st’);
define(‘dCOL002’, NULL); // if NOT used otherwise column name

Entering text into the search dynamically displays the MySQL search results which are formatted with the db-results Html script.

1 Like

LOL - @John_Betong - Your demo is AWESOME and thanks for making it generally available. I was already all over it a few days before you arrived. :smile:

In the end, because the features we need seem to all have already been created in a similar system using Drupal, I have reluctantly decided to use… Drupal. We’re going to go with Drupal 7 for now even though Drupal 8 looks really cool and seems to have a lot done. I was warned that modules may not be compatible and get used to incompatibilities every step of the way as Drupal 8 becomes refined. I noticed that the code base is now HUGE and we are talking 30+ MB HUGE.

Just so everyone who was following and may follow will know and might benefit, I just found that recreating the entire system with custom development will invite problems should we ever leave. I was asked to make sure that someone else taking over can continue to run the project and I do know they have Drupal developers there. In addition tot he Faceted Search like Amazon, there are some other important features that will unquestionably take time to build from scratch:

  • Searches saved to user accounts
  • Multi-language document management (Drupal does both the interface and, more importantly, handles content translations more elegantly such as the same content body in several different languages.)
  • Relationships between files/nodes with arbitrary relationships (which is what the “Relations” module supposedly does and creates tabs for relating nodes)
  • Handling of Documents to either use the text or the document itself
  • Ease in printing out documents to different formats such as RTF, Word, PDF, HTML
  • The drill down Amazon search described above but also using a variety of different interfaces and predefined fields, such as dates.

Thank you everyone SO MUCH for helping me think through this problem and the discovery of all these great tools and information.

1 Like

Drupal 8 has so much more to offer out of the box than 7. More than enough to typically make up for the lack of production ready contrib modules that might be available in 7. Not to mention everyone is going to begin abandoning 7 sooner rather than latter. Drupal 8 while more complex is just such a better system from every stand-point. Things are moving quick in the Drupal community. A production commerce module is expected within a couple of months. Things move quick the community is very accessible.

I don’t disagree with you but the problem is whether the specific modules I NEED are available out of the box immediately. For example, the multilingual capabilities that translate nodes into various different languages easily, the saved searches, etc. and the fact that so much of it is rumored “in progress.” In theory it has way more to offer and everything about the new install seems smoother. But if I’ve got to have programmers fixing bugs every few weeks and upgrade releases regularly, it’s like asking for trouble. I’m probably best having a system that runs and then migrating the site to Drupal 8 when it’s ready. From what I’ve read, most Drupal developers don’t want to start thinking of coding new products in Drupal 8 until the start of 2017 at earliest. If you’re a developer, I’d be willing to talk (as I need to hire someone too) but this seems to be relatively unanimous… but hey, I could be wrong. :smile:

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.