Zoom Indexer provides a way of maintaining assets outside the Zoom repository, while still being able to reference them using proxies. (Refer to setup details here). For a growing set of assets present in a source location, we may want to continue indexing newly added assets periodically even after the completion of the initial indexing. Re-indexer
eases this job by looking only for files which are not already indexed to zoom and initiates indexing only for those files. Re-indexer can also be set to run as a cron job, so that when files are being added periodically to any source it will be synced to zoom without any manual effort.
Installation Instructions
- Unzip re-indexer package to
/home/evolphin/zoom-deploy
- Configure
/home/evolphin/zoom-deploy/re-indexer/conf/config.ini
- Create a directory
zmDiscovery
under a shared location accessible by both re-indexer and zoom server machine - Install required perl modules
- To automate re-indexer, setup a cron job to re-index. To create a cron job follow instructions in “Creating a Cron Job” section
Config Help
SECTION NAME |
FIELD NAME=SAMPLE VALUE | DESCRIPTION |
ZOOMSERVER | serverURL = http://192.168.0.162:8880 | Zoom server host and port |
webminURL = http://192.168.0.162:8443 | Zoom web management console host and port | |
serverUsername = admin | Zoom username | |
serverPassword = admin | Zoom Password for the username configured above | |
RE-INDEXER-ARGUMENTS | input = /home/evolphin/SourceFiles-Migration | Source files root location |
remotePath = /defproj | Project path to which files should be migrated | |
nativeFilePathMetadataProperty = ZPIG_Native File Path | Metadata field to indicate the location of source file | |
dirToCreatesLinkForNewFiles = /home/evolphin/zoom-deploy/Indexer/staging1 | Directory used by Indexer which will host the symlinks of source files to migrate | |
networkShareLocalPath = /mnt/zoom/share/zmDiscovery | Path to network share in re-indexer machine. It should be a network share accessible by both re-indexer and zoom-server | |
networkShareRemotPath = /mnt/zoom/share/zmDiscovery | Path to network share in zoom server machine. It should be a network share accessible by both re-indexer and zoom-server | |
reportCSVFile = /home/evolphin/zoom-deploy/re-indexer/re-indexer.csv | Path to re-indexer report | |
pathToIndexer = /home/evolphin/zoom-deploy/Indexer/indexer.pl | Path to Indexer script |
Execution
If you decide to not use a cron job to run Re-indexer
, you can run it manually using the following command:
nohup ./re-indexer.sh>nohup.out
Creating a Cron Job
Type the below command in terminal to edit the crontab file
[evolphin@localhost ~]$ crontab -e
In the editor that opens up, add the below crontab line, save and quit
0 0 * * * /home/evolphin/zoom-deploy/re-indexer/re-indexer.sh
The crontab line added above contains 6 fields described below in the order of occurrence
minute hour day month day-of-week command-line-to-execute
The above example will run /home/evolphin/zoom-deploy/re-indexer/re-indexer.sh at 12 AM daily.
Setting Up Re-Indexer for Multiple Sources
As different source sub-paths may have to be re-indexed at different intervals, we may have to setup independent cron jobs for each of them. In order to run different instances of the re-indexer for different sub-paths, please follow the steps below:
- Replicate Indexer and Re-Indexer installation (the scripts / libs / config files etc.) in a new location for every new season to be re-indexed
- Follow installation steps and config setup as described in Indexer Setup and Re-Indexer Setup
- Create a new cron job for every new season to be re-indexed. To add a new cron job, keep adding the crontab line corresponding to the job one below the other