[Koha] Documentation - Are automated screenshots the way to go?
Caroline Cyr La Rose
caroline.cyr-la-rose at inlibro.com
Fri Sep 8 09:20:25 NZST 2023
Hello dear community,
TLDR; We have a potential way of automating the screenshots of the
manual that has interesting benefits. However, we are not sure if it
would work with our screenshots. I would like to ask for your help
analyzing the screenshots, to know if they are easy or difficult to
automate. See
https://docs.google.com/document/d/1wscmVmficQSpCmUDPNEYLp-TFJoR3gay2O6zS8q-Kak/edit?usp=sharing
for how to analyze a screenshot. Read on for more information and a
kitty at the bottom!
In the documentation team, we're looking at the possibility of
automating the screenshot taking for the manual. If you've visited the
manual before, you surely have stumbled upon screenshots of the
interface that don't look anything like your interface. Our manual
contains more than 1600 screenshots, with more being added with every
new feature. This means that if there is a change in the interface, we
must retake the screenshot. After the redesign of 22.11, all our
screenshots were suddenly out of date. We are updating them little by
little, but it is time consuming for the very small team of documenters
that we are, so it is unimaginable to think that we can update all of
them every version. We would rather spend our time documenting exciting
new features than retaking screenshots simply because the interface
looks different. And if you're thinking, "Well, we can live with
screenshots from version 22.05 or even 20.11, it's not that bad!" take a
look at this screenshot that is currently still in the latest manual as
I write this
https://koha-community.org/manual/latest/en/html/_images/fastadd.png (in
the fast add cataloguing section
https://koha-community.org/manual/latest/en/html/circulation.html#fast-add-cataloging
; this section hasn't had any new features for a while so we never went
over it to update it). Do you recognize it? :D
At Kohacon23, Jonathan Druart proposed a way to automate the screenshot
taking using Cypress and Cypress Studio. Cypress is a tool mainly used
by web developers for what is called end-to-end testing, where they
write up a bunch of commands, input that into a browser and the browser
will execute the commands as if it was a normal user. Cypress Studio is
an extension of Cypress to be able to use Cypress without knowing how to
write up the bunch of commands, i.e. for people like me who don't code.
When using Cypress Studio, it records all the clicks and key presses
that you do and converts it into code (that needs to be cleaned
according to Jonathan). You can then feed that code into the browser and
the browser will click where you clicked and type what you typed. (It
does it super fast too, it's really cool to watch it go!)
For our purposes, anyone in the documentation team (or any motivated
community member willing to help! *wink wink*) would take the screenshot
using Cypress Studio. Then a developer would go in and clean the code
generated by Cypress Studio. Then, every time we create a new manual (or
whenever we want), we would run the Cypress scripts and all the
screenshots would be automagically updated!
As well as having nice, up-to-date screenshots in our manual, this
method has other advantages:
- It would allow us to have translated screenshots in the translated
manuals.
- It would allow us to take the screenshot once and have it updated for
every version with minimal additional work (admittedly it takes a lot
more time to take the automated screenshot, but hopefully, this time
would be saved in the future by not having to manually take the
screenshot again).
- It would allow us to catch regressions in Koha (if something that
should be there suddenly isn't there anymore, for example).
As the automation would be as time-consuming, if not more, than the
manual way in the short-term, and would implicate developers as well as
the documentation team, we would like to analyze the difficulty of
automating before jumping in. Some screenshots are super easy to get to:
you go into Cataloguing, click 'New record' and bam!, you're ready to
take this screenshot
https://koha-community.org/manual/latest/en/html/_images/catalogingform.png
. Some screenshots need more preparation, like you need to turn on a
system preference, then add a fine to a patron account, then try to
check out an item to that patron and *now* you can take this screenshot
https://koha-community.org/manual/latest/en/html/_images/patrondebt.png
. If the majority of existing screenshots are hard or impossible to
automate, it is not worth the trouble. However, if the majority of
existing screenshots are easy, automation could be a way to save time in
the long run. The thing is that we don't know how many are easy and how
many are difficult.
This is where I would like to ask for your help. We would like to
analyze the difficulty of about 10% of the images (around 100 to 150) in
order to determine if the automation would be worth investing into. We
currently have a Google spreadsheet with a list of about 1600 images.
Anyone can go in and analyze an image. If several people analyze 2 or 3
images each, we'll be done in no time!
It is not too difficult to analyze a screenshot, but you do need to know
how to use Koha and know how to read HTML at least a little bit (just to
spot the IDs or classes of the tags). I wrote up a procedure on how to
do it in the Google drive
https://docs.google.com/document/d/1wscmVmficQSpCmUDPNEYLp-TFJoR3gay2O6zS8q-Kak/edit?usp=sharing
After we determine if automation is the way to go, there are still a lot
of things that would need to be ironed out before jumping in. Like what
data to use, is the sample data enough? Do we only do the easy ones?
When running the scripts, how do we determine that the screenshots have
been correctly generated? Where do we store the Cypress scripts? When do
we generate the screenshots? But all those questions will come later.
First we must decide if we do it or not, and for that we need to analyze
the images.
If you have opinions on this, or would like to help, or would simply
like to know more about the Koha manual, there is an upcoming
Documentation meeting on September 27, at 14 UTC. Everyone is welcome!
(I swear we are very nice!)
https://wiki.koha-community.org/wiki/Documentation_meeting_27_September_2023
Thank you for reading all the way to the bottom! :)
Caroline
As promised, here is the kitty! :)
⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣧⡑⢄⡀⠀⠀⠀⠀⠀⠀⢀⡴⣪⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣽⡨⠆⠉⠊⠉⠀⠈⠉⠐⠉⠮⣰⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢃⠀⠀⠀⠀
⠀⠀⠐⠠⠄⡀⡈⠀⠀⡰⠂⡄⠀⠀⠀⠀⡔⢢⡄⠀⠘⣀⡀⠤⠒
⠀⠀⠠⠤⠤⠤⡯⢥⡆⠑⠛⠁⢀⣻⣃⡀⠙⠛⠁⣶⢭⡧⠤⠤⠤
⠀⠀⢀⡠⠄⠒⠙⡅⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⡝⠁⠒⠠⠄
⠀⠀⠀⠀⠀⠀⠀⡨⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⠀⠀⠀
⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀
⢀⠖⠐⢢⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀
⡆⠀⠀⠀⡄⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀
⢡⠀⠀⠀⡇⢡⠀⠀⠰⡄⠀⠀⠀⠀⡀⠀⠀⠀⡆⠀⠀⢠⠓⡀⠀
⠈⡄⠀⠀⠸⡀⠣⡀⠀⡇⠀⠀⠀⠀⡇⠀⠀⢠⠁⠀⡠⡇⠀⢡⠀
⠀⠈⢄⠀⠀⠑⢄⠈⠢⢴⡀⠀⢠⠀⡇⠀⠀⣌⠠⠚⣡⠃⠀⣸⠀
⠀⠀⠀⠳⣀⠀⠀⠑⠂⠤⢙⣛⡋⠉⢙⣣⣊⠀⠤⠊⠁⠀⡠⠃⠀
⠀⠀⠀⠀⠀⠑⠠⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠐⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠒⠒⠂⠀⠀⠐⠒⠂⠉⠀⠀⠀⠀⠀⠀
Caroline Cyr-La-Rose, M.L.I.S. (she/her)
Librarian | Product Manager
1-833-INLIBRO (465-4276), ext. 221
caroline.cyr-la-rose at inlibro.com
https://www.inLibro.com
More information about the Koha
mailing list