This is a small project I set up for two reasons:

  • For my enjoyment, on the technical side ;
  • And to find the official Salesforce implementation guides more quickly via their content.

Implementation guides ?

Yes, implementation guides.

I found it strange that the implementation guides, which are a GREAT way to learn everything you need to know about any given Salesforce functionality, were so hard to find. The page referencing them isn't even the first result in a google search.

If you want to learn how to set up a specific formula, the Salesforce Help is great ; if you're looking to dive into a subject, or see how Chatter is used across different modules for example, implementation guides are the way to go.

Yes, I know Trailhead exists, but sometimes documentation is still the best thing to have on hand.

So here you will find a collection of all available implementation guides, searchable via their content (or their index, most of the time).

You talked about technical enjoyment.

Setting up the blog was actually the technically fun part. I wanted a small project to test my new computer on, and to get back on the Linux horse.

Here's how the blog runs :

- This blog runs on a Digital Ocean Droplet running Ubuntu 16.04.
- The webserver is Node.js.
- The blog itself is the @Ghost blogging platform.
- The theme is Uno-Zen with some minor tweaks and adaptations.
- The search engine is powered by a self-maintained version of GhostHunter.
- PDFs are stored locally and checked for updates via a script which keeps the auto-posted entries up to date.

A long-term objective is to extend the ghost model to store the full text version of the pdfs in another field. A scrapper would keep those up to date, and allow the search engine to index the implementation guides more reliably.
For now, the search is based on the text which is stored in the body of the blog post. As GhostHunter is pretty ressource-heavy, I only store the index of the implementation guides there for now.

Another objective would be to rewrite the entire script from scratch. It turns out Shell has some limitations when you're using it to parse PDFs.
If you want to help me do that, you're more than welcome to hit me up on Github.