When I first signed on to the Dev Relations team at Qlik and began working with our main site Qlik Branch we were working with our own custom built blogs section. While this seemed easy enough for us to start with, there were a few problems with this.
- Exposure: Our blogs were only available in our site and required existing users or posting links in order for the world to know about them.
- Third Party Tools: In order to allow the ability to use formatting in our blogs, we needed to use a third party content editor. When I came in we were using Summernote, then we tried moving to markdown with SimpleMDE. While these options were both fairly robust, any found bugs became an issue and customization was a pain.
- Maintenance: We were in charge of the storage of the blogs as well as the process for moderating them.
After much back and forth within the team and discussion with others, we decided that Medium would be the way to go. While this would solve the problems above we had one major hurdle that we needed to figure out.
While we were going use Medium to host our blogs (hereafter referred to as Mediums term “stories”) we still wanted to use the Search capabilities available in the Qlik Engine API. This involved any time a story was published that we pull all the information (including the story’s content) so that the Engine could load it into our Sense App.
The first solution I searched for was using the Medium API. As a developer this seemed like the obvious solution, but I quickly ran into a big problem here. The Medium API itself is fairly limited and doesn’t allow you to either retrieve a list of stories for a publication or retrieve the information for an individual story. Without these abilities the API was pretty much a no go for me.
Now I needed to find any type of source that could list a publications stories. After tons of searching, the only solution I could find was good ole RSS. Each publication has an RSS feed of its stories, and when you set the “RSS Feed” setting to Full on a given publication you get all the content of the story as well. So I wrote a quick script that will ping the RSS feed every X minutes, compare each story in the feed with a quick checksum to see if there are any changes to the stories and clear out the ones that aren’t in the feed (in case stories were removed for some reason). Problem solved!!!!!
Actually, it wasn’t. More to come on that.