Hello Gus,
I heard good feedback on the new Jenkins UI. Kudos everyone involved!
I don't really have much to contribute I think. But yesterday I posted to the
dev-list about a new plug-in, Uno Choice, that is being used by researchers
(both in academia and in industry).
The plug-in relies utilizes HTML DOM elements to access job parameters. Should
any of these elements gets changed due to UX enhancements, the plug-in would
stop working.
What I would like to have in order to avoid having this kind of issues, is
something like global JS objects exposed by Jenkins - I'm not a JavaScript
programmer, so I'm not completely sure that it is a good idea/practice.
This way, plug-ins like Uno Choice could access parameters' elements, the Queue
HTML elements, enable/disable buttons, without depending directly on any screen
selector. More or less something like:
# JS code used in the job parameter screen
```var parameters = Jenkins.parameters.all();var fields =
parameters[0].getFields();var name = parameters[0].name;// internally Jenkins
controls the selectors to access the parameters. Should any of these changes,
plug-ins wouldn't be affected.
```
Not sure if that's the best option...
My +1 :^) please continue the hard work on improving Jenkins UX.
All the best,
Bruno
From: Gus Reiber <[email protected]>
To: [email protected]
Sent: Wednesday, February 18, 2015 2:27 PM
Subject: Jenkins UX
At the end of last summer, my friend and co-worker, Tom Fennelly, along with
the help of Kevin Burke, Daniel Beck, and others began the first steps of
improving and modernizing the Jenkins user experience. In addition to some of
the superficial enhancements, these changes are meant to add a bit of
responsiveness and cross-device usability to the Jenkins GUI, as well as adding
a means of creating and swapping new CSS based display themes. This effort is
best summarized by this article from Jenkins-ci.org, and this thread from the
Jenkinsci-users group:
- User Interface Refresh: http://jenkins-ci.org/node/ 501#disqus_thread
- Any comments on the UI changes in 1.572: https://groups.google.com/
forum/#!searchin/jenkinsci- users/ui$20tom/jenkinsci-
users/ULEV87g9iac/LaTt5J2tHV8J
As part of our second wave effort here at CloudBees, I am looking at ways of
improving the usability of the Jelly based form controls used in the item
creation and configuration pages and the responsiveness and interactivity of
the main dashboard grid control.
In my investigations so far, I believe there are essentially 3 non-exclusive
paths forward for enhancing these elements:
- CSS only -- Building on the last round of enhancements, we can offer a set
of theme extensions that will allow the Jenkins users and community to
customize basic layout, iconography, and typeface to tailor Jenkins to their
own tastes.
- UI component expansion and refactoring -- By modifying and adding to the
existing set of Jelly files and their corresponding data binding rules we can
significantly modernize the way Jenkins views and configs draw themselves and
potentially streamline plugin creation.
- Client side MVC veneers -- In a manner similar to what CloudBees has
recently done with the new Workflow visualization, we can rethink our approach
to new feature UIs by using a REST API based architecture coupled with
client-side rendering widgets. This would allow us to use newer framework
libraries like Angular.js and newer component libraries like Bootstrap and
JQuery UI to add greater richness to the Jenkins user experience.
These are likely not the only paths forward, but merely the first I can think
of. With that reality in mind, I am hoping to reach out to you the Jenkins
community to help ground and sculpt our thinking about what is both possible
and desirable.
If you are at all interested in the Jenkins user experience, I would love to
get your feedback of any sort on this thread, which could be as simple as a
"+1" or as involved as a PHD thesis or as much as you have time to type into a
response box.
To the extent that it helps conversation along, I also have a handful of
questions to which I would love responses:
- For plugin builders, can you tell me a bit about creating the UI portion
of your plugin (did you use the data binding form controls, what was hard, what
did you have to invent)?
- For regular Jenkins users, what are the UX areas of Jenkins you would most
like to see improved (I think it is the item create/config and the
dashboard/job list grid, but would love to hear others and general feedback)?
- For UXers and other Jenkins contributors, how do my 3 forward paths seem
(are there others, do you have experience with any yourself, do any seem
scary)?
- Has anyone tried to make their own themes with the new capabilities Tom
has added or would you appreciate and handful of canned options to choose
between?
- Has anyone started using Workflow on a regular basis, and in particular
used the new workflow progress visualization enough to offer feedback?
Again, if any of you all are at all interested in the Jenkins UX, we at
CloudBees are interested in helping move this ball forward and would love to
hear your feedback.
Thanks for your help,Gus--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/83937142-c675-4260-92ab-1dd1be82ca03%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/62264246.276219.1424279521268.JavaMail.yahoo%40mail.yahoo.com.
For more options, visit https://groups.google.com/d/optout.