Capitularia

Capitularia

CCeH Cologne — Marcello Perathoner <marcello@perathoner.de>

Düsseldorf 07 Mar 2018

Use of Wordpress

Advantages

  • simple functionality out of the box (content, user, …)
  • you may write plugins for your more exotic functionality

Disadvantages

  • you are locked into obsolete technology (PHP, mysql)
  • writing a plugin for everything gets tedious
  • some things do not fit well (cron jobs)

Current Document Workflow

skinparam handwritten true
left to right direction
scale 2

skinparam file {
  backgroundColor gold
}

rectangle "Oxygen\n" as o2 {
   file "TEI" as tei1
   file "TEI" as tei2
   file "TEI" as tei3
}

cloud "Web Server\n" {
   rectangle "Wordpress\n" as wp #ddd {
      rectangle "Plugin\n" as plugin #bbb {
         rectangle "XSLT 1.0" as xslt
         rectangle "Postprocess" as post
      }
      database "HTML" as db
      file "HTML" as html1
      file "HTML" as html2
      file "HTML" as html3
   }
}

tei1 --> xslt
tei2 --> xslt
tei3 --> xslt

xslt --> post
post --> db

db --> html1
db --> html2
db --> html3

Drawbacks:

  • Must code everything as plugin in PHP.
  • Web servers at uni-koeln.de are only configured for XSLT 1.0.

Future Document Workflow with GitHub

skinparam handwritten true
left to right direction
scale 2

skinparam file {
  backgroundColor gold
}

rectangle "Oxygen\n" as o2 {
   file "TEI" as tei1
   file "TEI" as tei2
   file "TEI" as tei3
}

cloud "GitHub\n" as github {
   database "TEI" as git
   rectangle "webhook" as githook
}

cloud "Build\nServer\n" {
   rectangle "XSLT 3.0" as xslt
   rectangle "Makefile" as make
}

cloud "Web Server\n" {
   rectangle "Wordpress\n" as wp #ddd {
      database "HTML" as db
      file "HTML" as html1
      file "HTML" as html2
      file "HTML" as html3
   }
}

tei1 <--> git
tei2 <--> git
tei3 <--> git

git --> xslt
git .l.> githook
githook ..> make
make .r.> xslt
xslt --> db

db --> html1
db --> html2
db --> html3

Open Questions:

  • Oxygen plugin for Git?
  • quick preview for editors?

Current Online Collation Tool

skinparam handwritten true
left to right direction
scale 2

skinparam rectangle<<layout>> {
   borderColor Transparent
   backgroundColor Transparent
   fontColor Transparent
   shadowColor Transparent
   stereotypeFontColor Transparent
}

skinparam file {
   backgroundColor gold
}

file "TEI" as tei1
file "TEI" as tei2
file "TEI" as tei3

cloud "Web Server\n" {
   rectangle "Wordpress\n" as wp #ddd {
      rectangle "Plugin\n" as plugin #bbb {
         rectangle "preprocess" as pre
         rectangle "postprocess" as post
         file      "Report" as repo
      }
   }
   rectangle "Collate-X" as cx
}

tei1 --> pre
tei2 --> pre
tei3 --> pre
post --> repo

pre  --> cx
cx   --> post
pre  -[hidden]--> post

Open Questions:

  • Scalability

Future Online Collation Tool

skinparam handwritten true
left to right direction
scale 2

skinparam file {
   backgroundColor gold
}

file "TEI" as tei1
file "TEI" as tei2
file "TEI" as tei3

cloud "Build Server\n" as bs {
   rectangle "preprocess" as pre
   together {
   rectangle "Collate-X" as cx
   rectangle "Controller" as ctrl
   }
   rectangle "postprocess" as post
}

cloud "Web Server\n" as ws {
   rectangle "Wordpress" as wp #ddd {
      rectangle "Plugin" as plugin #bbb {
         file "Report" as repo
      }
   }
}

tei1 --> pre
tei2 --> pre
tei3 --> pre
pre  --> cx
cx   --> post
post --> repo

ctrl .l.> pre
ctrl .l.> cx
ctrl .l.> post
plugin .u..> ctrl

Open Questions:

  • Scalability