Difference between revisions of "Developer Area/Mahara manual setup"

From Mahara Wiki

< Developer Area
(Setting up a new local and remote branch)
(One intermediate revision by the same user not shown)
Line 110: Line 110:
9. Upload the potfiles into the import branch. Make sure that you set the path to "potfiles/[name of the potfile folder]/[potfile]
9. Upload the potfiles into the import branch. Make sure that you set the path to "potfiles/[name of the potfile folder]/[potfile]
=Add new manual to the package for generating it on the server=
Once the new user manual has been set up and pushed to, the server also needs to know that this version of the manual needs to be generated. The correct repository for that is []. There, the file '''maharadocs.cron.daily''' needs to be updated to include the following line.
  make -C $INSTALLDIR update html epub latexpdf MAHARA=15.10  >> $LOGFILE 2>&1
This change then needs to be applied to the server itself. The server is managed by [ Catalyst IT].

Latest revision as of 17:52, 6 October 2019


The Mahara user manual uses a number of tools to generate the end product. The presentation by Kristina Hoeppner illustrates the process and tools used briefly.

The following are notes for setting up a new branch for the user manual which is generally done by Catalyst. It requires that Sphinx is already installed. The example below uses Mahara version 15.10 as an example. Any reference to it would need to be replaced with the version that you are creating the manual branch for.

Set up Python locally

A Python developer recommended to set up a virtual environment instead of installing Sphinx directly as root.

Set up the folder for the user manual.

 cd code
 mkdir manual1510

Please follow the instructions for setting up, activating and deactivating a virtual environment. It should be installed in this folder under the default "venv" folder (will be created as part of the setup). That folder is then part of gitignore and will not be committed back to the project. If you call your folder differently, you need to update .gitignore.

Setting up a new local and remote branch

1. Do a checkout of the code in the new folder for the manual:

via SSH:

 cd code
 git clone [email protected]:user-manual/manual.git manual1510

via HTTPS:

 cd code
 git clone manual1510

2. Create a new local branch for the new version of the manual

 git branch
 git checkout -b 15.10_STABLE

3. Replace the information in .git/config with the following.

    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
  [remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = [email protected]:user-manual/manual.git
  [branch "15.10_STABLE"]
    remote = origin
    merge = refs/heads/15.10_STABLE

4. Publish the new branch on

 git push origin 15.10_STABLE:refs/heads/15.10_STABLE 

5. Make initial changes to index.php, manual-build/

Include in build process

Catalyst only

  1. Build the new version and publish it by Gitlab.
    1. Create a new schedule in the CI/CD process.
    2. Description: Version (Daily)
    3. Variables: “MAHARA_VERSION” and enter the version number in the field to the right.
    4. Interval patterns: Select “Every day” first and then switch to “Custom” and change the cron time. Note: Do not schedule all builds at the same time but spread things out a bit.
  2. Run the build manually. Note: To see which version of the manual was run, go to Pipelines -> Click the Status icon and then on the next screen click the “Passed” icon and see the console output.
  3. Once ready to have the manual publicly linked: Add the new release to for “mahara_releases” and “all_mahara_releases”. Remove the version that is fallen / has fallen out of support from "mahara_releases".
  4. Re-assess the auto build frequency of older releases.
  5. When the new version of Mahara has been released, go to manual-build/source/index.html and change the version number on line 22, i.e. window.location = "" + lang + "/18.10/";

Setting up the translation export branch for Launchpad

This is done by Catalyst

This part is the tricky bit as Launchpad uses bzr for version control. There is a good tutorial on how to work with bzr that can help anyone get started.

The following steps are a bit incomplete, but will hopefully fleshed out in the future.

1. Assumption: Folder code/manual-export/manual-export exists.

2. Create the new folder "15.10_STABLE-export".

3. Generate the potfiles in your manual folder.

 cd code/manual1510
 sphinx-build -b gettext source potfiles

4. Go back to the export folder. If the potfiles generation doesn't produce folders in which the potfiles are listed (sometimes it does, sometimes it doesn't), create a folder for each potfile. The folder name needs to match the potfile name (minus the extension). The folders will be empty and don't have the actual potfiles in them. Your folder 15.10_STABLE-export should contain the sub folder "potfiles" and in there a folder for each potfile that has the name of the potfile, but the potfile is not in it.

5. Create the bzr files

 cd manual-export
 bzr init manual-export/15.10_STABLE-export/

6. Enter your potfiles export folder and commit the folders.

 cd manual-export/15.10_STABLE-export/
 bzr add potfiles/
 bzr commit
 write commit message

7. Push your newly created branch to Launchpad

 bzr push lp:~mahara-lang/mahara-manual/15.10_STABLE-export

8. Go to Launchpad and set up the export branch for your translation:

 Under "Exporting translations to branch" click the "Edit" button. Then type into the field / search for the branch:
 confirm the branch

9. Upload the potfiles into the import branch. Make sure that you set the path to "potfiles/[name of the potfile folder]/[potfile]