Opened 9 years ago

Closed 7 years ago

#11833 closed task (fixed)

Our Drupal instance is showing its age, we need a replacement.

Reported by: zooey Owned by: haiku-sysadmin
Priority: normal Milestone:
Component: Sys-Admin Version:
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

vmweb is still running Drupal 6 to provide our main website.

The problem is that Drupal 6 is outdated and doesn't play along with newer PHP versions - PHP fills the logs with lots of warnings about deprecated constructs and it isn't clear if these warning cause actual problems or not.

The sheer amount of modules used by our website make it difficult to maintain, so we should either upgrade to Drupal 7 or even move away from Drupal and rebuild our website by other means.

waddlesplash and puckipedia have shown interest to try and migrate our Drupal 6 installation to the current version of Drupal. Once any of them makes progress with that, we will know whether or not upgrading Drupal is a feasible option at all (it might not be, due to some of the modules we use no longer being available in current Drupal versions).

Change History (19)

comment:1 by waddlesplash, 9 years ago

I've got a copy of vmweb offline (with passwords/etc. stripped). I started poking at it but due to GCI and other demands on my time I put it on hold. I should have some more time to work on that...

My guess is that a lot of our modules can actually be uninstalled as we're not using them, but I haven't analyzed each in detail yet.

comment:2 by jprostko, 9 years ago

Just my input on this. I would look at going straight from Drupal 6 to Drupal 8. The code is in place to do this migration, whereas nothing exists to go from Drupal 7 to Drupal 8 yet. Going from Drupal 6 to Drupal 7 is a lot of work too (whether going the Update or Migrate route), although you don't have to worry about big changes to theming which Drupal 8 introduced. The main problem right now is that Drupal 8 will be missing a ton of modules that may be needed for site functionality. There's no guarantee that those exist for Drupal 7 though either. So yes, given the work involved, it isn't a huge leap to consider going to another CMS entirely to get out of the "every major version of Drupal requires a site rewrite" paradigm.

Also worth noting is the way that the Drupal hook system works (at least in Drupal 6), you can't just tell if a module is actually being used actively or not at the page or site level. It requires you to essentially just disable the module and then go all throughout your site to see if anything broke in any way. You can't just see if a module was loaded on a given page, as all modules are consulted on all page loads to see if they need to hook in anywhere. In other words, you either know from past experience that the module isn't being used, or else you simply have to go through one-by-one to figure that out.

comment:3 by richienyhus, 9 years ago

If we were to jump to another CMS, what type of CMS would be we be looking at?

I presume the likes of exoplatform CE, eZ Publish CE, liferay CE and Odoo are a bit too large/heavy for Haiku's needs?

So more medium sized CMS' like Typo3 CMS, Hippo CMS, Magnolia CMS, django CMS and SilverStripe would be possible alternatives to Drupal?

comment:4 by waddlesplash, 9 years ago

I think Drupal 8 is just fine for our needs, but feel free to poke around at other CMSes and find out what advantages / disadvantages each has.

comment:5 by axeld, 9 years ago

The update issue is certainly a problem with Drupal. As alternatives I'd also consider Wordpress, and Joomla.

In any case, please don't use Typo3 -- it's (after PHP) the worst thing I've ever seen :-)

comment:6 by jprostko, 9 years ago

Yeah, Drupal 8 should be fine, although it is a major change compared to Drupal 6 and 7 with its use of Symfony2 and Twig. On the plus side, it should be able to migrate most of the data over from Drupal 6, which is something that will be a major pain with another CMS that has a completely different idea about how to store data compared to Drupal.

With regards to other CMSs, my favorite choice nowadays for most sites is concrete5, but well, it's not a major player like the "big three" (Drupal, Joomla!, and Wordpress). Also, their whole Marketplace setup can be a deterrent for many, as you won't necessarily find a ton of free themes and add-ons like you will for the other major CMSs. Back in September they had their version 5.7 release without the usual painless upgrade script that is usually available between versions. That said, they try to go a long time between upgrades of that nature, compared to something like Drupal. In any case, I still think it's a month or two before I would use the 5.7 series in a high traffic, production environment, as I think most of the bugs and performance issues should be ironed out once version 5.7.4 is released.

Other than concrete5, I think the only serious PHP alternative to Drupal is Joomla. Wordpress can be made to do whatever you please, but I still feel at its heart that it is best used as a blogging platform. If a Python CMS was chosen, Django CMS seems decent. That said, I admittedly don't have much experience with it, and I'm not too comfortable with the excessive time to load their home page (at least for me), as I have to wonder if the CMS will always perform like that once deployed, or if it's just a matter of doing proper caching.

Anyway, that is my brain dump for now. :)

in reply to:  5 ; comment:7 by richienyhus, 9 years ago

In any case, please don't use Typo3 -- it's (after PHP) the worst thing I've ever seen :-)

They are moving to from Typo3 CMS to their new Typo3 Neos platform. I don't know if there has been any improvement though.

That said; the only one I would advocate is SilverStripe, this is due to their use of PHP Composer and that they develop most of the immportant addd-on modules themselves, which means that the modules are not merely hacks quickly thrown together and then abandoned leaving us in the lurch.

Here is a comparison of Drupal and SilverStripe and here is a link to their Drupal to SilverStripe migration tool.

in reply to:  7 comment:8 by axeld, 9 years ago

Replying to richienyhus:

In any case, please don't use Typo3 -- it's (after PHP) the worst thing I've ever seen :-)

They are moving to from Typo3 CMS to their new Typo3 Neos platform. I don't know if there has been any improvement though.

When you look at Typo3 you certainly notice that they learned how to do things right in the process, so Neos could indeed be a lot better. However, it still uses TypoScript which is really a bad idea.

comment:9 by richienyhus, 9 years ago

Has anyone had any experience with the Drupal distribution Open Atrium ?

Version 0, edited 9 years ago by richienyhus (next)

in reply to:  9 ; comment:10 by jprostko, 9 years ago

Replying to richienyhus:

Has anyone had any experience with the Drupal distribution Open Atrium ?

I use the Drupal 6 version (v1.x) as a helpdesk/ticketing system for my team at work (essentially to post bugs and feature requests for our Drupal 6 main website).

I've also used the Drupal 7 based version (v 2.x), but it got rid of the ticketing aspect, which is no longer baked in anymore. I guess that was done so it could be used as some sort of group collaboration solution, with ticketing being something that colud be added afterwards on only if desired. In any case, I found it a step backwards from what I was trying to use it for, so I stuck with the Drupal 6 based version.

I see that there is a package for it on Bitnami, so I could host a demo version if there is intrest.

I don't think it would help us at all, as it is aimed for a specific purpose that doesn't really align with what the Haiku website is trying to accomplish. I'm not saying it couldn't have other uses for us, but for the main site I don't think it makes much sense.

Last edited 9 years ago by jprostko (previous) (diff)

in reply to:  10 ; comment:11 by richienyhus, 9 years ago

Replying to jprostko:

Replying to richienyhus:

I see that there is a package for it on Bitnami, so I could host a demo version if there is intrest.

I don't think it would help us at all, as it is aimed for a specific purpose that doesn't really align with what the Haiku website is trying to accomplish. I'm not saying it couldn't have other uses for us, but for the main site I don't think it makes much sense.

Good to know, I thought it might of had more front end features than just the intranet features. I take it Drupal Commons and OpenLucius is long those lines as well?

So would something like Drupal Powerstart as a frontend be a better solution?

On a side note, I found the unrelated Brightspot CMS. It looks nice, but I have not researched yet if it is any good.

in reply to:  11 ; comment:12 by jprostko, 9 years ago

Replying to richienyhus:

Replying to jprostko:

I don't think it would help us at all, as it is aimed for a specific purpose that doesn't really align with what the Haiku website is trying to accomplish. I'm not saying it couldn't have other uses for us, but for the main site I don't think it makes much sense.

Good to know, I thought it might of had more front end features than just the intranet features. I take it Drupal Commons and OpenLucius is long those lines as well?

From what I can tell, yes.

So would something like Drupal Powerstart as a frontend be a better solution?

I suppose so, although this won't help us if we plan on going to Drupal 8. It could maybe be used if we jumped to Drupal 7 though. Quite honestly, I think it's best to start with a vanilla version of Drupal and then only add in what is needed module-wise. A lot of these distributions include the kitchen sink, and then it is hard to tell what you do or do not need to having the site running optimally. Basic distributions that just add Views/CCK/Chaos Tools/Panels (again, assuming Drupal 7) would probably be as exotic as we'd like to go (although I'm not sure what all modules we rely on for the current site). I am always open to using things like Drupal Powerstart on brand new sites, but when trying to migrate an existing site, I like to take advantage of the situation and try to come up with the most minimal installation that I can just to keep the bloat to a minimum.

On a side note, I found the unrelated Brightspot CMS. It looks nice, but I have not researched yet if it is any good.

Yeah, I don't know anything about it either. It seems it runs on Java, which I admit I have no experience with when it comes to powering a CMS. I'm kind of partial to sticking with PHP, but that may just be me. :)

comment:13 by Gedrin, 9 years ago

A migration to another CMS isnt a good idea. We should stay on Drupal.

D8 is just around the corner and it comes with a new migration system, and that could be really handy in this situation. I'll suggest to clone our Drupal installation and start playing, this will be fun! :)

comment:14 by waddlesplash, 9 years ago

Yes, I've already got a clone of our entire Drupal installation offline, I need to find some time to work on it :)

in reply to:  12 comment:15 by richienyhus, 9 years ago

Replying to jprostko:

I suppose so, although this won't help us if we plan on going to Drupal 8. It could maybe be used if we jumped to Drupal 7 though.

Drupal Powerstart lists "Drupal 8 code architecture" as one of its "Core Features". Which sounds like they are backporting Drural 8 features to Drupal 7 in order to smooth the transition between 7 and 8.

Quite honestly, I think it's best to start with a vanilla version of Drupal and then only add in what is needed module-wise. A lot of these distributions include the kitchen sink, and then it is hard to tell what you do or do not need to having the site running optimally.

Of its 8 optional modules, we would definitely use 7 of them. (The Portfolio module could be used as a screenshot gallery, but this is the only module I am not sure of).

Basic distributions that just add Views/CCK/Chaos Tools/Panels (again, assuming Drupal 7) would probably be as exotic as we'd like to go (although I'm not sure what all modules we rely on for the current site).

The required 9th module is the core module, which is the type of basic distribution that you speak of. The optional modules can be installed at a later date as the need arises.

I am always open to using things like Drupal Powerstart on brand new sites, but when trying to migrate an existing site, I like to take advantage of the situation and try to come up with the most minimal installation that I can just to keep the bloat to a minimum.

I am not arguing against a minimal installation to begin with, but rather against installing a mishmash of modules afterwards resulting in dependency hell. The website is rather spartan and lacks many features, yet uses a large amount of modules to do so little.

For instance, I would like us to replace the drupal forums with discourse forms (Ubuntu example), which would make a world of difference to the fourm moderators and the community. However I am uncertain to whether the discourse integration module will play nicely with other modules, so maybe a more homogeneous fourm implementation would be needed.

comment:16 by jprostko, 9 years ago

Richie,

I talked to a friend who has a LOT more Drupal experience than me, and he stated the following that I think is worth sharing:

The problem I see with PowerStart and OpenAtrium distributions is they are installation profiles. Some people have no problem with that, but I don't care to use them if I don't have to. For one, your installation is marked as a distribution (or having used an installation profile) in the status page. Again no big deal for some people. Sometimes, though, you can only upgrade the entire distribution and not individual modules. Another thing they do is stick all of their modules and themes in the profiles folder. I tend to like to keep all of my modules and themes in the same place. Now I have been mostly successful with moving those files to their proper place after an installation and running registry_rebuild. Some worked out better than others. What I've done a couple of times now is install a site with an installation profile and then try to mimic the site using the same modules and themes, only installed manually (and using only the modules absolutely necessary). This might be a viable option for Haiku. Since there is just one site to build, there is no need for the speedy initial installation from the install profile. My thoughts would be install everything that is needed for PowerStart Core and then worry about the other modules as needed. All the modules from the package can be had individually, so they will get their own updates as needed. The only thing to worry about is if the install profile modifies Drupal Core in any way. There are several that do that, including OpenAtrium I believe, which is why I mentioned above that some distributions can only be updated all at once, unless you know what the Core mods were. I might take a quick look to see if it can be done, the whole manual installation of PowerStart. It would cover (1) you wanting a bare bones start and (2) the simplicity of adding PowerStart "modules" as needed to satisfy user richienyhus' request.

He then followed up with this...

I was able to install it and then move the modules to their normal place and then run registry rebuild. You would have to remove the profile folder for cms, but it seems ok. A few errors, but I think they are not actually related to the missing profile, so I'll have to investigate that. Otherwise good proof of concept.

comment:17 by richienyhus, 9 years ago

Good news.

I guess he ran into this bug:

https://www.drupal.org/node/2412819

Could your friend suggest any other alternative solutions for a low maintenance drupal installation?

I think a lot of the druple modules are to do with our heavy use of RSS aggregation, our theme and an (unsuccessful) attempt at simplifying Drupal 6 content creation. Otherwise it looks like it is just events, blogs, news, articles, forum/comments, a contact form, anti-spam and a broken social media sharing module.

comment:18 by pulkomandy, 9 years ago

We also have a photo gallery, but don't make much use of it.

Whatever direction we take, I think the main problem is migrating the existing contents to the new website. This would be a problem if we replace the forum system with something completely different, for example: how would the messages be migrated?

We have the same problem with the photo gallery, the articles, the blog posts, etc.

comment:19 by waddlesplash, 7 years ago

Resolution: fixed
Status: newclosed

The new website has completely replaced Drupal now.

Note: See TracTickets for help on using tickets.