ENOVIA FCS File Reconciliation

This tool is being developed to solve a very common problem of “missing files in store/Location”. File Reconciliation tool generate excel file report which contains the list of files from object meta-data information (information as in database) and gives a status of file availability on relevant locations/store folder path. This scenario happens when files from locations/store folder path is being deleted for various reasons but object still have the information that file exists.

Symptoms

When user tries to download file from ENOVIA, he gets message either of below error messages.

  • FCS Server failure Response Code:400
  • java.lang.Exception: 550 (followed by the IMAGESTORE path/filename): The system cannot find the path specified.

Reasons

A common reason for such scenario to happen is because of your STORE/Location definition and open access to the host machine which is hosting your files.
Your STORE or Location definition has host as IP address or machine name. This information is stored in your database.

Typically administrator creates copy of the Production system in 2 ways to make test/QA/Dev system:

  • Creates VM copy using VM Workstation
  • Export Production oracle database user. Import this database backup on Test/QA/Prod system

And user thinks they are completely independent and disconnected from Production system.

But No. you are NOT. Your copy VM/Database still has exactly same STORE/Location definition as your production system. It still points to same host and file path of production.

So, when you delete the object from your copy VM/Database, you end up deleting object meta data from your copy VM/database but that object has still file reference to your production system. So, along with object, file will also be deleted for sure.

End Result

Your production object still does have the file as meta data from oracle database but it does not know that it’s file from store/location is lost..!!!

Initial Production Server Status:

02_Production_Status_Before_Database

Production Server Status after Database Copy / VM creation from Production:

01_Production_Status_After_Database

There is no straight single command to identify objects whose files are missing from your location/store folder path. Also complexity of problem increases when you have FCS configured. When FCS exists, you may have file lost from one FCS and it exists in STORE or other FCS location. In this case also, user will end up getting the error when he tries to get file from his closest FCS where file has been deleted. Because ENOVIA does not synch the file again because as per its record, file is already synched and exist.

So, thorough understanding of master file, synchronized file and synchronization status is required to programmatically find which all files are missing. Also, when you have multiple files checked in to same object/format; report becomes more complex.

File Reconciliation tool generates this complex report of missing files with all possible scenario.

Following is sample report

Columns in Report:

Type – type of an object which contains file attached to an object

Name – name of an object which contains file attached to an object

Revision – revision of an object which contains file attached to an object

Created Date – created date of an object which contains file attached to an object

Modified Date – last modified date of an object

Originated By – creator of object

Format – format of the file attached to an object

File Name – name of the file attached to an object

File Modified Date – last modified date of the file attached to an object

Location Name – synchronized location/store of the file attached to an object

File Host IP – IP address of host machine of location/store of the file

Physical Path – physical directory path of location/store of the file

Complete Path (absolute path) – complete physical path generated from path mentioned on location/store + “Physical Path”

File Exists? – If file exists on Complete Path (absolute path): TRUE, otherwise: FALSE

File Exist in Peer Location – TRUE if file does not exist in current location but it exists in peer location. So, there is possibility to restore file with sync command.

Sync Command: MQL command to force synchronize(copy) file from peer location to current location

Next Step:

Restore files once you have report of missing files

There is no full proof way unless you have File store backup. But following are the options.

  • If for an object, file is lost from one or more FCS but exist in at least one FCS. Tool can force synchronize it to all other FCS Locations
  • Restore file backup from your backups. Generate the report again. Restore from earlier backup. Generate the report again……Keep going backward till you have clean report. Reason for restoring several backup is – you don’t know since when your files are getting deleted one at a time.