-
Notifications
You must be signed in to change notification settings - Fork 13
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
Create a process for ad hoc updates in between schema versions #279
Comments
@siwhitehouse - my assumption is that as soon as we change any text, this will have to follow the same process as schema releases (in terms of freezing, translating, releasing). Obviously with less need for review, example testing, etc since we're not changing the schema/standard itself. Elaborating on the options gives four kinds of release:
Does that sound accurate? Aside: I think some better tagging of released versions, and perhaps using a release branch system would help if we need to separate these kinds of changes in the future, and avoid the need to 'freeze' development on master. |
Talking in our sprint planning it seems like there's some appetite for a better git branching system to help manage translations and release fixes etc. @Bjwebb - do you have thoughts on this and whether it's something we could prioritise in our sprint call tomorroqw? I also note there's a smaller related ticket in openownership/bods-dev-handbook#13 about branch names, which ties into another question I was going to ask about tags. I note that we're very explicit about using branches, not tags: https://github.com/openownership/bods-dev-handbook/blob/master/standard_releases.md#versioned-releases but I'm not sure why that is? I was surprised when I tried to find the canonical v0.2 in github that it was a branch, not a tag. |
This was to allow the possibilities of technical updates that did NOT change content being made to each version. For instance, you can see we have used this option to add a banner redirecting people to the latest version from older versions (I looked into using the RTD features for this, and it turns out we couldn't because we had named our tags "wrong", and in the end I determined it was less work and less disruptive to just add a banner by hand to each branch.) |
@stevenday Your assumption is correct, in that once we have an update to the docs or the schema we will need to go through the translation process. It is better to have certainty that what is uploaded to Transifex is the finalised version for any of the scenarios. I have seen Transifex remove the translation for a whole paragraph based on a single character changing. To my mind the freeze is important as it removes the possibilities of confusion in Transifex as much as anything else. As for the scenarios you've outlined, these look good to me. I've commented below
Apologies for my ignorance here. What might have changed in this scenario?
Yes.
Yes. @kd-ods has flagged the difference between an update and a correction and that we might want to retrospectively change previous versions of the website documentation in the case of corrections.
Yes. With the acknowledgement that we might decide a different git branching system that supports this. |
Great, thanks @siwhitehouse. With that agreement then, I think we could close this ticket? We've basically accepted that the 'ad-hoc' release process is much like any other (which I presume is already documented), unless there are no text changes at all (the example I was thinking of was purely styling/theming changes). |
Thanks @stevenday. At the moment, the documentation describes undertaking a first translation. but not subsequent updates. My apologies, as I should probably have made that clear earlier. Also, myself and @kd-ods have been discussing this and we think there are a few other factors to consider.
At the moment we use The recent development work has all been merged into The above is not documented on the translation page of the handbook at present.
For instance, the privacy notice. If someone is browsing an older version of the standard, but we are now tracking them using Google Analytics, then the older version of the schema needs to have been updated retrospectively. There are other instances where this will be the case.
We left the documentation at the point where it describes undertaking a first translation.. We think that we need to come to decisions about 1 and 2 above so that we can properly document both ad hoc updates and version updates. @kd-ods could you check and fill in anything that I have missed here, please? |
Aha, thanks @siwhitehouse - I realise now I've not really seen the full picture with the branches and what we'll need to do in order to 'release' our updates. I think 'in the context of our branching system' we will just need to 'backport' the right changes (i.e. git commits) to all the live branches that need them. As you say, for the recent theming and GA work, that's all of them - we want all the versions to have the same styling and tracking. Technically, I think the best way to do that is via pull requests to those specific branches, where I cherry-pick across the right commits onto v.0.1.0, v.0.2.0, etc and then we review them individually in those contexts. On reflection, we're effectively using something like gitflow already, but our release branches are long lived, rather than being created to get to a tagged version and then deleted. I don't think we need to change anything right now. We can perhaps consider adding the explicit step of creating a branch when we're beginning to prepare a new schema release, rather than as the final act. However it'd only be necessary if the 'freeze' usually associated with that process would unduly block other work happening in parallel, which doesn't seem hugely likely at the moment. I've started openownership/bods-dev-handbook#17 to put these thoughts to 'paper'. I'll also work through creating those pull requests at the same time so that I can test my ideas. |
Cheers @stevenday (and the thanks are really due to @kd-ods who did most of the thinking about this). I follow most of what you've written above. If I use the current PR for the |
@siwhitehouse - yes, I think that's right (and I now realise it's what we say in the current docs about branching too). |
OK - I think that will work this time around for adding a new translation to an existing version release branch, but that's contingent on a number of factors (e.g. Simon's not having pulled in strings anew from master to the v0.2 project in Transifex). Part of the thinking and documenting we need to do is around robust process for this type of thing in the future. And we need to be very clear about the use cases we need to cater for. I've started thinking about this and shared the thinking with Simon.. Good to see WIP in the dev handbook. Will comment there. |
I think this can now be closed, as we've merged some changes to the dev handbook which describe the various ways to make changes to the schema (from releases to tiny ad-hoc changes) and we've followed them at least once. |
@stevenday FYI, for OCDS's non-normative content, we allow publication of updated English content before translation. We just put a box saying the page has changed in English (and try to translate asap). You can see an example on this staging page: https://standard.open-contracting.org/1.1-dev/es/guidance/ Assuming your translation policy is similar, you can do the same by modifying and running this script during deploy: https://github.com/open-contracting/standard/blob/1.1-dev/util/add_translation_notes.py We run it after running |
We do not currently have an agreed mechanism for making ad hoc updates to the website in between schema versions. We need this so that we maintain consistency between the English and translated versions of the website.
The text was updated successfully, but these errors were encountered: