Do More with Your Alfresco Deployment with HPI – Configuring Search

One of the first questions for any Alfresco implementation is: “how will users search and access documents?”.   As longtime readers of the TSG blog will know, we typically recommend against the user “I just was a Google Search” approach.  Most of our clients want to target certain document types/scenarios and search on key attributes to find content.  This post will discuss how TSG’s High Performance Interface (HPI) gives clients an easy way to configure powerful searches against documents that utilize custom types and attributes.

Alfresco Share

Alfresco’s out of the box interface, Share, provides two possibilities for search. The first is a simple “Google Search”-type box in the header:

Share_Search_Header

TSG typically does not recommend this approach to searching as, with large repositories, results can be unwieldy.  Share does have an Advanced Search feature; however, the out of the box search page is somewhat limiting:

Share_Adv_search

With Share, it is not immediately apparent how to:

  • Search against a certain document type.  The default Advanced Search allows you to search against either Content or Folders, but there’s no way to search for an Invoice vs. a Purchase Order.
  • Search on a certain attribute.  The interface does not allow for a user to search for Invoices due in the next 30 days, or Procedure documents that have recently become effective at a certain plant.

It turns out that you can enable those types of searches in Share, it just takes some work – more on this later.

Search with HPI

HPI was built from the ground up with a focus on search as the primary way that users find content within the repository.  In the past, most clients want to be able to target searches to particular types and attributes, rather than the “Google” approach that searches everything.  To that end, HPI search is:

  • Streamlined – users select from available ‘Tracs’, which can be thought of as a business-segment of the repository.  For example, ‘Accounts Payable’ trac users would search on Vendor folders or Invoice documents.  ‘Insurance’ trac users would search on Policy Folders, Claim folders, Underwriting documents and Claim documents.  TSG works closely with our clients to ensure that the tracs are properly configured based on the needs of each HPI deployment.
  • Simple – An administrator configures the search and targets the key attributes for each individual document or folder type in the trac.  Users do not need to wade through a long list of attributes to choose from.
  • Configurable – an admin interface GUI is all you need to setup additional tracs or to modify an existing trac to enable searches on different document types or attributes.

In HPI, there is no global “Google” type search box.  Users select a trac, and then select a type to search on.  There’s nothing to stop an administrator from configuring a search across all documents in the repository, but in most systems this is not desirable.  Some examples:

Search criteria for the Controlled Docs trac, Quality Document type:

hpi_qd_search

Search criteria for the Invoice trac, AP Invoice document type:

hpi_ap_search

Configuring Search

Both Share and HPI allow you to configure the search screen to allow users to search on custom types and attributes.  Here’s a comparison of the steps to do this in each system:

Configuring Search in Share

  1. Create or edit the share-config-custom.xml file, which holds form configurations for custom types in Share.
  2. Update the XML to configure a form for each object type you would like users to be able to search in Share.
  3. Update the XML for the Advanced Search component to add your new forms created in the previous step.
  4. Stop Alfresco.
  5. Deploy your changes to Share, typically via an AMP.
  6. Start Alfresco.
  7. Login to Share and navigate to the Advanced Search page to see your changes.

To read more about this process, or to see an example of the XML configuration involved, check out this great tutorial written by Jeff Potts.

Configuring Search in HPI

  1. Login as an HPI administrator and navigate to the Forms section.  Create or edit your search form.
  2. Use the GUI interface to add, remove or modify object types to the form.
  3. Use the GUI interface to add, remove, or modify attributes in the form for a particular type.  When complete, save your changes.
  4. Navigate to the search page to see your changes.

Check out this short video that demos adding an attribute to an existing search form:

Overall, Alfresco Share gives you some basic searching capabilities that are useful in certain situations.  If you do not create custom types or custom attributes and your users prefer the Google approach to searching, Share’s search bar in the header gives you just that.  However, when your users need to be able to search on a specific content type and on certain attributes, HPI gives you a powerful way to configure a search screen that is simple for users to understand.  Additionally, HPI’s admin gives users a nice GUI interface for editing forms that does not require XML modification or server restarts to take affect.

Let us know if you have any additional thoughts below.