TabSINT can interface with many different back-end containers to load protocols and export results.
Data can be transferred into and out of TabSINT using the SD card of the tablet. Currently, this feature is only supported for Android tablets.
Protocols can be manually distributed and loaded onto tablets using the SD card.
- Each protocol must consist of one directory with a
protocol.jsonfile in the top of the directory.
- The protocol file can reference media (images, video, audio) relative to the
protocol.jsonfile stored anywhere in the directory.
Device Storage must be selected as the Server in the Admin View in order to access this feature.
Prepare the Tablet
Ensure the Tablet is set up to allow the transfer of files on Windows and Mac.
- Go to settings by swiping down near the upper right corner on the tablet
- Select Storage
- Tap the three dots in the upper right hand corner, then select USB Computer Connection
- Ensure that the box next to Media Device (MTP) is checked
Add the protocol onto the tablet SD card
- Plug the tablet into the computer using an appropriate USB cable
- Go to Computer, then look for your tablet under Devices
- Click on the tablet name, then click on Internal Storage
- Place the protocol you want to transfer in one of the directories under Internal Storage
- You must have Android-File-Transfer installed to move files from a mac to an Android tablet
- Once the tablet is connected, Android-File-Transfer should automatically open, showing you the directory contents of the tablet
- Drag and drop your protocol directory anywhere onto the SD card of the tablet.
Load the Protocol in TabSINT
- Navigate to the Protocols tab
- Below the Protocols pane, you should see a pane titled Add Local Protocols
- Press Add Protocol
- Navigate to the directory with your
protocol.jsonfile, then press Select Directory in the bottom of window
To export results to the Device Storage of the tablet, you must select Device Storage under Server from the configuration panel on the Admin Page. You must be in admin mode to change this option.
Once this option is selected, all test results will be automatically exported to the SD card.
Select Results Output Directory
The output directory for exported results can be selected in the Results tab of the Admin Page.
By default, results will be exported into a
tabsint-results directory created in the root of the SD card.
- With Device Storage selected under Server from the configuration panel, navigate to the Results tab
- Below the Completed Tests pane, you should see a pane titled Local Output
- Press Change Results Directory
- In the pop up window, Navigate to the directory in which you would like to export results, then press Select Directory in the bottom of window
TabSINT can interface with remote Gitlab repositories to load protocols and export results.
Gitlab is a program and web service for managing file repositories based on the git version control system. Users can host their own instance of Gitlab on a local server, or choose to use Gitlab.com to host repositories.
The following instructions assume you are using Gitlab.com to manage your repositories, but TabSINT will interface with any Gitlab instance. Please contact firstname.lastname@example.org if you would like more information about configuring a Gitlab instance to run with TabSINT.
Gitlab is a web service for managing file repositories based on the git version control system. Git is a powerful program used to version-control files, similar to tracking-changes in a Microsoft Word document, but much more detailed. We use Gitlab to track the changes to protocols to maintain versions that can be revisited at a later time.
For background on git or git based version control management, see the following links:
Gitlab.com acts as the document store and version tracker for protocol and result files. Because Gitlab is built as a remote host for git-based repositories, you can choose to manage your repositories locally using git and push them to a gitlab.com repository.
If you are unfamiliar with git, you can fully manage your protocols and results using the Gitlab Web Interface. The instructions below provide a primer on creating and managing repositories from the Gitlab web interface.
- Visit the Gitlab Sign In Page and sign in with an existing gitlab account, or create a user account and then sign-in
- Once logged in, you will see a listing of your repositories (a.k.a Projects)
Creating a Repository
- Click on the + New Project button in the top right of the Projects page
- Fill out the project path
- Select a Project name for the repository. By default, the repository will be created in your own group. The group is sometimes referred to as a namespace.
- You can change the name of the Project Owner using the drop down menu.
- In the example below, we have decided to name the repository Example-name
- Type in a description for the repository
- Select the visibility of the repository. Generally, you want to leave this as
- Press Create Project, and you will be brought to your new project page
Initializing a Repository
- Below where the screen says The repository for this project is empty, click on the blue text README
- This will start a new file within your repository titled README.md
- Fill in any text that you would like to use to describe your repository.
- Press Commit Changes at the bottom of the page when you are done. Don't worry, this file can always be changed later.
- You will be automatically transported to a formatted view of the
README.mdfile. If you are not taken to this page click the Project tab (to refresh the page) and then Repository tab and then Files at the upper portion of the page.
- Now you can add files to your repository using the Gitlab web interface.
Adding Files to a Repository
- If you are not already at the Files interface to your repository, click on the Files link on the left side of the page.
- Press the + button to the right of your protocol name
New Directory, whichever action you would like to perform.
Multiple files can be uploaded (a.k.a pushed) to a repository at the same time using the git cli or a git graphical user interface. Some useful git gui programs include:
GitHub Desktop (even though this is made by Github, you can still manage Gitlab repositories)
Below shows the Example-name repository now populated with a protocol and media files, ready to be loaded onto TabSINT.
Tagging a Repository
Protocol repositories may be tagged in order to reference specific versions downloaded by TabSINT. TabSINT will download files associated with the latest tag in the protocol repository when tabsint is asked to update a protocol.
Tags can be used to release a new version of a protocol.
- Enter the project you would like to tag
- Click on Tags in left menu
- Click on the New Tag button
- Enter a tag name. This will be the saved version of the protocol repository when TabSINT downloads or updates a protocol.
- Enter a message, and release notes, if you would like
- Press Create Tag
TabSINT can be configured to communicate with a remote Gitlab repository in the Configuration tab of the Admin view.
- Select Gitlab under the Protocol Tab and then select Show Advanced Settings
- A Gitlab Configuration pane will appear below.
- If your build of TabSINT has been pre-configured with Gitlab credentials, the fields should already be filled in.
- If you have changed the fields and would like to reset to the build configuration, click Reset to Default
- If no credentials are found in the build file, the values will not change.
- Host: This is the host url of the gitlab instance you are using to manage repositories
- If you use
gitlab.comto access your repositories, the host should be set to
- If you locally host your own gitlab instance, enter the root url used to access that instance (i.e.
- If you use
- Token: The token is a secret key used to access your repositories. This must be entered correctly (case-sensitive) in order to successfully download repositories. To find your token on Gitlab.com:
- Click on your account avatar in the top right of the browser window
- Click on Settings
- Click on Access Tokens in the menu on the left
- Create a personal access token with the scope set at
- NOTE: Tokens allow access to any repositories that are attached to your username. Please keep the token safe and private!
- Namespace: This is the group name used to host your repositories.
- This will be your username if you have not set up any other groups.
Gitlab can be used to deploy protocols to remote tablets in real time. Each protocol must be stored in a single repository.
- Protocol repositories must contain a top level protocol file titled
- The protocol file can reference media (images, video, audio) relative to the
protocol.jsonfile stored anywhere in the repository.
Gitlab must be selected as the Protocol Source in the Admin View in order to access this feature. Refer above to Configuring TabSINT for help.
- Navigate to the Protocols tab of the Admin View
- In the Source panel, make sure Gitlab is selected and the correct Host, Token and Group have been entered into the fields.
- Type in the name of the protocol repository you want to add (i.e. Example-name) The Version field can be left blank if it is not relevant.
- Press + Add
- The protocol repository will be downloaded to the tablet
Below is an example of configuring Gitlab to add the Example-name repository (or protocol) to TabSINT. Because there is only one version of the Example-name protocol, it is fine to leave that field blank.
Once the protocol has been added, it will appear as an option in the protocols list. Note it list the server identifying the method by which the protocol was added to TabSINT. In this case it was added through Gitlab.
- Select the protocol from the list in the Protocols tab of the Admin View
- Press Update
- If a new repository tag is available, TabSINT will update the local version of the protocol to the latest repository tag.
Exporting and Uploading Results
If the Automatically output test results field is checked under Admin View Setup, result will be automatically exported or uploaded depending on Server connected to the protocol. For example, the Example-name protocol was added using Gitlab, so the results will automatically be uploaded to Gitlab upon completion of an exam. However, in order for results to be uploaded, a Results folder must first be created.
For more on uploading and exporting results, visit the Results Tab of the Configuration section of this documentation.
TabSINT was originally built to work with a back-end LAMP (Linux-Apache-MySQL-Php) server. The original TabSINT server functioned to serve protocols and store results, as well as provide calibrated media for certain devices and headsets. We have since implemented support for the Gitlab data interface to provide a similar service without needing to support a separate server instance.
Currently, the source code for the TabSINT Server is closed source, but we plan to release the API for the server so those with engineering resources could create their own TabSINT Server.
Please contact email@example.com if you are interested in setting up your own TabSINT Server instance.