Technical Documentation System for Mobile Devices
TechDoc is a distributed system composed of a number of applications:
a central java based web application using a SQLite database to import technical documentation from CSV files (catalogue + files). Java 1.6 is required; this web application can be simply installed in Tomcat web engine
an Android based app to install in a mobile phone, including a SQLite database, which is synchronized with the central web application and is able to work off-line and show the catalogue and files (e.g. PDF files). Android 2.3 (level 10) or above is required.
an iPhone/iPad app, including a SQLite database, which is synchronized with the central web application and is able to work off-line and show the catalogue and files (e.g. PDF files). iOS 5 is required.
The catalogue is composed of up to 5 levels, each one can have up to ten text field that can be showed; each level can have of course different fields; each child level must be linked to the parent level id; for each row at a specific level it is possible to link zero or more documents, so there can be up to 5 levels of documents. You can "attach" any kind of document, for example PDF files; each document must be linked to the level id.
In order to install the central web application, you have to download and install the Java SDK 1.6 in your central server, which can have any O.S. Windows, Linux, Unix, MacOS X download and install Apache Tomcat; it is recommended to install Tomcat release 6 and to DO NOT install it in a path having spaces, as for "c:\Program files" download techdoc.war from this web site and copy it within the Apache Tomcat "webapps" sub-folder
After starting Tomcat, you can access the web application by typing an URL address on your browser such as this one: http://yourhost:yourport/techdoc/ If you have not changed the default port of Tomcat, you can type:
In case of problems, check your firewall settings: your firewall or antivirus could block the listening port used by Tomcat.
This web application contains a SQLite database into the webapps/techsdoc/WEB-INF/classes folder: you can move this database and re-define the location in the file system for the files to end to the mobile devices through two optional parameters, defined in webapps/techsdoc/WEB-INF/web.xml file.
You can edit it with a text editor and add two parameters as reported in the example below. After that, please be sure of having repositioned .db file and/files to send and restart the Tomcat service.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
Before running the app on the mobile phone, you have to correctly configure the central web application.
Through the main menu, you can set the main settings required by this system:
- username and password that will be required in order to access the central web application from next time
- username and password that will be required the first time by the mobile app
- the local path where input CSV files will be checked
- the local path where documents files will be checked
- number of hours to wait before re-checking for the availability of the files
- starting hour to schedule for files checking
Through the "Levels" functionality, you can define the levels which compose the hierarchy of technical documentation system.
For each level, there must be provided:
- the level description
- parent field name, used to connect the current row to the parent level row; can be defined as HIDDEN_FIELD or FIELD0 or ... FIELD9
- fields name to manage (to view), expressed as FIELD0,FIELD1,...FIELD9
- columns titles, one for every field just defined; this labels are used in the filter panel in the mobile app, to filter the catalogue content fields filter; this is an optional input field and, if specified, must be related to fields just defined
- columns size, expressed in pixels, one for each field just defined
A line in the levels input file must have the following fields, separated by a ";"
- level number - a number from 1 to 5
- hidden field- an alphanumeric optionally used to identify the current level row; it can be used for example by child rows to link to this level row
- parent row identifier, related to the parent level - an alphanumeric that uniquely identifies the parent level row
A line in the documents links input file must have the following fields, separated by a ";":
- level number - a number from 1 to 5
- file relative path
- value of the HIDDEN_FIELD of connected the level row- an alphanumeric that uniquely identifies the HIDDEN_FIELD of the connected level row
- title to show in the list of documents - an alphanumeric
The first time you run the mobile app, a setting panel is showed: you have to specify the central URL the app will use to check for updates and the username and password you have previously define in the web application.
After that, the app will download the database and its data as well as the files linked to the data. Every time you launch the app, it will try to check for updates and download them. After that or, in case of no updates, the technical documentation GUI will be showed. User can force the checking for updates by pressing on the "Update" button on the top bar.
The GUI is composed of up to 5 screens, each one related to a hiearchical level. You can move from a level to the next or to the previous. by dragging with your finger a selected row from right to left (next level) or from left to right (previous level).
You can see the list of documents linked to a specific row of a specific level by clicking on the disclosure button on the right of each row. By dragging from right to end on a selected row of the documents list, you will se the document.
You can try the mobile app by connecting it to a demo central site environment: simply use the following settings when starting the mobile app for the first time:
central site URL: http://techdoc.jelastic.servint.net/techdoc