Welcome to Tech Bench’s documentation!

Tech Bench is a custom Content Management System (CMS) built to aid service technicians by allowing them to store and share information about their customers and equipment they install and maintain.

The Tech Bench consists of two major sections

Customer Information

Users can create customer accounts and store customer specific information for each of these customers such as:

  • The type of equipment they have installed
  • Login papsswords and other information for the equipment
  • Notes and files speific to that customer and their equipment.

This central storage location ensures that all field staff have access to the same information.

Additional features for customers include the ability to create a custom link that will allow files to be accessed by guests or allow guests to upload their own files. These links are temporary links that are only available for a configurable amount of time

Tech Tips and Documentation

While working in the field, all service technicians run across tips and tricks that they use to make their jobs easier. The Tech Tips section allows for registered users to share these tips with all other users. This creates a custom Knowledge Base for registered users.

The Knowledge Base can also include official documentation for the different equiopment that your company installs and maintains.

Whenever a new Tech Tip is created, an email is sent to all registered users notifying them of the tip.

Installing the Tech Bench

The Tech Bench is designed to run on a dedicated server. The Tech Bench Installer<https://github.com/butcherman/Tech_Bench_Installer>_ repository on Git Hub holds installation scripts that will aid with setting up the Tech Bench in a smooth manner. If you use one of the scripts, all that is required ahead of time is to install the Operating System and make sure it is up to date with the latest security patches and updates.

Select your server environment for instructions.

CentOS
Preparing the server

Before the installation can begin, the following requirements must be met:

  • CentOS Operating System is up to date with the latest security updates
  • A Static IP Address must be assigned to the server
  • Ports 80 and 443 for HTTP and HTTPS should be opened and pointed to the server for Web Access
  • If you have SELinux enabled on your server, it is recommended at this time to turn it off.
Installing Tech Bech
  • Download the install.sh script to the CentOS server with the following command:
curl -s https://raw.githubusercontent.com/butcherman/Tech_Bench_Installer/master/src/CentOS/install.sh -o install.sh
  • If you wish to install a specific Tech Bench installation package, place the zipped installation files in the same directory as the install script

    Note: Leave the files in zipped format. They will be extraced by the installation script.

Navigate to the folder containing the installation script. To completely automate the process and have the script take care of all prerequisites, run the following commands:

sudo chmod +x install.sh
sudo ./install.sh

Tech Bench Installer is built to be run on a dedicated server that will only be used for the Tech Bench application. However, if your CentOS installation is not a standard default installation, or you indend to host multiple applications on your server, you can run the installer with the -m or –manual argument. If you chose to run the installer this way, the installer will fail if any prerequisites are not met.

If you wish to download a specific Tech Bench version, or from one of the existing branches, includ the -b or –branch tag followed by the branch name or version tag.

Example:

sudo ./install.sh -b master   #  This will download the files directly from the Master branch

During the installation process, the following information will be required:

  • The full URL that will be used to access the Tech Bench Application (example: techbench.demo)

    Note: Do not include the http or https in the URL

  • If you would like to use http or https access for the Tech Bench website

If you opt for a manual installation, the following additional information will be needed:

  • The Root Directory the web files are served from (Default is /var/www/html)

  • The name of the Database that will be used to store the Tech Bench data (note: this database must already exist)

  • The username and password of the user that will be used by the Tech Bench to access the Tech Bench database

    Note: The Database need to have all permissions with the grant option for the Tech Bench database, and must have the select ability on the ‘information_schema’ virtual database.

  • If you would like to remove any existing virtual directories and create new directory specifically for the Tech Bench

After Installation is Completed

Log into the Tech Bench by browsing to the URL of the Tech Bench server, and use the following credentials for default access:

Username: admin Password: password

The installation log can be found in the storage/logs folder of the Web Root directory.

After logging in for the first time you will want to setup the following options:

  • Email Settings
  • Equipment categories and types
  • Users

Refer to the :ref: Tech Bench Documentation<https://tech-bench.readthedocs.io/en/latest/> for more information on configuring the Tech Bench settings and using the Tech Bench.

Loading SSL Certificates

The Tech Bench installer will create a self signed SSL certificate for intial access. If you wish to upload your own certificate, place it in the /keystore/cert directory of the Tech Bench root directory. Open the /etc/nginx/nginx.conf file and edit the following lines to reference the new files and their location:

