Request permission for plugins

143 views
Skip to first unread message

Rick

unread,
Aug 18, 2018, 12:06:52 AM8/18/18
to Jenkins Developers
Hi there,

We will do localization work for some Jenkins core and plugins, more detail is here https://groups.google.com/forum/#!topic/jenkinsci-dev/QJQ_fzfILcI

In order to do localization better, it will be more convenient if we get the permission to merge PR request. 

Slide

unread,
Aug 18, 2018, 11:21:49 AM8/18/18
to jenkin...@googlegroups.com
I think this should all be done via PR's so they can go through the normal review process. 

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/96895823-3596-4774-9a1a-65ee815d6bed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

arch

unread,
Aug 18, 2018, 11:28:44 AM8/18/18
to jenkin...@googlegroups.com
I understand the process. The question is we lack Chinese reviewer. And I want to be volunteer. Thanks.

Slide

unread,
Aug 18, 2018, 11:55:21 AM8/18/18
to jenkin...@googlegroups.com
You don't need access to merge prs to review them. Just have people cc you in the PR for review.

On Sat, Aug 18, 2018, 08:28 arch <linux...@gmail.com> wrote:
I understand the process. The question is we lack Chinese reviewer. And I want to be volunteer. Thanks.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Daniel Beck

unread,
Aug 18, 2018, 12:43:37 PM8/18/18
to jenkin...@googlegroups.com

> On 18. Aug 2018, at 17:55, Slide <slide...@gmail.com> wrote:
>
> You don't need access to merge prs to review them. Just have people cc you in the PR for review.

It looks to me like this is an attempt to get translation contributions unblocked. Rick's previously filed numerous translation PRs in the past that got ignored for weeks or months (unsurprising if the maintainers cannot even evaluate the PR).

That said, I expect more problems from granting commit access to plugin repos to merge localization changes, no matter how well intentioned and executed, while we consider plugins as largely independent subprojects. So the approach here would be to get the permissions from individual plugin maintainers, which seems to defeat the purpose of streamlining the process. Given the list of plugins in the other thread though, it might be feasible for maintainers of the Pipeline plugin suite to grant access -- ultimately up to them though.


I wonder what it would take to implement something similar to what Jesse wrote in the Chinese Localization SIG thread -- something like a "Chinese Translations" plugin that contains translations for other plugins.

arch

unread,
Aug 18, 2018, 6:57:44 PM8/18/18
to jenkin...@googlegroups.com
Yes, we will discuss about how to separate the localization files. But maybe not so fast.

I will continue to do this work no matter I wether have commit permission. I just hope I can push the work faster. One of the plugins maintainers already contact me and wish we can help him to do localization work. I mean the work is meaningful.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Jesse Glick

unread,
Aug 20, 2018, 9:13:27 AM8/20/18
to Jenkins Dev
On Sat, Aug 18, 2018 at 12:43 PM Daniel Beck <m...@beckweb.net> wrote:
> something like a "Chinese Translations" plugin that contains translations for other plugins.

This would certainly be the physically simplest option, if it works.
Depends on whether code looking for locale variants checks the
`UberClassLoader`, or the defining loader of some plugin.

Daniel Beck

unread,
Aug 20, 2018, 9:24:50 AM8/20/18
to jenkin...@googlegroups.com


> On 20. Aug 2018, at 15:13, Jesse Glick <jgl...@cloudbees.com> wrote:
>
> if it works

Neither Messages nor Jelly view resources work. Only 'help files' work.

Jesse Glick

unread,
Aug 20, 2018, 11:27:29 AM8/20/18
to Jenkins Dev
On Mon, Aug 20, 2018 at 9:24 AM Daniel Beck <m...@beckweb.net> wrote:
> Neither Messages nor Jelly view resources work. Only 'help files' work.

OK. Probably relatively easy to fix.

Oleg Nenashev

unread,
Aug 26, 2018, 3:12:36 PM8/26/18
to Jenkins Developers
This would certainly be the physically simplest option, if it works.
Depends on whether code looking for locale variants checks the
`UberClassLoader`, or the defining loader of some plugin.
In the worst case, it is possible to use localization overrides via an engine similar to the Translation Assistance plugin.
 
