Troubleshoot Advanced Search
Incorrect results when searching for documents limited by publication date
Your search results show incorrect data in the 'Published' column if you select a date value in the 'Publication Date; To' filter.
This behaviour has been observed in implementations that were upgraded from Bloomreach Experience Manager 7.8 to Bloomreach Experience Manager 10.
The issue is caused by a change in the document model used to store content in the repository. In Bloomreach Experience Manager 10 the hippostdpubwf:publicationDate property is never stored on draft and unpublished document variants. Document created and published before the upgrade to Bloomreach Experience Manager may have a hippostdpubwf:publicationDate stored on their draft or unpublished variant which is not updated anymore after the upgrade to Bloomreach Experience Manager 10 and as a result becomes outdated. This outdated publication date may be displayed in the search results.
The issue can be fixed by removing all hippostdpubwf:publicationDate properties from draft and unpublished document variants using below Updater Script.
Query:
/jcr:root/content/documents//*[(@hippostd:state='draft' or @hippostd:state='unpublished') and @hippostdpubwf:publicationDate]
Groovy script:
package org.onehippo.cms.updater
import org.onehippo.cms.updater.BaseNodeUpdater
import javax.jcr.Node
import javax.jcr.PropertyType
import javax.jcr.PathNotFoundException
import javax.jcr.RepositoryException
/**
* Adds default logo type property to cover documents that does not have one.
*/
class RemovePublicationDatePropertyFromUnpublishedAndDraft extends BaseNodeUpdater {
public static final String PUBLICATION_DATE = "hippostdpubwf:publicationDate"
boolean doUpdate(Node node) {
log.debug("Updating {}", node.getPath())
try {
if (node.hasProperty(PUBLICATION_DATE)) {
node.getProperty(PUBLICATION_DATE).remove()
return true
}
} catch (RepositoryException e) {
log.debug("An error occurred {}", e.getMessage())
return false
}
}
}