For any new post types (say, PegaSocial-Post-CaseSummary) developed by implementation teams, below are the configurations that are needed to leverage search capabilities.
1. In pyGetPostDataSource data transform in the post context class, set .pyIsSearchEnabled to true (change to false if search is not required in a later point of time)
2. Ensure pass current parameter page is enabled for the data page related to new post type (which is set to pyDataSourceReference property in pyGetPostDataSource data transform). There are parameters like searchText, searchByUsers, searchToTime, searchFromTime that will be supplied by system to this data page which are used in pxGetContextPosts activity
3. Either add pxObjClass is equal blank in filter by overriding pyPostsByKeys report definition in PegaSocial-Message (to avoid like filter from where clause of SQL) OR save as pyPostsByKeys to the new post class
4. Override pySearchContextPosts report definition into new post class. This is used by the system to search
5. Optionally, if the custom post type related intances are in a table other than pc_work_social and has huge data, create Custom Search Properties for the new post type and create a dedicated index for improved performance
1. Ensure search reindexing and elastic search are working fine
2. System should be on platform build 8.5.1 or above
3. Override pyShowPulseSearchWidget when rule to enable/display pulse search in any context
Implementation for reference: We can refer to how above mentioned configurations are done for private messages related post type by platform (PegaSocial-Post-Private)
Note: Currently only active pulse post types can be configured for search. A feedback has been raised to engineering teams internally to provide an option to enable search on feed sources as well with a contextual help on available parameters for filtering results in the custom feed source related datapage.