September is left as a risk reserve. See below for a more detailled breakdown of tasks.

Model

DeadlineGoal

Tasks

Late MarchModel ist clean.
  • Use a consistent naming scheme for taxonomies and metadata fields.

Episode Upload

DeadlineGoal

Tasks

Late MarchBasisklassifikation completely modelled.
  • Re-do slugs.
  • Enter the whole Basisklassifikation.
Early AprilRights and licenses are modelled.
  • Metadata field for rights holders.
  • Episode metadata field for licenses.
  • Image metadata field for rights holders.
  • Image metadata field for licenses.
Mid-April

Episode metadata is validated.

  • Make Basisklassifikation required unless the podcast is already classified.
  • Limit the number of Basisklassifikation terms to three.
  • Limit the number of keywords to N.
  • Discuss the proper value of N with librarians.
  • Require users to declare copyright holders and usage rights.
Late AprilUsers can upload episodes w/o a manual.
  • BUG: Remove the horizontal scrollbars in the sidebar of post-new.php.
  • If no speaker is entered, create/use a speaker based on the current user.
Mid-MayPer-podcast postring privilege are implemented.
  • Per-podcast postring privilege are implemented.
JulyEpisode upload is translated to German.
  • Translate field descriptions into German, if feasible.
  • Translate validation errors into German.

Podcast Creation

DeadlineGoalTasks
Mid-MayRights and licenses are modelled.
  • Have a podcast metadata field for rights holders (probably easiest to reuse the Speakers field).
  • Have a podcast metadata field for licenses.
  • If copyright holders and a license are declared for a podcast, use them as defaults for episodes.
Mid-MayPostcast metadata is validated.
  • Filter Basisklassifikation terms by UI language when creating a new podcast.
  • Make the speakers and Basisklassifikation fields required when creating a new course.
  • Override the slug field of lecture series with <semester>-<course ID> and hide slug entry field.
Late MayUsers can create podcasts w/o a manual.
  • BUG: When adding a new podcast, the semester and the course ID fields are displayed after changing the podcast language even if the podcast is not a lecture series.
  • BUG: When adding a new podcast, the semester and the course ID fields are displayed after a podcast has been created, regardless of podcast type.
Mid-JunePodcast generation is translated to German.
  • Translate field descriptions into German, if feasible.
  • Translate validation errors into German.
Late JuneSpecial privileges for courses are implemented.
  • Special privileges for courses are implemented.

Data Migration

DeadlineGoalTasks
Mid-AprilOld episodes are available.
  • Medien und bestehende Metadaten sind migriert.
Mid-AprilThere is a metadata strategy.
  • There is a list of keywords to be used.
  • There is a plan how to apply those keywords to old episodes.
  • There is a team of volunteers to execute the plan.
Late JuneA number of old episodes has been classified.
  • Old episodes back to so a set date have been classified.
Late JulyA number of old lectures has been classified.
  • Old lectures back to so a set date have been classified.

Front-end

DeadlineGoal

Tasks

Mid-JulyThe German site is usable.
  • BUG: Following a link to an English episode on the German site takes visitores to the English site. Hard to fix. Perhaps a feature request should be posted to Polylang. For now this can only be worked around by adding English episodes twice, once classified as English and once classified as German. However, this may leads to invalidate language date and may break A11Y assumptions.
  • Test whether episode speakers and series speakers both show up on a series page/entry if both are given and differ.
  • Add link title attribute to metadata entries.
  • There are no PHP warnings on the front-end, even with debugging enabled.
Mid-AugustA11Y has been reviewed.
  • BUG: Taxonomy lists in which the series metadata entry is hidden, consequently, also have their episode number hidden, leaving no episode number for visually impaired visitors; this metadata block should only be hidden for non-screen readers.
  • Test the site with screen readers.
  • Ask disabled colleagues for feedback.
Mid-AugustThe English site is usable.
  • BUG: Series taxonomies don't show up on episode pages on the English site.
  • Translate legal information into English.
  • Translate the main menu to English.
  • Classify old English material.
Have a nice front-end.
  • BUG: Current page displays a non-text default cursor.
  • Maybe use <https://wordpress.org/plugins/podcast-subscribe-buttons> to make subscribing to podcasts easier.
  • Don't show taxonomies in post metadata if the current view is for that taxonomy.
  • Use a hyphenation library to hyphenate long words before saving/updating a post/page/podcast.
  • Selbe Farbe für “Nächste/Vorherige Seite” verwenden wie im Menü oder Kontraste wieder etwas abschwächen.
  • Hübschere Pfeile bei „Nächste/Vorherige Seite“.
  • Have a page that lists all classifications.
  • Have a page that lists all speakers, maybe by podcast.
  • Have a page that lists all semesters.
  • Fix the sidebar to the bottom of the screen when scrolling down and to the top of the screen when scrolling up.
  • Have a report button, so that we can show how much we care about copyright?
  • Center lecture numbers more properly.
  • Have an icon to un-/collapse sub-menus without having to click on the parent item.

Legal Issues

DeadlineGoal

Tasks

Ende MaiRechtsform ist geklärt.
  • Gründung eines Vereines ist mit dem Institut und der Fakultät akkordiert.
  • Der Verein ist gegründet.
  • A “Datenverarbeitung” has been registered wit the University of Vienna.
Ende JuliProcesses have been set up.
  • There is a form for third parties to allow uploading their lectures on the Audiothek (GDPR, copyright).
  • There a database to keep track of those forms.
Late AugustPrivacy policy is ready.
  • Draft for privacy policy is ready.
  • Policy has been translated into English.
  • Privacy policy has been cleared by a lawyer (German and English).
Late August

Terms of use are ready.

  • Note that only the German version is legally binding.
  • Draft for terms of use is ready.
  • Terms have been translated into English.
  • Terms have been cleared by a lawyer.

Search Engine Optimisation

DeadlineGoal

Tasks

Late AugustSearch engines find us.
  • Don’t forget to add a robots.txt file when everything else is done.
  • Don’t forget to allow search engines back  in when everything else is done.
Late AugustEnable SEO review
  • Add the site to the Google Management Console

Infrastructure

DeadlineGoal

Tasks

Late MarchMigrate development to staging environment.
  • Migrate testing to staging environment.
  • Cache TTL on schroeder may need further optimisation.
  • Investigate TLS errors reported by Mozilla Observatory.
  • Differentiate webroot and file store by version numbers.
Late JulyMove media to share
  • Move cachefiled store from Virtio FS to local ext4 volume.
  • Test streaming media from share under load.
Late August

Go live with beta

  • Re-test staging environment for stability under load, performance, A11Y, and SEO.
  • Forward mimi.phl.univie.ac.at to audiothek23.philo.at.
  • Add forwarding rules for URLs, if feasible.
  • Change banner on old Audiothek and point to new address.
Late AugustGo live
  • Test with fake hostname.
  • Add forwarding rules for URLs.
  • Let point audiothek.philo.at to schroeder.

PHAIDRA

DeadlineGoal

Tasks

PHAIDRA imports new episodes and changes to metadata from the Audiothek.

The Audiothek imports metadata from PHAIDRA.

Integrate with u:search.

Improve Metadata

DeadlineGoal

Tasks

-Tags use the Gemeinsame Normdatei.-
-All old episodes are tagged and classified.-
-User can add and edit certain metadata.-

University infrastructure

Attachments

Documentation

Refactoring

Better search

UI improvements

Other services