Closed chillu closed 5 years ago
Given an hour spend working on archive issues is an hour not spent on other product issues I'd happily vote to ditch it. I'd imagine the developer experience without using Composer is pretty horrid.
While a part of our history, it doesn't need to be part of the future - saying that I am one of those downloads from last month to get it up and running quickly on a friends machine who already had a MAMP running locally but no composer etc. I think if we remove the archive option it would have forced me to change that for them, which ultimately would have provided a better experience for them and forced lazy Stevie to actually teach instead of just going for the easiest option.
+1 to remove.
Let the past die. Kill it if you have to. That's the only way to become what you were meant to be.
My head just kind of exploded a bit because Maxime gave us his opinion in the form of “une maxime”.
8 core committers in favour (@dhensby @kinglozzer @robbieaverill @ScopeyNZ @clarkepaul @flamerohr @wilr @stevie-mayhew) and presumably @chillu too (9) so that's a quorum
OK, here's what I'm planning to do on https://www.silverstripe.org/download/
Once you're done with all that, I'm happy to take a look if you think things might need moving around to make a better layout.
OK, I've created four pull requests, incl. removing >800 LOC from cow
, making it a whole lot simpler to maintain and execute :) Credit to @tractorcow and others for creating an awesome codebase on cow
, was super easy to follow and extract the relevant bits (well decoupled)
@clarkepaul The proposed changes are now up on UAT: http://sssites-ssorg-uat.sites.silverstripe.com/download/. Note that I've removed the "release archive" menu entry, since it somewhat duplicates the Github feature at https://github.com/silverstripe/silverstripe-installer/releases. This is all an effort to simplify the code we have to maintain. My long term goal is to make that download page on ss.org static, and remove all that noise around version parsing, CoreRelease
data objects, packagist refresh jobs in the CMS, etc. - this is the first step towards that. Can somebody with access to the ss.org codebase please peer review the required code changes? https://github.com/silverstripeltd/silverstripe.org/pull/146. Maybe @unclecheese since he wrote a some of this? :D
Page still looks pretty clean placement wise, no need for any re-shuffling. Text wise it has been stripped back a fair bit so I might be recommending some more text on the four steps (or make the text bigger) so they hold the space better e.g. adding some text about adding /admin to access the CMS. That's all CMS editable so can be done at any time I guess.
We could also redesign the top of the download page, now that the extra download buttons are gone it's quite gappy but I would think that it's good enough for now (can make recommendations separate from these changes).
That's all CMS editable so can be done at any time I guess.
Yep, 90% of it. Happy for you to have a go on UAT?
We could also redesign the top of the download page, now that the extra download buttons are gone it's quite gappy but I would think that it's good enough for now
I'm keen to separate any redesign efforts, and roll that into the larger discussion about "try vs. download" we're already having this week. Can happen after this goes live IMHO
Yeah sure, that's what I was trying to say... nothing of concern blocking deployment, we can make UI updates as separate issues if we feel it's justified.
Live now: https://www.silverstripe.org/download/
Just a note about the current download/release-archive page. I asked about this in the forum before knowing about this GitHub issue. The release archive page is a little bit confusing now that the zip releases are gone (of course removing zip releases is a good thing, I'm not blaming that).
TL;DR: I'd suggest to add a small description telling that zip releases are not offered anymore, and a link to this GitHub issue. For more: https://forum.silverstripe.org/t/what-happened-to-the-release-archive-page/2624/5
Hey @Taitava, thanks for the suggestion - we actually have a task in our internal backlog to do exactly that, but it hasn't been actioned just yet.
Overview
SilverStripe started as an "archive" download before
composer
was a thing. Since then, we've spent a lot of time makingcomposer install
as smooth as possible, including writing our own recipe-plugin for it. While you can still "install" SilverStripe from an archive, your website becomes practically unmaintainable withoutcomposer update
since modules don't provide their own individual archive downloads. So in effect, everyone using SilverStripe is already using composer.The archive download on silverstripe.org complicates our release process (S3 buckets, additional
cow
release steps). It has been a time sink (e.g. path lengths in tar.gz), and there's more outstanding issues (e.g. 300MB file size due to.git
inclusion, builds for PHP 5.x). Rather than fixing those, I propose that we remove the archive download option.There's likely some edge case uses which rely on archive downloads for some scripted purposes, which would break when we stop publishing those archives. But I highly doubt that they're part of production deployment workflows, given the existing limitations outlined above.
Validation
I've done some research on this based on our recent drive to remove the installer.
curl
).Notes
I've confirmed that our CI counts towards those stats, see notify-on-install which is enabled by default. I can't see how projects would count towards those stats after the initial installation, even if they keep the
silverstripe/installer
name in their rootcomposer.json
. Tracked this down to InstallationManager->notifyInstalls() in the composer source code. When runningcomposer create-project silverstripe/installer installer; cd installer; git init .; git add .; composer update
, I don't get another stat count. Since custom projects would be "installed" viagit clone <url>; composer install
rather thancomposer create-project
, they wouldn't count towards install stats either (different repo URL). I've confirmed that with some debug output inInstallationManager
oncomposer install
, here's the full payload which is sent topackagist.org/downloads/
. Note that it doesn't includesilverstripe/installer
:Pull Requests
/cc @silverstripe/core-team