Home About Us Overview How to Start White Papers Contact Us
By:  Peter Shikli
Rev Date:  11/03/16

Inmate Task Communication

Overview

eTaskBoard was designed for all participants to be online. For at least the next few years, we expect prison inmates to have security restrictions against any online access. When this is relaxed to allow internet access restricted to designated IP addresses, eTaskBoard will work in its native form, and this document will become obsolete. Until then, eTaskBoard for inmates will operate as noted in the implementation section of the Prison Inmates as Teleworkers white paper.

What is referred to there as the sneakernet involves carrying a USB memory stick (aka pendrive) with task data, including its attachments, from the Coordinator's PC to the inmate's PC as work assignments, and then back again as work products. In cases where the prison institution prefers to use a restricted LAN drive to allow inmate and Coordinator access, the sneakernet architecture will be identical except for walking the memory stick.

In both cases, a command on the Coordinator's PC will export and zip tasks to be assigned to inmates. The inmate's PC will include an application which:
  1. unzips and imports tasks
  2. allows inmates to edit those tasks as they complete their work
  3. encrypts, zips, and exports completed tasks
A command on the Coordinator's PC will unzip, decrypt, and import completed tasks.

Below follow the details for installing the application for the inmate's PC and its operation.

Installing xampp

As is all of eTaskBoard, the custom task management application on the inmate's PC is written in the PHP language. For an inmate's Windows-based PC, we use xampp as the development and operating environment, also called a personal webserver.

1) To begin, click the xampp download link. Since it is an executable, your PC will put it in your default downloads folder. Right click on it there and select the option to run it in administrative mode, and it will begin installing. Select a destination folder like C:\xampp

Antivirus warning2) Disable your antivirus if you get warnings like the one at right, or disregard it as the install will probably still work.

3) When asked to extract the components as per the image below, leave everything checked even though we don't use everything for now.

Select components



4) Windows security will probably display a security alert as below. Make sure both boxes are checked and click the "Allow Access" button.

Windows security alert


5) When you see the XAMPP Control Panel as shown below, your installation has been successful.

XAMPP Control Panel


6) Next, click this link to download an etbportable.bizware.zip file containing the custom application. Unzip the file and extract its contents into a folder C:\xampp\htdocs\sites\etbportable.bizware where you'll need to add the sites\etbportable.bizware folders. Whereas you can use any of hundreds of zip utility programs to do this, Windows comes with one.

7) Similarly, click the link to download and then extract the contents of the file shared.zip to the location C:\xampp\htdocs\sites\shared\classes where you'll need to add the shared\classes folders.

8) Then click the link to download the httpd-vhosts.conf file. No need to unzip it, just copy it to replace the same file in the
C:\xampp\apache\conf\extra
folder.

9) If your above XAMPP Control Panel is no longer open, go to C:\xampp and double click an executable xampp-control.exe file. That will redisplay the control panel where you click an icon called Shell near the right. A terminal window will open. Type into it the command below and press enter:
pear install HTTP_Download
You can put it in your clipboard and paste it into the terminal window with the keys:
Alt-space, E, P

10) After pressing enter, the terminal window should look as below.

Terminal Window

11) Next, you'll need to find a C:\Windows\System32\drivers\etc\hosts file with no extension, and add a line to it. Best is to use a program like Notepad++ but you can make it work with regular Notepad. Below, they're both called notepad.

12) The problem is that hosts is a system file so Windows won't just let you edit it. First make sure every other Windows application has been closed. Windows won't allow editing it while anything is using it. Then right click the notepad program icon and from the drop-down list select the one that allows you to open it as administrator. Then you can click and drag the hosts file into notepad for editing.

13) At the bottom of the hosts file, enter a new line as below:
127.0.0.1 etb.etbinmate.com

14) One of the difficulties with Notepad is that it doesn't show the separate lines of the hosts file as does Notepad++. You'll have to find those lines based on content. Also watch out that notepad doesn't sneak (without telling you) a .txt extension onto the hosts file when you save it. It must be saved without an extension over the existing hosts file.

