website

Source code for the London Stage Database website.

https://github.com/londonstagedb/website

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Source code for the London Stage Database website.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 3
  • Open Issues: 7
  • Releases: 1
Created almost 8 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

London Stage Database Website

This repository includes all the files needed to replicate the London Stage Database website on your own server.

Installation Requirements

To deploy a copy of the London Stage Database website, you will need a Linux web server with MySQL, PHP, and the Sphinx engine.

Clone the Project Repo

bash git clone https://github.com/LondonStageDB/website.git

Import the Database into MySQL

Download a zipped version of the SQL database and save it to the website folder.

You can either download it from the London Stage Database website or from GitHub by clicking View Raw.

Extract the London.sql.zip folder. ``` bash

This will extract a file called London.sql in the current directory

unzip London.sql.zip ```

Import London.sql into MySQL. ```bash

Replace with your MySQL username.

After hitting enter, it will ask for your MySQL password

mysql -u -p London < London.sql ```

Sphinx Installation

There are two ways to install and use the Sphinx engine.

Files

In the /sphinx directory of the repo you will find the files listed below. After installing Sphinx, copy the files to the locations indicated to set up Sphinx.

en.pak

Copy this file to the Sphinx installation directory.

When it has been placed, be sure to update the lemmatizer_base in the common section of the sphinx.conf file (not yet copied). The setting should be the path of the containing folder of the file.

stopwords.txt

Copy this file to the Sphinx installation directory.

When it has been placed, be sure to update the setting stopwords in all 3 index sections of the sphinx.conf file (not yet copied). The setting should be the full path of the file.

sphinx.example.conf

Copy this file to somewhere in the Sphinx installation directory structure. Rename it sphinx.conf.

Read the commented lines in the file to help while updating the settings to match your set up.

Make sure the path for the lemmatizer_base and file location for stopwords are updated to match the locations of the files in the sections above.

Run the Indexer and Start Sphinx

Once the configuration files are placed and updated, Sphinx needs to index the database.

Update the sphinx.conf location when executing the commands below.

bash indexer --all --rotate --config /path/to/sphinx/conf/sphinx.conf

Now start serving requests.

bash searchd --config /path/to/sphinx/conf/sphinx.conf

(optional) Google reCAPTCHA v3

To prevent bots which do not respect robots.txt and protect DDOS attackig on downloading, you can set up Google reCAPTCHA v3 for your site. - First, follow this guide to create your reCAPTCHA in Google Cloud platform: reCAPTCHA v3 Guides. - Then, provide site key and secret key in the db.php file.

Create the db.php File

In the /includes folder, create a file named db.php. Use the code below as a template for the file.

The parameters for the Sphinx engine will depend on whether Sphinx was installed locally or if it is running from a Docker container.

For both the MySql and Sphinx define() statements, populate the host, port, user, password, and database configuration details.

``` php <?php

errorreporting(EERROR);

define("DBHOST", "host.example.com"); define("DBNAME", "London"); define("DBUSER", "londonstagedbuser"); define("DBPASS", "areallysecurepassword1A!");

$conn = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);

define("SPHINXHOST", "localhost"); define("SPHINXNAME", ""); define("SPHINXUSER", ""); define("SPHINXPASS", ""); define("SPHINX_PORT", "9306");

$sphinxconn = new mysqli(SPHINXHOST, SPHINXUSER, SPHINXPASS, SPHINXNAME, SPHINXPORT);

define("GOOGLERECAPTCHASITEKEY", ""); define("GOOGLERECAPTCHASECRETKEY", "");

?> ```

The site should now be installed and configured.

Deploying the (Legacy) London Stage Database

If you would like to deploy the legacy version of the London Stage Database, which has an alternative search feature that does not require Sphinx to be installed, a archived release bundled with installation instructions is available for download.

As legacy search was deprecated for performance and security reasons we only recommend this option for users who want to precisely replicate older search behavior.

Code Structure

``` bash - /common         Contains header, footer, and nav include files

  • /get[all][json/csv/xml].php files         Used to generate the exported CSV/XML/JSON for search results or events

  • /includes/[act/auth/perf/role].php files         Used to generate auto-complete options for respective search fields

  • /includes/functions.php         Contains all functions used on the website

  • /includes/Paginator.class.php and /includes/SphinxPaginator.class.php         Executes the search SQL query and stores the result data. Also generates         pagination info based on the results.

  • /includes/db.php         Database config file (Not included in repo. You will need to create your own - see above)

```

Owner

  • Name: LondonStageDB
  • Login: LondonStageDB
  • Kind: organization

Citation (citation.php)

<!doctype html>
<html class="no-js" lang="en">

<head>
    <?php include_once('common/header.php'); ?>
    <title>Citing the London Stage Database</title>
</head>

<body id="citation">
<?php include_once('common/nav.php'); ?>
<div id="main" class="main grid-container">
    <div class="grid-x">
        <div class="small-12 page-heading">
            <h1>Citation and Sharing</h1>
        </div>
        <div class="small-12 medium-4 large-3 citation-nav" id="citationNav">
            <nav class="show-for-small-only citation-mobile-nav sticky-container" id="mobileNav" data-sticky-container>
                <div class data-sticky data-anchor="mobileNav" data-sticky-on="small">
                    <ul class="menu" data-magellan>
                        <li><a href="#OpenResearch">Open Research</a></li>
                        <li><a href="#Citing">Citing the Database</a></li>
                        <li><a href="#ImageCredits">Image Credits</a></li>
                    </ul>
                </div>
            </nav>
            <nav class="sticky-container show-for-medium" data-sticky-container>
                <div class data-sticky data-anchor="citationNav" data-sticky-on="medium">
                    <h2>On This Page</h2>
                    <ul class="vertical menu" data-magellan>
                        <li><a href="#OpenResearch">Open Research</a></li>
                        <li><a href="#Citing">Citing the Database</a></li>
                        <li><a href="#ImageCredits">Image Credits</a></li>
                    </ul>
                </div>
            </nav>
        </div>
        <div id="top" class="small-12 medium-8 large-9 citation-content">
            <div class="grid-x citation-section">
                <div class="small-12">
                    <p>Except where otherwise noted, content on this site is licensed under a <a
                                href="https://creativecommons.org/licenses/by-nc/4.0/">Creative Commons
                            Attribution-NonCommercial 4.0 International license</a>. You are welcome to copy,
                        redistribute,
                        remix, and build upon the material for non-commercial purposes, as long as you provide
                        attribution, link to the license, and indicate the nature of your changes (if any) to the source
                        material.</p>
                    <p>Read on for more information about our open science commitments and practices, as well as how to
                        access, reuse, and cite this work.</p>
                </div>
            </div>
            <div class="grid-x citation-section">
                <div id="OpenResearch" class="small-12" data-magellan-target="OpenResearch">
                    <h2>Open Research</h2>
                    <p>Our project is built on the principles and values of open research:</p>
                    <ul>
                        <li><b>Open data:</b> We embrace the <a href="http://go-fair.org" title="smartCard-inline">FAIR
                                data principles</a> to promote the Findability, Accessibility, Interoperability, and
                            Reusability of our data, and we reuse data from open sources wherever possible.
                        </li>
                        <li><b>Open file formats:</b> We use portable, open-source, non-proprietary file formats like
                            XML, JPG, and PDF/A for preservation-friendly file management, following the latest
                            recommendations of the Library of Congress. Our full datasets are available for export in
                            SQL, JSON, XML, and CSV formats, encouraging interoperation with datasets in a range of
                            other formats.
                        </li>
                        <li><b>Open source software:</b> Our website and database code are written in standard,
                            open-source programming languages including PHP, Python, HTML, CSS, and JavaScript. The code
                            base is available in full on <a href="https://github.com/LondonStageDB" title="‌">our GitHub
                                site</a> and major release versions are automatically registered with unique DOIs
                            through
                            Zenodo:<br>
                            <ul>
                                <ul>
                                    <li><a href="https://doi.org/10.5281/zenodo.7328444"><img
                                                    src="https://zenodo.org/badge/140609672.svg" alt="DOI"></a> Data
                                        v1.0
                                    </li>
                                    <li><a href="https://doi.org/10.5281/zenodo.7328442"><img
                                                    src="https://zenodo.org/badge/140609563.svg" alt="DOI"></a>
                                        Database Code v1.0
                                    </li>
                                    <li><a href="https://doi.org/10.5281/zenodo.7328435"><img
                                                    src="https://zenodo.org/badge/140609156.svg" alt="DOI"></a>
                                        Website v2.1
                                    </li>
                                </ul>
                            </ul>
                        </li>
                        <li><b>Open access:</b> Consistent with the <a href="https://www.neh.gov/publicaccess"
                                                                       title="‌">NEH public access policy</a>, we aim to
                            publish project-related scholarly work in open-access venues whenever possible. A list of
                            outputs and media coverage related to the first grant-funded phase of the project (2018-19)
                            is maintained on the <a
                                    href="https://apps.neh.gov/publicquery/AwardDetail.aspx?gn=HAA-258717-18" title="‌">NEH
                                public query site</a>, and it will be joined by a running list of <a
                                    href="https://apps.neh.gov/publicquery/AwardDetail.aspx?gn=HAA-300527-24" title="‌">associated
                                products for the current grant</a> as they become available.
                        </li>
                    </ul>
                </div>
            </div>
            <div class="grid-x citation-section">
                <div id="Citing" class="small-12" data-magellan-target="Citing">
                    <h2>Citing the Database</h2>
                    <p>
                        We credit and link back to our sources and greatly appreciate your help tracking our project’s
                        impact through citations. A suggested citation, formatted in MLA and Chicago style, can be found
                        at the bottom of each event page and follows this template:</p>
                    <ul>
                        <li>Chicago: "London Stage Event: 10 August 1682 at Dorset Garden Theatre." London Stage
                            Database. Accessed March 10, 2025.
                            https://londonstagedatabase.uoregon.edu/event.php?id=1494.
                        <li>MLA: "London Stage Event: 10 August 1682 at Dorset Garden Theatre." London Stage Database,
                            https://londonstagedatabase.uoregon.edu/event.php?id=1494.
                        </li>
                    </ul>
                </div>
            </div>
            <div class="grid-x citation-section">
                <div id="ImageCredits" class="small-12" data-magellan-target="ImageCredits">
                    <h2>Image Credits</h2>
                    <p>The image collage that is displayed on the landing page and in the background of the search,
                        results,
                        and events pages was created by Dustin Olson, and is covered by a <a
                                href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC-BY-NC-SA 4.0 license</a>.
                    </p>
                    <p>Clockwise from top left:</p>
                    <ul>
                        <li><a href="https://www.britishmuseum.org/collection/object/P_Ee-4-80">“Scene from <i>School
                                    for Scandal</i> being performed in Drury Lane Theatre, London,”</a> 1778, © The
                            Trustees of the British Museum, CC-BY-NC-SA 4.0 license
                        </li>
                        <li><a href="https://collections.britishart.yale.edu/vufind/Record/3653228">William Blake, “<i>Beggar’s
                                    Opera</i>, Act III,”</a> c.1790, Yale Center for British Art, Paul Mellon
                            Collection, Public Domain
                        </li>
                        <li><a href="https://collections.britishart.yale.edu/vufind/Record/1670672">Thomas Rowlandson,
                                “An Audience Watching a Play at Drury Lane Theatre,”</a> c.1785, Yale Center for British
                            Art, Paul Mellon Collection, Public Domain
                        </li>
                        <li><a href="https://www.digitens.org/en/media/341"> Playbill from Burney Collection,
                                “‘Theatrical Register.’ A collection of playbills of London theatres, chiefly of Drury
                                Lane, Covent Garden and the Haymarket,”</a> 1774-1777, British Library, Public Domain
                        </li>
                        <li><a href="https://digitalcollections.folger.edu/img21902">John Lodge, “Mr. Garrick delivering
                                his Ode at Drury Lane Theatre on dedicating a building & erecting a statue to
                                Shakespeare,”</a> Folger Shakespeare Library, CC-BY-SA 4.0 license
                        </li>
                        <li>
                            <a href="https://www.britishmuseum.org/research/collection_online/collection_object_details/collection_image_gallery.aspx?assetId=1613044433&objectId=3411178&partId=1">“Riot
                                at Covent Garden Theatre, in 1763, in consequence of the Managers refusing to admit
                                half-price in the Opera of <i>Artaxerxes</i>,”</a> 1763, © The Trustees of the British
                            Museum, CC-BY-NC-SA 4.0 License
                        </li>
                        <li><a href="https://collections.britishart.yale.edu/catalog/tms:51853">Peter Lely, “Aphra
                                Behn,”</a> 1670, Yale Center for British Art, Public Domain
                        </li>
                        <li>
                            <a href="https://www.bl.uk/collection-items/third-edition-of-the-beggars-opera-by-john-gay-1729">John
                                Gay, <i>The beggar's opera. As it is acted at the Theatre-Royal in Lincolns-Inn
                                    Fields</i>,</a>1729, British Library, Public Domain
                        </li>
                        <li><a href="https://collections.britishart.yale.edu/catalog/tms:40620">Edward Fisher, “Miss
                                Farren in the Character of Hermione,”</a> 1781, Yale Center for British Art, Paul Mellon
                            Collection, Public Domain
                        </li>
                        <li>
                            <a href="https://www.britishmuseum.org/research/collection_online/collection_object_details.aspx?assetId=290264001&objectId=752512&partId=1">“Scene
                                One of <i>The Necromancer or Harlequin Dr Faustus</i> which opened at Lincoln's Inn
                                Fields 20 December 1723,”</a> 1724, © The Trustees of the British Museum, CC-BY-NC-SA
                            4.0 license
                        </li>
                        <li>
                            <a href="https://www.britishmuseum.org/research/collection_online/collection_object_details.aspx?objectId=3553320&partId=1&searchText=theatre+ticket&images=true&from=ad&fromDate=1660&to=ad&toDate=1800&page=3">Thomas
                                Bewick, “Border for theatre-ticket; concert for the benefit of Mr Evans, at the Theatre
                                Royal in Haymarket, London, on 11 April 1777,”</a> 1777, © The Trustees of the British
                            Museum, CC-BY-NC-SA 4.0 license
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>

<?php include_once('common/footer.php'); ?>
</body>

</html>

GitHub Events

Total
  • Create event: 34
  • Issues event: 10
  • Watch event: 1
  • Delete event: 36
  • Issue comment event: 10
  • Member event: 5
  • Push event: 112
  • Pull request review event: 43
  • Pull request review comment event: 13
  • Pull request event: 56
Last Year
  • Create event: 34
  • Issues event: 10
  • Watch event: 1
  • Delete event: 36
  • Issue comment event: 10
  • Member event: 5
  • Push event: 112
  • Pull request review event: 43
  • Pull request review comment event: 13
  • Pull request event: 56

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 7
  • Total pull requests: 37
  • Average time to close issues: 2 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.11
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 7
  • Pull requests: 30
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 days
  • Issue authors: 2
  • Pull request authors: 5
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.1
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • mattieburkert (4)
  • wintere (3)
Pull Request Authors
  • dependabot[bot] (10)
  • uo-zz (8)
  • wintere (8)
  • emmakaisner (7)
  • mipflug (4)
Top Labels
Issue Labels
Pull Request Labels
dependencies (10) javascript (2) bug (1) enhancement (1)

Dependencies

PDFs/package-lock.json npm
  • 401 dependencies
PDFs/package.json npm
  • webpack-cli ^3.3.12 development
  • webpack-dev-server ^3.11.0 development
  • buffertools ^2.1.6
  • mysql ^2.16.0
  • pdfjs-dist ^2.0.466
  • scissors ^0.2.3
  • stream-to-promise ^2.2.0