ministryofjustice / govuk_elements_form_builder

Form builder helper methods to develop GOV.UK elements styled applications in Ruby on Rails
https://govuk-elements-rails-guide.herokuapp.com/
MIT License
6 stars 14 forks source link

Upgrade for compatibility with the GOV.UK Design System version 3.3.0 #105

Closed peteryates closed 5 years ago

peteryates commented 5 years ago

This is quite a leap. Here are a few things we've changed/upgraded:

Happy to answer any questions about choices we've made along the way. Also, appreciate this is a huge PR and if it's unwelcome that's fair enough.

zheileman commented 5 years ago

Many thanks for this. I need to give it a try, we have a few old projects making use of this gem that would benefit.

One thing I've noticed is you have a few conflicts, probably due to the fact you branched from master and in between I merged a few PRs in the past to master. Would it be possible to fix this conflicts by trying to incorporate the latest changes?

Also, heads up, as I was looking at this, I actually realised the very last PR #104 merged to master has not been released in the gem, so I will be doing this as a matter of urgency and bumping the version of the gem to 1.3.1 as it is a minor change.

I believe your version should be 2.0.0 at the very least because it is a huge change and will have breaking changes.

Other option, that was considered in the past, is to stop maintaining this repo (only leave it for urgent fixes applied to the old design system) and create a new repo that only targets the new Design System. The update the README to point to that other repo.

peteryates commented 5 years ago

Thanks for the reply @zheileman

Other option, that was considered in the past, is to stop maintaining this repo (only leave it for urgent fixes applied to the old design system) and create a new repo that only targets the new Design System

You might be interested in a gem I released that does exactly that

https://govuk-form-builder.netlify.com/ https://github.com/DFE-Digital/govuk_design_system_formbuilder

zheileman commented 5 years ago

@peteryates your gem sounds like it is the way to go. It looks fantastic by the looks of the documentation alone.

So, correct me if I'm wrong, but then, the PR you are raising in this repo is probably not what we want, as essentially we would need to maintain 2 repos going forward, yours at DfE and us at MoJ.

I think a better solution would be to leave this repo as it is, just targeting the old design system (and adding as possible accessibility fixes and bug fixes for old projects to benefit from) and your repo as the recommended option to choose when starting a new project or upgrading an old project to the new design system.

We must update the README in this repo to make it clear this gem is deprecated and to move on to use your gem.

What do you think?

peteryates commented 5 years ago

That sounds like a sensible way to go.

The reason we raised this was simply to aid the process of upgrading to the Design System for all the projects that are currently using this gem. We (School Experience still use our fork of this gem in production and it's doing a very good job - hopefully at some point we'll be able to make the switch.

On my newer version, it's rapidly approaching 1.0.0 and there's already a project using it. It was heavily influenced by this gem (you'll be able to tell by looking at the helper names!) and should feel like it's a natural successor.

zheileman commented 5 years ago

That's great 🎉

Please feel free to submit a new PR whenever you want with changes to the README to publicise your gem and make it clear this gem is only for old projects that can't update just yet to the new design system.

We can continue pushing changes here, specially for accessibility issues, because for some projects it is a huge burden (in terms of resourcing and budget) to update to the new design system, and the middle ground is to continue using this gem but fix the most offending accessibility issues we can find.