That said, I expect more problems from granting commit access to plugin repos to merge localization changes, no matter how well intentioned and executed, while we consider plugins as largely independent subprojects.
+1,

arch

unread,
Aug 26, 2018, 10:25:55 PM8/26/18
to jenkin...@googlegroups.com
Commit access is just for convenience. But I think that separate localization resources are not so good for users experience, maybe it's pretty simple. When I first install Jenkins on my computer, I wish I can get a localization page instead of choosing languages plugin.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Daniel Beck

unread,
Aug 27, 2018, 5:27:16 AM8/27/18
to Jenkins Developers


> On 27. Aug 2018, at 04:25, arch <linux...@gmail.com> wrote:
>
> When I first install Jenkins on my computer, I wish I can get a localization page instead of choosing languages plugin.

We can always make the (possible) 'Localizations Plugin' a recommended-by-default plugin in the Wizard, so once you've gone past that, it will be present unless you actively choose to not install it. If we go this route, we could in theory remove all localizations from core except for the Setup Wizard.

arch

unread,
Aug 27, 2018, 5:33:17 AM8/27/18
to jenkin...@googlegroups.com
Sounds good to me. One more question is about the plugins. We could create a Chinese Localization plugin for Jenkins core. But we can't create every localization for other plugins. Right? Because there are lots of them.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Jesse Glick

unread,
Aug 27, 2018, 9:28:37 AM8/27/18
to Jenkins Dev
On Mon, Aug 27, 2018 at 5:33 AM arch <linux...@gmail.com> wrote:
> We could create a Chinese Localization plugin for Jenkins core. But we can't create every localization for other plugins. Right? Because there are lots of them.

I do not see a problem here. If you are working on the Chinese
localization, or Albanian or whatever, you get to decide how much you
wish to localize. If you have time to localize every plugin listed in
the Setup wizard and then some others, great. If you can only manage
some of the most commonly seen screens (and maybe only part of core),
so be it. You need to balance the desire for completeness with
available resources, and keep in mind that as code is changed and
refactored over time there will be some new message keys and some
obsolete ones, so there is an ongoing cost proportional to the size of
the localization.

arch

unread,
Aug 27, 2018, 9:56:11 AM8/27/18
to jenkin...@googlegroups.com
For example, I want to localize five plugins(A, B, C, D, E). You mean I need to create five repos, A-zh, B-zh, C-zh, D-zh, E-zh?

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Slide

unread,
Aug 27, 2018, 10:01:00 AM8/27/18
to jenkin...@googlegroups.com
I would hope that you would be able to localize in a single "Chinese Localization" plugin. I am not sure how that would work myself, but I think that would be better than plugin-a-zh, plugin-b-zh, etc.

arch

unread,
Aug 27, 2018, 10:07:47 AM8/27/18
to jenkin...@googlegroups.com
OK, I can try to do it as we discuss.

Jesse Glick

unread,
Aug 27, 2018, 12:57:52 PM8/27/18
to Jenkins Dev
On Mon, Aug 27, 2018 at 10:01 AM Slide <slide...@gmail.com> wrote:
> I would hope that you would be able to localize in a single "Chinese Localization" plugin.

Or, perhaps, a single plugin for _all_ localizations. For example,
something like

jenkinsci/l10n-plugin/src/main/resources/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition/config_zh_CN.properties

but maybe there needs to be one top-level subdirectory per locale¹, or
some directory structure indicating plugin name, etc. etc.

> I am not sure how that would work myself

So far I and other Jenkins core developers have just been throwing out
ideas. Acc. to things Daniel said, there probably need to be some
minor changes to core to make it work.


¹Would be useful to use
https://help.github.com/articles/about-codeowners/#codeowners-syntax
to associate each localization with a set of usernames.

arch

unread,
Aug 28, 2018, 2:34:40 AM8/28/18
to jenkin...@googlegroups.com
Agree with this solution. And I give a prototype plugin. https://github.com/LinuxSuRen/localization-plugin
Do I need to create a ticket on JIRA or just everyone take a look at this project?

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Oleg Nenashev

