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:
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 7.2 or higher
- PHP-XML Module
- PHP-DOM Module
- PHP-ZIP Module
- PHP-GD Module
- 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¶
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
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.
Account Settings¶
Access the Account Settings page by clicking on the Avatar in the top left with your initials in it.
The Account Settings page allows you to change basic information about your user account. These settings can also be modified by your System Administrator.
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.
File Links¶
The File Links section allows you to send or receive files to non Tech Bench users. An example would be if a customer needed access to a file that is too large to email, or has a file extension that is commonly blocked by email Spam Filters (.exe for example). Files can be uploaded by you for the customer, or you can allow the customer to upload files for you to access.
Each file link has a custom URL and expiration date. When the file link expires, you will be the only one that will still have access to the files.
Primary File Links Page¶
The primary page gives basic information about each of the file links you have created, such as the name you assigned to the link, the date it will expire, and how many total files are attached to the link.
The following options are available in the Primary File Links Page
Column | Details |
---|---|
Link Name | The assigned name of the file link. By clicking on the name, you can access the details of the link itself. |
# of Files | The number of files that are attached to the link. This is the number of files uploaded both by the owner of the link, and any guests that have accessed the link. |
Expire Date | Shows the date that the link will no longer be accessable by a guest. Note: if the link is highlighted in red, it has already expired. |
Actions | Options that can be applied to the selected link. |
The Actions column has the following options:
Action | Details |
---|---|
Will open your default email client with basic information about the file link already filled in.* | |
Disable | Will set the expiration date to yesterday, so the link is immediately no longer accessable.* |
Delete | Will delete the file link and any files that are attached to it. |
Note:* | These options are only available for links that have not yet expired. |
Create File Link Page¶
To create a new file link, you will need the following information:
Field | Description |
---|---|
Link Name | Enter a name to identify the link. This name is not public and will not be seen by the guest |
Expires On | Select the date that the link will expire. The default is 30 days from the current date. |
Allow User to Upload Files | If selected, the guest can upload files. If unchecked, the guest will not have the option to upload files. |
Link to Customer | If a customer is selected, files loaded by a guest can be moved to that customers profile. |
Add Instructions | With this option selected, an additional field will open up to allow you to place a custom message that will be displayed when visiting the link. |
File Upload | Files can be added to the link right away, or later via the details page. Up to five files can be loaded at a time. |
Create Link | This will upload attached files (if available) and create the link. Once the link is created, you will be redirected to the Link Details page. |
Link Details Page¶
The Link Details page will show all information about the currently selected link.
Section | Field | Description |
---|---|---|
Link Details | Link Name | The name assigned to the link. Note: This will not show up on this link, it is for internal reference only. |
Customer | Name of attached customer (if assigned). | |
Expire Date | The date the link will no longer be accessable by a guest. | |
Allow Uploads | Notes if the guest is allowed to upload files. | |
Link | The URL the guest will use to access the link. | |
Actions | Edit Link | Modify the link details or the link instructions |
Email Link | Will open your default email client with basic information about the file link already filled in. | |
Delete Link | Will delete the link and all attached files. | |
Instructions | Instructions will be shown to the guest when they visit the link. These can be edited by clicking “Edit Link” | |
Link Files | File Name | Clicking on the name of the file will download it to your device. The “Info” icon will show who uploaded the file and any notes they included with the file. |
Date Added | Date the file was loaded to the file link. | |
Added By | If the file was added by a guest, their name will show in this field. | |
File Notes | If the file was added by a guest, any notes they provided with the file will show in this field. | |
Actions |
|
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¶
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¶
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.
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¶
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¶
- 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.