AlgoliaSyncModuleDirectLease\AlgoliaIndexTask
Class AlgoliaIndexTask
This task will connect with your algolia environment based on the provided configuration and sync Pages to algolia.
The task creates algolia objects containing data and also provides a solution to sync localised data.
For more information about the task see the README.MD
Synopsis
class AlgoliaIndexTask
extends BuildTask
{
- // members
- protected string $title = 'DirectLease AlgoliaIndexTask';
- protected string $description = "This task will synchronize all published Pages with the Page value ShowInSearch(see CMS->Page->Settings) on true to Algolia";
- protected boolean $enabled = true;
- protected boolean $fluent_enabled = false;
- // methods
- public void run()
- private void fullSync()
- private int syncPagesWithIndex()
- private mixed addDataForEveryLocale()
- private mixed addDefaultData()
- private mixed addFieldDataToObjectIfsetOnPage()
- private mixed addImageLinkToObjectIfSetOnPage()
- private void syncCreatedPagesWithPageAlgoliaObjectIDHolders()
- private void syncChanges()
- private int deleteAlgoliaObjectsForIDs()
- private int addNewCreatedPagesToAlgolia()
- private void getChangedPagesAndUpdateAlgolia()
- private int deleteAllPageAlgoliaObjectIDHolder()
- private void deleteAllDeletedPageAlgoliaObjectIDHolder()
- private void createLogDataObject()
- private void logError()
- private void logInfo()
Hierarchy
Extends
- SilverStripe\Dev\BuildTask
Members
protected
- $description
- $enabled
- $fluent_enabled
- $title
Methods
private
- addDataForEveryLocale() — Add localised data for every locale to the Algolia object
- addDefaultData() — Add default data to the algoliaObject
- addFieldDataToObjectIfsetOnPage() — For every field defined in the config yml, check if the page has that field. If it contains data, add it to the object.
- addImageLinkToObjectIfSetOnPage() — For every image in the config yml, check if the page has that Image. If it is set, add the Link() to the object.
- addNewCreatedPagesToAlgolia() — Add newly created Pages to Algolia
- createLogDataObject() — Create a log object containing information about the task
- deleteAlgoliaObjectsForIDs() — remove all AlgoliaObjects of which the page has been removed, or ShowInSearch in the CMS has been set to false
- deleteAllDeletedPageAlgoliaObjectIDHolder() — Empty table DeletedAlgoliaObjectIDHolder
- deleteAllPageAlgoliaObjectIDHolder() — Empty table PageAlgoliaObjectIDHolder
- fullSync() — Remove state and remove all objects in Algolia index. Then add them again for a fresh state.
- getChangedPagesAndUpdateAlgolia() — All the pages that have been synced to Algolia and which have changed in the past 24 hours will be updated.
- logError() — Append error log message to silverstripe.log
- logInfo() — Append info log message to silverstripe.log
- syncChanges() — Sync only pages with changes since the last sync, removed pages and added pages
- syncCreatedPagesWithPageAlgoliaObjectIDHolders() — Create PageAlgoliaObjectIDHolder for every added page in Algolia
- syncPagesWithIndex() — Add pages to the Algolia index