Drupdates
Don't wanna share your custom modules on Drupal.org? Or do you have a highly secured intranet environment not allowing to update your modules from the official Drupal.org update server? You can now set up your own update server!
Drupdates allows you to set up a release-history server within Drupal. You can add projects and upload releases within seconds.
What's in it?
The module contains two content-types and a custom page. The content-types are Project and Release. A project contains basic information about the project, like a title and API Version. A project can have multiple releases. A release contains the tar.gz-file and zip-file for a specific version of the custom module. To make it easy to manage these releases, Drupdates thankfully uses the Inline Entity Form module.
How to install
To install Drupdates, just download this module and install it on your Drupal website. The module won't mess up your website, so it is possible to integrate it in your existing website. After activating the module, two additional content-types will be available and an extra permission has been added to the permissions list. Make sure you give this permission to anonymous users, since servers typically will not login to your Drupal website.
Dependencies
Drupdates requires the following modules to work:
How to deploy projects
To deploy a project, follow these five steps:
- Create a new project and make sure it has a unique short name.
- Add the following lines to the .info file of your project:
project = Your project short name
project status url = http://drupdates.your.server/release-history - Package your project as a tar.gz-file and zip-file. Preferably use the short name and version as file name.
- Now add a release to the project by uploading the tar.gz and zip.
- You're done. You can now download the module from your Drupal website and it will check for updates on your private server!
How does it work?
Building Drupdates was actually quite easy. By looking at the release-history of the official Drupal repository, it was very easy to reverse engineer it. It just serves an XML-feed with releases. A minimal version of this XML-feed has been implemented in Drupdates.
What's next?
There are still features that should be implemented:
- It would be nice if the tar.gz-file is generated based on the zip-file and the other way around. This way you only have to create and upload one file.
- You now manually have to set the project and project status url in the info-file. Of course it would be more user friendly to set add these automatically after uploading the release. The version information can then also be set.