Skip to content

Releases: elan-ev/tobira

v2.1 🐑

18 Jul 15:13
Compare
Choose a tag to compare

User-facing changes

  • Introduce dark mode (#871)
    • Important: Check if your logo also works (i.e. looks good) in dark mode. If not, you can add a logo variant to be used in dark mode instead of your regular logo (see https://elan-ev.github.io/tobira/setup/theme for reference)
  • Update Paella player to fix portrait videos (#867)
  • Fix page redirection after external logins (#890)
  • Check upload permission for upload route and "upload" nav item by @geichelberger (#903)
  • Add note to clarify that selecting a series for uploads is required (if configured that way) (#887)
  • Adjust metadata and description layout (#853)
  • Adjust grey tones (add new ones and change brightness values) (#900)
  • Close QR-modal on outside click (#892)
  • Show warning when clicking outside editing block (#891)
  • Many smaller fixes:
    • Fix margin around user realm disclaimer on narrow screens (#837)
    • Fix tooltips not opening on mobile (still broken on iOS) (#851)
    • Fix add button tooltip overflow (#852)
    • Fix setting a page name for user root realms (#860)
    • Fix some links that wouldn't work after changing paths or re-adding previously deleted pages (#866)
    • Fix error text color (#894)
    • Change default font of copyable input (#889)
    • Correct quantity wording for uploads (#888)

Changes primarily for admins

  • Improve "update" docs (#873)
  • Fix db clear by not dropping automatically created array types (#893)
  • Add code to regularly send basic statistics to Opencast for adopter registration (#878)
    • Note: The data is just sent to your connected Opencast (via secured connection) and Opencast will only send it out if you registered as an adopter and agreed to that basic data collection. Further, the data only contains very basic statistics that are considered public anyway.
  • Add optional email user property by @geichelberger (#899)

Changes primarily for developers

  • Fix import-realm-tree command (#861)
  • Use shared ESLint config (#876)
  • Use @opencast/appkit (#902)

Full Changelog: v2.0...v2.1

v2.0 🐿️

15 May 11:29
a85d9bc
Compare
Choose a tag to compare

We are happy to announce Tobira 2.0!

This is a major release as it contains a large number of user facing changes and new features. Most notably, almost every aspect of the design was somewhat reworked and polished. Nothing major changed, certainly no major layout changes, but everything looks a lot neater now. The main new feature is the addition of user pages: each user (who is allowed to) can create and manage their own set of pages which are completely independent from the main video portal. Additionally, the uploader allows users to select a series now, the share menu was improved, and the series block has three different display modes now. Finally, setting up Tobira is easier now as administrators don't need to configure a JWT key in most situations anymore.

These are just the highlights of the release. For everything else, check out the detailed changelog below.

As per our versioning policy, major/minor versions don't really mean anything specific. Breaking changes are allowed in minor versions as well. However, this release does include a number of breaking changes that you need to look out for when upgrading. See the migration guide at the bottom of this release announcment.

Finally, a big thanks to the institutions which make Tobira possible! This is primarily the ETH Zürich, which sponsored most of Tobira's development from the very start. More recently, Bern university and the TU Wien made large contributions to the project as well. Thanks!

Detailed changelog

User-facing changes

  • Redesign/polishing:
    • Redesign series block (#706)
    • Redesign header and navigation (#702)
    • Apply login page redesign (#721)
    • Apply redesign of ~manage/realm/ pages (#772)
    • Improve video page layout for metadata (#792)
  • Add user realms (a page tree for each user) (#727)
  • Add series selection to uploader (#705)
  • Add new share menu on video page (#792)
  • Add download button on video page (#792)
  • Rework colors (#796)
  • Use thumbnail as player preview image (#710)
  • Use searchable series select in series block edit UI (#729)
  • Improve "gallery view" of series block (#737)
  • Accessibility
    • Replace "home" link title with aria-label (#722)
    • Add and apply focusStyle function (#726)
    • Add specific descriptions to copyable inputs (#769)
    • Improve player link description for screen readers (#771)
    • Add focus trap to popup modals (#773)
    • Underline specific kinds of links (#811)
    • Add current language to language selection label (#774)
    • Improve accessibility of various elements (#636)
  • Add alphabetical ordering options to series blocks (#742)
  • Limit allowed file formats for upload to audio/video (#739)
  • Make uploader show error when selecting non-video or -audio files (#717)
  • Disable spellcheck and autocapitalize on username and path inputs (#738)
  • Fix breadcrumbs order (#709)
  • Fix breadcrumbs for realms with missing names (#728)
  • Add breadcrumbs to all pages (excluding homepage) (#780)
  • Improve logo sizing & other small header-related improvements (#734)
  • Fix max-width and padding of description text of series blocks (#764)
  • Add navigation elements to upload page (#778)
  • Add more space below heading (#785)
  • Add remaining dashboard items to user menu (#787)
  • Fix edit form of series blocks (#790)
  • Fix audio-only playablility (#798)
  • Add redirect from video routes to direct video routes if realm does not exist (#818)
  • Rearrange dashboard items (#819)
  • Adjust some borders of user menu items (#824)
  • Small video page adjustments (#825)
  • Prevent overflow of git hash on small screens (#826)
  • Show triangle instead of spinner if user data could not be loaded (40137fb)
  • Improve tooltips & popovers (#636)
  • Replace title attribute with real tooltip (#636)

Changes primarily for admins

  • Make JWT key optional by generating it on the fly if unspecified (#820)
  • Drop PostgreSQL 10 support and fix user session query (#783)
  • Update MeiliSearch to v1.1 (#789)
  • Add docs (configuring the theme & various information for devs) (#813)
  • Fix db clear and search series view (#714)
  • Minor improvements to logging (#766)
  • Remove outdated docs from auth.mod config (#711)
  • Add error context to opening log file (#782)
  • Enable backtraces for errors (#812)
  • Update dependencies (various PRs)

Changes primarily for developers

  • Improve API error handling (#730)
  • Use React.StrictMode and type-safe translation keys with i18next (#708)
  • Expand and change dummy users (#745)
  • Improve dummy-blocks for better test data (#736)

Full Changelog: v1.7...v2.0


Upgrade guide

Please read our upgrade guide, but also pay special attention to these points:

  • The color system was reworked quite a bit. You have to adjust your color configuration. See our "theme" docs on more information.
  • Similarly, some logo sizing and margin logic was changed, so make sure your logo file still works well! Again, check the "theme" docs for more information.
  • Tobira requires at least PostgreSQL 11 now.
  • Tobira requires MeiliSearch 1.1 now. You most certainly need to update this.
  • By default, users are allowed to download videos. If you don't want that, change general.show_download_button. In the future, it can be selected per video whether download is allowed or not.
  • By default, all users (ROLE_USER) are allowed to create their own pages. If you want to change that, check auth.user_realm_role.

v1.7

06 Feb 17:36
c4db534
Compare
Choose a tag to compare

🟢 There are no breaking changes.

User-facing changes

  • Fix Paella not playing any video (missing preview image) #703
  • Fix search input losing focus #703
  • Fix live streams that end further than 25 days in the future #703

Full Changelog: v1.6...v1.7

v1.6

31 Jan 16:20
ddbf829
Compare
Choose a tag to compare

⚠️ This release is broken. Use v1.7 instead!

🟢 There are no breaking changes.

User-facing changes

  • Add automatic login for Studio and Editor. Users logged into Tobira can now automatically be logged into Opencast as well. (For admins: check these docs). #587
  • Hide upcoming live events in expandable box #688
  • Add cancel button to video uploader and also cancel upload when leaving route #633
  • Split "manage single video" page into multiple pages #595
  • Make events findable via search if the exact Opencast ID is entered #655
  • Clarify starting time indicator for live events #614
  • Improve contrast between some texts and their backgrounds #644
  • Apply hover styles also on keyboard focus #662
  • Remove disabled buttons from accessibility tree #665
  • Rerender the current route on every navigation #680
  • Fix some typos in translation and docs #618
  • Fix minor frontend bugs & speed up thumbnail hover animation #685

Changes primarily for admins

Changes primarily for developers

  • Delete logs when removing a test deployment #669
  • Stop unnecessarily passing around setFiles #695
  • Update docs, fix fixtures.sql, and add colors to db reset command #616
  • Add docs for v1.5 and fix release script #613
  • Fix doc deployment + some housekeeping #619
  • Fix CI badge in README #627

New Contributors

Full Changelog: v1.5...v1.6

v1.5

30 Nov 15:19
9d669c3
Compare
Choose a tag to compare

🟢 There are no breaking changes.

What's Changed

User-facing changes

  • Improve icons below player, fix them on small screens, and other small video page improvements in #596

Changes primarily for admins

  • Fix DB migration deadlock by acquiring exclusive lock first in #602
  • Fix DB migrations when DB is empty in #611
  • JWT expiry during upload should no longer be a problem under normal circumstances in #592
  • Add docs about "updating Tobira" and "resync" in #598
  • Add versioned docs in #605
  • Add --color flag to configure color choice and default to 'auto' in #609
  • Fix tobira check for empty search index in #612

Changes primarily for developers

  • Fix building Tobira on macOS by @owi92 in #608
  • Avoid host networking in #607
  • Disable request buffering in our CORS proxy in #591
  • Add --dummy-blocks to import-realm-tree when creating DB dump in #597
  • Use proper GitHub deployment status instead of comment for test deployments in #589
  • Update dependencies in docs/ to resolve some audit warnings in #588
  • Update loader-utils in #593

New Contributors

Full Changelog: v1.4...v1.5

v1.4

14 Nov 10:38
9f5044c
Compare
Choose a tag to compare

🟢 There are no breaking changes.

Note ⚠ We recommending skipping this release and using v1.5 instead, as this bug might cause some inconveniences. Nothing critical, but it should be fixed in v1.5.

What's Changed

User-facing changes

  • Fix searching on pressing enter by @geichelberger in #574
  • Make Tobira properly handle multi-quality HLS streams in #578

Changes primarily for admins

  • Fix /~metrics endpoint for PG14 and PG15 in #572
  • Fix constraints and add db dump/db restore in #570
    • Note: the migration scripts added by this take quite some time to run (depending on the number of events). One example: 58k events took 32s to migrate.
    • Note: Because of the previous point, you might run into this bug. If so, only start one Tobira process until the migration is done. Then start all other processes.
    • Note: This touches all events, so that they are all reindex in the search index. No problem here, just FYI so you don't wonder what happened.
  • Improve several things about the configuration in #577

Changes primarily for developers

  • Add documentation on how to make a release in #569
  • Check version of rustc and npm in x.sh in #580
  • Optimize CI scripts in #583
  • Improve GraphQL API HTTP handling code in #579
  • Provide DB dump with useful data and use it for CI checks, deployment, and DX in #582
  • Bump loader-utils from 2.0.2 to 2.0.3 in /frontend by @dependabot in #581
  • Bump loader-utils from 2.0.2 to 2.0.3 in /docs by @dependabot in #584

Full Changelog: v1.3...v1.4

v1.3

13 Oct 15:56
Compare
Choose a tag to compare

What's Changed

Breaking changes ⚠

  • Add ability to specify reserved paths and reply 404 to /favicon.ico in #566
    Note that this is not technically a breaking change as per our policy, but everyone should still be aware that if you have a realm with the path /favicon.ico or /robots.txt, that will now cease to work.

User-facing changes

  • Generated embed codes now work better with live streams in #557
    Note that you need to update any embed codes you already generated for this to take effect!
  • Add caption/subtitle support in #564
    Note: This requires opencast/opencast#4309 to be merged in your Opencast instance and a resync of your Tobira!
  • Make thumbnail images loading="lazy" in #568
    With this, off-screen images are loaded on-demand, making the page more responsive for example in the presence of many thumbnails.

Changes primarily for admins

  • Add, improve, rewrite and automatically render and deploy documentation in #551, #553 and #558
    See here!
  • Add Prometheus/OpenMetrics endpoint with a number of useful metrics in #561
  • Improve interaction with search engines: add noindex to some routes and add structured data in #559
  • Fix and improve db clear (and related) subcommands in #554

Changes primarily for developers

  • Setup monitoring on test server in #565
  • Check for changes to APIs used by the admin UI integration in #552

Full Changelog: v1.2...v1.3

v1.2

08 Sep 13:43
c8cfc3e
Compare
Choose a tag to compare

Breaking changes ⚠

  • Change mountSeries API used by the Admin UI Integration. You have to update the admin UI integration, too. This change happened to be able to pass additional series info to Tobira (e.g. title). #514 #515
  • Update to MeiliSearch 0.28.1 in #542
  • Remove --without-clear flag from search-index rebuild subcommand a5e6407

User-facing changes

  • Fix video playback bug of single-stream "presentation" videos in #539
  • Improve thumbnail fallback and playing indicator in #525
  • Hide player for ended streams and make video blocks behave like the video page in that regard #521
  • Better event selector in block edit mode in #543
  • Thumbnails now use black letterboxing for non 16:9-images a8104ed
  • Add ability to show series description in series block (plus various other things) in #532
  • Show "search unavailable" for some cases of search errors 20db718
  • Fix crash when navigating away from realm editor in #536
  • Fix two minor Safari style bugs/problems in #513
  • Normalize margin for some elements in #520
  • Improve icon for going to "my videos" from "manage single video" page in #519
  • Improve "sort" icons in "my videos" in #526

Changes primarily for admins

  • Document browser support in #541
  • Link libssl and libz statically in #546
  • Allow tobira serve to start up when Meili is not reachable c3050d4
  • Fix tobira search-index status to not crash on missing indexes 55e3989
  • Automatically rebuild search index when the schema changed #516

Changes primarily for developers

  • Fix i18next warning on "new page" page in #512
  • Refactor waiting vs. ready series and pass title in mountSeries in #514
  • Make mountSeries "rename" the target realm in #515
  • Fix mountSeries mounting into existing realms in #534
  • Print newlines (soft clear) in dev watch scripts to make terminal output easier to read in #517
  • Add roles field to User-s in #522
  • Add no-unused-expressions lint in #531
  • Add build script commands to bring containers down + remove volumes in #535

Full Changelog: v1.1...v1.2

v1.1

10 Aug 08:13
582d038
Compare
Choose a tag to compare

🟢 There are no breaking changes.

User-facing changes

  • Add embed code to video page by @JulianKniephoff in #503
  • For upcoming live streams, don't show player but a big "upcoming" note. Reload once the stream starts. #505
  • Keep video and series URLs stable (e.g. no more changing URLs for live streams) by @LukasKalbertodt in #504
  • Open video editor in a new tab f1dce75
  • Add nicer fallback for when a thumbnail cannot be loaded 6bad9cc
  • Don't show user icon if there are no creators 4205cf2
  • Make some relative times more accessible to assistive technologies (use <time> tag) 6729073
  • Fix video page for videos with an audio(-only) track, and fix the infinite loop in our error handling caused by it by @JulianKniephoff in #506

Changes primarily for admins

  • Add video direct link by Opencast ID 03513b7
  • Validate Meili API key in check subcommand ef6ea6a
  • Fix db console for password/username/database with special characters 3e04c50
  • Clarify deployment documentation regarding name of the binary by @JulianKniephoff in #499

Changes primarily for developers

Full Changelog: v1.0...v1.1

v1.0 🐣

28 Jul 16:23
6524913
Compare
Choose a tag to compare

We are very happy to finally announce the first release of Tobira, the Opencast video portal! 🎉

Tobira aims to be a pleasant interface through which users interact with your Opencast content. It lets you present videos and series in a customizable, hierarchical page structure, but also makes it easy for users to search through all media. Additionally, it offers tools to upload and manage videos. It's possible to connect Tobira to virtually any authentication system and integrate it into your university's/organization's infrastructure.

What does the 1.0 milestone mean for this project? Well, this is mainly about promising some form of stability and to make updates easier. Until now, upgrading from one Tobira version to another basically meant wiping your DB. Not great! For more information on what exactly we promise not to break, see our versioning policy.

For more information about Tobira itself, how to deploy it, and more: see the README and the docs/ folder.

If you've already been using Tobira, you might have noticed that Tobira now uses the Paella player for all videos, not just dual stream ones. This was a last minute decision by the folks at ETH and Bern University. We might still introduce alternative players in the future – nothing is settled in that regard. Unfortunately, Paella seems to have problems playing quite a few videos on our test deployment: they play without sound and 0:00 is shown as duration. Let's hope that this bug is fixed soon!

Of course, this hardly marks the end of development for Tobira; not at all! We have lots of features, improvements and design changes planned for the future. So keep an eye out for future releases.

Tobira-Modul API MeiliSearch PostgreSQL
Required version: ^1.0 ^0.27.2 ^10