This article aims to explain how FotoWeb interacts with Index Manager to help you understand the benefits and implications of this setup.
How indexing works
As FotoWeb has no built-in metadata indexing and search engine or file crawler, it relies on Index Manager to crawl and monitor the file repositories and keep the indexes in check with real-time events in the file system. This way, when a file changes, Index Manager is notified of the change by the file system, reindexes the file's content and updates the index so that a FotoWeb user who performs a search can immediately see the changes that have happened and receive updated search hits. To improve system responsiveness, Index Manager pushes indexed metadata to the MongoDB service hosted by the FotoWeb. Several Index Managers can deliver metadata to a single FotoWeb server to allow you to balance the load across several crawler/indexing engines.
File system notifications a requirement
For the indexing to work optimally, the file storage has to be on a volume that can be accessed over the SMB protocol and that supports file system notifications. This way, Index Manager is notified of changes as they happen. Connecting Index Manager to local NTFS volumes on the server will also work.
File detection mechanisms are described in depth in this article.
How FotoWeb uses Index Manager
Much of the communications between FotoWeb and Index Manager runs over TCP/IP.
This is true when FotoWeb sends search requests to Index Manager and when writing metadata updates. These commands are passed over the FWP protocol (port 7000, secure fwps runs on port 7001 by default) and executed by the Index Manager server. Hence, its actually Index Manager that performs many of the metadata operations in the system, and it's the process account set on the Index Manager server that reads and writes metadata to the files.
When a user requests a file download, FotoWeb gets the UNC path (\\servername\sharename\filename.xxx) to the resource and obtains the file on the network. Thus, the process account on the FotoWeb server needs to be able to read files from the network shares where the files are stored.
Note: It is possible to run FotoWeb and Index Manager on the same server, in which case they share a common process account that is used for accessing the asset repositories.
MongoDB - The FotoWeb Database
FotoWeb's database, MongoDB, is a NoSQL database. Much of what MongoDB does is hidden under the surface in FotoWeb and not generally something users or administrators need to monitor. Index Manager pushes metadata to the MongoDB server and keeps its indexes and the database content in sync. FotoWeb in turn reads metadata from the MongoDB database.
IMPORTANT: NEVER DELETE THE MONGODB DATABASE!
The MongoDB database contains much valuable data that is used by FotoWeb and necessary for FotoWeb to operate correctly.
Deleting the MongoDB will result in data loss.
A single FotoWeb server can only connect to one MongoDB database, and it "owns" that database. However, several Index Managers crawling your servers' file repositories can push metadata to that database server. It is also possible to configure Index Manager to push metadata to a MongoDB Replica set to maintain a high-availability scheme.
FotoWeb has a number of caching mechanisms to aid system performance. Additionally, Index Manager has thumbnail and preview caching of the assets it indexes, and it will continually generate cached content when new assets are indexed or when existing assets are changed. You can learn more about Index Manager caching here.