MellenCare is for websites and apps what AppleCare is for Apple devices, an insurance that no matter what goes wrong, we can help you.
There are two parts to MellenCare.
We back up your website, keep it patched with the latest code, test performance and accessibility, and report on this work every month.
We proactively look for improvements, help with support, make changes as needed and evolve sites over time
MellenCare is pre-paid monthly and billed hourly. Your pre-paid hours never expire and can be used for anything that we do here at Mellenger.
Perform the Drupal Updates. See: How to do Drupal updates.
Once you have completed the updates in a client's Drupal or Wordpress site. You will need to log in using the Drupal credentials and generate a new report.
Once you're ready to send the report, click on the email tab.
Schedule:
Check the update schedule here: Schedule
You may manually write improvements that can be made for the site based of the lighthouse & broken links reports.
Drupal core security updates typically get released the third Wednesday of the month. However, keep in mind that it could get released at any time or in some rare cases there might not be a core security update.
For modules, security updates typically get released weekly on every Wednesday, but could occur at any given time.
Source: Security release numbers and release timing
To subscribe to email alerts: log in, go to your user profile page and subscribe to the security newsletter on the Edit » My newsletters tab. You can also get rss feeds for core, contrib, or public service announcements or follow @drupalsecurity on Twitter.
When doing the monthly update for a website, you need to create a report on the MellenCare website and send an email to the client. The report needs to be created after having done the update on the live website.
1. Scan dead links
We have a custom tool “HayCrawler” that will crawl the website and find dead links. The code is there if you need to make any change to it:
https://github.com/Mellenger-Interactive/HayCrawler
To run it for your website, do it on the MellenCare server or locally.
On the server: [Issue on the server right now]
ssh forge@crawler.mellencare.com
cd crawler.mellencare.com
node index.js -r -f json --domain "https://domain.com/"
Locally:
git clone git@github.com:Mellenger-Interactive/HayCrawler.git
cd haycrawler
npm install
npx index.js -r -f json --domain https://domain.com
Once the scan is done, a report will be stored on the server. No need to download it, the MellenCare website will attach automatically the latest scan results to your report when running the generation tool.
Note: The tool will not work on websites hosted on WPEngine, the hosting is blocking our bot even if you unblock the IP of Mellencare through the interface.
If the brokenlinks checker doesn't run properly or get stuck, you can use this site: https://www.brokenlinkcheck.com
To quickly extract results from the Broken Link Check site, save the following code snippet as a new browser bookmark. Then, while on the results page, click the bookmark to run the code. Once complete, the script will prompt you to save a CSV file to a folder of your choice.
javascript: (function () {
var lines = document.querySelectorAll(
"#brokenLinkTable tr:not(:first-child)"
);
var line_string =
"#,Problematic link,Server response,Page containing the link,Source viewer\n";
var i = 1;
var link = document.createElement("a");
lines.forEach((line) => {
line_string += i++ + ",";
var url = line.querySelector("td:nth-child(2) input");
line_string += url.value + ",";
var error = line.querySelector("td:nth-child(5) a");
line_string += error.innerText + ",";
var origin = line.querySelector("td:nth-child(4)>a");
line_string += origin.getAttribute("href") + ",";
var source = line.querySelector("td:nth-child(4) blink a");
line_string += source.getAttribute("href");
line_string += "\n";
});
link.href = URL.createObjectURL(
new Blob([line_string], { type: "text/csv" })
);
link.download =
"Broken Links - " +
document.querySelector('form#inputForm input[name="url_input"]').value +
" - " +
new Date().toISOString().slice(0, 10) +
".csv";
link.click();
})();
2. Run the report generator tool
To reduce manual report entries, a tool is available on the MellenCare website. Access it directly at https://mellencare.com/admin/config/maintenance/generate-report or navigate through the menu: Configuration > Maintenance > Generate Reports.
You will have a select input where you can pick the website you are updating, and clicking “Generate” should be enough to get the base of your report. A link to the report should be displayed in the confirmation report.
3. Fill out the missing information and testing
The generation tool already filled some fields but some need to be updated manually.
All the information in "Pre-steps", "Core", "Extension", "Domain Expiry Date", "SSL Certificate Expiry Date" need to be updated manually.
Locate the "Broken link Data" field under "Post Steps." Upload the "Broken Links CSV" file that you saved earlier to this field.
The lighthouse score needs to be run. Go to the "Lighthouse" tab and run one report for dektop, and one for mobile. The title of the lighthouse report should be explicit like "Anderson Air Mobile Report December 2022". Once ran, it should update the associated lighthouse score fields in the report.
If you find something that is bad practice, that could be improved or need some attention (if something is broken with the update, it needs to be fixed), fill it in "Recommended Website Upgrades and Improvements". You can also notify a project manager, so it can lead to additional paid work.
If you did specific actions to update/fix things, fill the "Actions taken" field in order to keep record of what has been done.
To get the domain expiry date of a website, visit https://www.whois.com/whois/ and enter the URL. Use the date value of "Expires On" to fill in the "Domain Expiry Date" field. Sites with the .gov TLD do not have a true expiration date.
To get the SSL certificate expiry date of a website, visit https://dnschecker.org/ssl-certificate-examination.php and enter the URL. Use the date value of "Valid To" to fill in the "SSL Certificate Expiry Date" field.
After an update, the website should be tested by navigating across some pages. Some websites have specific features to be tested. They will be listed in the QA Tasks section of the report. If time allows it, writing automatic tests for them would be great since it could save you time on the next updates of the website.
4. Send the email to the client
Once you reviewed that everything is ok in your report, send a summary of the report to the Project Manager. They will review the report, enter a brief introduction about the current month's updates, findings, and recommended actions. To deliver the email to clients, go to the "Send Email" tab of the report and click the "Send Email" button at the bottom of the page.
You should have a preview of the email and also the destination email printed for a final review.
Note: The system will block you if you didn't publish your report otherwise the client would not be able to actually see the complete report when accessing the website.
Mellon
The Mellon Solution: Password-Free Access to All MellenCare Sites
With the Mellon module and plugin, you don't need credentials to access all MellenCare sites. The Mellon solution is available for both Drupal and WordPress sites. Here's how you can install and configure it:
Mellon installation for Drupal Sites
The Mellon module activates Mellon Single Sign-On (SSO) functionality on Drupal sites.
To integrate this module into a client project, follow these steps:
Add the following entry under repositories in your composer.json file:
"repositories": [
...
{
"type": "vcs",
"url": "https://bitbucket.org/mellengerms/mellon-drupal.git"
}
]
In the root folder of your project, execute the following command:
composer require "mellenger/mellon:dev-main"
Mellon installation for Wordpress Sites
Add the following entry under repositories in your composer.json file:
"repositories": [
...
{
"type": "vcs",
"url": "https://bitbucket.org/mellengerms/mellon-wordpress.git"
}
]
In the root folder of your project, execute the following command:
composer require "mellenger/mellon:dev-main"
If you're not using Composer, follow these steps:
Navigate to the repository, go to Downloads -> Tags at Mellon WordPress Downloads.
Download the archive of the latest version.
Unzip the files.
Rename the extracted folder to 'mellon'.
Move the 'mellon' folder to /wp-content/plugins/.
Configuration
Important Note: Unlike Drupal, the WordPress plugin requires you to set a default user that will be used for login.
You can find the settings under Users -> MellON in the admin panel.
Activate quick access
Mellon offers seamless integration with several sites we use at Mellenger. Here's a simple guide on how you can set up a browser bookmark for Mellon to streamline your access:
Start by adding a new bookmark to your browser and label it as 'Mellon'.
During the bookmark creation process, when you're prompted for the URL, copy and paste the following JavaScript snippet:
javascript:(function()%7Bvar mellOnServer %3D "https%3A%2F%2Fmellon.mellenger.com"%3B%0Avar mellOnCheck %3D new XMLHttpRequest()%3B%0AmellOnCheck.open("GET"%2C "%2Fmell-on%2Fcheck"%2C false)%3B%0AmellOnCheck.send(null)%3B%0Aif (mellOnCheck.status %3D%3D%3D 200) %7B%0A var redirectUrl %3D mellOnServer %2B "%2Flogin%3Fs%3D" %2B window.location.protocol %2B "%2F%2F" %2B window.location.hostname%3B%0A window.location %3D redirectUrl%3B%0A return%3B%0A%7D%0A%0AmellOnCheck.open("GET"%2C "%2Fwp-json%2Fmell-on%2Fcheck"%2C false)%3B%0AmellOnCheck.send(null)%3B%0Aif (mellOnCheck.status %3D%3D%3D 200) %7B%0A var redirectUrl %3D mellOnServer %2B "%2Flogin%3Fs%3D" %2B window.location.protocol %2B "%2F%2F" %2B window.location.hostname %2B '%2Fwp-json'%3B%0A window.location %3D redirectUrl%3B%0A return%3B%0A%7D%0A%0Aalert("This site is located in Mordor and does not support the language of the Elves")%3B%7D)()%3B
Save your bookmark.
With this setup, whenever you visit a website where Mellon is installed, you can just click on the 'Mellon' bookmark while on the site you wish to log in to. This will momentarily redirect you to a different page before automatically logging you in. It's as simple as that!