See note below for Carousel versions 7.0.0 to 7.0.3.
In Carousel's Manage Bulletins page there's a banner warning you that 'This zone has corrupt bulletins.'.
In Carousel's System Heath the Bulletins:Corrupted health check reports that there are Corrupted bulletins.
The corrupted bulletins are not displayed, and can't be edited or scheduled.
You can get additional insights into the corrupt status by looking at the bulletin's summary.
The bulletin summary is available from the Manage Bulletins page, then clicking 'See Corrupt Bulletins', and then pressing the bulletin thumbnail's preview (eye) button. The Last Error field contains some information that may help with diagnosing why the bulletin is corrupt. If there is no Last Error field present it means the bulletin does not contain additional information related to its corrupt status.
Corruption comes from errors that happen while processing a bulletin's DAT file on disk. The following situations can cause Carousel to mark a bulletin as being corrupted:
- The bulletin was created in an older version of Carousel and there was an error while Migrating the bulletin to the current Carousel version. This typically happen after running the Carousel Clone tool. Possible causes are:
- A bulletin that refers to media that isn't present in the bulletin package.
- Importing a bulletin format that is no longer supported in the current Carousel version.
- During normal operation, Carousel was unable to read the content of the bulletin's DAT file. This may be due to a file corruption, or a missing or relocated DAT file; for example if the bulletin file has been moved to a different drive but the database still refers to the previous file location.
A corrupt bulletin usually indicates that user intervention is necessary to correct the problem. Once the user has addressed the corruption's root cause, or if the user would like Carousel to reevaluate the corrupted bulletins, running the following SQL script will remove the corruption flag from bulletins:
SET IsCorrupt = 0,LastError = NULL
WHERE IsCorrupt != 0;
Running this one will remove it from media:
SET IsCorrupt = 0,LastError = NULL
WHERE IsCorrupt != 0
Once the corruption flag has been removed the user can refresh Carousel's browser page (click the browser's reload, or hit 'Refresh' from the System Health page).
The bulletins will then either revert back to their previous valid state, or stay corrupted.
The recovery attempt is non-destructive and can be safely retried.
A Note for Carousel versions 7.0.0 to 7.0.3
If the bulletins got corrupted following a Carousel install, the following steps can be taken to recover them. Note that these operations are not without risks and although they should yield the desired results there is no guarantee that it will work.
- Stop the services
- Restore the old database
- Run Carousel.sql
- Fix the Options table for the Media Directory
- Start the services
You can also recover corrupt bulletins by running the above SQL script, however the recovered bulletins will be made active by default, effectively losing the state they were in prior to the corruption. This means that a bulletin that had been 'saved for later', then marked corrupt, and recovered through the above TSQL script will be back on the active schedule. Following a recovery the user needs to manually change the bulletin's state as desired.
This is because the bulletin state was used to store the corruption flag, resulting in a loss of the previous state.