Updating the content of the Forum touchscreens

At the moment (May 2019) the version of inkscape on DICE breaks the maps. In the meantime, the older version is installed on two support MDP machines: win10mdp and ifmdp

A collection of notes intended to document the procedures necessary for specific changes to the content of the Forum touchscreens. These should be read in conjunction with the 'official' documentation provided by the original author of the content, namely:

  1. Forum touchscreen content guide
  2. Forum touchscreen content updater's guide


0. Preliminaries

  1. The touchscreen content is stored in the directory /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens/. That directory is a Mercurial repository. Please do not make changes in that directory directly. Rather:
    1. Clone a local copy, e.g. hg clone /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens
    2. If you already have a working copy, then before editing any files do hg pull to check for any changes, then hg update to update your working copy.
    3. Edit the local copy, and hg commit -m "log message" --user joxley changes there.
    4. Finally, push changes back to the repository which implements the content, i.e hg push

  2. In order to successfully hg push, you will need to be a member of the AFS PTS group inf:touchscreens. Such membership is normally arranged by the granting of the role touchscreens.

  3. A successful hg push triggers an hg update in the repository which implements the touchscreen content - that's necessary for that content to be updated to reflect the pushed changes. The hg update is triggered via the file /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens/.hg/hgrc and, for this mechanism to work, the pusher must trust the owner of that file. Since, currently, all content of /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens/ is owned by user joxley, this means that the pusher should have an ~/.hgrc file which contains the following lines:
            users = joxley

1. Updating the maps to cope with changes in room layout, numbering etc.

  1. The two files which need to be updated are maps/forum-maps.svg and config/rooms.csv. The first is a SVG file (an XML format) which depicts all rooms in the Forum; the second is a file which cross-references attributes to room by number. Both are plain-text. The SVG file should be edited using the InkScape SVG editor (on a DICE desktop: inkscape); the CSV file should be edited using a plain-text editor of choice, e.g. vi. Tips for inkscape; Shift+Ctrl+L to bring up Layers menu, view the required floor e.g. 'Plan 5' and view and unlock the corresponding 'Floor 5 rooms'.

  2. When the edits are complete, hg commit to commit them to the local copy of the repository, then hg push to both push them to the repository which implements the touchscreen content, and to trigger the corresponding hg update to that repository.

  3. Check that the new files have correctly appeared in the repository which implements the touchscreen content.

  4. The running touchscreens use 'cached' versions of these two data files, rather the files themselves. To generate new cached versions from the updated files:
    1. cd /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens
    2. Run scripts/refresh-rooms.sh and scripts/refresh-descriptions.sh

    Comment: Note that you are running these two commands within the actual repository which implements the touchscreen content. That might seem wrong, but note that these scripts are making changes to the content of the directory html/var which is specifically excluded from Mercurial handling by virtue of the contents of the /afs/inf.ed.ac.uk/group/web/touchscreens/forum-screens/.hgignore file.

  5. Finally, kick over the web browser on each of the touchscreens, and confirm that the end result is as expected. That is: check that the room map now correctly reflects reality; that selecting any of the new/changed rooms now gives the correct room description/occupation details; etc.

    To kick over the web browser on any particular touchscreen, type ssh <touchscreen hostname> om webkiosk configure.

-- IanDurkacz - 12 Oct 2015

Topic revision: r6 - 23 May 2019 - 14:49:20 - JenniferOxley
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies