The Thumbnail Manager is the “configuration and routing” component for document rendering. It is installed as a service an configured with one or more “definitions” of rendition to create. The “definition” comprises of an identifier or description (“small”, “large”, “original”, “preview” and so on) and a size. The size can be expressed as a relative percentage (“100%”, “50%” etc), a fixed size in pixels (“640x480”), a fixed width in pixels (“640w”) or a fixed height in pixels (“480h”). In the case of percentages and fixed width and height, the original aspect ratio will be kept.
The manager is also configured with one or more “processors” – the components that will create the renditions. Each “processor” will render a specific document type and can be assigned as responsible for one or more document mime types. This flexible configuration means that you can process as many different document formats as you need, adding or removing processors as required. If a request is made to render a document for which no processor is installed, the manager simply returns having done nothing.
The manager is also responsible for telling the processors where the renditions should be written and so is configured with the Aspire Binary store to use.
When a request is made for a thumbnail, the manager will check the mime type of the input document and route the request to the processor configured for that document type. The processor will write the renditions to the configured binary store and return an object that describes all the renditions that have been produced. This data will then by added to the job’s Aspire document so that the information can be sent to the search engine.
An example of the output is shown below:
<thumbnails docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" pageCount="3"> <pageThumbnails docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" pageNo="1"> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_1-preview.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_1-preview.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="preview" imageHeight="211" imageWidth="149" pageNo="1" size="25%" type="percentage"/> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_1-original.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_1-original.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="original" imageHeight="842" imageWidth="595" pageNo="1" size="100%" type="percentage"/> </pageThumbnails> <pageThumbnails docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" pageNo="2"> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_2-preview.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_2-preview.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="preview" imageHeight="211" imageWidth="149" pageNo="2" size="25%" type="percentage"/> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_2-original.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_2-original.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="original" imageHeight="842" imageWidth="595" pageNo="2" size="100%" type="percentage"/> </pageThumbnails> <pageThumbnails docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" pageNo="3"> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_3-preview.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_3-preview.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="preview" imageHeight="211" imageWidth="149" pageNo="3" size="25%" type="percentage"/> <thumbnail binaryBase="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore" binaryPath="C:\Users\steven.j.denny\Documents\aspire-distributions\thumbnail/binaryStore\File_System_thumbs\5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_3-original.jpg" binaryRelativePath="5F\977\80CCB4E95439E000736D0E2D90B5F977-Updateable%2520Har%2520File%2520Writer.docx\page_3-original.jpg" docId="file://c:/testdata/mixed_thumb/Updateable%20Har%20File%20Writer.docx" docSource="File_System_thumbs" id="original" imageHeight="842" imageWidth="595" pageNo="3" size="100%" type="percentage"/> </pageThumbnails> </thumbnails>
NOTE that the identifier attribute (id) in the above sample will change depending on the renditions configured in item 2 of Step 2.b above. The fragment above shows the output when two renditions "preview" and "original" are configured.