Requires Decipher Cloud
Welcome to the Decipher Cloud User Training series.
You were probably directed here to learn more about Decipher survey programming in the UNIX/shell environment. However, if you’re wandering into this on your own, you’ll need to have at least some programming experience to keep up. It's advised you go through standard Advanced Decipher Programming Video Tutorials before attempting any of the trainings described here.
During this advanced training series, you will learn the Decipher V2 server structure (how files are organized), and how to use Decipher V2 scripts.
Alright, let’s get to it!
1: Section I
1.1: Setting up your computer with SSH & FileZilla
First things first, let’s make sure your computer is equipped with the tools necessary for the job.
To access the Decipher server, you'll need Putty and FileZilla. Putty will allow us to SSH into the server for a command-like experience similar to UNIX. FileZilla will allow SFTP access to the server and all it's files.
We'll assume by now you have credentials to access your respective servers. The same credentials are used for SSH and SFTP.
Download PuTTY, an SSH client for Windows.
- Open putty.exe
- Under Host Name (or IP address), enter firstname.lastname@example.org
- Set the port: 22
- Set the connection type: SSH
- On the left, go to Window --> Translation
- Under Received data assumed to be in which character set, set to UTF-8
- Go back to Session and under Saved Sessions, type Decipher and click Save
Use PuTTY to connect your Decipher server via SSH.
Download and install FileZilla, an sFTP client with a GUI.
- Open FileZilla
- Click on File --> Site Manager
- Select New Site and name it Decipher.
- In the General tab, update with the following configurations:
- Host: yourserver.decipherinc.com
- Protocol: SFTP - SSH File Transfer Protocol
- Logon Type: Ask for password
- User: <leave blank> or enter your username
- In the Advanced tab, set the Default remote directory to /home/hermes/v2
- Click OK to save settings
FileZilla is one of many popular sFTP clients used to upload files to the server.
1.2: Basic Unix & Shell Commands
It’s now time to dig deeper into the matrix. This is what separates the pros from the noobs!
In this training we cover basic Unix and other shell commands you may need to know to navigate the server, including:
- Bashrc & Setup
- pwd / ls / clear / passwd
- cd / mv / cp / rm / mkdir / unzip / 7za / touch
- Autocompletion / Wildcards
- wc - line / word count
- man pages
Watch the Basic Unix & Shell Commands Training
Duration: 31 minutes
1.3: VIM Training
In this training we cover VIM. VIM is a powerful text editor that offers many efficient tools for authoring documents. We will demonstrate some of the features of VIM in the below tutorial:
- Insert / visual / command mode
- Searching / find & replace %s
- Deleting lines / yanking / paste / undo / redo
- sp / vsp
- Saving file
- Vimrc setup
- VIM Decipher clip
Watch the VIM Training
Duration: 33 minutes
1.4: Decipher V2 Structure
Now that you’ve learned a bit about moving around in the shell and how to edit files in the shell, let’s explore how things are organized.
In this training we introduce the structure of Decipher, including:
- survey.xml / static folder / mail folder
- Data Folder
- results.bin / results.strings
- Hierarchy System:
- Lang folder / syslang / survey.style
- v2 / hermes / styles / compat
Watch the Decipher V2 Structure Training
Duration: 25 minutes
1.5: Decipher V2 Scripts
Scripts.. They make life so much easier!
In this training we cover Decipher V2 scripts, these scripts are similar to what we have in the Decipher UI. We'll cover these scripts particularly:
- live / closed
- generate / recover
- tabimport / transform / old-results
- get-ftp / client uploads (not available on cloud)
- gcat (not available on cloud)
Watch the Decipher V2 Scripts Training
Duration: 57 minutes
2: Section II
2.1: Programming Processes
You’re almost done! Let’s take some time to talk about best practices for new surveys, changes to a survey! We'll explain how to go through checklists, how to do client changes, and how to make changes to a live survey in the shell (very dangerous stuff!).
In this training we cover programming processes, including:
- New Survey Checklist
- Live Changes Checklist
- Hmerge / Remerge
- Best Practices
Watch the Programming Processes Training
Duration: 1 hour 22 minutes
3: Section III
3.1: Adminstration with umanage
The below article should be read by any server administrator. If you type "groups" in the terminal, you should see that you are part of the group "supervisors". This allows you to create more shell users to log in via SSH/sFTP. Information on how to create users can be here on here.
Note: A shell user is allowed access to all projects. Only "approved" email domains may have shell accounts. Please reach out to your account manager if you need other email domains approved.