Re: [csswg-drafts] Replace the https://drafts.csswg.org/ backend (#7500)

> But some other possible ways to interpret that is that although the source for the server is open, and always has been, maybe very few people are even aware of that fact, and maybe very few people have any idea where the source might even be — until it was stated in the comment above, I personally certainly wasn’t aware of it. And even at this point, I don’t even know where the source for it all might be.
> 
> But along with that, even if others were to know where that source is, in order to try to help through code contributions, they’d need to also know how to test their changes, and how the changes get deployed, what exactly it’s served from, etc.
> 
> But on top of all that, in order for anybody else to try to make fixes to the code or deployment, they’d first need to know what’s broken: What specific part of the code causes the system to get wedged 3 or 4 days out of each week? Or if it’s not part of the code, what part of the deployment system or the server ecosystem needs to be changed?
> 
> I don’t think others in the community have any answers to those questions at this point (I certainly don’t know the answers myself). And without knowing some of that information, how could contributors even start to try to help fixing it?

I have previously skimmed the code that backs drafts.csswg.org and Shepherd (https://hg.csswg.org/dev), and it seems quite complex and hard to approach. I guess this makes sense, since that code doesn't only power the current CSSWG editor's drafts, but although I'm definitely biased here, it seems like the setup in https://github.com/andreubotella/csswg-auto-build is far more simple and approachable.

I do worry about the fact that `build-index.py` (which builds the https://andreubotella.com/csswg-auto-build index and the client-side redirects) uses Bikeshed as a library in order to parse the spec metadata – as opposed to the Github Actions workflow, which uses the CLI to build the specs. I wonder how future-proof and maintainable that is. Though the rest of `build-index.py` could certainly be refactored to be made more maintainable.


> Someone did step up to create https://andreubotella.com/csswg-auto-build/, after having developed a concrete plan to make a working alternative for serving up the CSS specs for end users to read.

> The work on an alternative system has already been done. https://andreubotella.com/csswg-auto-build/ is the existence proof. And it’s already running. I don’t know know much effort was required to create it and make it work — but that doesn’t seem relevant at this point, because the work needed (or the bulk of it) has already been done. So I am not expecting anybody to need to do a bunch more work to create it.

I didn't really "develop a concrete plan to make a working alternative" – I started working on a proof of concept on my spare time, after being frustrated that the server was consistently down when I start working on European mornings. That proof of concept then turned out to be generally useful, and I worked some more on it as part of my work at Igalia. Since I started on my spare time, I don't have a number of hours that it took, but the initial version was done in two days (February 11th and 12th), after which it was already building the specs and auto-updating.

-----

> 4. In addition to generating individual drafts when they are committed, it regenerates all other drafts when the anchor/link database gets updated to keep all the cross references up to date.

The https://andreubotella.com/csswg-auto-build setup can't run Shepherd, and so it can't know when the anchor database would get updated. This is one concern that I had as soon as it was suggested that the same setup could be used for drafts.csswg.org, and I don't think there's a way around it while Shepherd is used as the anchor database for Bikeshed and Respec. But my understanding is that Bikeshed is, on the long run, planning to switch to Webref – which does seem like it could be used from the CI workflow.

-- 
GitHub Notification of comment by andreubotella
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7500#issuecomment-1185418499 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 15 July 2022 10:40:23 UTC