Editing the Koha Manual
From Koha Wiki
The Koha Manual is managed by the Documentation team and everyone is invited to help out writing and updating it.
To do list
Please file any issues with the manual as a bug report on Bugzilla using the Documentation component.
There is also a saved search for Bugzilla, that looks for bugs with the keyword Manual or the component Documentation
Please feel free to add new to-do list items for missing chapters/information, things you didn't spot on the manual or suggestions of any kind.
If you want to discuss things about documentation or send us your documentation to include in the manual, you can sign up on the koha-docs mailing list or join us for the next Documentation IRC meeting.
The Documentation Team uses Taiga.io to manage documentation tasks.
Editing the manual
Starting with the manual for 17.05 we have switched from DocBook to Sphinx for creating our documentation. This makes it really easy to contribute.
Easy - Editing with GitLab
The easiest way to contribute to the manual is making your changes using the following workflow with GitLab. You don't have to download or install anything for this to work, it can all be done in the browser!
- GitLab account: First of all, you have to create an account on GitLab. You can also sign in with an existing Google, Twitter, GitHub or BitBucket account.
- Navigate manual files: Once you are logged in, you can navigate to the Koha manual on GitLab and get yourself a bit familiar with its file structure.
- You will find all the text in source, for example administration.rst will have all the information about the administration module except for the system preferences that live in systempreferences.rst.
- You can also use the option to 'Search this project' at the top of the page. For example, you could search for AcqCreateItem to find the spot where this system preference is described in the manual.
- Start editing: Once you have located the file you want to change, you can use the Edit button on top of viewed file to start the editing process.
- First time: Fork will create a fork of the koha-manual repository in your GitLab account.
- Make your changes in the editor. The formatting is done using reStructuredText.
- Add a short description in the commit message input field below the editor. The first line is going to be the subject line, all other lines below will also be shown when looking at your changes in detail.
- Save your changes: Saving your changes will create a merge request to be seen by the documentation team. You can see your open merge requests on your GitLab account.
- Next time: Commit changes to submit the changes to your fork of the repository.
- After committing your changes, GitLab will automatically ask you to create a merge request. Here you can edit the description again, but don't change any of the other settings. Click Submit merge request and you are done.
Normal - Adding screenshots with GitLab
This requires a little bit more work as you need to edit multiple files, but is not too hard to do:
- Upload images: First, you need to upload your screenshots.
- All images are stored in the directory source/images
- In your repository, navigate to the directory where you want to add your images. For example, koha-manual/source/images/circ
- At the end of the path shown on top is a plus ("+") icon. Click on it and select Upload file.
- You can now upload the image(s), either using drag & drop or the click to upload link to browse your directories and select the file(s) you want to upload.
- Finish with changing the commit message to some description, for example: Adding screenshots for feature xxx.
- Create aliases for your screenshots: By using aliases we can change a file without having to change the documentation.
- Go to the images.rst file, found under koha-manual/source.
- Click on Edit.
- Go to the bottom of the file and add a line referencing your image. The syntax is the following:
.. |image1355| image:: images/tools/importpatrons/patronattributes.png
..= this means it's a comment line, it will not appear if you look at the rendered page
|image1234|= this is the alias of the image to be used in the manual. Use the next number in the file (for example, if the last number in the file is 1234, use |image1235|).
image::= this is the syntax that calls the file to appear as an image (not a link or a string of text)
images/xxx/xxx.png= this is the path to the image and its name
- Enter your commit message and submit the changes.
- Add screenshots to the manual: Now that everything is in place, we can add the images to the manual.
Advanced - Editing from local repository
It's recommendable to try the GitLab workflow first as it's easier and doesn't require any familiarity with git itself like this workflow. Note: the minimal required version of Sphinx is 1.4 at the moment. If your distro doesn't have that, consider installing python-sphinx with pip.
- Fork the project in GitLab: Start by going to GitLab and forking the project. This will create your own personal repository with a copy of the manual.
- Go to GitLab and sign in or create an account
- Next, go to https://gitlab.com/koha-community/koha-manual and click on the "Fork" button
- Set up koha-manual repository: Clone the koha-manual git repository from GitLab
- Go to your own GitLab repository, click on "clone" and copy your SSH URI
- Next, open up a terminal window and clone your GitLab repository
git clone <your SSH URI> koha-manual
- Go into your newly created repository
- Next, add a second remote called "community" to pull from and fetch
git remote add community firstname.lastname@example.org:koha-community/koha-manual.git
git fetch community
- Create a new branch called "community_master" to track that second remote
git checkout -b community_master community/master
- Make sure everything is up-to-date: pull from community/master
- Go to your local koha-manual folder and checkout on the community_master branch
git checkout community_master
- Pull the latest version of the manual from the community repository
- Merge your local "master" with your local "community_community" branch
git checkout master
- git merge community_master
- Create a new branch: before you start changing files, always create a new branch for your changes.
- So for example, if you're going to work on the RenewalLog system preference, create a branch using the following command
git checkout -b RenewalLog
- Start editing: Edit the files with your preferred editor.
- You can use
git grepfor searching in the files. Example:
git grep RenewalLog
- Navigate to the file you need to change, all files are in the "source" directory
- Open the file in your text editor (for the example, we'll use vi) and edit the file
- Basic vi commands
- i - insert (edit)
- Esc - get out of editing/inserting mode
- :w - write (save)
- :q - quit (close the file)
- / - string search (case sensitive) (for example: /RenewalLog)
- You can use
- Commit your changes: commit your changes to make sure nothing is lost
- Start by adding the files that were changed to the staging area
git add --all
git add *.rst
git add systempreferences.rst
- Commit your changes
commit -m "Adds description for RenewalLog syspref"
- Push your branch to your GitLab koha-manual fork
git push(this will create a branch of the same name in your GitLab repository)
- Create merge request
- Go to your GitLab account
- Go to Repository > Branches
- Find the branch you want to push and click on "Merge request"
- Click on "Submit merge request" at the bottom of the page
General hints and tips
Formatting with reStructuredText
Sphinx uses reStructuredText for formatting the text:
Also, a bit more specific to our manual: ReStructuredText - Tips and Tricks
Capitalization and spelling
- The terminology used in the manual should match the interface of Koha. See: Terminology
- The first word of a sentence should be capitalized, the following words will be lower case, unless they are names. For example: Koha, Chris, November, Monday, etc. See: Coding_Guidelines#HTML4:_Upper_and_lower_cases_in_strings.
- Prefer gender neutral pronouns (they/them/their). See: Coding_Guidelines#Gender-Neutral_Pronouns
Translating the manual
The older manuals up to Koha 17.05 were generated using DocBook.
To edit the older manuals an XML/DocBook editor like oXygen is recommended. Every chapter and section must have an ID tag associated with it to enable permanent linking and searching.
Patches to the manual can still be emailed to the koha-docs mailing list, but as Koha moves on, it makes sense to favour updating the new Sphinx based manuals instead.