15) If Windows continues to refuse to save your hosts file, you may need to reboot Windows in protected mode (F8 repeatedly clicked on boot) and try the above. After you're saved and done, reopen the hosts file to confirm the added line is there.

16) To start the web server after the above, double-click
C:\xampp\xampp_start.exe
and you should see a terminal display with lots of words starting with, "XAMPP now starts as a console application."

17) To restart the webserver, first click:
C:\xampp\xampp_stop.exe
to stop it, then the C:\xampp\xampp_start.exe to restart it. Going forward, this start and stop is all you need to activate xampp and the inmate's personal server. Note that you shouldn't just close terminal windows instead of running the C:\xampp\xampp_stop.exe program to close the window.

18) You can test the webserver by entering http://localhost into your browser to see that xampp is there.

19) Finally, enter
http://etb.etbinmate.com
in your browser, and the login for the inmate's application should display as below:

Inmate Login

With the above installation complete, regular operations require only that your Drive I: be functional (see below), xampp be loaded (step 16 above), the inmate's eTaskBoard be launched (step 19 above), and the task transfers below to be managed.

Note that you will occasionally be asked to repeat step 6 to update the custom software.

Transferring Tasks

Whether using a USB memory stick or a restricted LAN drive, make that your I: Drive if at all possible. That is where tasks will come and go.

Changing Drive I:

Whereas remapping with the Windows subst command is preferred as noted at left, you may need to change its reference in the PHP code. To do that, open
C:\xampp\htdocs\sites\etbportable.bizware\includes\config.etbinmate.php
in a text editor like Notepad++, and scroll to the bottom. Change the line:
$Config->zipDirectory = "I:\\";
to something like
$Config->zipDirectory = "C:\\etb\\";

One of the reasons to avoid this is that Bizware's programmers may update this code without warning, overwriting your above changes.

To test task transferring on a PC without such an I: Drive and with the transfer location a C: Drive folder, map the I: Drive to the C: Drive. There are several ways to do this but the Windows subst command is a good way to go, for example:
subst i: c:\
to map i:\etb to the c:\etb folder such that a call to find tasks for inmate jsmith in I:\etb\jsmith will automatically look in C:\etb\jsmith which is where a standalone PC can easily put the tasks. If you need to do this permanently, you can put the subst command in the PC's auotexec.bat file. The sidebar at right presents a sub-optimal approach if necessary.

In the TaskMeister module of eTaskBoard, a Coordinator has a command icon near the top-right of each task display to export and zip a task. He will click that when he wants to propose the task to an inmate, assuming all other task info is complete such as the task descriptions, hours authorized, comment notes, etc. Clicking that icon produces a X.zip file in the default download folder of the Coordinator's PC with X equal to the task ID field's value.

The Coordinator will need to copy the X.zip file to an I:\etb\Y folder, subject to the above subst mapping if necessary, where Y is the username of the inmate to whom the tasks have been assigned. Using batch commands or keyboard macros linked to control keys is a way to automate this.

As soon as an inmate logs in, he will see a list of the tasks that were in his I:\etb subfolder, with regular TaskMeister commands available to edit the task. As soon as the inmate changes the task Status field's picklist to "Developed" (or "Done" which they normally cannot do), the task information, with its attachments that are typically the work products, are moved to I:\etb\completed (all tasks from all inmates) as encrypted zip files, and removed from the inmate's task list.

The Coordinator will periodically click a command icon to display a popup through which he can upload the zip file contents of the I:\etb\completed folder, and then delete the uploaded files from I:\etb\completed to make way for new completed tasks. Such uploaded files will be unzipped, decrypted, and added to the Coordinator's task management list within the regular online eTaskBoard, typically to review task deliverables and convey them to the employers.

This document is provided with the understanding that it will be shared only among the prison staff who were granted access.
Copyright © 2016 Bizware Online Applications, Inc. All rights reserved.
Employ or Task? The Virtual Workforce What Makes Us Unique