Data RecoveryDISCUS Administration Instructions

The Discus system uses static HTML pages on your server to store its data. Thus, if one of these files becomes damaged or corrupted, unanticipated and undesired behavior can result when using the features of the program. Such corruption can be introduced through unintentional deletion of files, server crashes, or editing the files directly using an HTML editor such as Microsoft Front Page or Netscape Composer.

The Data Recovery utility assists in recovering from two types of page corruption: corruption of the top page, and corruption of pages within topics. Of course, the best way to recover lost data is to restore the damaged files from a recent backup. However, it is an unfortunate and frankly surprising fact that few people keep reliable backups of essential data.

The Data Recovery utility is not an "undelete" feature. Once a topic or subtopic is deleted using the administrative tools, it is gone. The Data Recovery utility is designed only to recover those pages which might have become damaged due to a server problem or undocumented editing.

Fixing a corrupted top page

Symptoms of a corrupted top page include:

There are two ways to recover the data from a corrupted top page: salvaging the page and regenerating the page.

Salvaging the page

Salvaging the page attempts to recover topic data from the top page, matching information from the page if it is not entirely lost. The salvage operation also attempts to recover your title message, top page settings, main message, and color scheme, minimizing the amount of work that you must do in the recovery. The salvage operation is also optimized for several corruption patterns that we have observed, including corruption introduced by Microsoft Front Page and Netscape Composer.

However, salvaging the page is not always possible. Regenerating the page (see below) will always work, so it is in your best interest to attempt to salvage the page before going for the full regeneration. If salvaging fails, you can simply do the regeneration and you will be no worse off.

To salvage the page, from the Data Recovery screen, make sure the "Salvage Page" option is checked, and click the "Run Data Recovery" button. When the salvage operation is complete you will be returned to the Board Manager. You should at this point go to the board and see if the topics page looks normal. You should also verify that the title message and main message are filled in through the Board Manager. Based on the success of the recovery, you may choose at this point to use the Board Manager to fill in the missing or incorrect sections (such as correcting the color scheme).

Regenerating the page

If the page salvage operation was unsuccessful for any reason, you can use the page regeneration function. This actually examines the directory structure of your board, adding each topic that is found to the top page. These topics will likely be out of order. In addition, the default color scheme, title message, and main message are all used, so these will need to be specified after restoring the page.

To run the regeneration function, from the Data Recovery screen, check the "Regenerate Page" option, and click the "Run Data Recovery" button. This will add all topics that are found to the topics page. You then may need to use the Board Manager to change the color scheme, change the title message or main message, or reorder the topics.

If the Data Recovery utility does not allow you to access the top page because it reports that the top page cannot be opened, you need to create a blank "board-topics.html" file in your "messages" directory prior to invoking this function. Set permissions on that file to 0777 (rwxrwxrwx) if you are on a unix server. Then access the Data Recovery utility and use the "Regenerate Page" option.

Regenerating despite topics being found

If Data Recovery finds topics on your topics page, it concludes that your topics page is not corrupted. However, if you are missing topics, you will still have the option to regenerate that page from scratch. Regenerating the page from scratch causes the loss of your "Title Message," "Main Message," board color scheme, topic order, and any customizations you may have made to your topics page. Therefore, this procedure is not recommended unless you really believe that your topics page has been corrupted or you have received explicit instructions from DiscusWare, LLC to run this procedure.

Fixing corrupted topic/subtopic pages

Symptoms of a corrupted topic/subtopic page include:

To recover data from a corrupted topic/subtopic page, it is important to know in what topic on your board the corrupted page resides. Generally this will be apparent from the section of administration that you are attempting to access.

Access the Data Recovery utility, which will give you the form for recovering corrupted topic/subtopic pages. If you receive the form for recovering data from the top page (see above), then you first need to fix the top page. The "Automatically Fix Errors" box should be checked; if you want to see a list of errors that would be automatically fixed, uncheck this box. Click the "Run Data Recovery" button to run the data recovery process. A summary list of fixes that were made will be generated. If you unchecked the "Automatically Fix Errors" box, you must click the "Fix Errors" button to finish the Data Recovery procedure.

Data Recovery can only restore links to subtopics; it cannot restore the text of messages, about messages, announcement messages, or page structure. Thus, when a page has been recovered, use the Page Manager to customize the page and/or reorder the subtopics if necessary.

Fixing specific corrupted pages

If you have a page that appears normal but is missing one or more subtopics, you can regenerate that page and add back any missing subtopics. The program does this by scanning all available pages in that topic's directory and adding back any missing subtopics to the end of the list of subtopics. The program also checks the list to make sure it does not contain any subtopics that should not be there; if there are such subtopics there, they are removed from the list.

The first step is to determine the program's internal reference for the page, which corresponds to the file name and directory location of the page. To do this, in the user interface, navigate to the affected page. Then use your browser's command to view the page information (View | Frame Info in Netscape, analagous commands in other browsers) and observe the file name. It will end in /###/###.html. The first number is the topic number and the second number is the page number. For example, the page which has the URL of http://www.discusware.com/discus/demo/messages/3/12.html would have topic number 3 and page number 12.

When you have determined the topic and page number, go to Data Recovery and scroll down to the final section which deals with a specific page missing subtopics. Enter the topic number and page number into the boxes and click the "Fix Indicated Page" button. Depending on the size of the topic, this procedure may take several seconds (as each file in the topic must be scanned). The program will then report if any additional subtopics were found.

If additional subtopics were found, you must go to your Board Manager and run the procedure to reindex the board. This is not invoked automatically as this procedure can take several minutes. If you need to run the recovery procedure on several pages, do this before reindexing the board. When you are done operating Data Recovery you should choose to reindex your board. If all of your data recovery has been in one topic, you need only reindex that topic.

If the program reports "File Not Found" when doing the recovery, you have typed an invalid topic number or page number. Verify that you have supplied the correct numbers from the frame information and try again. If the program reports that there was nothing to do because no stray subtopics were found, the page was not corrupted and you need not run the reindexing routine unless you have already run Data Recovery on other pages.

Other recovery options

Other data structures of the Discus program can be repaired or regenerated. Generally, you should do these procedures only if you thoroughly understand the cause of the problem and you believe that these procedures will fix it, or if you are directed to follow one of these procedures by DiscusWare support staff or documentation.

Rebuild Attachment Index

Attachments (uploaded images and, in Discus Pro, uploaded attachments) are recorded in a data file that allows the program to quickly find and manipulate those images. To rebuild that list from scratch based on the current and actual location of the attachments, use this option.

Unlinked Attachment Cleanup

In previous versions of Discus, attachments were not properly deleted from posts when the post or page was removed. This option will cycle through the directories and remove any attachments that are not referenced in the attachment location file. If your upgrade to version 3.10 did not complete, we recommend first running the "Rebuild Attachment Index" command. Otherwise, all attachments on your board could be removed.

UNDO an Unlinked Attachment Cleanup

This option does the opposite of an unlinked attachment cleanup; it puts the removed attachments back into their directories. (Those attachments from the cleanup were not really deleted; they were moved into the "backups" subdirectory.) To undo a cleanup, click this option and select the attachment cleanup to undo (these are identified by date/time and by reference number, corresponding to the file names in the "backups" directory).

Clean and repair posting logs

This option goes through your posting logs and compares the information in the posting logs to that contained on the pages. If posts are missing from your posting logs, they will not show up in your New Message search. This utility recreates post information in the posting log, if that information is missing, from the information on the page. Information on the identity of the poster and the poster's IP address of recreated is lost when running this procedure. If incorrect entries are found in the posting logs, these are removed.

Clean data structure

This option fixes all subtopic lists on the board from some problems that can occur due to file corruption. Those problems are:

There is essentially no risk in running this option, but be aware that if your board was corrupted with Front Page or another HTML editor, running the cleanup will remove all of the subtopics from your user interface. We suggest making a backup of your board before running this procedure.

A record of all actions taken is recorded in the errors.txt file in your Discus administration directory.

IMPORTANT: after you have run a "clean data structure" operation, you should re-index your board by going to Board Manager and clicking the "Index Board" button. Otherwise, your tree view, new messages, and administration may display incorrect data.

Check and clean tree file

This option goes through your subtopics and determines which subtopics are not properly linked within your board. (These files never show up in the tree view because they are not found while indexing.) This function regenerates subtopic lists that are missing files and when used in conjunction with the index board routine, can rebuild corrupted subtopic lists automatically. If this function reports that it fixed errors, you should follow its advice to reindex your board. Then return to Data Recovery and run this procedure again until there are no errors reported.

Rebuild names on posts from logs

This option goes through your pages and restores any missing names by analyzing your log files. This puts back the names and profile links on the posts when the name has been removed, generally through undocumented template modification. This option should not be necessary for most boards.

Clean blank lines from password files

This option goes through your passwd.txt (moderator password) and users.txt (user password) files and removes any blank lines that may be present. Because many Discus functions read and write these files, blank lines will only serve to slow down the Discus board. Blank lines are generally not added in by a properly functioning program but can be inadvertantly added by administrators editing the file by hand.

Clean up any data files written in binary mode

This option goes through your Discus data files (*.txt in your administration directory) and fixes any files that have carriage-return characters. Those characters could have been introduced if you transferred files in binary mode by FTP, or if you moved your board from a Windows server to a unix server and you had ever transferred those files by FTP at any time. This should be used only if the program diagnostics find a data file uploaded in binary mode and instruct you to run data recovery.

Remove blank descriptions from topics page

This option removes blank topic descriptions from your topics page. On some boards, extra spaces may appear in the topics list due to descriptions that are equal to a newline character, which translates to <BR> in Discus formatting. This option is equivalent to going to Board Manager and individually clicking the properties next to each topic, removing the newline from the description box, and saving the revised description.

Fix "Unrecorded Date" messages on posts

If you upgraded to version 3.10 of Discus during earlier beta versions and/or you had an incomplete log when you upgraded, some of your messages may bear the message "Unrecorded date," as Discus does not have a time on file for the posting of the message. This option allows you to fix these messages. There are two steps to this process. The first is to run the data recovery, which is described shortly. After you have run the recovery, you need to go to Board Manager and regenerate your subtopic/message lists so that the dates are regenerated on what is displayed to your visitors.

The four available options are described briefly here:

This utility overwrites the date/time information on posts only if they have the "Unrecorded date" message. It is therefore safe to run this operation on an entirely properly functioning board, although it is a waste of time. Once this recovery option finds a time for a post, that time is repaired permanently, regardless of how many more times you run this operation or what files you use for it. In other words, this utility will NEVER overwrite a valid date/time with something else (and remember that the "reset" option above produces a valid date/time so once you do that, this utility can provide no further help.) Consequently, it is safe and possible to run this operation a number of times with various backup files without fear of corrupting the information that is already there if a backup file created prior to the posting of that message is used.

When you finish this procedure, remember that you must use Board Manager to regenerate the subtopic/message lists in order to make the human-readable dates and times update according to the restored information.

Copyright © 2000, DiscusWare, LLC, all rights reserved