uSimpleUp is made to help Magento store owners stay updated with latest versions of free and commercial extensions.
It works with extensions distributed as a straight ZIP file, with a permanent download URL.
Originally it was created to facilitate upgrades of Unirgy extensions, but I didn't see reasons not to share it with community, if anyone else wants to use it.
As a commercial extensions developer, I had to come up with my own method of licensing, distributing and upgrading extensions, because MagentoConnect did not provide these facilities at the time.
The easiest way proved to be creating permanent download links in this format:
http://download.unirgy.com/gn2684yrn46bnwuy26dsdn19s/Unirgy_Dropship.zip (Sample link is not active)
And instructing clients to download the archive and unpack it in Magento root folder, whether for initial installation or future upgrades.
Because MagentoConnect did not have infrastructure for commercial extensions distribution, and help with manual upgrades started to eat up too much of my time, I've decided to automate the process as much as possible.
Even though the main purpose for the creation of uSimpleUp was handling commercial extensions, it works just as well for free extensions.
Also, until Magento 1.5, MagentoConnect Manager did not have option to update files via local FTP, which created serious permission problems.
Download the archive from this link and unpack into Magento root folder: http://download.unirgy.com/Unirgy_SimpleUp-latest.zip
Disable or refresh cache as needed, and re-login to admin to refresh permissions. The menu entry is under System > Tools > Simple Upgrades
uSimpleUp will handle its own upgrades from now on.
You need to have PHP compiled with or have these extensions installed:
First you need to choose whether you'd like to use FTP to update your Magento files, or just use regular local file updates.
The usual issue with local file updates is that standard linux file permissions do not allow Magento files to be writable for both the user (through ftp) and webservice (apache). To make it work, you'd need to create a linux group that includes both user and apache, or make the files world writable. Both solutions are usually not considered acceptable.
If you use FTP, the permissions issue just goes away, because you use the same user as usual to update the files.
Magento is extremely flexible framework, which means ANY FUNCTIONALITY CAN BE REPLACED OR OVERRIDDEN. Which means if you have a rogue extension, it can replace download links, fetch any login or password information stored in Magento DB, etc. I can not stress enough the need to be in constant vigilance when installing any extension
To register new extensions with uSimpleUp, you'll need to paste the extension download URL, or up to 6 URLs to be installed at the same time, enter FTP password if required, and click “Download and Install” button.
Even if you have the extensions already installed in Magento, they will not be recognized until downloaded using uSimpleUp.
After installation, the extensions will appear in the grid, with some information about their current and last checked versions.
To refresh current version information, click “Check for version updates” button on top of the page. The current versions will appear in different colors depending on their status relatively to latest available versions.
It is extremely important to check the download links in the grid every time before upgrade, as it is very easy to change them through another extension, and virtually impossible to prevent this issue.
You can check the changelog for the latest version of the extension to help you decide whether the upgrade worth it.
Select extensions you'd like to upgrade or reinstall, enter FTP password if required, choose “Upgrade” in mass-action dropdown and click “Submit”.
Yes, if you can distribute extensions as straight ZIP file, with permanent download link for upgrades, you can direct your clients to download the manager and paste your download links in the Install section.
uSimpleUp is not limited to Unirgy extensions.
In your extension's
<?xml version="1.0"?> <config> <modules> <Your_ExtensionName> <version>1.0.0</version> <!-- ADD THIS (changelog is optional) --> <usimpleup remote="http://yourserver.com/version-updates.xml" changelog="http://yourserver.com/your-extension/changelog.txt"/> <!-- UNTIL HERE --> </Your_ExtensionName> </modules> ...
And on your server keep either static or programmatically generated .xml file containing latest version information in this format:
<?xml version="1.0"?> <meta> <Your_ExtensionName> <version><latest>1.0.1</latest></version> </Your_ExtensionName> <Your_AnotherExtension> <version><latest>1.5.2</latest></version> </Your_AnotherExtension> </meta>