Frequently Asked Questions - dbdipview/dbdipview GitHub Wiki

Long-term compatibility

The code does not depend on any special framework and a minimalist approach was pursued. However, the SQL queires should be free of any SQL dialect to minimize compatibility issues and the need for automated filtering them in the future. Data objects (SIARD, CSV) can be separated from the rendering part.

Is there a debug mode?

In the access module, the issues with errors in your SQL statements and configuration settings (queries.xml) can easily be resolved in debug mode. It has to be activated before the database is selected (e.g. http://server/dbdipview/login.htm?debug=123). The value for the debug parameter can be changed in the www/config.php file. Command-line utilities for database installation also have a verbose option for more detailed output.

Why not use de-normalized tables?

They could be created in the original material – as long as you are comfortable with doing any changes in the original. Nevertheless, additional VIEWs can be created as part of the package configuration, and JOINs are used in the queries.

Is there any graphical reporting capability?

No. Data analysis and graphical rendering need to be done by some other tool if we need them. But so far we can verify the ingested database and check our basic understanding of its structure and content using typical queries, including the rendering of LOB objects. This is sufficient to provide access for many use cases.

Is there any access control?

All databases that have been activated as "public" are shown in the database selection dropdown menu. To access a non-public database, a user must obtain a direct link with the correct token for the database, e.g. http://server/dbdipview/login.htm?c=c5fb27ecea11c5. The access parameter and the token for a database are stored in www/data/config.json file as values for the keys "access" and "token" and can be changed according to your reading room policies.

Set the loginModeLevel variable in www/config/confighdr.php to force access with the code.

What is the order XML file?

This file is typically generated by an external reading room application when the archivist confirms the order. The file contains all the metadata needed for the automatic installation of the database. The input files need to be made available in a special subfolder below $DDV_DIR_PACKED. In the ingest test phase, an order file can be used by the developer for quick re-deployments.

In many cases, only <siard> and <viewer> elements will be used, as in this examples. For all the elements that can appear when other packages are available, see the ingest project template in tools/template/package/Template_order.xml. Note that the filenames are usually preceeded with a subfolder name where all the input packages of a database are located.

<dbrequest>
	<order>Id of the order from the reading room</order>
	<reference>Id of the ordered Unit of description from the catalogue system</reference>
	<title>Title of the ordered Unit of Description</title>
	<dbcontainer redact="0">DBC4</dbcontainer>

	<siards tool="DBPTK">
		<siard>db1.siard</siard>
	</siards>
	<viewer>viewer.zip</viewer>
	<access>public</access>
</dbrequest>

What are the possibilities for redaction?

If the redactdb.sql script is included as part of the package, it can be activated during the database setup. Set the attribute in the order XML file, or a special option in the menu.

What can be customized?

admin/configa.php

some initial system configuration
(paths for input packages and unpacked files, external tools, username/password)

www/config.php

some initial system configuration
debug mode code

www/confighdr.php

database selection mode (via dropdown, database/container pair or code)
name of the institution or just any title
alt text for logo images on the first page (needed by screen readers)

www/local optional files (see README.txt for instructions):

mainVar.css -- colour definitions (will override www/mainVar.css)
logo1.png -- will be displayed on the top left corner
logo2.png -- will be displayed at the centre
logo3.png -- will be displayed on the top right

Disk space issues

It is extremely easy to deploy or undeploy a database. In case we deal with very large databases, disk space issues may arise due to packages, or extracted files. After the deployment, most of them are not needed anymore.

The input files are usually in a special subfolder below $DDV_DIR_PACKED (see in configuration files above). If appropriate, the input packages can also be symbolic links to objects on other locations (disk drives). After deployment of a database, only the order file is still needed to enable easy undeployment. Other content of the subfolder can be removed if we need to free up disk space.

During the deployment, the extracted files will appear in a subfolder below $DDV_DIR_UNPACKED. After the deployment, the subfolder data can be removed, but the metadata subfolder needs to remain.

dbDIPview format identification?

There is a naming convention for packages. Left part is archiv-specific and right part is: *_ddv.zip for viewer only packages, and *.eddv.tar.gz respectively for viewer plus CSV content packages. Each contains an XML file about.xml with the line <type>dbDIPview</type>. External packages (obtained from AIP) with SIARD or CSV files use the naming conventions of your repository. However, it is advised that for each ingest project you use the same naming conventions, e.g. using the ingest number 0001_...zip, 0001_...order.xml to enable easy overview when there are many databases (and files) managed on the same server.

⚠️ **GitHub.com Fallback** ⚠️