DIVA v2.16.0

Introducing cloud backup of Avid project files. We’ve partnered with Backblaze to securely and safely backup Avid bins on a regular basis. There are also a full set of restore tools available. Read the full announcement for further details.

Also included in this release:

  • Faster to set permissions on Basic drives
  • Improved job execution
  • Automatic cleanup of old data
  • Support for SQL Server 2017

If you’re interested in project backups please contact us at support@group6.co.nz.

Features

  • Backup:
    • restore whole project drive
    • report event in case of a network error
    • track size of deleted files
    • add quarter hour backup option
    • calculate total pruned and deleted values
    • totals statistics on backup status
    • report status in node
    • count cleaned records
    • check file checkums for exceptions and don’t back up
    • optionally delete backup of deleted projects and project drives
    • include restore in graphs
    • ignore pruned files when retrieving for snapshot
    • mark deleted files past retention as pruned
    • delete file and snapshot records with no versions
    • clean up pruned file records
    • record versions outside of retention policy as pruned
    • record length of deleted file version
    • daily and monthly status charts
    • record daily and total statistics of number of files backed up
    • calculate upload timeout for B2
    • touch job while uploading files
    • retry B2 actions with exponential backoff
    • log response errors
    • use a single bucket per company
    • record size of backups
    • backup versioning
    • b2 backup of projects
  • Drives:
    • record the date a drive is deleted
    • keep record of drive in database after being deleted
  • Events: do not report jobs which have been recently touched
  • Favourites:
    • automatically delete favourites with no drives or groups
    • exclude favourites when the user cannot access any of its drives
    • exclude favourite drives the user cannot access
  • FileSystem:
    • remove read only attribute on directories
    • set known list of access rules
    • record exception with result when calculating checksum
    • retry GetFileChecksum
  • Fusion: disable backup restore if no api key
  • Jobs: report job as running between node and server
  • Logic:
    • report backup failed
    • set drive access with single job
    • request private or shared projects for a node
  • Models: add DriveModel.IsEnabled
  • Node:
    • convert incidents to errors when failing a job
    • job runner for drive roles
    • set avid project drive access rules per drive
    • set avid media drive access rules per drive
    • set basic drive access rules per drive
    • validate project model before starting backup
  • Projects:
    • record and display project size
    • delete record of private projects which no longer exist
    • record created, modified, and deleted datetime
    • keep record of projects in database after being deleted
  • Restore:
    • record total statistics of number and size of files restored
    • record daily statistics of number and size of files restored
    • show date a drive was deleted
    • show date a project was deleted
    • rename project files if renaming whole project
    • restore whole shared project as shared and move bins to users
    • restore whole private project as shared and move bins to users
    • all reassigning bins when all users still exist
    • restore whole shared project as shared and move bins to unprotected
    • restore whole private project as shared and move bins to unprotected
    • restore whole shared project as private
    • restore whole private project as private
    • restore files from an active project
  • Server:
    • exception handler for hosted api service
    • disable updates with –no-update argument
    • backup failed api endpoint
    • consolidate backup snapshots
  • Tools:
    • new Tools maintenance application
    • sync local and remote backup databases

Bug Fixes

  • Backup:
    • handle file not found as reading for upload
    • handle file already hidden
    • report null known file list for project backup
    • handle null project list
    • group versions for delete after db query
    • correct dates for statistic calculation
    • check if first version being retained is an uploaded version
    • don’t null remote path when file version is deleted
    • handle version already removed from B2
    • ensure at least one uploaded version is kept during pruning
    • check for null project list during automatic backup
    • increase exponential backoff on backup delete failure
    • yesterdays file stats recorded as today
    • cancel dashboard status update if not signed in
    • only generate checksums of wanted files
    • ensure B2 auth token is regenerated after unauthorized result
    • throw exception after multiple failed upload attempts
    • check for existing bucket
    • exclude private files outside the project when backing up shared projects
    • encode & when uploading to B2
    • lock result when uploading in parallel
  • Client:
    • handle pipeline failure api response
    • handle ArgumentOutOfRangeException when selecting drive (Mac)
  • Config:
    • ef state being reset
    • use new context for ef config
    • efconfig creates duplicate values
    • provide default B2 values
  • Data:
    • drive rename job description
    • add drive roles job description
    • use DI context reference for username validation
  • Drives: project archives link created with wrong name
  • Favourites: favourites for user over client api
  • FileSystem:
    • improve deleting files with paths over 260 characters
    • retry deleting a file
    • remove readonly attribute on directory before deleting
    • ensure stream is closed after creating shared.diva marker
    • retry moving directory
    • handle process access exception when getting file info
    • handle directory name case change
    • ignore file not found while calculating checksums
    • remove readonly attribute on directory before moving
  • Fusion:
    • null check drives when enumerating roles for a user
    • skip unknown keys when setting drive access
    • don’t show users without drive access when restoring project
    • exclude deleted drives from favourite avaialable list
    • wrong data for backup deleted files last month graph
    • restore project cancel buttons go forward not back
    • send userId instead of roleId when restoring project
    • force ApplicationDbContext to request scope
    • always display backup rentention settings
  • Incidents: add resources for BackupCouldNotRetrieveProjects
  • Logic:
    • compare id when deleting projects for drives
    • flag projects as deleted when drive is deleted
    • return empty user list when no administrators group exists yet
    • do not create drive role job for non-diva jobs
    • add drive roles job before project jobs
    • only save db if changes when cleaning up backup snapshots
    • return files where current state is uploaded rather than not deleted
    • order next job by id rather than date created
    • duplicate drive name detection
    • handle nulls when checking used license size
  • Node:
    • ignore Archives folder when scanning for new projects
    • actually rename the drive directory when renaming a drive
    • handle directory in use when trying to rename drive
    • delete old mount links when renaming avid media drive
    • handle network issues when uploading or removing backup file
    • handle upload timeout when backing up files to B2
    • retry update install on exit
    • handle null project list when getting project sizes
    • null check project metadata changed response
    • do not backup deleted projects
    • retry getting known files for project backup
    • ignore case when checking files to backup
    • report errors calculating project size as incidents
  • Projects:
    • dont get size for deleted projects
    • ignore deleted projects when recording new found project
  • Restore:
    • don’t health check projects when restoring whole drive
    • restore a file when a version doesn’t exist for the exact snapshot
    • do not require NewProjectName for any restore jobs
    • ensure private project restores get renamed
    • don’t restore project.json
    • return versions and not files for private projects
    • require new project name when restoring as private project
  • Server:
    • return projects for node when no status provided
    • check license before reporting to Focus
Need help? Email us at support@group6.co.nz