Welcome to OpenCATS’s documentation!¶

Contents:
Gentle warning-read first¶
This documentation is coming along nicely, albeit slowly. If you have requests for anything that should be included in this documentation, please comment on our forums.
Contents¶
Gentle Warning
Table of Contents
- Preface
- What is this manual?
- Release information
- Legal information
- Authors and Contributors
- Original CATS/Cognizo developers and contributors listed
- OpenCATS Developers and contributors
- Introduction and Overview
- What is an Applicant tracking system (ATS)?
- How is it free and what is Open Source software?
- OpenCATS vs CATSOne vs “open source”
- What can OpenCATS be used for?
- How does OpenCATS compare to other free software and paid Applicant Tracking Systems?
- OpenCATS General Features
- Windows-OpenCATS Installation instructions
- Windows Prerequisites
- Downloading software and preparing your system
- Start Xampp
- Moving your OpenCATS Applicant Tracking System directory
- Optional-Renaming your OpenCATS default directory
- Launch PhPMyAdmin
- Set up OpenCATS
- Install on Shared-hosting (Bluehost, GoDaddy or similar)
- Download OpenCATS to your computer
- CPanel-File Manager
- CPanel-PHP
- CPanel-MySQL
- Install the OpenCATS software
- Install on MacOS
- OSX Prerequisites
- Downloading software and preparing your system
- Configure and start MAMP
- Create database
- Moving your OpenCATS Applicant Tracking System directory
- OPTIONAL - Renaming your OpenCATS directory
- Set up OpenCATS
- Install Scripts, Ubuntu Linux
- Get the correct script for your distribution
- Install the OpenCATS software
- Screens in-depth
- OpenCATS Dashboard/Home screen
- Activities screen
- Job Orders screen
- Candidates screen
- Companies screen
- Contacts screen
- Lists screen
- Calendar screen
- Reports screen
- Settings screen
- Using OpenCATS-The building blocks
- The modules
- Add a new company
- Add a new contact
- Add a new job order
- Adding a candidate and attaching to the job order pipeline
- OpenCATS Backup/Restore and Upgrade Instructions-THIS SECTION INCOMPLETE!
- Backup/Restore best practices and things to consider
- About this documentation/different environments
- Pros and Cons: GUI vs. Non-GUI
- GUI (Graphical, point and click)
- Non-GUI
- Testing your backups/Setting up a test environment to reuse
- Changing your user passwords in phpmyadmin
Short overview of original OpenCATS Source code
F.A.Q. for OpenCATS applicant tracking system
The remaining items need to be done
- Using OpenCATS
- Overview
- Handling customers
- Handling talent
- Reporting and exporting data
- Configuring and administering OpenCATS
- Managing users
- Email and templates
- Calendars
- Backing up and restoring the OpenCATS database
- Special tables
- Customizing OpenCATS
- Branding
- Localization
- Using extensions
- Creating extensions
- Further reading
- Academic stuff
- The user/developer community
Preface¶
What is this manual?¶
This manual explains how to use OpenCATS, the free open-source applicant tracking system (ATS). It describes how to install and configure OpenCATS, how recruiters can use it to manage their work, and how to customize and extend it.
Release information¶
The current OpenCATS release is 0.9.4 “Countach”.
See the changelog.MD file for details.
Legal information/License FAQ¶
What license is OpenCATS distributed under?
This application is available under two licenses.
- OpenCATS code is under Mozilla Public License 2.0
- Code from the original ‘CATS Project’ circa 2007 is under CATS Public License Version 1.1a (a modified Mozilla Public License)
Can we change this license?
For now, no. The original code will continue to be licensed under the CPL. The OpenCATS team is aggresively working towards moving away from the CPL to a full MPL release.
The OpenCATS code is a combination of MPL and CPL code as of this writing.
What CAN we change?
You can change OpenCATS use OpenCATS in whatever way you choose. HOWEVER the items noted in the CPL can not be changed until OpenCATS moves to a full MPL release. See the next question for details.
What are the key features of this license?
There are some ‘unique’ requirements in Exhibit B;
- You may not use the Licensed Software to operate in or as a time-sharing, outsourcing, service bureau, application service provider or managed service provider environment.
- The following copyright notice must be retained and clearly legible at the bottom of every rendered HTML document: Copyright (C) 2005 - 2006 Cognizo Technologies, Inc. All rights reserved.
- The “Powered by CATS” text or logo must be retained and clearly legible on every rendered HTML document. The logo, or the text “CATS”, must be a hyperlink to the CATS Project website, currently http://www.catsone.com/.
Is this an Open Source license?
Sadly, Exhibit B: I) restricts one of the freedoms required to be defined as Open Source. This means that although OpenCATS is free (as in beer) and the source is ‘Open’, it is not officially Open Source. This project does not have the rights to strip the appendix.
Simplify this for me, what can I do and what can’t I do?
Simply put, you can do anything you want with your OpenCATS system. The main thing you can NOT do is make money off of it. The other things (cosmetic and linking) are specified in Section 2 and 3 above.
Authors and Contributors¶
OpenCATS would not exist were it not for Asim Baig, the original Cognizo developers, and RussH. The OpenCATS community, myself included, are grateful for this.
This is not a comprehensive list of people who have developed and contributed to CATS/OpenCATS over the years. If you have helped, and you are not listed, let us know and THANK YOU!
Original CATS/Cognizo developers and contributors listed¶
- Asim Baig
- Will Buckner
- Andrew Candals
- Paul Canfield
- Brian Hanson
- Austin Smith
OpenCATS Developers and contributors¶
- RussH
- Matias Lespiau
- Kixy25
- libregeek
- skrchnavy
- Bloafer
- cptr13
If anyone has been forgotten, please let us know! Opencatsdocs at gmail
Introduction and Overview¶
OpenCATS is a free and open source, full-featured, web-based applicant tracking system, or ATS. It helps you manage the complete recruitment life-cycle from business development through finalizing a placement. It manages a huge range of information for you, including:
- Candidate details, qualifications, resumes (C.V’s), and contact history.
- Job orders details, associated contacts, and the candidate pipeline for each.
- Multiple recruiters, sites, career portals, and much more.
What is an Applicant tracking system (ATS)?¶
An Applicant tracking system, or ATS, is software designed specifically for Recruiting firms, and HR departments within organizations to organize and track everything within the recruiting process for their organizations.
How is it free and what is Open Source software?¶
Without getting too specific or technical on what is and is not open source, open source software is community developed software that is available to use for free, by anyone, at any time, in any way they choose to. It is truly “free” software. Furthermore, because of the open nature, if you want to dig into the code and customize it, you are allowed to. If you want to share your changes back with the community, you are allowed to (please do!).
There are a lot of different variances in p[en source software and they’ve been covered extensively online. If you want to really dig into, and understand the purpose, intentions, limitations of open source software, please read up on it.
The developers behind OpenCATS will never contact you to try to sell you anything. We are a community of people creating recruiting software for people who do recruiting. Pure and simple.
OpenCATS vs CATSOne vs “open source”¶
OpenCATS is a free, open-source ATS. This means that there are no charges or limitations to install or to use it.
- For software developers, this also means that you are free to modify or extend the OpenCATS software, and to participate as a member of its development community.
- This also means that there is no help desk that you can call for support, though we do have this documentation, some YouTube videos, support forums and a community that helps.
The origins of OpenCATS are in a commercial/open-source development effort called CATS, which split into two separate efforts:
- This open-source OpenCATS system: http://www.opencats.org
- The commercial CATS product: http://www.catsone.com
The commercial CATS product is a highly polished, professionally supported, hosted software service.
OpenCATS, on the other hand, has somewhat less functionality, is installed on your server(s), and is supported only by you – with some help from the community.
The OpenCATS team and the CATSOne organization are not associated in any way. We will not push anyone into any paid service, any time, ever.
What can OpenCATS be used for?¶
If you have to fill jobs, even if it’s only one or two jobs a year, OpenCATS can make your life a lot easier. It will work in small to enterprise sized environments. From one user to hundreds.
How does OpenCATS compare to other free software and paid Applicant Tracking Systems?¶
If you compare OpenCATS to free resources out there, there’s nothing to compare. As far as I know, there are currently one open source applicant tracking system out there right now, which is an off-shoot of OpenCATS. The options as far as I can tell, are free tiers of paid applicant tracking systems that in my opinion don’t provide enough functionality to be practical for daily usage for any but the smallest recruiting environments. The only accurate comparison of a free Applicant tracking system would be the folks out there who are doing their tracking on excel sheets and storing resumes on their hard drives.
If this is you….STOP IT! There is no reason to do that any more. OpenCATS solves your problems and is free.
When you start comparing OpenCATS against the paid applicant tracking systems out there, it’s not such an easy decision. For example, even the lower priced applicant tracking systems generally are competitive or even far better than OpenCATS in terms of features. The higher priced, enterprise applicant tracking systems make OpenCATS (in it’s current state) an afterthought.
So if you are willing to pay the monthly cost of even a cheaper applicant tracking system, and features that OpenCATS are lacking in are important enough, then a paid ATS may be a better option for you. The advantage in that scenario that OpenCATS still has however, is that OpenCATS is still free for multiple users. So, a low end applicant tracking system might bring value at $50/month for a solo recruiter over a free OpenCATS system. But, what if you have ten users? Are those features worth the $50/month per user price-tag ($500/month total)? These are factors to consider.
Another aspect to OpenCATS that should be considered is data privacy and data security. With a self-hosted OpenCATS system, you are solely responsible for your data security. If you are managing that well, you won’t fall victim to the occasional hacks and data breaches you hear about on the news. Also, there is no chance of coming into the office one day to find that the company running your applicant tracking system has suddenly closed their doors overnight with no way to access your critical recruiting information. OpenCATS allows you to control the security of your data, and control of your recruiting information. There is tremendous value in that, if that is important to you.
While OpenCATS is a perfectly functional applicant tracking system. It does not compete with most modern paid applicant tracking systems feature for feature. Whether it is the right solutions for you and your company is up to you! Test it out and decide.
OpenCATS General Features¶
Try our demo!
What better way to dig in to the OpenCATS capabilities and feature than to dig into it for yourself?
Free: OpenCATS is open source software. Which means it is free (no cost) to use, and you are free to modify it in (almost) any way you want. Seriously, if you can do it, get down into the code and change absolutely anything!
Support: It also means support may be hard to find. We have an active community of people that are willing to help as much as possible though. Also, we are slowly adding to our documentation and YouTube channel.
It is easy: OpenCATS has an easy to use, intuitive interface. This means minimal training time for you and your recruiters. The job portal has a simple search and application process that your candidates will get through easily.
Web based or local: OpenCATS can be installed in a variety of environments. For the solo recruiter/single user, OpenCATS can be installed on your local computer, accessible only by you. OpenCATS can be installed on a local network, accessible by everyone within the office, with no limit on users, yet still protected and removed from the outside internet. OpenCATS can also be installed and accessible via the internet, through a public facing web server, A VPS, a shared-hosting environment, so multiple users from all over the world can access and use OpenCATS together. Keep in mind though, that because OpenCATS is open source software, security is your responsibility. Make sure the appropriate measures are taken for the setup that you choose.
Full recruiting life-cycle: OpenCATS provides the infrastructure for the entire recruiting life-cycle, regardless of the type of role that you are recruiting for, or the volume of openings that you are dealing with.
Note
OpenCATS can get cumbersome for very high-volume recruiting due to the current lack of bulk recruiting features. Importing and dealing with many candidates at once per role may be prohibitive in OpenCATS. You would need to gauge the effort against the results and decide if OpenCATS is the best solution for your situation.
OpenCATS will walk you through the process, including the sales cycle, from building targeted lead lists, making client calls, getting signed agreements and taking job orders. It will handle all of recruiting, from initial candidate intake, job posting and applications, through the interview, offer, acceptance and candidate start. OpenCATS was designed by recruiters, for recruiters and continues to be developed with recruiting as the sole focus.
Internal and external recruiting: OpenCATS has all the functionality for companies that need an Applicant Tracking system for their internal recruiting as well as recruiting companies that are recruiting for multiple, external clients.
For internal recruiting, all recruiting can be done by checking the “Internal posting” check-box on the job order. Departments can be created and customized within any organization, and contacts added for those departments. OpenCATS can be as thorough and specific as you need it to be. For recruiting firms with external clients, each client can be tracked individually, even if they have multiple locations, departments and hiring managers. The flexibility is there within OpenCATS to ensure accuracy throughout the recruiting process.
Company branding: OpenCATS can be branded for your organization, you can replace the OpenCATS logo with your company logo, and the public-facing job posting page and outgoing emails, can be changed to match the look of your company’s website and emails.
Resume storage, contact storage, applicant tracking and notes: OpenCATS was built from the ground up for recruiting. It can handle hundreds of thousands of records and resumes with no issues. I am not sure what the upper limit is for how many records and resumes before OpenCATS starts to have issues, but I can comfortably say it would likely take an enterprise-environment for that to happen. For any small to mid-size company, there should be no issues on how much information your OpenCATS ATS can handle.
Skills based tagging: Initially, OpenCATS had resume parsing and resume search built in. Over time, that functionality has been lost. The development team is focused on implementing long term solutions that will allow parsing and keyword search in OpenCATS. In the meantime, skill tagging is included in OpenCATS, and serves as a very functional alternative to keyword searching.
Lists: OpenCATS can make lists for whatever you need. Lead lists for sales?Yes. Candidate hot-sheets? Yes. List by geographic location? Yes. Anything you may need a list for, sales or recruiting, you can generate in OpenCATS for quick access. Lists can also be conveniently be exported as a csv file for any external applications.
Calendar: OpenCATS has a rich and immersive calendar built in that provides a thorough and accurate overview of activities. If you use the calendar system, you will always know what is coming up, and be able to quickly find information from past scheduled events. Unfortunately, at this time, there is no integration with any external calendar systems. OpenCATS can not sync with anything outside of OpenCATS.
Website integration and job board: OpenCATS has a company job postings page built right in. All you have to do is turn it on and brand it however you want. All the “public” marked jobs in your OpenCATS system will show up on your jobs page, and candidates will be able to apply through your site. You can create questionnaires for candidates to answer prior to applying, to ensure only candidates that fit the requirements apply. The candidate would then be added to the pipeline of the job order, and the recruiter working the role would be notified of the new application for review. Lastly, your newly added openings can be automatically posted to certain job posting sites via a built in XML feed. This feature does not work with every job board out there, but it does work with some of the larger ones.
Candidate and client management: From the first phone call to the last email. OpenCATS will help you keep track of all the details, activities, records, contact numbers and keep your work-flow managed.
Reporting: Generate reports on recruiting activity for a quick and accurate overview.
Ownership of data: You own it. It’s yours. You can control it and secure it however you want. No need for your data to be on someone else’s servers, unless that is how you choose to do it.
Backup and restore: Your OpenCATS system can be backed up as often as you want, ensuring no loss of data, ever. There is an easy and intuitive GUI-driven backup/restore system. System administrators can also perform backups/restores through the MySQL database and file system if they prefer. Anyone can backup and restore OpenCATS, regardless of technical knowledge and ability.
User access levels: Currently there are different access levels for users in the OpenCATS system, which the administrator can set up and assign. These are focused on the ability to manipulate data within OpenCATS. The OpenCATS dev team are working on features that will allow administrators to limit access to the records within OpenCATS (example: a recruiter will only be able to see the candidates/clients that are assigned to them, if that’s how you choose to set it up).
Built in Emailing: The email functionality within OpenCATS is substantial. Currently, OpenCATS can be used to send emails to candidates, clients, and contacts. It can also be used to notify of status changes and new applications, or anything you would like it to do. Templates can be set up and used and branding can be included.
Built in modification system: There are certain aspects of modifying OpenCATS that are built in and do not require any technical ability or coding. Fields can be added to the candidate, client, and contact pages quite easily. Any information you want included, or tracked, that isn’t built in to OpenCATS can be added through the intuitive interface with a few clicks.
Windows - OpenCATS Installation Instructions¶
Windows Prerequisites¶
Installation instructions are given for the XAMPP default install environment only. WAMPP will also work if you prefer it. The steps will be a little different.
Downloading software and preparing your system¶
- Download - XAMPP
- Install XAMPP
Note
You may get Windows defender warnings for Apache and MYSQL. Just check the boxes that you want Windows to allow access to. Private network would be for your home or office network only, public network would be for anything else.

- Download - OpenCATS-0.9.4-3 . You can not install this yet.
- Go to the folder where the OpenCATS-0.9.4-3.zip file is located (usually the Downloads folder)
- RIGHT-CLICK on the
OpenCATS-0.9.4-3.zip
file - Click
Extract All
- Change the folder that the files will be extracted to, to the following:
C:\xampp\htdocs\
- Click
extract
Start Xampp¶
- Click the Windows start button and type
xampp
- Hit
enter
. This will open the XAMPP control panel.

- On the right side of Apache and MySQL, click
start
for each one.
Note
ONLY start the Apache and MySql services. You do NOT need any of the other services.

- Stop the apache service (lower right corner, right click XAMPP, stop apache)
- Start the apache service

OPTIONAL - Renaming your OpenCATS directory¶
The current default directory name for the OpenCATS files is OpenCATS-0.9.4-3. This will result in the web address in your browser being http://localhost/OpenCATS-0.9.4-3
If you want to rename the main OpenCATS directory to something else, you can.
- Simply navigate to
C:\xampp\htdocs
- Right click on the OpenCATS directory
- Click
rename
- Rename the directory whatever you want (example: ATS)
Now, to access it, your browser address will be http://localhost/ATS
Launch phpMyAdmin¶
- In your browser, go to: http://localhost/phpmyadmin/
Note
If phpmyadmin does not load in this screen, stop and start your apache service again per the instructions above.
- On the left side, click
new
to create a new database

- In the box labeled
database name
typeopencats
. - Hit
create

You should now see “opencats” listed among the databases on the left.
- Click the opencats database
- In the top row of tabs, on the right side of the screen, click
privileges
- Click
add user account

- User name, make sure
use text field
is selected, in the empty box next to it typeopencats
- Host name: In the first box, select
local
from the drop-down options. The second box should saylocalhost
- Type opencats for the database password twice
- In the “database for user account section”, confirm that the third checkbox
Grant all privileges on database "opencats"
is checked. - Scroll down to the bottom and click
go

Install and run Composer¶
- Download and install- Composer
On the settings Check screen, it should read: C:\xampp\php\php.exe

- In the windows search menu, type
cmd
the open a command prompt. - Type (Or copy/paste)
cd C:\xampp\htdocs\opencats
- Type
composer install
Composer will install some things.
Note
If you get a composer install token error, just hit enter and it will continue without any issues.
Once composer is finished, close the command prompt and open your web broswer.
Set up OpenCATS¶
In your Web Browser, visit http://localhost/OpenCATS-0.9.4-3 (adjust if you renamed the OpenCATS directory). If OpenCATS has been configured correctly, you should see a page that looks like this:

Step 1 System Connectivity This step makes sure you have the required server environment set up correctly.
Note
Disregard the yellow errors. They are not necessary for this installation and you will not lose any OpenCATS functionality.
If you see all green and/or yellow, click Next

Warning
Red = Bad You can’t continue the installation until a server environment issue is fixed.
Step 2 Database connectivity
Enter the following information: Database Name: opencats Database User: opencats Database Password: opencats Database Host: localhost
Click Test Database Connectivity
If the SQL information is set up and entered correctly, you should have all green. If you see red, something needs to be corrected or set up correctly.

Step 3 Loading Data
For a new installation, select New Installation
, then next
Note
Demonstration Installation will auto-populate OpenCATS with general example clients, candidates, job orders, etc. There’s no reason to use this in my opinion.
Note
Restore installation from backup will be covered in a future tutorial

Step.4-full Setup resume indexing
Unfortunately, for now, there is no resume indexing.
* Click Skip this Step
.
Step 5 Mail Settings
OpenCATS can send emails. If you don’t want to use it, you don’t have to. OpenCATS works great either way!
Choose an option from the Mail Support drop-down bar, fill the necessary information in (if you are using it) and click Next

Step 6 Loading extras
Don’t forget to set the time zone to your area!
Warning
If you forget to set the time zone ALL of the timestamps on every note in OpenCATS will be wrong. Set the time zone correctly. You will thank us…
Choose the date format you like best
(United States only) choose to install (if you want) zip code lookup
Click next

Step 7 Finishing installation
Runs through the installation process. You should see a box and some pretty bars moving. It shouldn’t take long.
Note
The default username and password are: admin/admin or admin/cats (all lowercase) depending on your OpenCATS version
Click Start OpenCATS
for your login screen.

Success!!
Your brand new OpenCATS applicant System!

OS X - OpenCATS Installation Instructions¶
OS X Prerequisites¶
Installation instructions are given for the MAMP default install environment only. Requires OS X 10.10.5 or later.
Downloading software and preparing your system¶
- Download and install - MAMP
- Download - OpenCATS-0.9.4-full
- Extract the files to :
/Applications/MAMP/htdocs
Configure and start MAMP¶
Start MAMP (First steps)
- On your MAMP click on
Preferences
- Configure MAMP based on MAMP instructions
Configure Web Server
- Go to the Web Server tab
- Select Apache or Nginx (whichever is preferred)
- Select Document root -
/Applications/MAMP/htdocs
Setup PHP version
- Click the php tab
- Select php version 5.6.X
Warning
OpenCATS does not currently support php7. It must be 5.6.X
Note
if php 5.6.X is not in the options (free version supports only 2 php versions), it is necessary to define ‘latest’ versions.
Setup available PHP versions:
- Open terminal
- Go to
/Applications/MAMP/bin/php/
directory - List php versions
ls
- Only the last two php versions listed with above command are displayed in the MAMP
- It is necessary to rename unwanted versions to move them to the begining of the list.
Example: php5.6.1 and php5.6.15, then rename like this
php5.6.15
toaphp5.6.15
(mv php5.6.15 aphp5.6.15
) - Close and start MAMP, you shoud see in preferences php versions as changed.
Create database¶
- On your MAMP click on
Open WebStart Page
- It will open a browser with the MAMP dashboard
- From Tools select phpMyAdmin
- It opens phpMyAdmin in browser
- On the left side, click
new
to create a new database

- In the box labeled
database name
typeopencats
. - Hit
create

You should now see “opencats” listed among the databases on the left.
- Click the opencats database
- In the top row of tabs, on the right side of the screen, click
privileges
- Click
add user account

- User name, make sure
use text field
is selected, in the empty box next to it typeopencats
- Host name: In the first box, select
local
from the drop-down options. The second box should saylocalhost
- Type opencats for the database password twice
- In the “database for user account section”, confirm that the third checkbox
Grant all privileges on database "opencats"
is checked. - Scroll down to the bottom and click
go

Moving your OpenCATS Applicant Tracking System directory.¶
The current default directory name for the OpenCATS files is /Applications/MAMP/htdocs/home
.
- Go to:
/Applications/MAMP/htdocs/travis/build/opencats
- Right click on the
OpenCATS
directory, selectcut
. - Go to:
/Applications/MAMP/htdocs
, right click and selectpaste
. We have moved the main OpenCATS directory into the htdocs directory. - Right click on the
home
directory and delete it. We don’t need it anymore. - Double click on the OpenCATS directory to go into it.
- Right click on the
INSTALL_Block
directory and delete it. The INSTALL_BLOCK file or folder will prevent OpenCATS from being installed on your system.
OPTIONAL - Renaming your OpenCATS directory¶
The current default directory name for the OpenCATS files is opencats. This will result in the web address in your browser being http://localhost/opencats
If you want to rename the main OpenCATS directory to something else, you can.
- Simply navigate to /Applications/MAMP/htdocs/
- Right click on the OpenCATS directory
- Click
rename
- Rename the directory whatever you want (example: ATS)
Now, to access it, your browser address will be http://localhost/ATS
Set up OpenCATS¶
- On your MAMP click on
Open WebStart Page
- It will open a browser with MAMP dashboard
- From the menu, choose
My Website
- It will open the OpenCATS installation page in the browser.
If OpenCATS has been configured correctly, you should see a page that looks like this:

Step 1 System Connectivity This step makes sure you have the required server environment set up correctly.
Note
Disregard the yellow errors. They are not necessary for this installation and you will not lose any OpenCATS functionality.
If you see all green and/or yellow, click Next

Warning
Red = Bad You can’t continue the installation until a server environment issue is fixed.
Step 2 Database connectivity
Enter the following information: Database Name: opencats Database User: opencats Database Password: opencats Database Host: localhost
Click Test Database Connectivity
If the SQL information is set up and entered correctly, you should have all green. If you see red, something needs to be corrected or set up correctly.

Step 3 Loading Data
For a new installation, select New Installation
, then next
Note
Demonstration Installation will auto-populate OpenCATS with general example clients, candidates, job orders, etc. There’s no reason to use this in my opinion.
Note
Restore installation from backup will be covered in a future tutorial

Step 4 Setup resume indexing
Unfortunately, for now, there is no resume indexing.
- Click Skip this Step
.
Step 5 Mail Settings
OpenCATS can send emails. If you don’t want to use it, you don’t have to. OpenCATS works great either way!
Choose an option from the Mail Support drop-down bar, fill the necessary information in (if you are using it) and click Next

Step 6 Loading extras
Don’t forget to set the time zone to your area!
Warning
If you forget to set the time zone ALL of the timestamps on every note in OpenCATS will be wrong. Set the time zone correctly. You will thank us…
Choose the date format you like best
(United States only) choose to install (if you want) zip code lookup
Click next

Step 7 Finishing installation
Runs through the installation process. You should see a box and some pretty bars moving. It shouldn’t take long.
Note
The default username and password are: admin/admin or admin/cats (all lowercase) depending on your OpenCATS version
Click Start OpenCATS
for your login screen.

Success!!
Your brand new OpenCATS applicant System!

Install Scripts-Linux¶
These install scripts will dramatically reduce the time and effort necessary for installing OpenCATS on a Linux system. HOWEVER, there are some very specific requirements that must be met for using these scripts. If you don’t meet these requirements, there is no telling what can happen to any web-software that you are running from the system you use this script on.
Warning
These scripts are ONLY for Linux systems that do not have Apache, MySQL/MariaDB and PHP installed. This will install a full lamp stack from scratch. It will likely wipe out any existing settings that are in place. I can not stress this enough.
This script is updated for OpenCATS-0.9.4-3.
Having gotten that out of the way, let’s proceed.
Open a terminal
Note
If you get a wget error, install wget. sudo apt-get install wget
in Ubuntu and Debian, sudo yum install wget
in CentOS.
Get the correct script for your distribution¶
Wget the install script for your Distro by typing/copy-paste the following into your terminal.
Ubuntu 16.04:
$ wget https://raw.githubusercontent.com/opencats/OpenCATS-Installation-Scripts/master/Ubuntu16.04-OpenCATS-Install.sh
Ubuntu 18.04:
$ wget https://raw.githubusercontent.com/opencats/OpenCATS-Installation-Scripts/master/Ubuntu18.04-OpenCATS-Install.sh
List directory to see the file name:
ls
Make the script executable:
sudo chmod +x script-name.sh
Run the script:
sudo ./script-name.sh
Wait until it is finished.
Install the OpenCATS software¶
In your browser, go to http://localhost/opencats
Click: Installation Wizard

Step 1: System Connectivity
This step makes sure you have the required server environment set up correctly.
Note
Green = good.
Note
Yellow = OpenCATS will work, but some functions may not.
Warning
Red = Bad You can’t continue the installation until a server environment issue is fixed.
If there are no issues, it should be all green, click Next

Step 2: Database connectivity
Do NOT change anything here. Use the default information.
Click Test Database Connectivity

If you see all green, click next
Step 3: Loading Data
For a new installation, select New Installation
, then next
Note
Demonstration Installation
will autopopulate OpenCATS with general example clients, candidates, job orders, etc. There’s no reason to use this in my opinion.
Note
Restore installation from backup
will be covered in a future tutorial

Step 4 Setup resume indexing
- Change the paths to the executables to the correct paths. They should be as follows:
- /usr/bin/antiword
- /usr/bin/pdftotext
- /usr/bin/html2text
- /usr/bin/unrtf

- Click
Test Configuration

Note
I always get red the first couple clicks, then it will go green. If you get green, proceed. If it stays red after a few click, the system isn’t recognizing the executables. There may be a path issue that needs corrected.
- Click, Click, click, it will turn green.

Step 5 Mail Settings
OpenCATS can send emails. If you don’t want to use it, you don’t have to. OpenCATS works great either way!
Choose an option from the Mail Support drop-down bar, fill the necessary information in (if you are using it) and click Next

Step 6 Loading extras
Don’t forget to set the time zone to your area!
Warning
If you forget to set the time zone ALL of the timestamps on every note in OpenCATS will be wrong. Set the time zone correctly. You will thank us…
Choose the date format you like best
(United States only) choose to install (if you want) zip code lookup
Click next

Step 7 Finishing installation
Runs through the installation process. You should see a box and some pretty bars moving. It shouldn’t take long.
Note
The default username and password are: admin/admin (all lowercase)
Click Start OpenCATS
for your login screen.

Success!!
Your brand new OpenCATS applicant System!

Warning
Immediately change your admin password!
- Click
Settings
- Click
Administration
- Click
User Management
- Click
your name
- Click
edit
- Click
reset password
- Type your new password
- Click
save
Install on Ubuntu 16.04¶
These instructions will walk you through setting up LAMP (Linux Apache Mysql PHP) software and install OpenCATS on a Ubuntu 16.04 machine. These instructions will work with a VPS, or a home/office machine.
Note
If this is a production machine, that is accessible by people outside your network, this walk-through doesn’t address additional server security. You would definitely want to make sure things are secured correctly.
Warning
If you are running a different version of Ubuntu (other than 16.04) the default software versions will be different, which means the install process will be different.
Ubuntu16.04-Installing MySQL 5/Mariadb¶
Note
mysql and mariadb are basically the same software with different names. You can use either, just change the commands to the appropriate name.
$ sudo apt-get update
$ sudo apt-get install mariadb-server mariadb-client
$ sudo mysql_secure_installation
Note
In order to log into MariaDB to secure it, we’ll need the current password for the root user. If you’ve just installed MariaDB, and you haven’t set up the root password yet, the password will be blank, so you should just press enter here. If you have set up a MySQL/MariaDB root password already you will enter it here.
- Set root password? [Y/n] Y
- New password: <–yourmariadbpassword (Remember this or write it down!)
- Re-enter new password: <–yourmariadbpassword (Remember this or write it down!)
- Password updated successfully!
- Reloading privilege tables….. Success!
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y
- All done! If you’ve completed all of the above steps, your MariaDB,installation should now be secure. Thanks for using MariaDB!
Ubuntu16.04-Installing Apache2¶
$ sudo apt-get install apache2
Note
In this tutorial, we use localhost, if you’re running a vps, you may need to enter the correct IP Address. These settings might differ for you, so you have to replace them where appropriate.
- Now direct your browser to localhost and you should see the Apache2 placeholder page:

Ubuntu16.04-Installing PHP5.6¶
Note
Php7 is default in Ubuntu 16.04. At this time, OpenCATS doesn’t support php7. So we’ll need to install php5.6 to work with OpenCATS. DO NOT install the default php (v7). If you do, or already have it running, you’ll need to downgrade your Ubuntu system to php5.6.
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php5.6 php5.6-soap php5.6-ldap
$ sudo apt-get install php5.6-mysql php5.6-gd php5.6-xml
$ sudo apt-get install php5.6-curl php5.6-mbstring php5.6-zip
$ sudo service apache2 restart
Note
The document root of the default website is /var/www/html. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.
$ sudo nano /var/www/html/info.php
- Type or paste the following into it and save as info.php:
1 2 3 | <?php
phpinfo();
?>
|
- Ctl-O then enter to save the file
- Ctl-X to exit nano
$ sudo service apache2 restart
- In your browser, go to localhost/info.php

If you see this screen, everything is good. Scroll down and check to make sure all the extensions are there, then proceed.
Note
If you get any PHP errors during the OpenCATS install, this screen can help you see what php modules are installed and loaded.
Setting up your MySQL/MariaDB database¶
Note
This is the backend database that stores all your OpenCATS information. You likely will NOT be messing with this much after installation unless you choose to. The login/password you set up here will NOT be the same as your login/password for OpenCATS.
Note
Make sure you remember or write down your login/password. You’ll need it in a few minutes.
$ sudo mysql -u root -p
It will ask you for your Ubuntu Root password
Then it will ask you for your mysql root password
- You should see a prompt like this:
mysql>
mysql>
CREATE USER ‘opencats’@’localhost’ IDENTIFIED BY ‘databasepassword’;mysql>
CREATE DATABASE opencats;mysql>
GRANT ALL PRIVILEGES ON ‘opencats’.* TO ‘opencats’@’localhost’ IDENTIFIED BY ‘databasepassword’;mysql>
exit;
Note
Make sure you don’t forget the ; on the end of every line!
Download the OpenCATS files¶
$ cd /var/www/html
$ sudo wget https://github.com/opencats/OpenCATS/releases/download/0.9.4/opencats-0.9.4-full.zip
$ sudo unzip opencats-0.9.4-full.zip
$ sudo mv /var/www/html/home/travis/build/opencats/OpenCATS opencats
$ sudo rm -Rf /var/www/html/home /var/www/html/opencats/INSTALL_BLOCK
Note
By default in this documentation for OpenCATS version 0.9.4 the directory would be opencats
. You can name it whatever you want. Just remember that all of the directory locations from here on must match the name of the directory you create, including capitol letters.
Note
If you have tried installing OpenCATS before, or for any reason see something called INSTALL_BLOCK in this directory, you MUST delete it. This will prevent OpenCATS from installing. The command for that would be $ sudo rm INSTALL_BLOCK
.
Server and Directory permissions¶
$ sudo chown www-data:www-data opencats
Warning
make sure this is set to EXACTLY the name of your OpenCATS directory, default for version 0.9.4 would be OpenCATS-0.9.4
$ sudo chown -R www-data:www-data opencats
$ sudo chmod 770 opencats/attachments
$ sudo chmod 770 opencats/upload
Install resume indexing tools¶
$ sudo apt-get install antiword poppler-utils html2text unrtf
Install the OpenCATS software¶
In your browser, go to localhost/opencats (Or use the address of your server or VPS in place of “localhost”).
Note
If you have already attempted to install OpenCATS and the installer doesn’t load, check to see if there is a file called ‘INSTALL_BLOCK’ in the OpenCATS directory. Delete it to allow the installer to run.
Click: Installation Wizard

Step 1: System Connectivity
This step makes sure you have the required server environment set up correctly.
Note
Green = good.
Note
Yellow = OpenCATS will work, but some functions may not.
Warning
Red = Bad You can’t continue the installation until a server environment issue is fixed.
If you see all green and/or yellow, click Next

Step 2: Database connectivity
Enter your OpenCATS MySQL/MariaDB database name, MySQL/MariaDB database username, MySQL/MariaDB database password, and MySQL/MariaDB database host address in these boxes.
Note
If you are running OpenCATS locally on your computer, or on some shared hosts, the host address will be localhost. If your server, VPS (some shared hosting too), you will need to enter the specific address to access.
Click Test Database Connectivity
Note
I usually get red the first few tries after click the test database connectivity
button. If you try more than a couple times and it stays red, you have either entered your MySQL/Mariadb information incorrectly, or you have set your MySQL/MariaDB database up incorrectly. It needs to be corrected before proceeding.

Step 3: Loading Data
For a new installation, select New Installation
, then next
Note
Demonstration Installation
will autopopulate OpenCATS with general example clients, candidates, job orders, etc. There’s no reason to use this in my opinion.
Note
Restore installation from backup
will be covered in a future tutorial

Step 4 Setup resume indexing
- Change the paths to the executables to the correct paths. They should be as follows:
- /usr/bin/antiword
- /usr/bin/pdftotext
- /usr/bin/html2text
- /usr/bin/unrtf
- Click
Test Configuration
Note
Like earlier, I always get red the first couple clicks, then it will go green. If you get green, proceed. If it stays red after a few click, the system isn’t recognizing the executables. There may be a path issue that needs corrected.

Step 5 Mail Settings
OpenCATS can send emails. If you don’t want to use it, you don’t have to. OpenCATS works great either way!
Choose an option from the Mail Support drop-down bar, fill the necessary information in (if you are using it) and click Next

Step 6 Loading extras
Don’t forget to set the time zone to your area!
Warning
If you forget to set the time zone ALL of the timestamps on every note in OpenCATS will be wrong. Set the time zone correctly. You will thank us…
Choose the date format you like best
(United States only) choose to install (if you want) zip code lookup
Click next

Step 7 Finishing installation
Runs through the installation process. You should see a box and some pretty bars moving. It shouldn’t take long.
Note
The default username and password are: admin/admin (all lowercase)
Click Start OpenCATS
for your login screen.

Success!!
Your brand new OpenCATS applicant System!

Screens In-Depth¶
In this section, we will go through each of the OpenCATS screens in depth and go over all of the various functions.
OpenCATS dashboard/home screen¶

Note
The OpenCATS dashboard (home screen) is broken up into three rows at the top and a grid of six sections below.
- The main OpenCATS module tabs: The main navigation tabs.
- Recent: Your five most recently viewed candidates/contacts. Names are clickable for quick access.
- Quick Search: Search for candidate/contact name, job title, and Company name
- My Recent Calls: Most recent candidate/contact calls. Names are clickable for quick access.
- My upcoming calls: List of upcoming, scheduled calls, IF scheduled in OpenCATS.
- My upcoming events: List of upcoming, scheduled calls, IF scheduled in OpenCATS.
- Recent Hires: Short list of your company’s most recent hires
- Hiring Overview: Overview of submission/interviews/hires. You can select weekly, monthly or yearly tabs on the right
- Important Candidates: Small overview of some recent candidate activity. The columns in this section are adjustable by dragging the column title left or right.
Activities Screen¶

The activities screen gives you an overview of recent candidate, company and contact activities.
Note
The rows at the top always stay the same in OpenCATS (Main navigation tabs, recent, and quick search). We won’t cover that again in the documentation.
- Time-frame of results: Click these to filter your results by day, week, month, etc.
- Rows per page: Click the drop-down bar to change the amount of results per screen. 15, 30, 50, or 100
- Filter: Options to filter results by Date, Regarding, Activity, Notes, Entered By
- Activity columns:
- Show Columns: Select which columns to be visible in the activities grid
- Rearrange Columns: Columns can be moved left and right by grabbing the column name and moving it left or right.
- Sort Columns: Each column can also be sorted alphabetically by clicking the column title at the top of the column.
Job Orders Screen¶

The Job Orders screen is job order specific. It is where all the job orders are.
Note
The job order screen is structured similarly to the Activities screen. So we won’t go through the same features again.
In the top, right, highlighted row, we have the following:
- Active/On Hold/Full Drop-down box: This allows you to filter your results based on the status of the job order. Options are:
Active/On Hold/Full
,Active
,On Hold/Full
,Closed/Canceled
,Upcoming/Lead
,ALL
. - Only My Job Orders: This will return results that are only your job orders.
- Only Hot Job Orders: This will return results that are only marked as Hot Jobs.
Show Columns (highlighted box, upper right corner of grid):
There are quite a few options here to select or deselect. The checked options will include in the job order screen information. See image below.

Note
As with the other screens, all columns can be moved left and right, as well as sorted alphabetically.
The last thing to note on the Job order screen is the action button in the bottom left corner.
- Action:
- Clicking the action button will allow you to export results to a .csv sheet, or import results to a hot-list within the OpenCATS system. We will go into those further later in the documentation.
- Add specified job orders to an OpenCATS Hot-list, or export them to a CSV:
- Select the checkbox (next to
action
), this will select all the boxes on this screen only. - Manually select specified candidates
- Then
export
oradd to list
and clickselected
.
- Select the checkbox (next to
- OR:
- select
action
thenadd to list
orexport
and selectall
to include the entire database (in this case, it would include ALL of the job orders in your OpenCATS system) in your hot-list or CSV export.
- select
Candidates Screen¶

The main Candidates screen is laid out similarly to the others.
There are two checkboxes in upper right for filtering the results on this screen. Only My Candidates
and Only Hot Candidates
.
Again, there are additional options below that with the Rows Per Page
dropdown and the Filter
dropdown.
As before, the columns can be moved right and left by dragging the column title word at the top, and columns can be added or removed by the Show Columns (Image of a grid) in the upper left corner of the main section of the candidates screen. See example below.

There are different options for candidates in the Action
button at the bottom left. You can select specific candidates, the candidates showing on the screen, or all of the candidates in OpenCATS and Add to List
, Add To Pipeline
, Send E-Mail
, or Export
.

- Add to List: Add to a hotlist
- Add To Pipeline: Add to a job order pipeline
- Send E-Mail: Means type your own email to candidate(s) or use an OpenCATS template.
- Export: Export selected candidates to a csv file.
Companies Screen¶
The main Companies page is very similar to the Candidates page. Everything functions the same, and it has the same options.
The only exception is that there are different columns available to choose in the Show Columns
button. See image below.

Contacts Screen¶
The contacts screen is the main screen for dealing with contacts internally, from client companies, or leads in the sales process. Contacts are people on the hiring side, not candidates looking for work.

This is similar to the other screens. There are no features here that have not been covered already. We will move along.
Lists Screen¶
Hot lists, Lead Lists, tear sheets, call lists. Whatever you call them, most recruiters have used them at some point. OpenCATs has them here.

The only new clickable button on the Lists screen is the Show Lists
button in the upper right corner of the blue bar.
Calendar Screen¶
The Calendar is a central hub for your OpenCATS usage. Every phone call and event, if scheduled through OpenCATS will appear here. The default Calendar screen will show a list of upcoming events in the left column and a Calendar overview on the right.

My Upcoming Events:
Shows all upcoming, scheduled events in the left column.Add Event:
Add a new event to your calendarGoto Today:
Shows you todays events- Calendar date views can be changed by clicking:
Day
,Week
, orMonth
. - The Green Arrows can be clicked to move you back or forward on the Calendar.
Every Event box within the calendar is clickable for event information, which will appear in the left column.
Red Arrows:
- The first arrow points to a clickable icon that opens up the record of the Candidate included in the scheduled event.
- The middle red arrow points to an icon that indicates this is a “Public” event, which means it is viewable by any OpenCATS user.
- The third red arrow points to a clickable icon that opens up the record of the Contact included in the scheduled event.
- Lastly, every date number on the Calendar can be clicked on to view that date’s scheduled events.
Note
At this time, the OpenCATS calendar does not sync with outside calendars (Outlook, Google Calendar, etc.). However, that functionality CAN be added if you know a little coding, or a developer willing to do it.
Reports Screen¶
There are a few reporting options in OpenCATS. The Reports screen provides reports on New Submissions
and New Placements
for a specified time period.

Unfortunately the other options on the screen weren’t built into the system and will (hopefully) be added in with time.
There are additional reporting features within OpenCATS that will be explored later.
Settings Screen¶
There isn’t much to the settings screen.

In the upper left corner:
Administration
If you are the OpenCATS system administrator, this will take you to the administration screen.My Profile
View your OpenCATS user profile or change your password.Downloads
For now, this page serves no purpose. Disregard it completely.
Using OpenCATS-The building blocks: companies, contacts, job orders, and candidates¶

The modules¶
OpenCATS is made up of the following modules:
Home: When you log into CATS, you will see the Home module. This is your dashboard, which lists your activities. The Dashboard is customizable from the Settings module.
Activities: All of your daily activities and interactions with candidates, companies and contacts are populated in this module.
Job Orders: All of the available Job Orders are displayed in this module. Search existing and create new Job Orders.
Candidates: All of the available Candidates are displayed in this module. Search existing and create new Candidates. Access your Saved Lists.
Companies: All of the available Companies are displayed in this module. Search existing and create new Companies.
Contacts: All of the available Candidates are displayed in this module. Search existing and create new Contacts. Access your Cold Call List.
Calendar: All scheduled events are populated in this module. By default, the Calendar shows the week view of the current week. Add new Events and access your Upcoming Events.
Reports: All available reports are populated in this module.
Settings: Options to customize your account and CATS features are available in this module. Users change your Profile, Password. Administrators access your account, change your Career Portal and E- mail configurations, and customize your dashboard, import and backup data.
Note
Let’s start entering in information and populating our fantastic new OpenCATS system.
Add a new Company¶
Click on Companies
Note
I have already entered some test information. A new system screen will look a little different.

This is your main company screen. This will have an overview of all the companies in your OpenCATS system. From new leads, to active clients and old clients. They will all be here.
Note
For internal hiring (your company), select Internal postings
as the client.
Click on Add Company

There are two ways to add information into OpenCATS.
- Copy and paste it into the box labeled
cut and paste free-form address here
Then click the<--
button to populate the fields. - Manually type and paste it into each field on the left.
Note
Don’t forget to enter key technologies for the company and any miscellaneous notes that you want to save in the bottom two fields for future reference.

Warning
The success rate of auto-populating the information fields for me has always been terrible. Sometimes it works great, sometimes it’s doesn’t. I usually just enter the fields one at a time manually.
If it worked, it should look like this. If some of the information did not populate, manually enter it and let’s move one.
This is what you should see.
Click Add Company

Voila! You have a new client!
If you want to add any relevant attachment documents such as a copy of your client agreement, benefits overview, etc. Click the Add Attachment
button.

Add a new Contact¶
Next let’s add a Company Contact.
Click Add Contact
at the bottom of the current screen.

Fill in all the information fields, including any relevant notes that’s you want to remember for later. Then click Add Contact
You should now see the contact listed in the Contacts section of the Company screen.

Add a new Job Order¶
From the current screen, let’s add our first Job order. Click Add Job Order
in the Job Orders section of Bob’s Company page.
Note
OpenCATS is set up to run Direct-hire (Perm) or Contract (project) jobs. We will note the differences below.
Let’s look at the fields in the Add Job Order screen:

The fields on the upper left column are self-explanatory.
- Start Date is when the hired candidate should start.
- Duration The length of contract (Project) for a temporary role. It this is a permanent role, you can put “direct hire”, whatever you want, or just leave it blank.
- Maximum rate Self-explanatory
- Type This drop-down field let’s you select the type of role. Options are: Hire, Contract to hire, Contract, or freelance
- Salary Put the salary range here
- Openings Number of openings
- Company Job ID This is for the unique Job ID assigned to this role.
- Hot If this is a hot job, check this box.
- Public If you have the OpenCATS job board set up (we will do this later), checking this box will make this job order visible on it. Candidates will be able to view and apply.
- Description Enter your job description here
- Internal Notes Any notes or information entered here will be visible within your company, but not visible on your public job board.
Note
If you have the public job board set up (we will go through this later), all the information on this screen except the Internal Notes section will be viewable to anyone looking at your jobs. Including the listed salary information. If you do not want that visible, put it in the Internal Notes section.

Click Add Job Order
This will take you to your new Job Order screen.

If everything looks correct, let’s move on to adding our first candidate in OpenCATS and into the pipeline for this job.
Adding a Candidate and attaching them to the Job Order pipeline¶
Click Add Candidate to This Job Order Pipeline
at the bottom of the screen.

Then Add Candidate
.

Click Browse
to upload a resume from your local file system.
From this screen you need to manually copy and paste into the information fields on the left. When you have filled out all of the necessary information, click Add Candidate
in the bottom left corner.

Success! We have a candidate in the pipeline!
Note
Make sure to Rate your candidates with the stars under Match on the bottom this screen. It will help with quick reference later on.
OpenCATS Backup/Restore and Upgrade Instructions-THIS SECTION INCOMPLETE!¶
The backup/restore and Upgrade processes are the same.
Backup/Restore best practices and things to consider¶
Any critical business software needs a backup and restore process in case of disaster. There are a few different ways to backup and restore your OpenCATS Applicant Tracking system. A few things to consider when setting your backup strategy: How often should you perform backups? How often should you test your backups? Where will you store your backups? Will you automate your backup process?
This documentation will not cover these things, except the backup testing, but they should considered in case something ever happens to your OpenCATS system.
About this documentation/different environments¶
We will cover two different ways to backup and restore your OpenCATS system.
- GUI: Graphical User Interface (Point and click). Built in to the OpenCATS system.
- Non-GUI: A more typical, systems administrator approach to backup and restoring.
We will cover the different steps for:
- Windows environment
- Shared-hosting environments
- Linux/VPS environments
Pros and Cons: GUI vs. Non-GUI¶
- The GUI, when it works, is far easier for non-technical users.
- As far as I know, the GUI backup works in OpenCATS versions 0.9.1, 0.9.1a, and 0.9.4. I don’t think it works in any of the other versions. It is certainly worth a try if you want to.
- Downloading the GUI generated backup file (catsbackup.bak) on certain shared hosting environments can also involve a few additional steps.
- While the GUI backup restore process looks very simple, in my experience, the Non-GUI process is the simpler, and far more consistent way to go.
GUI (Graphical, point and click)¶
OpenCATS has backup and restore functionality built in. It works in versions 0.9.1, 0.9.1a, and 0.9.4. I’m not sure about the versions in between.

GUI Backup:
From the main screen:
- Click:
Settings
- Click:
Administration
- Click:
Site Backup

Note
Create Attachments backup
will backup all the attachments in your OpenCATS system and allow you to export them for storage or redundancy. This WILL NOT allow you to restore your OpenCATS database if you need to recover your OpenCATS system or upgrade in the future.
Click: Create Full System Backup
This will backup your entire OpenCATS ATS (attachments and database).
Depending on the database size, this may take a few minutes. Let it finish and you should return to this screen with a downloadable link for catsbackup.bak


Click the link, the file will download to your local computer. You can store it wherever you like if you need to recover your opencats system in the future.
GUI Restore
Go through the normal installation process for your environment. Do the following before you get to the final, GUI portion of the installation.
Create a directory called “restore” in the main OpenCATS directory.
Note
If you’re using a VPS, or linux environment, make sure the directory permissions are writable. Refer to the “directory or file permissions section” and match the permissions of the uploads and attachments folders.
Move the backup file that you want to restore into the newly created restore directory.
Note
When you create/save/store backup files, you can rename them however you want. When you restore from a backup file, it MUST be named catsbackup.bak. Make sure the name is correct before attempting the restore. OpenCATS won’t recognize any other file name/type.
Referring to the “Install the OpenCATS software” section of the installation walkthrough, on “Step 3: Loading Data”, choose the Restore installation from backup
option.

It will ask you to confirm that you have uploaded the catsbackup.bak file into the restore directory. Check the box and click continue
.

The rest of the installation should be normal.
This will put you into a newly restored OpenCATS system.
Note
As with any new OpenCATS installation, it will tell you the username and password is admin/admin. It is NOT. You will need the username and password from the prior OpenCATS installation that you restored.
Non-GUI¶
The Non-GUI Backup/Restore steps are actually relatively simple. Again, we need to backup the OpenCATS attachments and database, then restore them.
- Attachments-This is where all our documents, CVS, resumes, etc are stored.
- Database-This is all the information that the OpenCATS system uses.
Environments:
- Shared hosting
- Command line
- Windows
Backup storage organization and file structure.
If you back up daily, you will need to consider some sort of way to organize your backup files. The Non-GUI approach will produce two files per backup (catsdatabasename.sql and attachments.zip). This is an example file/directory structure that I use.
Directory: OpenCATS Backup files
Sub-Directory: 7-1-17
- Attachments.zip
- opencats.sql
Sub-Directory: 7-2-17
- Attachments.zip
- opencats.sql
Sub-Directory: 7-3-17
- Attachments.zip
- opencats.sql
etc.
Database Backup
Windows/Shared-hosting: Log in to phpmyadmin. Refer to the installation instructions, under the php or phpadmin sections, to get there.

In the column, on the left side, you should see a list of your MySQL/MariaDB databases. Click on the name of your OpenCATS database. You should then see the following screen:

Click the Export
tab towards the top, center. You should ten see the following screen:

Click Go
. Phpmyadmin will generate the database backup file and you should automatically start downloading it.
The file will be named after your database name with an sql extension. Mine, in this case, was named octest.sql.
Make sure you move your file to a safe place.
Attachments backup
Restore non-gui In phpmyadmin: Select newly created database from list on the left Click import in the upper row browse select your opencatsdatabasebackup.sql file Scroll to the bottom and click “go”
Restore attachments
Install opencats
Automating a windows backup¶
Testing your backups/Setting up a test environment to reuse¶
Changing your user passwords in phpmyadmin¶
Try this
Restore non-gui Create new database/user in phpmyadmin - Follow install documentation for this step if necessary
In phpmyadmin: Select newly created database from list on the left Click import in the upper row browse select your opencatsdatabasebackup.sql file Scroll to the bottom and click “go” Create user (follow steps from documentation)
Check for INSTALL_BLOCK file or folder in opencats directory Install opencats
Use existing OpenCATS installation and automatically preform any necessary upgrade (recommended).
Merge/overwrite old attachments folder into new Opencats attachments directory
In phpmyadmin: Create new database in phpmyadmin - Follow install documentation for this step if necessary Select newly created database from list on the left Click import in the upper row browse select your opencatsdatabasebackup.sql file Scroll to the bottom and click “go” Create user (follow steps from documentation) for the database and assign rights.
In NEW opencats directory Check for INSTALL_BLOCK file or folder in opencats directory Install opencats through browser
When you get to the intall type step (new, demo, restore, etc. ) You should see: Use existing OpenCATS installation and automatically preform any necessary upgrade (recommended). Select that option.
That should work. Post back with any questions/issues.
Short overview of original OpenCATS Source code¶
Note
This was written for the original source code. It may not apply completely to the current OpenCATS version
We have not used any outside frameworks. The OpenCATS framework is very light and conceptually simple to understand. This allows for modifications to be isolated, preventing, for example, a small change to a template from affecting library code, or a major change in database structure from requiring a change to every single page.
Let’s have a look at the layout of the code OpenCATS is roughly divided into three parts:
- Modules
- Library Components
- Templates
Modules
A module is loosely related to the tabs you see in the GUI and consists of the user interface logic and one or more “templates” to render the HTML page. Some of the modules in OpenCATS are:
- Home
- Candidates
- Contacts
- Calendar, etc.
Browse the modules directory to see the all the current modules in OpenCATS. Each module has its own separate directory.
Library Components
Library components are PHP objects which encapsulate lower-level functionality, such as interfacing with a database, parsing addresses, sending e-mail, etc. For each module, there is a roughly corresponding library component (but not all libraries directly correspond to a module). Examples of some library components are:
- Candidates
- Search
- Users
- VCard
- AddressParser
Browse the lib/ directory to see the all different library components.
OpenCATS Page Request Flow
Every page request to OpenCATS goes through index.php, which acts as a “router” or delegator to the modules.
- A page request is sent to index.php
- index.php parses the URL and sends the request to the corresponding module (specified by m= in the URL) for further processing
- A module parses the “action” (specified by a= in the URL) and invokes the corresponding method within the module.
- The method processes the request, often using library components
- The function displays a template file, if necessary, and fills in the appropriate data and renders the HTML page
Every OpenCATS page request goes more or less through the above 5 steps.
OpenCATS URLs
OpenCATS URLs are designed to be intuitive and easy to use for developers:
E.g. HTTP://OpenCATS.org/index.php?m=clients&a=show&clientID=239 means:
- m = clients
- a = show
- clientID = 329
index.php sends the URL to the “clients” module. The clients module processes the action “show” for clientID 329. We want to display details of client 239.
Here is the basic layout of a module:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /* mymodule/MyModuleUI.php: */
class MyModuleUI extends UserInterface
{
public function __construct()
{
parent::__construct();
$this->_moduleDirectory = ‘mymodule’;
}
public function handleRequest()
{
$action = $this->getAction();
switch ($action)
{
case ‘myAction’:
$this->myAction();
break;
…
}
}
|
1 2 3 4 | public function myAction()
{
…
}
|
Templates
Modules, as mentioned above, contain the necessary code to render the HTML pages in OpenCATS. HTML is separated from the rest of the code via “templates”. A page is displayed by a template by assigning variables to it using assign() and then call it’s display() method.
1 2 3 4 5 6 7 | public function myAction()
{
…
$this->_template->assign(‘myVariable’, $myValue);
$this->_template->display(‘./modules/mymodule/MyTemplate.tpl’);
}
|
To display a variable inside a template, use:
_($this->myVariable); ?>
Interfacing with the database is only done at the library level. This limits the effects that a change in the database structure can have on the upper layers of the code.
F.A.Q. for OpenCATS applicant tracking system¶
Where can I try a demo version of OpenCATS?
We have a fully functional demo running at: OpenCATS Demo
This will allow you to test out the functionality, but will not allow you administrative rights/access.
What operating systems and environments will openCATS work with?
Any? We have install documentation and videos for Windows, various Linux distributions, and shared-hosting environments.
It will work on a MAC, Amazon EC2, a VPS, in Docker, heck, you can throw it on an OS-installed thumb drive and take it with you. I’ve also run it on a Synology NAS, so that’s an option too.
OpenCATS can run on pretty much anything.
What’s the catch? Is it really free?
YES! That’s what open-source software is. If you’re not familiar with open source software, have a read about it here: Open Source software
This is not freemium, there are no paid tiers, and no sales person will ever call you. This is open source software. Having said that, OpenCATS is a little lighter on features compared to the paid ATS’s out there. Use it, enjoy, tell your friends.
Is is accessible over the internet?
If you want it to be, yes. If you don’t, then it doesn’t have to be. Basically, if you set it up on your local computer, it will be for that computer only. If you set it up so that’s it is accessible on your network, or the internet, then it will be accesible on your network or over the internet and you can have as many users as you need.
What are the installation requirements for OpenCATS?
OpenCATS is L/WAMP software, so it requires Apache, MySQL/MariaDB and PHP to run. The specifics depend on the environment you want to install it on. See the installation instructions for more information.
Where is the documentation for OpenCATS?
You are looking at it! But in the event this is printed and handed to a recruiter in the remote desert some day, our documentation site is at: http://opencats-documentation.readthedocs.io/en/latest/
Can I backup and restore OpenCATS?
Absolutely. There are a few different ways to do this, including a GUI (non-technical) backup/restore. This is on the “to do” list for the documentation.