unread,
Aug 28, 2018, 2:45:05 AM8/28/18
to JenkinsCI Developers
I would rather prefer separate plugins for each localization.
It would allow to properly form reviewer teams and to manage release cycles independently.


You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/jeKVskUwE8M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAMM7nTH4fazLwqaxPWrdiwDPJwa72dGoo_o%2BP6N9qVRwfvWSgg%40mail.gmail.com.

Jesse Glick

unread,
Aug 28, 2018, 6:58:00 AM8/28/18
to Jenkins Dev
On Tue, Aug 28, 2018 at 2:34 AM arch <linux...@gmail.com> wrote:
> Agree with this solution. And I give a prototype plugin. https://github.com/LinuxSuRen/localization-plugin

Nice, did you get this to work already? There are a few things to check:

· core vs. plugin localization
· `Messages_zh_CN.properties` (so `Messages.some_key()` Java calls)
· `*_zh_CN.properties` (localization from Jelly views like `index`)
· `help*_zh_CN.html` if these are even supported (I cannot remember offhand)
· `mvn hpi:run` incl. live reloading after saving a resource in the source tree
· effectiveness in a `$JENKINS_HOME/plugins/*.jpi` (this is a
different class loading mode)

> Do I need to create a ticket on JIRA or just everyone take a look at this project?

I think this would make a good JEP describing what you propose to do
and making sure other localizers are ready to coöperate, since this
clearly goes beyond a usual plugin HOSTING request: it would involve
_removing_ localization resources from lots of existing repositories,
adjusting the default plugin list in the Setup wizard, and maybe some
infrastructure tasks. And there are some details that need to be
settled such as the plugin code names (which cannot be changed after
publishing): rather than, say, `chinese-localization` I might suggest
something more regular like `localization-zh_CN`.

Daniel Beck

unread,
Aug 28, 2018, 7:50:23 AM8/28/18
to Jenkins Developers


> On 28. Aug 2018, at 08:44, Oleg Nenashev <o.v.ne...@gmail.com> wrote:
>
> I would rather prefer separate plugins for each localization.
> It would allow to properly form reviewer teams and to manage release cycles independently.

Only with an aggregator plugin. Otherwise the benefits of managing separate per-language translation plugins are outweighed by the downsides on the user side: In language diverse communities or organizations, having to install (or request installation) of a new translation plugin every month, because now a French/German/Italian/Russian/Portuguese/Spanish/Chinese/Turkish/Polish/Czech/… speaking person wants their Jenkins localized in their own language seems cumbersome.

Right now, it seems the best we can do is:
(Aggregator) -- depends on all --> (individual language plugins) -- each depends on the --> (translation enablement plugin)

Or just put everything in one plugin because otherwise it becomes an unmanageable mess. We can always split them like this if the one plugin becomes unmanageable.

arch

unread,
Aug 28, 2018, 8:36:31 AM8/28/18
to jenkin...@googlegroups.com
Thanks for your checklist and suggestion. That's really great.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Oleg Nenashev

unread,
Aug 28, 2018, 8:54:29 AM8/28/18
to JenkinsCI Developers
In language diverse communities or organizations, having to install (or request installation) of a new translation plugin every month, because now a French/German/Italian/Russian/Portuguese/Spanish/Chinese/Turkish/Polish/Czech/… speaking person wants their Jenkins localized in their own language seems cumbersome.

I do not know any organization which actually does that. Usually Jenkins is managed via various shared services teams if it gets to such scale, and having different localizations makes the system generally unsupportable. Imagine you get a support tickets with screenshots in Russian.. oh wait, it happens in JIRA sometimes.

Usually Jenkins admins end up enforcing a single locale using the Locale Plugin. I do not anticipate large-scale instances to require many localization plugins, and I do not see a particular need in an aggregator plugin, especially taking our experience with maintaining them. For example, the current version of Pipeline aggregator just contains obsolete plugins with known incompatibilities like JEP-200.

BR, Oleg


