Alok Gupta joined our Google practice in 2013 and has quickly become one of our go-to Technical Architects for complex implementations and custom connector development. Alok has worked with a wide variety of clients, including high-tech support organizations, major airlines, and retail food giants. It was a pleasure to talk to him about his experiences as a GSA Technical Architect.
How long have you been working with the Google Search Appliance? Do you remember your first project? What was it?
I have been working on Google search projects for about 7 years. My first hands-on experience with the GSA was indexing the product’s content from a portal site. When the customer logins to the portal, they only see the products they have purchased and any related documentation. It was simple but an interesting project as it required some brainstorming to ensure the GSA could crawl all the products in the portal using the additional HTTP header, and get only search results specific to the products they own (using inmeta searches). I wonder if I will use additional HTTP headers with the web crawler ever again ;-). We built the custom UI by consuming the XML as the client’s policy was not to expose the GSA directly to public users.
At Perficient, my first project was to index data coming from SAP CRM into the GSA using a web service SOAP-based connector that listens for SOAP requests and interprets them as update or delete event. All content was given a single, service-account-type ACL to prevent other applications from accidentally fetching the application data. New metadata fields were added to the content to indicate roles or entitlement and depending on what type of user is making the request, appropriate filters were appended to the queries, thereby limiting which results are returned. We also used a cookie cracker (Cookie SSO integration) to pass in a secret token that identified the queries from the application and permitted access to the items.
Good UX Means Good Business
In a world where technology is rapidly advancing and user expectations are rising, it’s no longer enough to have an average user experience; to delight your users and surpass your competition you must strive for the exceptional.
Can you tell us about your current project? What kind of application are you building, and what technologies are involved?
My current client’s intranet search is hosted on SharePoint portal and using IWA/Kerberos for silent authentication and NTLM as fallback mechanism. The client is building a new platform for the intranet search (AEM) that will host a unified search experience using Google search. We are indexing content from different sources including multiple SharePoint web applications, AEM User Profiles, Confluence Wikis, Video repositories, Documentum, File Shares, Chatter, and other related databases through the use of either Google or Perficient developed connector software. There are also a couple of web sites that will be web crawled and will be protected using policy ACLs. The Google SAML Bridge will be used for silent authentication that will support both Kerberos and NTLM as a fallback mechanism.
We are upgrading the GSA appliances to version 7.4 to utilize on-board group resolution. User and groups information will be fed to the GSA using AD groups connector 4.x. Google 4.x based connectors are being used where possible as the document counts in some of the content sources like SharePoint are quite high (~ 5 million). All the connectors will be hosted on Linux based VMs. Custom tags to support dynamic navigation will be injected using metadata transformation classes (the same concept as document filters in 3.x). Search results and expert search will be hosted on the GSA User Interface(s) and built to the client’s specifications based on responsive design that will support desktops, tablets and mobile platforms. Load balancers will be used to support active-active serving (2 production GSAs) and high availability of 4.x based connectors. GSA mirroring will be configured between the production appliances.
What skills or experience, other than the GSA, have you found useful when implementing Enterprise Search projects?
Java development for writing connectors or feed clients, experience with Windows and Unix flavors, and debugging skills are really useful. Knowledge about SSL, LDAP/AD, NTLM or Kerberos etc. also helped while dealing with security.
Do you have advice you would give to someone about to implement an Enterprise Search project with the GSA?
I’ve learned that every successful search implementation makes a significant difference in the lives of the users. Everyone uses search in one way or another in daily lives whether to look for information on the Internet or within an organization using enterprise search. And when you find things easily that you are looking for, it really helps and saves lot of time. So, please put all your efforts and energy into understand the client’s search requirements, and make sure these search projects are successful.
Thanks, Alok! Keep up the good work! -Chad