-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it easier to update the kit #393
Comments
Any thoughts @edwardhorsford @paulmsmith @paulrobertlloyd @vickytnz @mikemonteith? |
I don't know how easy it is to do 2 or 3, but I think that it's far more likely to encourage uptake, particularly if we start adding a lot more changes at pace? Defo one to sense check with the service manual team but this feels like one that could really help encourage people to use it (especially as it could also help with first-time installs) |
To make upgrades easier, a bundled npm package approach would be good, but the tradeoff is that it becomes a lot harder to modify the behaviour of the internal prototype kit code if you need to do that for whatever reason. Do we want to discourage people hanging on to prototypes for a long time and having to maintain them? The point of this kit is that you can quickly create something and throw it away? |
I think that this comes to who we optimise for:
My hunch is to optimise for group 1 and help group 2 with support - especially if we are bringing parity to the NHS frontend and the design system and rapidly bringing in new components? Though perhaps to Mike's point - are we ok with multiple heroku and github repos if need be? (I do also have a bias about versioning from when I started as a UR and in the absence of design histories versioned prototypes are a lot easier for archaeology - this is probably another note about the multiple purposes of prototypes both as being things used in the moment and also being used as snapshots). |
Anecdotally, I’ve heard people get confused with the GOV.UK Prototype Kit as it's a bit of an opaque box, and difficult to know where certain files (like layouts) are coming from (and once you do release its coming from the package(s), still unclear where in the/which package a particular file is saved). I like the idea of one folder, that you can copy across to update. The other challenge is, the repo for the kit contains lots of code useful for developing the kit, which isn’t necessary for using the kit. I wonder if there’s a way to abstract away some of that stuff? |
if you're considering 3, I would suggest forking the GOV.UK kit and using NHS styles instead |
its common to have a release process, that puts files in a |
I think we'd want to make sure it uses the NHS Design system components too.
I guess it depends on the prototype. I've often had prototypes that are more long lived / get much more complex and detailed as beta progresses. I don't usually bother updating them though.
As an advanced user I avoided v13 onwards of the GOV.UK prototype kit as I'm someone who wants to modify the behaviour of things. I've appreciated having full control in the NHS kit. I'm very much an advanced user though and most likely never touch things outside of |
yeh sorry I meant all NHS stuff, not GOV UK stuff |
also, there's an inherent tension between 'changing anything in any part of the kit' and 'easy to update'. We certainly saw vastly improved update figures when we moved to a module |
Definitely some trade-offs! I guess in theory you can mitigate the need to edit the code running the kit itself by adding various hooks or configuration options - but then it’s hard to know in advance which options people might need?
Did you mean the NHS or GOVUK kit here, or both? For the NHS kit, I wonder whether a good starting point would be to move towards having a single folder (named Then longer-term we could consider moving that to an npm package for even easier updates? |
The NHS kit. I count 12 files in the project root that are potentially not very useful for end users. More a cleanliness/tidyiness thing, though possibly confusing for some. Also, can the
I’d absolutely recommend starting small, and get things into a sensible order before thinking about doing anything more complicated. |
I guess this is an inevitable downside of people downloading the whole thing (either via zip file or git clone) - some of the files are for development rather than for kit users. I did have a Quick Look to see if there’s a way to tell GitHub to exclude some files from the assets zip on release pages like 5.1.0 but couldn’t see anything. We could have a separate release step to bundle up files into a
Not quite yet. It still has the example templates in it. Need to consider what to do with those - see nhsuk/nhsuk.service-manual.prototype-kit.docs#60 The docs folder also contains the main layout file used by the app, with the
Agreed. I think the next logical steps are to complete the tasks to remove |
Have made a first step towards consolidating files within |
This moves the `middleware` folder into the `lib` folder and updates file references to them. This is to enable easier updates to the kit, as the instructions could be simplified to downloading the new version and replacing the `lib` folder, plus a few manual changes to files outside `lib` (which we can hopefully further reduce). Part of #393.
Currently, the update instructions for the kit involve downloading a new copy, copying across some of the files and folders, and manually merging any changes you’ve made to key files such as
config.js
andmain.scss
.We should look at a range of ways to potentially make this easier.
Some initial ideas (in order of effort):
kit/
) rather than everything-except-app/
The text was updated successfully, but these errors were encountered: