cattaDoc uses a number of components from other sources, called packages. They are all included in the cattaDoc download file, in the packages subfolder. This page is therefore only for information.
ADOdb is a database abstraction layer for PHP, which hides the differences between the different database access functions in PHP. PHP database functions are not standardised, unfortunately. ADOdb makes it easier in the future to provide cattaDoc support for other databases.
Furthermore, ADOdb is fast and mature (devloped since 2000).
cattaDoc 5.0 is based on ADOdb version 5.20.3.
cattaDoc 6.0 is based on ADOdb version 5.20.17.
cattaDoc 6.5 is based on ADOdb version 5.22.17.
Bootstrap is the framework that enables the responsive design in cattaDoc. With Bootstrap cattaDoc automatically adapts to different devices such as smartphones, tablets and PCs with different screen sizes.
cattaDoc is designed for tablets like the Apple iPad with a screen resolution of 1024 x 768. With a larger screen more can be made visible at the same time which obviously is better. Small devices like smartphones can be used, but it is not good for complex apps like cattaDoc.
Bootstrap is a collection of JavaScript (JS) and style sheet (CSS) components.
cattaDoc 5.0 is based on Bootstrap version 3.3.6.
cattaDoc 6.0 is based on Bootstrap version 4.5.0.
cattaDoc 6.5 is based on Bootstrap version 5.3.0.
Note: In cattaDoc 6, the Glyphicons component from Bootstrap 3 is used and integrated into Bootstrap 4.
In cattaDoc 6.5 Glyphicons are replaced by Bootstrap Icons version 1.11.3.
Vanilla JS Datepicker is used in cattaDoc to enable selection of dates in date fields.
cattaDoc 6.5 is based on Vanilla JS Datepicker version 1.3.4. The datepicker has both JavaScript (JS) and style sheet (CSS) components.
cattaDoc 5.0 and 6.0 were based on Bootstrap Datepicker. In cattaDoc 5, Bootstrap Datepicker replaces the priviously used DHTML Calendar Widget and before that the Tigra Calendar.
Bootstrap Dual Listbox is a responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices (however not on iOS...).
Bootstrap Dual Listbox has both JavaScript (JS) and style sheet (CSS) components.
cattaDoc 5.0 is based on Dual Listbox version 3.0.7 (but never released to the public).
Both cattaDoc 6.0 and 6.5 are based on Dual Listbox version 4.0.2.
Bootstrap Toggle is a Bootstrap plugin/widget that converts checkboxes into toggles. It replaces Bootstrap Switch which is no longer available.
Bootstrap Toggle has both JavaScript (JS) and style sheet (CSS) components.
cattaDoc 6.5 is based on Bootstrap 5 Toggle version 5.0.6.
Bootstrap Select is a custom select / multiselect for Bootstrap using button dropdown, designed to behave like regular Bootstrap selects.
It is used in a number of multiselect screens in cattaDoc when an Apple iOS device like the iPad is detected. As an alternative, because iOS does not support sizing of select fields.
Bootstrap Select has both JavaScript (JS) and style sheet (CSS) components.
cattaDoc 6.5 is based on Bootstrap Select version 1.13.18.
Bootstrap Strength Meter is a simple password strength meter based on Password Score. It only consists of JavaScripts and is only used in cattaDoc when changing password.
cattaDoc 6.5 is based on Bootstrap Password Strength Meter + Password Score version 1.0.0.
CKEditor - formerly called FCKEditor - is a JavaScript package that adds rich-text editing to browser-based applications like cattaDoc.
"Rich-text editing" means edit functions you know from desktop word processing in for instance Microsoft Word, where you can make text bold and italic, create bulleted lists etc. You can actually see CKEditor in action below, where you can add a comment.
From version 5 CKEditor is required for running cattaDoc. Before cattaDoc 5 it was optional.
cattaDoc 5.0 is based on CKEditor version 4.6.2.
cattaDoc 6.0 is based on CKEditor version 4.14.0.
cattaDoc 6.5 is based on CKEditor version 4.21.0.
dompdf is a package which can convert HTML files to PDF files.
Sounds too good to be true - and often it is. dompdf works fine for simpler documents, like an invoice. But for larger documents, e.g. with tables spanning more than one page, it often fails.
You can download dompdf from github.com/dompdf/dompdf/releases.
You integrate dompdf in cattaDoc through System administration --> Configuration / System constants.
cattaDoc 5.0 is based on dompdf version 0.6.2.
cattaDoc 6.0 and 6.5 are based on dompdf version 0.8.3.
In the system administration it is possible to manage the files in cattaDoc remotely, including uploading new files.
In previous versions of cattaDoc, ie. before version 5, a limited functionality to upload images, cascading style sheet files (.css) and javascript files (.js) was included in system administration part of cattaDoc. Now, a full-blown file manager is built into cattaDoc, making it possible not just to upload files to a few specific folders, but to upload files in general and to manage files in general remotely, including renaming, moving and deleting files.
The file manager used in cattaDoc is simogeo/Filemanager, ref.: github.com/simogeo/Filemanager.
The only way to manage the file manager is through its configuration file. Please refer to the Filemanager wiki for configuration changes. The use of a web-based file manager opens up for a number of security risks. Be careful therefore when setting up the file manager. The wiki includes advices on how to do it.
cattaDoc 5.0 is based on File manager version 2.3.0.
cattaDoc 6.0 and 6.5 are based on File manager version 2.5.0.
Bootstrap 5 no longer requires jQuery, like former versions did. However, some of the packages used in cattaDoc 6.5 are based on jQuery, so jQuery is still included in the cattaDoc packages.
cattaDoc 6.5 uses jQuery version 3.7.1.
In order to enable full-text search, the plain text elements of documents are extracted and stored in the database. This requires the use of different utilities.
Encoding
The package Encoding - ref. github.com/neitanod/forceutf8 - is used to encode plain text from HTML files and ordinary text files into UTF-8 irrespective of the original encoding.
Encoding is required for full-text indexing of HTML and text files.
Strip out (X)HTML tags and invisible content
The PHP package strip_html_tags - ref. nadeausoftware.com/articles/2007/09/php_tip_how_strip_html_tags_web_page - removes tags and invisible content from HTML files so that only the plain text elements are left behind.
strip_html_tags is required for full-text indexing of HTML files.
Filetotext
The PHP class Filetotext - ref. www.phpclasses.org/ - is used to extract plain text from newer Microsoft Word documents (.docx).
Filetotext is required for full-text indexing of .docx documents.
cattaDoc 5.0 is based on Filetotext version 2014-11-12.
cattaDoc 6.0 and 6.5 are based on Filetotext version 2015-03-01.
pdftotext
pdftotext is an optional add-on for cattaDoc.
pdftotext is an operating system component used by PHP in cattaDoc to extract plain text from PDF documents to enable full-text search.
pdftotext is part of the Xpdf software suite which is also ported to Windows. Poppler, which is derived from Xpdf, also includes an implementation of pdftotext. On most Linux distributions, pdftotext is included as part of the poppler-utils package, installed by default in many distributions.
www.foolabs.com/xpdf/home.html is the official home site for Xpdf from where the Windows version can be downloaded.
Note: pdftotext is operating system-specific and therefore not included in the cattaDoc download file.