Skip to content

Custom Application Installers at Reclaim Hosting

I’m excited to announce that starting this month, we will be allowing Web Developers to share their custom, 1-click application installers with the Reclaim Hosting Community. This means that if you have an application in mind that you’d like to make widely accessible to 200+ institutions, you may do so by building out a custom, 1-click installer and submitting it to Reclaim Hosting for review. We’ll still be watching our Feature Requests for improvements and additions, of course, but now anyone who wants to share their application and build alongside the Reclaim team will be able to do so.

You can view our full list of existing 1-click application installers (both in cPanel/Installatron and in Reclaim Cloud), and you can also learn more about our existing custom 1-click installers (and how they differ from Site Templates) by reading this article.

Overview

This has been an internal topic of conversation at Reclaim Hosting since roughly October of last year. The idea of allowing others to contribute to applications available to the Reclaim Hosting community is exciting for me, but the process is quickly muddied when thinking about all the different types of applications out there. Installatron vs. Reclaim Cloud installers… what are the steps? How can developers test the installers in our environment? What if the applications aren’t kept up to date over time? How do we support installers we haven’t built? How do we make sure that what we’re offering is sustainable for the community? All of these questions were considered as I put together the following webpages:

Landing Page

Given there would be different instructions for Installatron and Reclaim Cloud, as well as potential questions about how to submit an application for review and what developers are agreeing to in the process, it was super clear that we needed a landing page that we could point folks to that had all resources available. I needed this page to offer an overview, include stepping stones for resources, highlight our commitment to sustainability, and take submissions. I used an Elementor template for the design, so it was ultimately quite simple to get up and running once it was properly formatted and we had the correct content to fill in.

Hovering over each block shows “Learn more” buttons.

I also like that this page gives me the flexibility to layer in additional “stepping stones” or resources as this project ebbs and flows. One of the first things I’m looking to expand upon will be a Case Study with Learnful Labs, but I will save those details for another post. :)

For the Submission form at the end of the page, I’m actually using a generic Elementor form here. I tested a Gravity Forms embed, and there was nothing particularly wrong with it, but I ultimately liked the look and feel of Elementor’s. The submission form is made up of three parts: Contact Info, Application Info, and Agreement. To help with the Contact & Application info sections, I created a Submission Checklist page. As for the Agreement step, I added in a checkbox with an embedded link to Reclaim Hosting’s new Software Developer Agreement, so anyone who submits an installer must first acknowledge these terms. Here’s what was used:

By checking this box, you are agreeing to the terms outlined in the Reclaim Hosting <u><a href="https://reclaimhosting.com/applications/software-developer-agreement/" target="_blank" rel="noopener noreferrer">Software Developer Agreement</a></u>. 
<br>
If you have any questions, please <u><a href="https://support.reclaimhosting.com/hc/en-us/articles/1500007028041-How-to-Contact-Reclaim-Hosting-Support" target="_blank" rel="noopener noreferrer">contact Reclaim Hosting</a></u> before proceeding. 

As a small aside, while doing this^, I ended up learning about something called Tabnabbing. Essentially this an exploit that uses the browser’s default behavior with target="_blank" to gain partial access to your page through the window.object API. So basically this just means that when you’re creating hyperlinks that open up in a new tab, you should add rel="noopener noreferrer" to prevent that. The more you know!

Installer Instructions

For each set of installer instructions, I worked with Tim to make sure we were providing an outline of requirements, packaging instructions, and testing information for each environment. Given every application and their required environment(s) will look different, the instructions are fairly open-ended, though pointed towards existing documentation from our providers. For example, this is the quickest way to create a Reclaim Cloud installer, as described from our upstream provider, Jelastic. In terms of testing, Reclaim Hosting is happy to provide access to a Demo cPanel/Installatron server or extended Free Trial access in Reclaim Cloud as necessary.

I chose to use a Tab layout for both sets of instructions in order to simplify the look of each section. Each step is inconsistent in that some have screenshots and they vary in lengths, so placing things in a list format, for instance, would ultimately look choppy and incomplete. Similar to the landing page “stepping stones” I also like that this allows me to add new steps or information with minimal disruption to the page design.

Software Developer Agreement

Incorporating a Software Developer Agreement was a less glamorous, but no less important step for us. In order for protect our community and guarantee that what we’re offering is sustainable long-term, it is crucial that Web Developers are taking ownership of the application installers that they are building. Big shoutout to Chris & Justin Webb for their insight & help with this. Here are the cliff notes:

  1. You (Web Developer) acknowledge that software updates are a continued requirement within an ecosystem that relies upon other products and services. As such, it is expected that you will update and maintain your product on a recurring basis and no less than annually.
  2. Reclaim Hosting reserves the right to periodically review all applications and custom products. Upon review, if vulnerabilities or impacting issues are found that affect (or involve) your application, Reclaim Hosting will notify you of the issue with the expectation you will patch or update your product and submit for review within a timely fashion. Issues are evaluated on a case-by-case basis, and in circumstances where vulnerabilities are severe or present risk to the customer or other systems, Reclaim Hosting reserves the right to temporarily remove your product until such time as it has been updated successfully.
  3. Reclaim Hosting works to provide support to all of its customers and to conduct basic triage, troubleshooting and assistance. However, for in-depth (“2nd tier or 3rd tier”) support related to your application, Reclaim Hosting reserves the right to redirect customers directly to you for investigation or remediation of issues.

Next Steps: Submissions & Review

Those interested in building out a custom application installer may reference the Submission Checklist, which provides a full list of what’s needed for a complete submission. Custom Installers that are submitted to Reclaim Hosting will undergo internal review with our Support and Infrastructure Teams, and we’ll be in touch throughout that process to work through any areas of improvement. This will allow us to make sure that what we’re releasing to the community at large will be solid and around for the long haul.

This is an exciting step for Reclaim Hosting, and I can’t wait for what’s to come.

1 thought on “Custom Application Installers at Reclaim Hosting”

  1. I have to say this is pretty amazing, all the details and the streamlining of the process to something we do ad hoc to something that is now part of our working process. This post, and the broader thinking and organization around this process is a testament to the amazing work you do at Reclaim. So awesome!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

css.php