ssl_certificate "/var/www/html/keystore/certs/server.crt"
ssl_certificate_key "/var/www/html/keystorel/certs/private/server.key"

After updating these files, reboot the server, or run the command systemctl restart nginx to start NGINX with the new SSL files.

Ubuntu

Comming Soon!!!

Manual Installation
Preparing the server

Before the installation can begin, the following requirements must be met:

Server Requirements
  • Web Server is installed and running.

  • Rewrite Module is enabled (if running Apache, to allow .htaccess rewrite)

  • MySQL Database Server is installed and running

    Note: For security purposes, it is best practice to have the public folder of the Tech Bench application files be the Web Document Root

PHP Requirements
  • PHP 7.2 or higher
  • PHP-XML Module
  • PHP-DOM Module
  • PHP-ZIP Module
  • PHP-GD Module
Additional Software Requirements for Dependency Management
  • Coposer
  • Node.js
  • NPM
  • Supervisor (Linux Distributions Only)
Setting up files
  • Download the latest build of :ref: Tech Bench<https://github.com/butcherman/Tech_Bench/releases>

  • Unzip files and place all files in the Web Root folder

  • Be sure to copy the .htaccess files and .env.example files as well

  • Rename the .env.example to .env

  • Open the .env file and edit the following entries:

    • APP_URL= This entry should contain the full URL of the Tech Bench Application (example: https://techbench.mycompany.com)
    • DB_DATABASE= This entry should contain the name of the database to be used for the Tech Bench. Note: you must create this database
    • DB_USERNAME= The username that will be used by the tech bench to read and write to the database
    • DB_PASSWORD The password for the database user

    Note: The Database user must have full permissions to the database with the grant option as well. The user will also need select permissions from the information_schema virtual database.

  • Save the modifications and exit

Downloading Dependencies

From a command prompt, navigate to the Web Document Root folder and enter the following commands:

  • Download all Composer dependencies
composer install --no-dev --no-interation --optimize-autoloader
  • Download all NPM dependencies
npm install --only=production
  • Create a new Application Encryption key
php artisan key:generate --force
  • Create the virtual link for the public storage folder
php artisan storage:link
  • Create the Javascript file
php artisan ziggy:generate

Note: The APP_URL field must be correct before running this command. Failure to do so will result in the application not running correctly!

  • Compile the minimized Javascript and CSS Files
npm run production --force
  • Build the Tech Bench Database
php artisan migrate --force
Post Installation Instructions
Supervisor Configuration

In order for email notifications to be sent properly, the Supervisor Service must be configured to run the work:queue command

In the Supervisor directory (default /etc/supervisord.d/) create a new worker file tech-bench-worker.conf

Note: On CentOS distributions, name the file with the .inf extension

Add the following to the tech-bench-worker.conf file:

[program:tech-bench-worker]
   process_name=%(program_name)s_%(process_num)02d
   command=php /var/www/html/artisan queue:work --sleep=3 --tries=3  #  Note:  Modify to Web Root of your server
   autostart=true
   autorestart=true
   user=nginx
   numprocs=8
   redirect_stderr=true
   stdout_logfile=/var/www/html/storage/logs/worker.log  #  Note:  Modify to Web Root of your server
Scheduled Tasks

In order to complete the scheduled tasks provided by the Tech Bench, a cron job must also be added.

In the Cron directory (default /etc/cron.d/) create a new cron file tech-bench-jobs

Add the following to the tech-bench-jobs file

* * * * * cd /var/wwww/html && php artisan schedule:run >> /dev/null 2>&1  #  Scheduled task will check for a scheduled job every minute.  Modigy to Web Root of your server
Accessing Tech Bench

You can now visit the web page for the Tech Bench application by browsing to the URL noted in the .env file under APP_URL

Default login is:

Username: admin Password: password
IMPORTANT NOTE:

It is the responsibility of the system administrator to install and maintain the operating system and web server with the latest updates and security patches.

Administration Guide

Comming Soon!!!

User Guide

Welcome to the Tech Bench User Guide. Select from one of the sections below for detailed instructions.

Dashboard

After logging in, you will be taken to the application Dashboard. This screen shows any new notifications recieved, and a quick summary of recent Tech Tips and your active File Links (if applicable).

Below the notifications, any Customers or Tech Tips that have been bookmarked as a favorite will show for quick and easy access.

Dashboard Image Dashboard Image
Account Settings

Access the Account Settings page by clicking on the Avatar in the top left with your initials in it.

Settings Menu Loction

The Account Settings page allows you to change basic information about your user account. These settings can also be modified by your System Administrator.

Account Settings Page
Additional Options
  • Receive Email on New Tech Tip - This will allow you to get an email notificaiton whenever a new Tech Tip is created.
  • Receive Email on System Notification - This will allow you to get an email anytime there is a System Notification.
  • Automatically Delete File Links Expired More Than 30 Days - Will automatically remove any File Links and their associated files if they have been expired for more than 30 days.
  • Change Password - Will allow you to modify your password.

Note: Only the System Administrator can modify your username.

Note: Your new password must meet the Password Complexity requirements defined by your System Administrator.

Customers

Customer Information allows users to share information about all of your customers in a single location. This includes information such as:

  • Type of Equipment Installed Onsite
  • Information about the equipment (i.e. login passwords, and other usefull information)
  • Special Notes about the cutomer or their equipment
  • Files such as backups of the customer equipment, site maps, and any other customer specific files.
Search Customer Page
Customer Search Page

The Customer Search page allows you to select a customer to view. The list can be filtered by the Customer Name, their City, or the type of equipment installed.

To create a new customer, click the “Add New Customer” link in the top right of the customer list.

New Customer Page
New Customer Form

To create a new customer, the following information should be entered in the New Customer form.

  • Customer ID - this is an unique numerical identifier for the customer. If your company uses a separate billing software with a customer database, the Customer ID should match the billing database.
  • Parent Site ID (optional) - If this site is part of a larger multi-site customer, enter the Customer ID of the primary site.
  • Customer Name
  • DBA Name - If the customer operates under an alternate name or nickname, it can be entered here.
  • Address
  • City
  • State
  • Zip Code

When the customer form is submitted, you will be re-directed to the Customer Details page which will allow you to input customer information.

Customer Details

Once a customer is selected, the Customer Details page will appear.

Customer Details Page

The Customer Details Page is broken down into sections:

Systems

Any system created by the System Administrator can be assigned to the customer. When a system is assigned, customer specific information about that system will be requested. This information can include but is not limited to:

  • IP Address
  • Login Information
  • Version
Contacts

Customer contacts including their phone numbers, and email address can be entered in this section. Clicking on the phone number will activate the default dialer to call the number. Clicking on the email address will open the default Email client with the contact’s email address entered in the “to” field.

Notes

Text notes with additional information that cannot be included with the system can be placed in the Notes section. If a note is marked as Urgent, it will be shown with a red header and be brought to the front of the Notes list.

Files

Customer files can be uploaded to the Files section. This is helpful for storing backups of the customers systems, or maps of the building layout.

Tech Tips

It is important for field technicians to have centralized access to the latest manuals and software for the equipment that they work on. It is also importatnt to be able to share new tips and tricks when a tech finds an easier way to complete a task, or comes across an application or problem that needs to be shared with their fellow techs. The Tech Tips section provides that centralized access that allows techs to collaborate and share information that can be easily ched for at a later date.

Any time a new Tech Tip is created, an email is sent to all registerd users with the basic Tech Tip information, and a link to view the Tech Tip in it entirety along with any attached files.

Search Page
Tech Tips Search Page

The Tech Tips Search page allows you to search through the list of Tech Tips, Documentation, and Software that has been uploaded to the Tech Bench quickly. The search field can accept the ID number of the Tech Tip, part of the Subject, or a key phrase from the body of the Tech Tip. The newest Tech Tips will be listed first in the list, and a brief synopsis of each tip will show in the search results.

To create a new Tech Tip, click on the “Create New” link to the right of the search bar.

New Tech Tip Form
New Tech Tip Form
Fill out the Tech Tip Form with the following information:
  • Subject - Enter a descriptive subject that will allow other users to understand the reason for the Tech Tip.
  • Tip Type - Select one of the following options
    • Tech Tip - A simple knowledge base tip for others to learn from.
    • Documentation - Equipment manuals and guides.
    • Software - Equipment Firmware and Software.
  • Eqiupment Types - Select all of the Equipment that this Tech Tip applies to.
  • Tip Details - The main body of the Tech Tip. Use the Editing Tools provided to format the tip body as needed.
  • Attach File - If it is necessary to attach files to the tip, drag them into the box, or click inside the box to manually select files.

When you submit the new Tech Tip, you will be redirected to the main Tech Tip page for this new Tip.

Tech Tip Body