Mahara map: an index of components

Bug #1855630 reported by Rebecca Blundell on 2019-12-09
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Rebecca Blundell

Bug Description

Creating a map/library/index of Mahara components to know what things mean, what they connect to and how to find them.

Changed in mahara:
assignee: nobody → Rebecca Blundell (rjb-dev)
Rebecca Blundell (rjb-dev) wrote :

I found a way to see the database links, which show which tables are connected and their relationships using some Open Source software called Schemaspy. It saves the database state in a folder of html files which you can view in your browser.

How to use:

1. Download the latest Schemaspy jar from

2. Download the PostgreSQL JDBC driver for Java 8 (assuming you're running openJDK 8) from

3. Put both jars in a directory of your choosing and go to that directory.

4. Run the following command, changing details as necessary. (The list of commandline arguments for schemaspy is here:
This command uses schemaspy to map a psql db called mahara-master and output results to a new directory called schemaspy. (This took around 7 mins).

java -jar schemaspy-6.1.0.jar -t pgsql -db mahara-master -host localhost -u maharauser -p maharapassword -o ./schemaspy -dp postgresql-42.2.9.jar -vizjs

Rebecca Blundell (rjb-dev) wrote :

I've been looking for a tool to map code into some kind of diagram of dependencies. There are several tools out there that claim to do this, but I have failed to run several of them, including Doxygen and mihaeu/dephpend. I got mamuz/phpda to run, but am abandoning this now as the output is patchy or non-existent for our code.

I'm going to look at a high-level manual map and if I can see a way of automating that data collection, I'll suggest developing it or look for a tool that can capture the useful data specifically

Changed in mahara:
status: New → In Progress
importance: Undecided → Medium

We might have looked at phpDocumentor in the past (Aaron sees it as likely that it had been that program and it does look slightly familiar):

"That's a PHP tool to extract documentation from "docblocks" like this in the source code:

 * This file is part of phpDocumentor.
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 * @link

"There may be other PHP programs to do that as well, or even generic cross-language programs, since the "docblock" pattern is common across several languages."

Mahara Bot (dev-mahara) wrote :

Patch for "master" branch:

Mahara Bot (dev-mahara) wrote :

Patch for "master" branch:

Changed in mahara:
milestone: none → 20.10.0
importance: Medium → Wishlist
Changed in mahara:
milestone: 20.10.0 → 21.04.0
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers