{"id":5655,"date":"2016-11-01T14:05:17","date_gmt":"2016-11-01T14:05:17","guid":{"rendered":"http:\/\/evolphin.com\/help\/?p=5655"},"modified":"2022-05-26T14:12:22","modified_gmt":"2022-05-26T18:12:22","slug":"zoom-indexer","status":"publish","type":"post","link":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/","title":{"rendered":"Zoom Indexer"},"content":{"rendered":"\n<p>Zoom has an extensible framework using which it is possible to augment the off-the-shelf functionalities provided. One such enhancement is the ability to define a class of assets&nbsp;that physically reside outside of the Zoom system, but still can be referenced from within Zoom by means of association with proxies. The <code class=\"\"><span class=\"keyword\">Indexer<\/span><\/code> suite of scripts provide this functionality &#8211; of indexing assets from file system, creating proxies, and setting up necesssary reference mechanisms within the Zoom repository using configurable set of metadata.&nbsp;<\/p>\n\n\n\n<p>This post covers the&nbsp;installation and configuration details of the Indexer scripts.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Indexer Action&nbsp;Items&nbsp;<\/h4>\n\n\n\n<p>Given here are roughly the list of tasks executed by the&nbsp;Indexer.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Iteration over the&nbsp;source location configured<\/li><li>Identification of the assets eligible to be indexed based on the configured file types \/ file name patterns&nbsp;<\/li><li>Batch management<\/li><li>Extraction of thumbnail<\/li><li>Ingest of proxies along with reference information about the original assets into Zoom repository<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Installation Instructions<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Unzip indexer package to <code class=\"\">\/home\/evolphin\/zoom-deploy<\/code><\/li><li>Configure <code class=\"\">\/home\/evolphin\/zoom-deploy\/Indexer\/conf\/config.ini<\/code><\/li><li>Create directories for indexing process if does not exists\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Staging Area 1 &#8211; Directory which will host the symlinks to source file\n<p>&nbsp;<\/p>\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Staging Area 2 &#8211; Indexer script will use this directory for batching.<\/div>\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Staging Area 3 &#8211; Indexer script will use this directory to create thumbnail\/proxies for the current batch<\/div>\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Temporary Directory &#8211; On exit Indexer will cleanup this temporary directory if cleanupTmpDir is configured to 1<\/div>\n<\/div>\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rejected Assets Directory &#8211; Directory which will host the assets rejected by indexer based on configured Exclude list<\/div>\n<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Config Help<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong><span style=\"font-size: 10pt;\">SECTION NAME<\/span><\/strong><\/td><td><strong><span style=\"font-size: 10pt;\">FIELD NAME=SAMPLE VALUE<\/span><\/strong><\/td><td><strong><span style=\"font-size: 10pt;\">DESCRIPTION<\/span><\/strong><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">ZOOMSERVER<\/span><\/td><td><span style=\"font-size: 10pt;\">serverURL=http:\/\/192.168.0.162:8880<\/span><\/td><td><span style=\"font-size: 10pt;\">Zoom server host and port<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">webminURL=http:\/\/192.168.0.162:8443<\/span><\/td><td><span style=\"font-size: 10pt;\">Zoom web management console host and port<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">serverUsername=admin<\/span><\/td><td><span style=\"font-size: 10pt;\">Zoom username<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">serverPassword=admin<\/span><\/td><td><span style=\"font-size: 10pt;\">Zoom Password for the username configured above<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">ENVIRONMENT<\/span><\/td><td><span style=\"font-size: 10pt;\">zmPath=\/home\/evolphin\/zoom\/bin\/zm<\/span><\/td><td><span style=\"font-size: 10pt;\">Path to zoom executable<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">zmInstallDir=\/home\/evolphin\/zoom<\/span><\/td><td><span style=\"font-size: 10pt;\">Zoom installation directory<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">cleanupTmpDir = 1<\/span><\/td><td><span style=\"font-size: 10pt;\">Flag to enable or disable cleaning up the temp directory used by indexer<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">tmpDir = \/home\/evolphin\/zoom-deploy\/tmp\/filesInQueue<\/span><\/td><td><span style=\"font-size: 10pt;\">Temporary directory used by Indexer<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">BATCHCONFIG<\/span><\/td><td><span style=\"font-size: 10pt;\">batchSizeInMB = 1024<\/span><\/td><td><span style=\"font-size: 10pt;\">Maximum size of a batch<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">maxFilesInBatch = 25<\/span><\/td><td><span style=\"font-size: 10pt;\">Maximum files in a batch<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">MIGRATOR<\/span><\/td><td><span style=\"font-size: 10pt;\">staging1Dir = \/home\/evolphin\/zoom-deploy\/Indexer\/staging1<\/span><\/td><td><span style=\"font-size: 10pt;\">Directory which hosts the symlinks of source files to migrate<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">staging2Dir = \/home\/evolphin\/zoom-deploy\/Indexer\/staging2<\/span><\/p>\n<\/td><td>\n<p><span style=\"font-size: 10pt;\">Directory which hosts the symlinks of current batch to be migrated<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">staging3Dir = \/home\/evolphin\/zoom-deploy\/Indexer\/staging3<\/span><\/td><td><span style=\"font-size: 10pt;\">Directory which hosts the thumbnail\/proxy files of the current batch<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">\/home\/evolphin\/zoom-deploy\/Indexer\/rejectedAssets<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">Directory which hosts the files rejected. File Types specified in Exclude list<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">zoomProjectPath = defproj<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">Project path in zoom to which files are to be migrated<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">retry = 3<\/span><\/p>\n<\/td><td>\n<p><span style=\"font-size: 10pt;\">No. of times to retry import on failures<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">replaceWith=_<\/span><\/p>\n<\/td><td>\n<p><span style=\"font-size: 10pt;\">Illegal characters in file path will be replaced with this character<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">IllegalChars =&lt;&lt;EOL<\/span><br><span style=\"font-size: 10pt;\">:<\/span><br><span style=\"font-size: 10pt;\">&#8216;<\/span><br><span style=\"font-size: 10pt;\">&#8220;<\/span><br><span style=\"font-size: 10pt;\">@<\/span><br><span style=\"font-size: 10pt;\">\\*<\/span><br><span style=\"font-size: 10pt;\">\\?<\/span><br><span style=\"font-size: 10pt;\">\\+<\/span><br><span style=\"font-size: 10pt;\">\\|<\/span><br><span style=\"font-size: 10pt;\">\\\\<\/span><br><span style=\"font-size: 10pt;\">\\\/<\/span><br><span style=\"font-size: 10pt;\">\\&lt;<\/span><br><span style=\"font-size: 10pt;\">\\&gt;<\/span><br><span style=\"font-size: 10pt;\">\\r<\/span><br><span style=\"font-size: 10pt;\">\\n<\/span><br><span style=\"font-size: 10pt;\">EOL<\/span><\/p>\n<\/td><td>\n<p><span style=\"font-size: 10pt;\">Illegal characters that has to be replaced in file path<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">Exclude =&lt;&lt;EOL<\/span><br><span style=\"font-size: 10pt;\">.*\\\/\\..*$<\/span><br><span style=\"font-size: 10pt;\">^\\~.*$<\/span><br><span style=\"font-size: 10pt;\">\\.make\\.state$<\/span><br><span style=\"font-size: 10pt;\">\\.nse_depinfo$<\/span><br><span style=\"font-size: 10pt;\">\\.old$<\/span><br><span style=\"font-size: 10pt;\">\\.bak$<\/span><br><span style=\"font-size: 10pt;\">\\.orig$<\/span><br><span style=\"font-size: 10pt;\">\\.exe$<\/span><br><span style=\"font-size: 10pt;\">\\.zip$<\/span><br><span style=\"font-size: 10pt;\">\\.ln$<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">EOL<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">File types that should skip zoom import and move to rejected-assets directory<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">VIDEO<\/span><\/td><td><span style=\"font-size: 10pt;\">useEncoder = 1<\/span><\/td><td><span style=\"font-size: 10pt;\">Flag to enable or disable encoder. If set to 0, video placeholder configured in PLACEHOLDER section will be used<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">ENCODER = \/home\/evolphin\/zoom\/lib\/imagemagick\/ffmpeg<\/span><\/td><td><span style=\"font-size: 10pt;\">Path to video encoder<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">ENCODER-ARGS = -y -ss 00:00:01.000 -vframes 1 -an -dn -q:v 0 -vf scale=300:300\/dar<\/span><\/td><td><span style=\"font-size: 10pt;\">Input arguments to video encoder<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">IMAGE<\/span><\/td><td><span style=\"font-size: 10pt;\">useEncoder = 1<\/span><\/td><td><span style=\"font-size: 10pt;\">Flag to enable or disable encoder. If set to 0, image placeholder configured in PLACEHOLDER section will be used<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">ENCODER = \/home\/evolphin\/zoom\/lib\/imagemagick\/convert<\/span><\/td><td><span style=\"font-size: 10pt;\">&nbsp;Path to image encoder<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">ENCODER-ARGS = -quiet -auto-orient -background white -thumbnail 300^ -flatten<\/span><\/td><td><span style=\"font-size: 10pt;\">Input arguments to image encoder<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">MOUNTSPEC<\/span><\/td><td><span style=\"font-size: 10pt;\">ingestMountPrefix = TPM:<\/span><\/td><td><span style=\"font-size: 10pt;\">Common string to the TPM location which will be replaced with path from respective access points<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">ingestFilesRoot = \/home\/evolphin\/SourceFiles-Migration<\/span><\/td><td><span style=\"font-size: 10pt;\">Source files root location<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">METADATA<\/span><\/td><td><span style=\"font-size: 10pt;\">proxy = ZPIG:Proxy<\/span><\/td><td><span style=\"font-size: 10pt;\">Metadata field to indicate if the asset is proxy<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">legacyFilePath = ZPIG:Native File Path<\/span><\/td><td><span style=\"font-size: 10pt;\">Metadata field to indicate the location of source file<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">FILEFORMATS<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">imageFiles=&lt;&lt;EOL<\/span><br><span style=\"font-size: 10pt;\">\\.AI$<\/span><br><span style=\"font-size: 10pt;\">\\.AEP$<\/span><br><span style=\"font-size: 10pt;\">\\.ALI$<\/span><br><span style=\"font-size: 10pt;\">\\.BMP$<\/span><br><span style=\"font-size: 10pt;\">\\.C4D$<\/span><br><span style=\"font-size: 10pt;\">\\.EPS$<\/span><br><span style=\"font-size: 10pt;\">\\.FLA$<\/span><br><span style=\"font-size: 10pt;\">\\.GIF$<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">EOL<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">&nbsp;<\/span>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 10pt;\">List of image file formats used by Imagemagick for thumbnail extraction<\/span><\/p>\n<\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">deoFiles=&lt;&lt;EOL<\/span><br><span style=\"font-size: 10pt;\">\\.AVI$<\/span><br><span style=\"font-size: 10pt;\">\\.DV$<\/span><br><span style=\"font-size: 10pt;\">\\.FLV$<\/span><br><span style=\"font-size: 10pt;\">\\.M2V$<\/span><br><span style=\"font-size: 10pt;\">\\.M4V$<\/span><br><span style=\"font-size: 10pt;\">\\.MOV$<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">EOL<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">List of video file formats used by ffmpeg for thumbnail extraction<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">audioFiles=&lt;&lt;EOL<\/span><br><span style=\"font-size: 10pt;\">\\.AAC$<\/span><br><span style=\"font-size: 10pt;\">\\.AC3$<\/span><br><span style=\"font-size: 10pt;\">\\.AIF$<\/span><br><span style=\"font-size: 10pt;\">\\.AIFF$<\/span><br><span style=\"font-size: 10pt;\">\\.AMR$<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">EOL<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">&nbsp;List of file formats that are to be treated as audio files by Indexer <\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">PLACEHOLDERS<\/span><\/td><td>\n<p><span style=\"font-size: 10pt;\">image = \/home\/evolphin\/zoom-deploy\/PH\/small\/icon_image.jpg<\/span><\/p>\n<\/td><td><span style=\"font-size: 10pt;\">Default placeholder for image file formats<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">video = \/home\/evolphin\/zoom-deploy\/PH\/small\/video.png<\/span><\/td><td><span style=\"font-size: 10pt;\">Default placeholder for video file formats<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">audio = \/home\/evolphin\/zoom-deploy\/PH\/small\/audio.jpg<\/span><\/td><td><span style=\"font-size: 10pt;\">Default placeholder for audio file formats<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td><span style=\"font-size: 10pt;\">default = \/home\/evolphin\/zoom-deploy\/PH\/small\/page_white.png<\/span><\/td><td><span style=\"font-size: 10pt;\">Default placeholder for other file formats<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">THUMBNAILS<\/span><\/td><td><span style=\"font-size: 10pt;\">image = \/home\/evolphin\/zoom-deploy\/PH\/small\/icon_image.jpg<\/span><\/td><td><span style=\"font-size: 10pt;\">Default thumbnail for image file formats<\/span><\/td><\/tr><tr><td><span style=\"font-size: 10pt;\">&nbsp;<\/span><\/td><td> <p><span style=\"font-size: 10pt;\">video = \/home\/evolphin\/zoom-deploy\/PH\/small\/video.jpg<\/span><\/p>   <\/td><td><span style=\"font-size: 10pt;\">Default thumbnail for video file formats<\/span><\/td><\/tr><tr><td>&nbsp;<\/td><td>\u00a0audio = \/home\/evolphin\/zoom-deploy\/PH\/small\/audio.jpg<\/td><td>\u00a0<span style=\"font-size: 10pt;\">Default thumbnail for video file formats<\/span><\/td><\/tr><tr><td>&nbsp;<\/td><td>\u00a0default = \/home\/evolphin\/zoom-deploy\/PH\/small\/page_white.jpg<\/td><td>\u00a0<span style=\"font-size: 10pt;\">Default thumbnail for video file formats<\/span><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Setup Instructions<\/h4>\n\n\n\n<div class=\"note\">Maintain a checklist document to keep track of the underlined items listed below. This will help us confirm the integrity of the indexing operation, and also to track and trace any errors that we might encounter.<\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><span style=\"text-decoration: underline;\">Make note of the source path to be indexed<\/span>.<\/li><li><span style=\"text-decoration: underline;\">Make note of the destination project to which files will be imported<\/span><\/li><li><span style=\"text-decoration: underline;\">Make note of start date &amp; exact time of indexing run<\/span><\/li><li>To start indexer from clean slate, clear out old logs, rejected assets directory. During subsequent runs, backup previous run&#8217;s logs, rejected assets directory<\/li><li><span style=\"text-decoration: underline;\">Make a note of the number of files at source.<\/span> Use command <code class=\"\">\"find-type f | wc -l\"<\/code><\/li><li>Save the list of source files in a text file. It will be used to be check integrity. Use command <code class=\"\">\"find-type f &gt; sourceList.txt\"<\/code><\/li><li>Create links to staging 1 for both Indexer and metadata Indexer. Use command &#8220;<em>cp -as <\/em>&#8220;<\/li><li>Apply write permission recursively to all directories\/files under staging1. Use command <code class=\"\">\"chmod -R 764 \"<\/code><\/li><li><span style=\"text-decoration: underline;\">Make a note of the number of symlinks at staging 1<\/span>.Use command <code class=\"\">\"find -type l | wc -l\"<\/code><\/li><li>Save list of staging 1 files in text file. It will be used to be check integrity. Use command &#8220;<code class=\"\">find -type l &gt; staging1Files<\/code>&#8220;<\/li><li>Verify the directory structure in staging 1.<\/li><li>Check log4perl.conf &#8211; Max size,count,log level. Recommend setting count and size sufficiently large, if periodic backups are not planned<\/li><li>Ascertain that the count of files in source and the count of symlinks in staging 1 are equal<\/li><\/ul>\n\n\n\n<div class=\"warning\">Backup logs periodically<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Execution<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Run indexer. Use command &#8220;<code class=\"\">nohup .\/indexer.pl &gt; nohup.out<\/code>&#8220;<\/li><li><span style=\"text-decoration: underline;\">Make note of end date of indexing run<\/span><\/li><li>On successful completion of indexer, start metadata indexer. &#8220;<code class=\"\">nohup .\/metadata.pl &gt; nohup.out<\/code>&#8220;<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Post-Indexing Analysis<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><span style=\"text-decoration: underline;\">Make note of number of files imported into Zoom repo during the run.<\/span> Run in browser, <code class=\"\">\"http:\/\/webmin-host:port\/get?zm_username=zoom-username&amp;zm_password=zoom-password&amp;data=data&amp;op=list&amp;only-facets=true&amp;source=zoom-path-to-check\"<\/code><\/li><li><span style=\"text-decoration: underline;\">Make note of number of rejected files.<\/span> Use command <code class=\"\">\"find -type l|wc -l\"<\/code> on indexer machine<\/li><li><span style=\"text-decoration: underline;\">Make note of number of files unaccounted for.<\/span> Take the difference in count before start and after completion<\/li><li><span style=\"text-decoration: underline;\">Make note of&nbsp; number of files that do not have Native File Path applied<\/span>. Run in browser, <code class=\"\">\"http:\/\/webmin-host:port\/get?zm_username=zoom-username&amp;zm_password=zoom-password&amp;data=data&amp;op=find&amp;prop-name=ZPIG_Native File Path&amp;contains=false&amp;source=zoom-project&amp;path=\/home\/evolphin\/zoom-deploy\/post-indexing-analysis\/blankMetadata.txt\"<\/code><\/li><li><span style=\"text-decoration: underline;\">Make note of&nbsp; number of files&nbsp;that have Native File Path that is not resolving correctly on disk.<\/span> Run in browser <code class=\"\">\"http:\/\/webmin-host:port\/get?zm_username=zoom-username&amp;zm_password=zoom-password&amp;data=data&amp;op=find&amp;prop-name=ZPIG_Native File Path&amp;check-exists=true&amp;tpm-prefix=TPM:&amp;tpm-org=source-file-root&amp;get-absent=false&amp;skip-purged=true&amp;source=zoom-project&amp;path=\/home\/evolphin\/zoom-deploy\/post-indexing-analysis\/invalidMetadataList.txt\"<\/code><\/li><li><span style=\"text-decoration: underline;\">Make note of number of 0-byte files.<\/span> Run in browser, <code class=\"\">\"http:\/\/webmin-host:port\/get?zm_username=zoom-username&amp;zm_password=zoom-password&amp;data=data&amp;op=find-on-size&amp;threshold=0&amp;get-lesser=true&amp;source=zoom-project&amp;path=\/home\/evolphin\/zoom-deploy\/post-indexing-analysis\/zero.txt\"<\/code><\/li><li><span style=\"text-decoration: underline;\">Make note of&nbsp; number of&nbsp;source files containing trailing spaces.<\/span> In the list of source file paths fetched during start, pattern match for trailing spaces and fetch count<\/li><li><span style=\"text-decoration: underline;\">Make note of the number of new files that were added after initial symlink creation in staging 1.<\/span> Take the difference in source file count before start and after completion<\/li><li><span style=\"text-decoration: underline;\">Make note of&nbsp; number of&nbsp;files which were symlinked but got deleted before indexing could complete<\/span>. In the list of source file paths fetched during start, check for file paths that do not resolve to disk<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zoom has an extensible framework using which it is possible to augment the off-the-shelf functionalities provided. One such enhancement is the ability to define a class of assets&nbsp;that physically reside outside of the Zoom system, but still can be referenced from within Zoom by means of association with proxies. The Indexer suite of scripts provide [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[146],"tags":[],"class_list":["post-5655","post","type-post","status-publish","format-standard","hentry","category-indexer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zoom Indexer - Evolphin Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zoom Indexer - Evolphin Documentation\" \/>\n<meta property=\"og:description\" content=\"Zoom has an extensible framework using which it is possible to augment the off-the-shelf functionalities provided. One such enhancement is the ability to define a class of assets&nbsp;that physically reside outside of the Zoom system, but still can be referenced from within Zoom by means of association with proxies. The Indexer suite of scripts provide [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/\" \/>\n<meta property=\"og:site_name\" content=\"Evolphin Documentation\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-01T14:05:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-26T18:12:22+00:00\" \/>\n<meta name=\"author\" content=\"Rahul Bhargava\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rahul Bhargava\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/\"},\"author\":{\"name\":\"Rahul Bhargava\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#\\\/schema\\\/person\\\/e5f3dc53ac5f026ed258e224e75447f7\"},\"headline\":\"Zoom Indexer\",\"datePublished\":\"2016-11-01T14:05:17+00:00\",\"dateModified\":\"2022-05-26T18:12:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/\"},\"wordCount\":1341,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#organization\"},\"articleSection\":[\"Indexer\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/\",\"url\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/\",\"name\":\"Zoom Indexer - Evolphin Documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#website\"},\"datePublished\":\"2016-11-01T14:05:17+00:00\",\"dateModified\":\"2022-05-26T18:12:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/administration-server\\\/indexer\\\/zoom-indexer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/evolphin.com\\\/help\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zoom Indexer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#website\",\"url\":\"https:\\\/\\\/evolphin.com\\\/help\\\/\",\"name\":\"Evolphin Documentation\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/evolphin.com\\\/help\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#organization\",\"name\":\"Evolphin Documentation\",\"url\":\"https:\\\/\\\/evolphin.com\\\/help\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/evolphin.com\\\/help\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/cropped-evolphin-logo-dolphin_sm.png\",\"contentUrl\":\"https:\\\/\\\/evolphin.com\\\/help\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/cropped-evolphin-logo-dolphin_sm.png\",\"width\":200,\"height\":200,\"caption\":\"Evolphin Documentation\"},\"image\":{\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/evolphin.com\\\/help\\\/#\\\/schema\\\/person\\\/e5f3dc53ac5f026ed258e224e75447f7\",\"name\":\"Rahul Bhargava\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g\",\"caption\":\"Rahul Bhargava\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zoom Indexer - Evolphin Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/","og_locale":"en_US","og_type":"article","og_title":"Zoom Indexer - Evolphin Documentation","og_description":"Zoom has an extensible framework using which it is possible to augment the off-the-shelf functionalities provided. One such enhancement is the ability to define a class of assets&nbsp;that physically reside outside of the Zoom system, but still can be referenced from within Zoom by means of association with proxies. The Indexer suite of scripts provide [&hellip;]","og_url":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/","og_site_name":"Evolphin Documentation","article_published_time":"2016-11-01T14:05:17+00:00","article_modified_time":"2022-05-26T18:12:22+00:00","author":"Rahul Bhargava","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rahul Bhargava","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/#article","isPartOf":{"@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/"},"author":{"name":"Rahul Bhargava","@id":"https:\/\/evolphin.com\/help\/#\/schema\/person\/e5f3dc53ac5f026ed258e224e75447f7"},"headline":"Zoom Indexer","datePublished":"2016-11-01T14:05:17+00:00","dateModified":"2022-05-26T18:12:22+00:00","mainEntityOfPage":{"@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/"},"wordCount":1341,"commentCount":0,"publisher":{"@id":"https:\/\/evolphin.com\/help\/#organization"},"articleSection":["Indexer"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/","url":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/","name":"Zoom Indexer - Evolphin Documentation","isPartOf":{"@id":"https:\/\/evolphin.com\/help\/#website"},"datePublished":"2016-11-01T14:05:17+00:00","dateModified":"2022-05-26T18:12:22+00:00","breadcrumb":{"@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/evolphin.com\/help\/administration-server\/indexer\/zoom-indexer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/evolphin.com\/help\/"},{"@type":"ListItem","position":2,"name":"Zoom Indexer"}]},{"@type":"WebSite","@id":"https:\/\/evolphin.com\/help\/#website","url":"https:\/\/evolphin.com\/help\/","name":"Evolphin Documentation","description":"","publisher":{"@id":"https:\/\/evolphin.com\/help\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/evolphin.com\/help\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/evolphin.com\/help\/#organization","name":"Evolphin Documentation","url":"https:\/\/evolphin.com\/help\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/evolphin.com\/help\/#\/schema\/logo\/image\/","url":"https:\/\/evolphin.com\/help\/wp-content\/uploads\/2020\/04\/cropped-evolphin-logo-dolphin_sm.png","contentUrl":"https:\/\/evolphin.com\/help\/wp-content\/uploads\/2020\/04\/cropped-evolphin-logo-dolphin_sm.png","width":200,"height":200,"caption":"Evolphin Documentation"},"image":{"@id":"https:\/\/evolphin.com\/help\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/evolphin.com\/help\/#\/schema\/person\/e5f3dc53ac5f026ed258e224e75447f7","name":"Rahul Bhargava","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/952acf4ec94a228ca32ed9b65cee4cc97a33509ea04500e768b71da346e58971?s=96&d=mm&r=g","caption":"Rahul Bhargava"}}]}},"_links":{"self":[{"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/posts\/5655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/comments?post=5655"}],"version-history":[{"count":8,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/posts\/5655\/revisions"}],"predecessor-version":[{"id":16810,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/posts\/5655\/revisions\/16810"}],"wp:attachment":[{"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/media?parent=5655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/categories?post=5655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evolphin.com\/help\/wp-json\/wp\/v2\/tags?post=5655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}