Show TOC

Indexing External ContentLocate this document in the navigation structure

Use

If you have programmatic access to external content, you can trigger indexing of a content item when the item is updated or deleted from a workspace.

The following sample illustrates how to raise events that trigger an index update.

public class IndexExternalContent {

	public void onContentUpdate(String moduleTemplateID) {

		try {
			// Get content provider events			
			IContentProviderEvents contentProviderEvents = (IContentProviderEvents) RuntimeFactory.getWorkspacesRuntime().getService(IContentProviderEvents.class);

			//Raise an event when the content item is updated
			contentProviderEvents.contentUpdated( moduleTemplateID, getProviderID() );
		} 

		catch (Exception e) {
			// Error occurred
		}
	}


	public void onContentDelete(String moduleTemplateID) {

		try {
			// Get content provider events			
			IContentProviderEvents contentProviderEvents = 
				(IContentProviderEvents) RuntimeFactory.getWorkspacesRuntime().getService(IContentProviderEvents.class);

			//Raise an event when the content item is deleted
			contentProviderEvents.contentDeleted( moduleTemplateID, getProviderID() );
		} 

		catch (Exception e) {
			// Error occurred
		}
	}

	private String getProviderID() {
		AbstractContentProvider contentProvider = (AbstractContentProvider) PortalRuntime.getRuntimeResources().getService("custom_content_provider_service_impl_key");
		return contentProvider.getID();
	}
}