Building a Corpus > Publication

Publication through a Graphic User Interfaces

The publication of a database could be said to happen when its content is stored and made available on an open repository (see 2.1.2). However, most often, publication would mean to make it available through an online Graphic User Interface (GUI), that is website that allows users to interact (search and query) a database in a way that is relatively intuitive, without the need to know programming languages. (See also 3.1.1 of the ENCODE Online Course)

Static Websites

Websites can be static or dynamic. In static websites the information displayed is entirely predefined and contained in HTML documents and can be searched using textual searches. Dynamic websites, on the other hand, can be connected to a database and allow users to query it.

Static websites are thus not ideal for the publication of a big corpus, but can be used for small projects and for dissemination. Their advantage is that they are relatively easy to create and maintain.

A tutorial for creating a static website can be found at:

The GitHub platform (see 2.1.2) allows to publish the content of the repository through the GitHub Pages infrastructure.

A combination of the following lessons gives a useful introduction on creating a static website starting from a GitHub repository:


EpiDoc Front-End Services, EFES is a free customizable platform specifically designed to publish collection of texts in EpiDoc XML. It allows the creation of indices, a search and browse interface, concordances, and integration with linked open data. See: 2.1.1.

Dynamic Websites

The best way to publish online the content of a database is through a dynamic website, which allows users to interact with and query the content of the database.

Creating a dynamic website requires a certain amount of programming knowledge, usually including:

  • HTML (HyperText Markup Language), the standard markup language used to create documents with the content of a web page
    W3Schools | Tutorial Republic
  • CSS, used to describe the presentation, i.e., the appearance of a web page
    W3Schools | Tutorial Republic
  • JavaScript, used to make web pages dynamic and interactive
    W3Schools | Tutorial Republic
  • PHP, Python or XSLT (in the case of XML databases) used to connect a web page to a database and, through the incorporation of queries written in an appropriate programming language, to fetch data from the database.
    PHP: W3Schools | Tutorial Republic
    Python: W3Schools
    XSLT: W3Schools
  • SQL (in the case of relational databases), XQuery or XPath (in the case of XML databases), used to write the queries to to fetch data from the database
    SQL:W3Schools | Tutorial Republic

Tutorials for creating dynamic websites can be found at:

A general introduction can be found at the Programming Historian:

Other Visualization Tools

Data from a database can also be visualized through already existing, off-the shelf tools. Here is a selection of them: