Catalog Indexing
From MightyWiki
Mighty Box engine holds a reference to the main catalog which contains all the entries, including plugin-supported and user-defined ones. Every user defined time interval, the engine will issue a catalog indexing process. The process includes digging down the catalog entries recursively, invoking the index() method on each of them.
How Indexing Work?
Lets address the task of indexing a single catalog entry. How is it done? Every Catalog Entry defines a property called Source which is a String identifier that match some Item Source id. The engine look up that source by id and then query the source for subjects. The query method, defined by MBItemSource.subjectsForEntry() sends the source a list of parameters (MBCatalogInfo.Settings), and wait for it to return. When the source return a list of items, it is cached inside the entry, the time of indexing is saved, and indexing is complete (at least for the current entry).
