This is a open-source version constrol framework for distributed transcript editing with ELAN. It was originally developed for Rolls-Royce@NTU Corporate Lab, under Apache License, Version 2.0.
There are two actors in this system - admin and editors. Admin is the guy who is responsible for editor database maintenance, job allocation, etc. Editors are professional transcriptors who use ELAN for editing transcripts, working on a single job (file) at a time.
The technologies under this project includes Git and Django.
- Pyhton 3.5
- Git
- Python 3.5
- Git
- ELAN
- Download source
- Install dependencies:
$ pip install -r requirements.txt
First, make sure you have an available Git hosting, such as GitHub, BitBucket, your own GitLab server, or your company's repository hosting.
Second, make sure you have set up SSH for Git so that you can successfully access remote SSH URLs from command line.
Choose a directory on your local computer as the "source", where you store the audio/video and transcript file pairs.
For example, "~/Documents/source" on Mac. From now, we will denote the absolute path of the source folder as [path_to_source]
- Install all required tools/software in the previous section
- Setup the file association on your operating system, so that when you double click the ELAN transcript file, the system starts the ELAN app with the transcript file loaded.
- Setup the file association on your operating system, so that when you double click ".py" files, the system will prompt a command line window.
- If you have any problem during the setup, contact your admin for assistance.
$ python manage.py runserver
If there is no super user in the system yet, create one using the following command:
$ python manage.py createsuperuser- Go to http://127.0.0.1:8000/admin/login/
- Login using the created super user account.
First, create a user account in the Django admin:
- Go to http://127.0.0.1:8000/admin/auth/user/
- Click "ADD USER" on the upper right corner
- Fill in the form and click "SAVE"
- Go to the user details page and complete the "First name" and "Last name" fields under "Personal Info"
Then, configure your Git hosting
- Create a user account on your Git hosting for this new eidtor
- Create a Git repository, whose name is exactly the same as the "username" you chose for this editor in the Django system
- Make sure both the new account and your own have push privilege on this repository
Finally, create an entry for Editor in the Django admin
- Go to http://127.0.0.1:8000/admin/mdls/editor/
- Click "ADD EDITOR" on the upper right corner
- Select from the drop down menu "User" as the user that you just created
- Fill in the rest of the form ("http" and "ssh" fields indicate the protocol of the Git repository URL), while leaving the "With local repository" as UNCHECKED
- Click "SAVE"
First, copy the to-be-edited audio/video and transcript file pair into the pre-designated "source" folder at [path_to_source]. Make sure the audio/video file has exactly the same filename prefix (filename without extension) as the transcript file.
Second, navigate to the web page
- Go to http://127.0.0.1:8000/admin/mdls/file/
- Click "ADD FILE" on the upper right corner
Fill in "Media file" and "Transcript file" fields in the form, which are the file names (with extensions) of the video/audio and transcript files.
Note: there must be no space in the file name.
Then, while leaving all other fields untouched, and click "SAVE".
- http://127.0.0.1:8000/admin/mdls/file/
- Click and enter the detail page of the file that you wish to allocation
- Select the editor in the dropdown menu "Editor" and click "SAVE"
- Click the "Assigned but not allocated" filter on the right
- Tick the file that you just assigned to an editor
- Select "Make allocation" in the "Action" dropdown menu
- Click the button "Go"
- Wait for the web page to finish loading
Now, you may check the folder at workspace/[editor_name]/[file_id] and verify if all the necessary files are present.
- Go to http://127.0.0.1:8000/admin/mdls/file/
- Select "In progress" filter on the right column
- Tick all the files that you wish to get the latest progress on
- Select "Get latest data" in the dropdown menu of "Action" and click the "Go" button
- Wait for the web page to finish loading
Now you can see each file's
- Latest statistics - http://127.0.0.1:8000/admin/mdls/sessionhistory/
- Editing session history - http://127.0.0.1:8000/admin/mdls/sessionhistory/
- Go to http://127.0.0.1:8000/admin/mdls/file/
- Tick the files that you wish to mark as completed and move back to the "source" directory
- Select "Complete and move back to source folder" in the "Action" dropdown menu, and click "Go"
- Wait for the web page to finish loading
Now you can see all completed files by selecting the "Completed & moved back to source folder" filter on the right.
- Get the
clone.pyfile from the admin - Place the
clone.pyin a folder that you'd prefer to be your workspace - Double click
clone.pyto run the script - Enter your username and password as instructed in the prompt window
- Go to your workspace folder
- Double click
pull.py - Enter your username and password as instructed in the prompt window
- Go to the file folder in your workspace
- Double click
start.py - Work on the transcript file on the ELAN window
- When finishing, close the ELAN window only, with the command prompt window open.
- Fill in the prompt questions in the command line window, as well as your username and password, as instructed.
- Go to the file folder in your workspace
- Double click
push.py - Fill in the prompt questions in the command line window, as well as your username and password, as instructed