Skip to main content

Upgrade Drupal 7 to Drupal 10

Migrating from Drupal 7 to Drupal 10 isn’t a straightforward upgrade; it’s a complete site rebuild. This means that for anyone currently running a site on Drupal 7, transitioning to Drupal 10 will involve recreating the entire structure, design, and functionality of the website. Alternatively, this transition could also be an opportunity to consider other platforms, such as WordPress, which would similarly require a full rebuild but might offer different advantages depending on your site’s goals and audience.

The level of effort required depends on several factors, including the amount and type of content, the specific features in use, and the overall complexity of the site. Sites with intricate customizations, numerous content types, or complex workflows will need more extensive planning and development time than simpler setups.

In terms of cost, rebuilding a site from Drupal 7 to Drupal 10 or migrating to WordPress typically ranges from $2,000 to $5,000. This range reflects the time and expertise needed to ensure a smooth transition, with attention to preserving functionality, enhancing user experience, and maintaining security on the new platform—whether you choose to stay with Drupal or make the switch to WordPress.

PHP 8.3 Now Available

The latest PHP version, PHP 8.3, is now available for all accounts on all servers. For a detailed overview of the enhancements and features introduced in PHP 8.3, see the official PHP documentation here:

https://www.php.net/manual/en/migration83.php

PHP 8.1 will remain the default PHP version for new accounts and subdomains on our servers. As always, you can configure the new PHP version on a per-subdomain basis through the hosting Control Panel > PHP Settings section.

MediaWiki: Missing Thumbnails after Upgrade

After upgrading MediaWiki, it is not uncommon to see this error message:

Error creating thumbnail: File missing

This can happen when all the images are indeed in the correct locations.

One easy way to fix this is to set the $wgCacheEpoch variable as per the manual:

$wgCacheEpoch

Safety Detectives Interview

We were honored to provide an interview for SafetyDetectives. Here it is on their site:

How CiviHosting Ensures Web Hosting Security

Interview on Website Planet

We had a chance to provide an interview for Website Planet, and here are the results:

https://www.websiteplanet.com/blog/civihosting-interview-2/

Miraheze is Shutting Down

As per this statement called Board/Policies/20230615-Statement Miraheze will be shutting all operations. Bottom line is:

We will give at least 7 days notice, but between September 1st 2023 and October 1st 2023, Miraheze will cease to exist as a wiki farm.

We have begun to transfer wikis from Miraheze to our servers. They also mention there:

From the date above for an indefinite period of time as funds allow, Miraheze will have all backups of all wikis available upon request. The domain will remain active with information displaying how to access these dumps.

Any interested parties should use our Contact Us to discuss how we can help. Our hosting is not free, but with us, you indeed get quality hosting and quality support in return for your purchase.

Google Search API

A client asked us to fetch Google search results via API for their project. The docs here:

Custom Search JSON API

have the code ready for Javascript. You must of course enter your API key.

The only other point they don’t mention is the parameters for the search call. The ‘q’ parameter is the standard search text. Then the ‘cx’ parameter is required, and that’s the ID of your Google Custom Search Engine. So this line:

return gapi.client.search.cse.list({})

must look more like this:

return gapi.client.search.cse.list({
“cx”: “XXXXXXX”,
“q”: “My Search Text”
})

With that, it works very well. 🙂

VERP on CiviHosting

Yes, we support sub-addressing, VERP style.

Subaddressing allows you to use multiple email addresses as subaddresses within a single e-mail account. Our system supports subaddresses with minus addressing. It works by adding a “-” sign followed by a keyword to the local part of the email address, just before the “@” symbol.

For example, if your email address is contact@example.com, you can use subaddresses like contact-work@example.com or contact-personal@example.com. Messages sent to a subaddress will be delivered to the main address (contact@example.com in this case). You can use subaddresses for different purposes such as filtering emails, tracking the source of spam, or organizing messages into specific folders.

You can see our FAQ on this here: Email subaddressing.

Note that we only support the “-” character for sub-addressing and CiviCRM by default uses the “+” character. The truth is, however, that VERP separator may be any other character as well. It is configured via the “Administer -> CiviMail -> Mail Settings -> VERP Separator” area in CiviCRM.

Transfer a Domain to CiviHosting

To transfer a domain name from another registrar to CiviHosting, there are a few steps. First are these two steps:

1. Make sure the domain is unlocked.
2. Get the EPP Transfer Code from the current registrar.

Once you have that code, you can proceed to initiate the transfer on our end. To do that:

  • Login to your CiviHosting Client Area. If you don’t have your login for that, then login to your hosting Control Panel and click on the Marketplace tab, and from there you can login to the Client Area.
  • Click on “Order / Transfer Domain”
  • Enter all the details on that page and place your order

We will then start processing your request within 30 minutes.

Cron for CiviCRM in Joomla 4

It doesn’t work. 🙁

Well that’s not really correct. It was broken, but they fixed it as of CiviCRM 5.56 as per the Cron issue with Joomla 4 issue.

We ran into this recently — cron was all set correctly, but it just wouldn’t work. The client had CiviCRM 5.54. We just upgraded that, and now all is well.