Skip to main content
Skip table of contents

BcsService

ComponentVersion
BcsService.exe3.4.321.0

Dependencies

ComponentMin. Version
Audio32.dll2.12.221.0 (as minimum, part of release 2019.2)

DigaSQL

3.14.3466.0

EndPoints.dll1.0.8.0
BcsHelpers.dll1.0.22.0 
IBCS.dll3.0.124.0 
RtfQuillDeltaConverter.dll1.0.56.0
.NET 4.6

Known issues

  • If the service client crashed locked BCS nodes related to the client can't be unlocked via BCS Service and must be force unlocked (e.g. via DigAIRange) 
  • If client locked BCS node and then unexpected terminated (e.g. killed in Task Manager) locked node will be unlocked only after client inactivity connection timeout is exceeded
  • Full name in DigaSystem must be always filled and be unique by every user. Otherwise isn't possible to set properly speaker & speaking speed in broadcast list

New features

  • API
    • Support WS and WSS connections to BCS
    • OIDC login is approved for WebSocket authentication
    • OIDC login is approved for HTTP authentication
    • Unified PostDatabaseObject request for import any database objects
    • Support multiple database objects in PostDatabaseObject request
    • Support multiple database objects via parameter "Reference" in PostDatabaseObject request
    • Support optional extra BCS metadata for imported database objects in PostDatabaseObject request
    • Support changed RTF in BCS notifications
    • Enable modern lock notification mechanism based on multilock info. Warning!!! Notification format is changed. See documentation for details
    • Remove obsolete NodeId parameter from lock / unlock notifications
    • Send lock / unlock notifications
    • Support insert & update RTF in PostNode request
    • Support insert & update RTF in PutNode request
    • Support LockWithRtf request
    • Optional flag to not change already specified speakers for PutSpeaker request
    • Set default value for the parameter strictTrackNumbers in PutSpeaker request as false
    • CopyShow provide option to copy specified tracks only
    • Force to use for REST DeleteLock request access token only
    • Force to use for REST DeleteLogin request access token only
    • Force to use for REST DeleteNodeNotification request access token only
    • FileHandlingProgress and FileHandlingResult requests requires authentication now
    • Show parameter name in error message if parameter value is invalid
    • More detailed error message about requested RTF files for nodes located in BCS trash
  • Others
    • Initialize BCS day at once before 1-st CRUD request
    • GetPrograms request is more performant through using cached BCS programs information
    • Performance optimization for large number of client connections
    • Use new RtfQullDelta converter based on SautinSoft library
    • Use new RtfQuillDeltaConverter to remove footer from RTF
    • Check IBCS.dll version at start
    • Use the BCSHelpers.dll for replication RTF files imported from database
    • Exclude passwords from debugging log

Bug fixes

  • Determine RTF referenced files in any XML tags with file references
  • Remove inactive WebSocket connections
  • Set properly default flag for removing all specified speakers in PutSpeaker request
  • Properly read RTF files locked for writing from another client
  • Properly handle client connection identifiers
  • Return empty string instead error for non-existed RTF files for compatibility with DigAIRange
  • Escaped JSON string returned from WebSocket request GetRtfFile
  • DpeAuthorizationToken request return error for connections with OpenID authentication
  • Insert imported database objects with properly sequence
  • Properly handle CheckIsTargetShowEmpty flag in PutCopyShow request
  • Copy media files referenced in source show in PutCopyShow request if AnalyzeMediaFiles flag is used
  • Properly copy shows with AnalyzeMediaFiles parameter as false
  • Properly check is target show empty
  • Properly handle short time file changes
  • Properly lock RTF file if lock mode isn't specified in PutRtfFile request
  • Properly lock non-existed RTF file in LockWithRtfFile request
  • Properly remove file locks by WebSocket connection closing
  • Send lock / unlock notifications only at once
  • Send lock / Unlock notifications only to related clients connected under the same BCS account
  • Send lock notifications in JSON format without unnecessary wrapped fields
  • No more error message if referenced RTF file from BCS notification doesn't exist
  • If RTF file doesn't exist wait until it copied into BCS media directory before locking
  • Return properly full id to the moved node in PutMoveNode request
  • No more error by unlocking not locked node
  • Wrong formatted RTF by XML output format in GetRtfFile request
  • Properly change RTF content if full XML is specified in PutNode & PostNode requests
  • Remove backup files after restore if already existed RTF file can't be changed
  • Properly handle PutNode & PostNode requests with some specififc formatted RtfQuillDelta RTF content
  • Properly combine track from source & destination shows
  • Unlock all locked files after closing connection from client
  • Properly handle sending close notification to already non-existed clients
  • Unlock all locked nodes after closing connection from client
  • Properly response to PostDatabaseObject request via websocket in JSON format with different database objects types
  • Properly recalculate text duration in PutNode request if only partial XML is specifified for update
  • Always include connection identifier initiated locking event into event message
  • No more overloading by checking inactive file handling tasks
  • Race condition by accessing to file handling task


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.