You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/jeKVskUwE8M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAMM7nTFX5My%3D1ADt_tb0ySVVO254cF%3DhE0SfKOxXMLfvHYytNg%40mail.gmail.com.

Daniel Beck

unread,
Aug 28, 2018, 9:03:40 AM8/28/18
to jenkin...@googlegroups.com


> On 28. Aug 2018, at 14:54, Oleg Nenashev <o.v.ne...@gmail.com> wrote:
>
> I do not know any organization which actually does that. Usually Jenkins is managed via various shared services teams if it gets to such scale, and having different localizations makes the system generally unsupportable. Imagine you get a support tickets with screenshots in Russian.. oh wait, it happens in JIRA sometimes.

So they would simply not install any localization plugin. Great, so they're completely irrelevant as far as considering their preferences goes (beyond removing translations from everywhere else).

> I do not see a particular need in an aggregator plugin, especially taking our experience with maintaining them. For example, the current version of Pipeline aggregator just contains obsolete plugins with known incompatibilities like JEP-200.


Aggregator plugins do not 'contain' anything, they just list a bunch of plugins. If you install them, you get the newest releases of dependencies anyway, unless you do something unsupported with the metadata.

Oleg Nenashev

unread,
Aug 28, 2018, 9:10:19 AM8/28/18
to JenkinsCI Developers
So they would simply not install any localization plugin. Great, so they're completely irrelevant as far as considering their preferences goes (beyond removing translations from everywhere else).

I can imagine a local company which installs a single localization plugin
That's why I lean towards having separate plugins for each locale.

If you install them, you get the newest releases of dependencies anyway, unless you do something unsupported with the metadata.
Depends on the installation logic implementation, but generally "yes".
Anyway, I would expect Incremental Tools to eventually simplify managing of aggregator plugins.





--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/jeKVskUwE8M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.

Jesse Glick

unread,
Aug 28, 2018, 9:17:49 AM8/28/18
to Jenkins Dev
On Tue, Aug 28, 2018 at 9:10 AM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> I would expect Incremental Tools to eventually simplify managing of aggregator plugins.

How…? `incrementals-tools` does not seem related to me.

I tend to agree that a single localization plugin would be simpler to
manage in most respects. The release cycle could be weekly, monthly,
on demand, whatever; and as I noted, GitHub has features that make it
easy enough to request particular people review PRs touching
particular subdirectories or other filename patterns. A single
repository also provides the natural home for related tooling, such as
scripts to check for missing or stale localizations.

arch

unread,
Aug 28, 2018, 9:29:34 AM8/28/18
to jenkin...@googlegroups.com
I wonder how many people plan to separate their localization resource files. If there is not so much, I suggest that keep other languages files in current place.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr1PUoC2Jk3H0zntkAtHCLruHUHUS%3DT-55uDOF_Z-p7nUw%40mail.gmail.com.

Daniel Beck

unread,
Aug 28, 2018, 10:01:57 AM8/28/18
to jenkin...@googlegroups.com


> On 28. Aug 2018, at 15:10, Oleg Nenashev <o.v.ne...@gmail.com> wrote:
>
> I can imagine a local company which installs a single localization plugin
> That's why I lean towards having separate plugins for each locale.

… and an aggregator. It's free. Only needs updates whenever a locale plugin is added or removed. I really don't understand the resistance here.

> Depends on the installation logic implementation, but generally "yes".

Which installation logic would you consider to be supported (i.e. we wouldn't close a related Jira issue immediately) and does not install whatever is available on your chosen update site? CLI command, UI, even install-plugins.sh and configuration-as-code plugin install the newest available release of dependencies.

Liam Newman

unread,
Sep 25, 2018, 8:47:40 PM9/25/18
to Jenkins Developers
I've made this JEP-216 Draft so that it can be referenced in discussions and form the prototype, but as noted it needs quite a bit of work.  

arch

unread,
Sep 25, 2018, 10:18:27 PM9/25/18
to jenkin...@googlegroups.com
Got it. I will add more details to it. And Thank for Liam Newman and all people's efforts.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/8a4cc4fa-0eb6-43d3-8571-77b4dac2805c%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages