CHANGELOG.md 16.5 KB
Newer Older
Anton Koch's avatar
Anton Koch committed
1
2
# Changelog

3
4
This document tracks all important changes to the Motion
Bank Systems Frontend.
Anton Koch's avatar
Anton Koch committed
5

6
7
8
9
The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Anton Koch's avatar
Anton Koch committed
10

Anton's avatar
Anton committed
11
12
## [Unreleased]

Anton's avatar
Anton committed
13
14
### Added

Anton's avatar
Anton committed
15
- Build time environment variable `UI_COLOR_HASH_SHADE` (default: '100')
Anton's avatar
Anton committed
16
17
18
- Build time environment variable `UI_HIDE_GROUPS` (default: false)
- Build time environment variable `USE_GENERIC_ANNOTATION` (default: false)

Anton's avatar
Anton committed
19
20
21
### Changed

- Router does not execute checkSession on `users.callback` route
Anton's avatar
Anton committed
22
23
24
- Default route for `/piecemaker` redirects conditionally based
on `USE_GENERIC_ANNOTATION`
- Navigation honors `USE_GENERIC_ANNOTATION` build var
Anton's avatar
Anton committed
25

Anton's avatar
Anton committed
26
27
### Fixed

Anton's avatar
Anton committed
28
- Redundant grouping in `SwimLane` component when annotation types are undefined
Anton's avatar
Anton committed
29
- Annotation sort order on `piecemaker.media.annotate_generic` screen
Anton's avatar
Anton committed
30
- `piecemaker.media.annotate_generic` screen shows component display options
Anton's avatar
Anton committed
31

anton's avatar
anton committed
32
33
34

## [2.2.0] - 2020-06-22

anton's avatar
anton committed
35
36
37
38
### Added

- Add media screen uses `publishedAt` field from YouTube metadata as initial
reference date, if available (e.g. live streams)
anton's avatar
anton committed
39
- `Live` indicator for YouTube live streams in post-annotator
40
- Edit media screen allows adding duration for live streams once archived
41
- Duration field on edit media screen
anton's avatar
anton committed
42
- Add media screen refuses to add inaccessible videos
anton's avatar
anton committed
43
- Metadata store relays 'not found' and 'access denied' errors
Anton Koch's avatar
Anton Koch committed
44
- [ELAN](https://archive.mpi.nl) `.eaf` file export for media entries
anton's avatar
anton committed
45

anton's avatar
anton committed
46
47
48
### Changed

- Add media screen explicitly shows option for overriding or auto-detecting media start times
anton's avatar
anton committed
49
- Make Media duration in post-annotator dynamic
anton's avatar
anton committed
50
- Enable CSV export on `timelines/edit`
anton's avatar
anton committed
51

anton's avatar
anton committed
52
53
54
### Fixed

- Exception on edit media screen when media duration is unknown
anton's avatar
anton committed
55
- Exception in `UserNav` when `route.name` is undefined
anton's avatar
anton committed
56

anton's avatar
anton committed
57
58
59
60
### Updated

- [sift](https://github.com/crcn/sift.js/) to v13.1.10

anton's avatar
anton committed
61
62
63

## [2.1.2] - 2020-05-29

anton's avatar
anton committed
64
65
66
67
### Added

- Showing author information in CellAnnotationList is configurable, defaults to false

anton's avatar
anton committed
68
69
70
71
### Fixed

- Wrong cell content in GridDisplay due to reuse of rendered components

72
73
74
### Changed

- Add media screen redirects to media list after submit
anton's avatar
anton committed
75
76
77
78


## [2.1.1] - 2020-05-25

anton's avatar
anton committed
79
80
### Added

81
82
83
84
85
86
87
- Editing functionality for CellAnnotationList
- CellAnnotationList shows errors
- CellAnnotationList shows durations
- GridDisplay can be locked
- Improved content previews in Cells
- Scroll position saved when switching between `Edit` and `View` in GridEditor
- Display style editor for CellImage
anton's avatar
anton committed
88
89
90

### Changed

91
- Grid Packager API activated for new version
anton's avatar
anton committed
92
- AnnotationList cell design
93
94
- Minor GridEditor design updates
- CellText uses MarkdownDisplay component
anton's avatar
anton committed
95

anton's avatar
anton committed
96
97
### Fixed

anton's avatar
anton committed
98
- CalendarTimeMain does not set initial value
anton's avatar
anton committed
99
- Invalid default selector in AnnotationField causing live annotator to break
100
- Minor exceptions in GridEditor
anton's avatar
anton committed
101

anton's avatar
anton committed
102
103
104
105
106
107
108
109
### Removed

- [vue-video-player](https://github.com/surmon-china/vue-video-player) video wrapper

### Updated

- [Video.js](https://videojs.com/) to 7.7.5

anton's avatar
anton committed
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136

## [2.1.0] - 2020-05-06

### Added

- Groups
- Invitation URLs
- Timelines and Grids can have global ACL presets: `View`, `Contribute` and `Free Editing`
- Grids and Timelines have a read-only mode for the `View` preset
- `settings` store module with persistence option in localStorage
- User administration for [Auth0](https://auth0.com/) users directly in app
- Users can change their Login credentials on `users/manage`
- Environment variables: `COMMIT_HASH`, `BRANCH_NAME` and `APP_VERSION`
- Include FxiOS in supported browsers

### Changed

- Grid and Timeline export enabled again
- Improved error tracking with improved [Sentry](https://sentry.io/) configuration
- All items created within a Timeline or Grid now inherit their respective ACL entries

### Fixed

- User profile editing
- Broken API_HOST configuration
- Redirect to original target after authentication

anton's avatar
anton committed
137
138
139
140
141
142
143
144
145
### Updated

- [cote](https://github.com/dashersw/cote)
to 1.0.0
- [mbjs-data-models](https://gitlab.rlp.net/motionbank/mbjs/data-models)
to 2.0.18
- [mbjs-auth-service](https://gitlab.rlp.net/motionbank/mbjs/auth-service)
to 1.0.8

anton's avatar
anton committed
146

anton's avatar
anton committed
147
148
## [2.0.0] - 2020-03-31

Anton's avatar
Anton committed
149
150
### Added

Anton Koch's avatar
Anton Koch committed
151
152
- [cote](https://cote.js.org) Sockend client integration to
connect to [sockets service](https://gitlab.rlp.net/motionbank/microservices/sockets)
Anton's avatar
Anton committed
153
- Cell datatype available as vuex store module
Anton's avatar
Anton committed
154
- SwimLane component in post-annotator and on standalone page
Anton's avatar
Anton committed
155
- Annotations can have durations through target.selector.value
Anton's avatar
Anton committed
156
- PBA vocabularies (titles for pieces)
Anton's avatar
Anton committed
157
- Frontend can be built as an [Electron](https://electronjs.org/)
Anton's avatar
Anton committed
158
app, including a local metadata service as store module `metadata-ffprobe`
Anton's avatar
Anton committed
159
160
161
162
- Mobile device-friendliness
- Breadcrumb navigation
- Buttons now support right-click + open in new tab (still suffers from
[#253](https://gitlab.rlp.net/motionbank/applications/systems-frontend/issues/253))
Anton's avatar
Anton committed
163
- Audio annotations (supported types: `.m4a` and `.mp3`) can be added
Anton's avatar
Anton committed
164
under `media/create` (playback possible using forked
Anton's avatar
Anton committed
165
[vue-video-player](https://github.com/dasantonym/vue-video-player))
Anton's avatar
Anton committed
166
- Export timelines as CSV
Anton's avatar
Anton committed
167
- Mobile compatiblity for MoSys Editor
168
169
- The file `statics/env.js` can be overwritten to configure
the frontend at runtime
170
- Authentication service attempts silent login when token expires
anton's avatar
anton committed
171
- [mbjs-auth-service](https://gitlab.rlp.net/motionbank/mbjs/auth-service)
Anton's avatar
Anton committed
172
173
174
175
176
177

### Changed

- Videos always have title annotations
- Metadata uses video duration from annotation
- Annotation's target.selector.value conforms to standard
Anton's avatar
Anton committed
178
179
180
- VideoPlayer uses [privacy-enhanced mode](https://support.google.com/youtube/answer/171780)
for YouTube sources to be GDPR compliant
- VideoPlayer uses [dnt](https://github.com/vimeo/player.js/#embed-options)
Anton's avatar
Anton committed
181
(do not track) option for showing Vimeo media for GDPR compliance
Anton's avatar
Anton committed
182
183
184
185
186
- Basic colors, look & feel
- New post annotator layout
- Vocabulary menu layout and functionality
- Navigation redesign
- MoSys redesign
Anton's avatar
Anton committed
187
- Renamed `Video` to `Media` throughout project
Anton's avatar
Anton committed
188

Anton's avatar
Anton committed
189
190
191
### Updated

- [mbjs-data-models](https://gitlab.rlp.net/motionbank/mbjs/data-models)
anton's avatar
anton committed
192
  to version 2.0.0
Anton's avatar
Anton committed
193
- [mbjs-quasar](https://gitlab.rlp.net/motionbank/mbjs/quasar)
Anton's avatar
Anton committed
194
  to version 2.2.0
Anton's avatar
Anton committed
195
- [mbjs-api-client](https://gitlab.rlp.net/motionbank/mbjs/api-client)
Anton's avatar
Anton committed
196
  to version 2.1.3
Anton's avatar
Anton committed
197

Anton's avatar
Anton committed
198
199
200
201
202
203
### Fixed

- Sync screen
- Timecode millisecond display
- Video player scaling issue

Anton's avatar
Anton committed
204
205
### Removed

Anton's avatar
Anton committed
206
- Unused store modules `forms`, `conversions` and `timecodes`
Anton's avatar
Anton committed
207
- Routes `media/ingest` and `timelines/timecode`
Anton's avatar
Anton committed
208

Anton's avatar
Anton committed
209

anton's avatar
anton committed
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
## [1.3.10] - 2020-02-14

### Added

- Searchable global Piecemaker index

### Updated

- sift module

### Fixed

- Escape semicolons in CSV export
- Missing i18n string for `Index` button

## [1.3.9] - 2019-12-18

### Added

- Annotation table allows export as CSV (including current
search query)

## [1.3.8] - 2019-12-15

### Added

- Table for viewing, editing and searching annotations

## [1.3.7] - 2019-11-15

### Added

- [Vue integration](https://docs.sentry.io/platforms/javascript/vue/)
for sentry

## [1.3.6] - 2019-10-31

### Changed

- Auth service attempts silent login
- Router checks session before each route change

### Fixed

- API client checks auth session before each request

### Updated

- Update mbjs-api-client to v2.1.3


## [1.3.5] - 2019-10-02

### Changed

- Allow non-owner to tag videos

### Updated

- Update mbjs-quasar to v1.5.2


## [1.3.4] - 2019-05-07

### Changed

- CellVideo shows volume panel for videos


## [1.3.3] - 2019-05-04

### Fixed

- Scaling issues in YouTube player in MoSys grids


## [1.3.2] - 2019-04-15

### Fixed

- Removed CSS updates from VideoPlayer component to
temporarily fix scaling issue on sync page


Anton's avatar
Anton committed
294
## [1.3.1] - 2019-04-06
Anton Koch's avatar
Anton Koch committed
295

Anton's avatar
Anton committed
296
297
298
299
### Changed

- MoSys VideoCells only load content when visible

Anton's avatar
Anton committed
300
301
302
303
### Fixed

- Resource cache uses the right env variable

Anton's avatar
Anton committed
304
305
306

## [1.3.0] - 2019-03-26

307
308
### Added

Anton's avatar
Anton committed
309
310
#### MoSys

Anton's avatar
Anton committed
311
- AnnotationList and Video cells deactivate off visible area
Anton's avatar
Anton committed
312
- AnnotationList has an additional tab layout
Anton's avatar
Anton committed
313
- AnnotationList shows formatted Markdown
314
- Exported Grid packages contain all linked grids as well
315
316
317
- Grid URLs accept the query parameter `datetime` specifying an
ISO datetime string (urlencoded) to set the time for video
player cells
318
319
- Grid URLs accept the query parameter `x` specifying an initial
horizontal cell index
Anton's avatar
Anton committed
320
- Image and Title cells can have links
321
322
- AnnotationList cell allows filtering annotations by simple
string or [Regular Expression](https://www.regular-expressions.info/quickstart.html)
Anton's avatar
Anton committed
323
324
- CellEditor adds start and duration filters for AnnotationList
and Video cells
325
- Cells display additional info in editor (class name, author name)
Anton's avatar
Anton committed
326
- CellText uses [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
Anton's avatar
Anton committed
327
to format text content
Anton's avatar
Anton committed
328
- Grids can have external and embedded stylesheets
329
defined on their 'edit' page (requires 'cssediting' feature)
Anton's avatar
Anton committed
330
- Cells additionally use their annotation target's
331
332
`styleClass` property (can be set in cell context menu,
requires 'cssediting' feature)
Anton's avatar
Anton committed
333
334
335
336
337
338
- Grids can be exported and imported like timelines
- Access control menu available for MoSys grids
- 'Documents' source tab (so far only shows images)

#### General

Anton's avatar
Anton committed
339
- Import timeline/grid now allows overriding author for all items
340
- Docker image already builds with the nginx SPA config
341
342
- The generic Vuex modules can use optional caching in memory
(activate with USE_RESOURCE_CACHE env variable)
343
344
345
346
- Generic vuex resources allow selection of returned
properties through array of strings
- Metadata store module caches responses from the
transcoder service until app reload
Anton's avatar
Anton committed
347
- UI version in site footer links to changelog
348
349
350

### Changed

Anton's avatar
Anton committed
351
- VideoCell hides volume control
Anton's avatar
Anton committed
352
- Text size in grids is relative to window height
Anton's avatar
Anton committed
353
354
- MoSys cell styling
- VideoPlayer styling
355
- Updated [mbjs-data-models](https://gitlab.rlp.net/motionbank/mbjs/data-models)
Anton's avatar
Anton committed
356
to 0.1.3 ([release_0_1](https://gitlab.rlp.net/motionbank/mbjs/data-models/commits/release_0_1)
357
branch)
358
359
- Video and AnnotationList cells now use [luxon](https://moment.github.io/luxon/)
DateTime and Interval objects
Anton's avatar
Anton committed
360
- AnnotationList cell's input field is now optional, defaults to off 
Anton's avatar
Anton committed
361
- Layout for MoSys Cells: AnnotationList, Title, Video and InternalLink
Anton's avatar
Anton committed
362
- Renamed 'mosysGridEditorStore' vuex module to 'mosys'
363
364
365
366
367
368
369
370
371
372
373
- Updated
[mbjs-api-client](https://gitlab.rlp.net/motionbank/mbjs/api-client)
to version 2.0.0
- Renamed 'Assets' to 'Documents' in screens and
navigation, Auth0 feature now also needs to be 'documents'
- Updated
[mbjs-quasar](https://gitlab.rlp.net/motionbank/mbjs/quasar)
to version 1.4.3
- Moved ACL functionality to
[mbjs-quasar](https://gitlab.rlp.net/motionbank/mbjs/quasar)
module
374

375
376
### Fixed

Anton's avatar
Anton committed
377
- Time and date selection was broken in last release
Anton's avatar
Anton committed
378
- Active annotation highlighting in MoSys AnnotationList
379
380
381
382
- Deep links into post-annotator no longer fail when
lots of annotations need to be loaded
- Delete map no longer fails when encountering access
denied errors (still suffers from
anton's avatar
anton committed
383
[#119](https://gitlab.rlp.net/motionbank/applications/systems-frontend/issues/119))
384

Anton's avatar
Anton committed
385
386
387
388
389
### Removed

- Obsolete `MessengerComponent` as component events travel
via `this.$root`

390
391
392

## [1.2.1] - 2019-02-15

393
394
### Fixed

395
396
397
398
399
400
- Post-annotator timestamps display correct values,
independent of timezone or DST
- currentIndex property no longer throws when attempting
to scroll to invalid annotation index
- Timestamps in post-annotator are no longer being cut
off, display hours as well
Anton's avatar
Anton committed
401

402

Anton's avatar
Anton committed
403
404
## [1.2.0] - 2019-02-14

Anton's avatar
Anton committed
405
406
### Added

407
408
409
410
411
412
413
414
- Post annotator accepts annotation UUIDs as a hash
value and automatically jumps there on load
- Property 'originalTitle' (if title is overridden)
added to result in metadata store
- Very basic search page for timelines added,
accessible only with 'search' feature permission
- API client (and its associated resources' "find"
actions) now accept regular expressions
Anton's avatar
Anton committed
415
- Resource 'documents' available in the store
416
417
418
419
420
- 'Assets' feature allows uploading of files to
personal S3 compatible bucket
- 'Packager' feature allows export of MoSys grids
as static packages to be hosted in any webspace,
without the need of Motion Bank APIs
Anton's avatar
Anton committed
421

422
423
### Fixed

424
425
426
427
428
429
430
431
432
433
434
435
436
437
- Automatic scrolling to annotations when video
player plays in post annotator
- Video titles are no longer removed when saving
video with same title as before
- Parameter 'feature' can be added to route metadata
to allow access control through Auth0 app metadata
- Exception when passing an id (URI) to ACL store
instead of a UUID
- Incompatibilities in MoSys cells (Video,
AnnotationList)
- App startup no longer breaks on Microsoft Edge
(works from version 15+)
- Perform date related queries to MongoDB with
properly formatted timezones (see:
anton's avatar
anton committed
438
[#106](https://gitlab.rlp.net/motionbank/applications/systems-frontend/issues/106))
439

440
441
### Changed

442
443
444
445
446
447
448
449
- userHasFeature moved to
[mbjs-quasar](https://gitlab.rlp.net/motionbank/mbjs/quasar)
- "More Info" button on welcome page now links to
medium article
- MoSys components included through git submodule from
[quasar-components-mosys](https://gitlab.rlp.net/motionbank/mbjs/quasar-components-mosys)
- Shared components included through git submodule from
[quasar-components-shared](https://gitlab.rlp.net/motionbank/mbjs/quasar-components-shared)
450

Anton's avatar
Anton committed
451
452
### Updated

453
454
- [mbjs-api-client](https://gitlab.rlp.net/motionbank/mbjs/api-client)
now at version 1.1.0
455

456

457
458
459
460
## [1.1.1] - 2019-01-28

### Fixed

461
462
- Recursive setting of ACL for a timeline's associated
annotations now traverses the full relational depth.
463

Anton's avatar
Anton committed
464

465
466
## [1.1.0] - 2018-12-11

Anton Koch's avatar
Anton Koch committed
467
468
### Added

469
- Edit video screen allows moving video to another timeline
Anton Koch's avatar
Anton Koch committed
470
- Video list shows timeline title
471
472
473
474
475
476
477
478
479
480
481
- Data tables use an optional requestTransform function
to process rows on each data update
- Info button in the post-annotator shows video metadata
(so far only title)
- Hyperlinks in annotations are clickable in the
post-annotator
- Limited markdown support for annotations
(allowed tags: 'b', 'i', 'em', 'strong', 'a', 'br', 'p')
- Videos can be tagged
- Vuex module 'tags' - stores and retrieves tags as
annotations
Anton Koch's avatar
Anton Koch committed
482

Anton Koch's avatar
Anton Koch committed
483
484
### Changed

485
486
- Video list is sorted descending on reference
date by default
Anton Koch's avatar
Anton Koch committed
487
- Look of top right buttons in post-annotator
488
489
490
491
492
493
- Users need to explicitly click 'edit' to change
an annotation in the post-annotator
- External titles stored as annotations are retrieved
within the metadata store module
- BrowserWarning and MarkdownDisplay components moved to
[mbjs-quasar](https://gitlab.rlp.net/motionbank/mbjs/quasar)
Anton Koch's avatar
Anton Koch committed
494
- Readme info
Anton Koch's avatar
Anton Koch committed
495
- Pinned and updated runtime dependencies
Anton Koch's avatar
Anton Koch committed
496

Anton Koch's avatar
Anton Koch committed
497
498
### Fixed

499
500
- Post-annotation no longer fails when the duration
of a video cannot be retrieved
Anton Koch's avatar
Anton Koch committed
501
- Editing external title annotations
502
503
- Tables are properly searchable
- Timeline list updates after deleting an item
Anton Koch's avatar
Anton Koch committed
504

Anton Koch's avatar
Anton Koch committed
505
506
507
508
509
### Removed

- Old Github badges, CI and code review configs


Anton Koch's avatar
Anton Koch committed
510
511
512
513
514
515
516
517
518
## [1.0.0] - 2018-12-04

### Added

- Changelog document

### Changed

- Start proper versioning at 1.0.0
Anton Koch's avatar
Anton Koch committed
519
520


anton's avatar
anton committed
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
[Unreleased]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v2.2.0...release_2_2
[2.2.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v2.1.2...v2.2.0
[2.1.2]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v2.1.1...v2.1.2
[2.1.1]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v2.1.0...v2.1.1
[2.1.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v2.0.0...v2.1.0
[2.0.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.10...v2.0.0
[1.3.10]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.9...v1.3.10
[1.3.9]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.8...v1.3.9
[1.3.8]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.7...v1.3.8
[1.3.7]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.6...v1.3.7
[1.3.6]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.5...v1.3.6
[1.3.5]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.4...v1.3.5
[1.3.4]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.3...v1.3.4
[1.3.3]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.2...v1.3.3
[1.3.2]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.1...v1.3.2
[1.3.1]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.3.0...v1.3.1
[1.3.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.2.1...v1.3.0
[1.2.1]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.2.0...v1.2.1
[1.2.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.1.1...v1.2.0
[1.1.1]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.1.0...v1.1.1
[1.1.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/v1.0.0...v1.1.0
[1.0.0]: https://gitlab.rlp.net/motionbank/applications/systems-frontend/compare/initial...v1.0.0