This project really required two interrelated search tools: an employee lookup directory, and an office search - both on one page. Results for each needed to show information from each list. For instance, searching for an employee would show details about the employee as well as the office where the employee works.
Office information had to be maintained in Salesforce. The Technology team supplied me with an endpoint for this data. The CMS also has an API for other data that needed to be searched. The challenge was bridging these endpoints.
I knew I needed both an unchanging and unique piece of data from each API so each data set could be matched. The Office ID was the perfect candidate, so I wrangled up the team to help me enter literally ever Office ID into the CMS.
With the data having matching IDs to cling to, I could then build the pipelines.
Now, I know that frameworks like Angular, React, RXJS, etc. are built for this kind of data management, but I did it in a pretty old-school way: jQuery and AJAX. I didn't even use Promises. I did it this way in part because I don't know of a way to leverage a framework like Angular inside of a CMS, and I didn't use Promises because many of our clients still use IE, and Promises are not supported.