Dashboard > Extend concrete5 > Upload Package
Package magic can 'upload' packages from a range of sources.
Latest documentation for Package Sources can be found at https://demo.c5magic.co.uk/addons/package-magic/package-source-documentation
Uplods are checked for a range of issues and rejected if any problems are found. You have checkbox control over which issues are enabled, by ticking to ignore specific checks. Further checks can be added by speifying glob matches.
If you have a good reson for installing a package containing a file that fails one of these validation checks, you have two choices. You could disable the entire class of checks by deselecting the applicable checkbos. Or you can specify a glob match to exclude just that file from checks using "Skip validation for files matching". For example, if you want to allow .htaccess files, a glob pattern of */.htaccess would allow any subdirectory of the package to contain .htaccess files.
You can similarly specify additional validation through "Detect files matching". Here each line comprises a glob match for the check to apply, then text to use as an error message. For example, entering */Gruntfile.js unwanted Grunt will complain if the package contains a Grunfile.js and provide the error message "Unwanted Grunt".
When a new package is successfully uplaoded, the package is immediately shown in the core Extend concrete5 > Add Functionality > Awaiting Installation section, ready for you to do any of Install, Apply Package Build Tools or even download a rebuilt archive without installing.
When an already installed package is uploaded, the default behaviour is to run the upgrade immediately. If that is not possible, the core Extend concrete5 > Update Add-ons page is loaded to run the upgrade.
Any update to a package source is made atomically. After running a Package Magic Upload, the package source will be either all the new source, or should the upload fail, all the old source.
Latest documentation for Package Sources can be found at https://demo.c5magic.co.uk/addons/package-magic/package-source-documentationSourcing packages from GitHub
Archives for packages downloaded form GitHub projects do not usually contain a root directory named after the package handle. To accomodate such packages, on the upload dialog look for the section Advanced Options and check Fix paths in archive from package handle.
This will look inside the archive to get the package handle from the controller and fix the file paths to match the handle. Caution - this bypasses some checks on correctly formed packages. This option may be necessary when downloading from GitHub, where the internal directory may not follow the concrete5 naming requirement. Beware that archives from GitHub may not actually be concrete5 packages! For example, they may need comp[oser or other build dependancies to be resolved before they can be installed.
Uploading a package can be hindered by systems outside your server. For example, uploading a file from an external URL or by direct upload are dependant on the responsiveness of the external system the file is being uploaded from. If the external system is heavily loaded, it may be a little tardy about serving the file you are uploading, so causing the upload to fail.
Should that happen, often simply trying again will be successful.
Should you continue to have problems with a package or source, Package Magic provides some tricks to spread the load and hence achive a sccessful upload: