Adminer

Adminer  is a simple php-based tool to administrate a mysql database.

Website: https://www.adminer.org/de/

Dockerize Adminer

Adminer can be run in a docker-container to manage a mysql-database which is running in a separate container.

This is the service that should be included: (as taken from the official mysql docker-hub page)

services:
  adminer:
    image: adminer
    container_name: adminer
    ports:
      - "8080:8080"

How does it work?

image: adminer uses the image „adminer“ from Dockerhub to create the container

container_name: adminer specifies the name under which the container can be addressed once created

ports specifies the port where adminer should run. Within the container (second port) it runs on port 8080. You can forward it to any post on the host by changing the first port number, just make sure it is not where your database is running.

Apache Solr 8.4.

 

 

BibTeX

siehe: http://www.bibtex.org/Format/de/

BibTeX Format Beschreibung

BibTeX-Dateien können folgende Einträge beinhalten:

  • @STRING definiert Abkürzungen, die in folgenden BibTeX Einträgen verwendet werden können. Etwa
    @string { foo = "Mrs. Foo" } 
    

    wird in einem BibTeX-Eintrag wie folgt angewandt:

    author = foo # " and Mr. Bar" 
    
  • @PREAMBLE legt fest, wie bestimmte Textstellen formatiert werden müssen.
  • @COMMENT um Kommentare in der BibTeX-Datei zu hinterlegen.
  • Entries Die eigentlichen BibTeX-Einträge: Jeder Eintrag repräsentiert eine Referenz zu einer bestimmten Publikation. Abhängig von der Art der Publikation werden unterschiedliche Eintrags-Typen herangezogen, und entsprechende Angaben gemacht@article, @book, @inproceedings etc.

Ein BibTeX-Eintrag besteht aus folgenden Elementen: Ein Publikations-Typ (das Wort nach @), ein Schlüsselwort und ein vom Typ abhängiges Mindestmaß an Tags, das sind Eintragungen die die Eigenschaften der Publikation definieren.

Diese Tags sind etwa: author, title, year, etc. Manche diese Tags sind verpflichtend, andere nicht.

Es können beliebige Tags angegeben werden, auch solche die von BibTeX selbst nicht interpretiert werden. Dies kann etwa dann Sinn machen, wenn man zusätzliche Information, die von diversen Tools wie z.B. Bib2x interpretiert werden kann, einbinden möchte.

Dies ist ein minimaler BibTeX-Eintrag:

@misc{ patashnik-bibtexing,
       author = "Oren Patashnik",
       title = "BIBTEXing",
       year = "1988" }

Konvertierung von Literaturreferenzen:

https://anystyle.io/

BugFix: Docker Container erreichen keine Ressource außerhalb der VM bei Virtualisierungsstrukturen wie OpenStack und Software defined Networks

FAQ: https://faq.gwdg.de/index.php?action=artikel&cat=58&id=282&artlang=en

Problembeschreibung:

Ein häufiges Problem von Dockern innerhalb einer Virtualisierungsinfrastruktur ist, dass das den virtuellen Maschinen zur Verfügung gestellte Netzwerk nicht die Standard-MTU von 1500 hat. Dies ist beispielsweise häufig der Fall, wenn in einer Cloud-Infrastruktur (z. B. OpenStack) mit einem Software Defined Network gearbeitet wird. Der Docker Daemon überprüft beim Start nicht die MTU der ausgehenden Verbindung. Daher wird der Wert der Docker-MTU auf den Standard 1500 gesetzt.

Mehr auf https://mlohr.com/docker-mtu/

Man kann in seiner Virtuellen Maschine prüfen welche MTU Size verwendet wird durch „ip link„.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether uu:vv:ww:xx:yy:zz brd ff:ff:ff:ff:ff

Wenn die ausgehende Schnittstelle (in diesem Fall ens3) eine MTU kleiner als 1500 hat, sind einige Maßnahmen erforderlich. Wenn es größer oder gleich 1500 ist, trifft dieses Problem nicht auf Sie zu.

Lösungen:

1. Lösung des Problems (Docker-Daemon) 

Durch anpassen der MTU Size in /etc/docker/daemon.json (Datei erstellen wenn nicht vorhanden) kann das Problem für alle Container auf der VM behoben werden.

vim /etc/docker/daemon.json 
{ 
   "mtu": 1450 
}

systemctl restart docker.service 
systemctl restart docker.socket

2. Lösung des Problems (docker-compose

Durch Anpassung der MTU Size im docker compose file kann das Problem für eine Anwendung auf allen VMs gelöst werden.

...
networks:
  default:
    driver: bridge
    driver_opts: 
      com.docker.network.driver.mtu: 1450
...

docker-compose down; docker-compose up

Testfall:

docker run --rm -it ubuntu:18.04 /bin/bash
apt update
... hangs
exit

vim /etc/docker/daemon.json
{
  "mtu": 1450
}
systemctl restart docker.service
systemctl restart docker.socket

docker run --rm -it ubuntu:18.04 /bin/bash
apt update
... runs

Tags: Cloud, Docker

CETEIcean ? / XML-TEI zu HTML5 Transformation

https://github.com/TEIC/CETEIcean

CETEIcean lets you display unmodified TEI documents in a web browser! Examples may be found here.

CETEIcean is a Javascript library that allows TEI documents to be displayed in a web browser without first transforming them to HTML. It uses the emerging Web Components standards, especially Custom Elements. It works by loading the TEI file dynamically, renaming the elements to follow the Custom Elements conventions, and registering them with the browser. Browsers that support Web Components will use them to add the appropriate display and behaviors to the TEI elements; other browsers will use fallback methods to achieve the same result.

Because it preserves the full structure and information from your TEI data model, CETEIcean allows you to build rich web applications from your source documents using standard tools like CSS and Javascript.

CETEIcean was inspired by TEI Boilerplate, which also displays TEI in the browser, but differs from it in a couple of important ways. CETEIcean does not rely on an in-browser XSLT transformation, triggered by an XSLT directive in the source, so no modification to the source XML is necessary for it to work. Because it follows the Custom Elements standard, the HTML it produces is valid and there are no possibilities of element name collisions (like HTML <p> vs. TEI <p> for example).

Usage

You can use CETEIcean in your projects just by grabbing the CETEI.js file from the latest release and linking to it in an HTML file like the examples do. Note that you’ll want also to grab the example CSS or make your own. If you want to build and play with it on your own, follow the steps below.

Simple Usage Example

This code fetches a TEI file, transforms it into HTML Custom Elements, and places the result in a div with id „TEI“.

var CETEIcean = new CETEI()
CETEIcean.getHTML5("URL_TO_YOUR_TEI.xml", function(data) {
  document.getElementById("TEI").appendChild(data)
})

Other methods

getHTML5( url, callback, perElementFn )

Returns a Promise that fetches an XML source document then calls the makeHTML5 method on the returned document.

Parameters:

  • url: The XML document will be fetched from the provided URL.
  • callback: A function to be called on the results.
  • perElementFn: A function to be called on each resulting element.

makeHTML5( XML, callback, perElementFn )

Converts the supplied XML string into HTML5 Custom Elements.

Parameters:

  • XML: The XML document serialized to string.
  • callback: A function to be called on the results.
  • perElementFn: A function to be called on each resulting element.

domToHTML5( XML_dom, callback, perElementFn )

Converts the supplied XML string into HTML5 Custom Elements.

Parameters:

  • XML_dom: The XML document as DOM.
  • callback: A function to be called on the results.
  • perElementFn: A function to be called on each resulting element.

unsetNamespace( ns )

To change a namespace to prefix mapping, the namespace must first be unset. Takes a namespace URI. In order to process a TEI P4 document, e.g., the TEI namespace must be unset before it can be set to the empty string.

setBaseUrl( base )

Sets the base URL for the document. Used to rewrite relative links in the XML source (which may be in a completely different location from the HTML wrapper).

Install

Get NodeJS.

Run

npm i

Build

npm run build

puts a copy of CETEI.js in the dist/ folder

Develop

npm run dev

runs a local web server on port 8888. Browse to the examples in the test/ folder. Make changes and they’ll show up when you reload.

Use

Run the build process and then include the generated CETEI.js file in an HTML document like the simpleTest.html file in the test/ folder. Or, use the server-side language and framework of your choice to generate such files on demand.

Customize

TEI documents displayed using CETEIcean can be customized via CSS or by specifying behaviors for individual elements. For documentation on behaviors see the wiki.

Change default Media upload location in WordPress

„In order to change the default media upload location, you need to edit the wp-config.php file located in the root directory of your WordPress installation. If you want upload directory to be wp-content/files then you will need to place the following code in wp-config.php
1

define( ‚UPLOADS‘, ‚wp-content/‘.’files‘ );

If you want the upload directory to be outside wp-content, like http://www.example.com/files/ then you need to set upload path in wp-config.php like this:
1

define( ‚UPLOADS‘, “.’files‘ );

Remember you can still choose whether or not you want uploaded files to be organized in month/year folders in Settings » Media.“

from: https://www.wpbeginner.com/wp-tutorials/how-to-change-the-default-media-upload-location-in-wordpress-3-5/

CLARIN Standards Information System

Die Datenbank CLARIN SIP enthält Informationen zu Standards und Dateiformaten aus den digitalen Textwissenschaften.

Beischreibung von der Projektwebsite:

The CLARIN Standards Information System lists language-technology-related standards that CLARIN centres are willing to accept and recognize, and visualizes some of their interdependencies.

Link zur Website: https://clarin.ids-mannheim.de/standards/