Recently, I had an interesting interview regarding the project, so decided to share interesting bits of it.
A: Can you briefly introduce the project?
M: Sitecore Link is my personal project that I have devoted more than a year of my time to. The idea behind it is to collect and classify all of the technical references about our beloved platform, from various sources, such as blogs, StackOverflow Q&A website, official documentation, YouTube etc. The aim is to give developers a tool to navigate through documentation referenced from mentioned sources, pre-filtered by a category with the possibility of custom filtering criteria. By saying category, I mean either some Sitecore functionality, like templates, workflows, media library, or area of implementation like Architecture, infrastructure, CDN or even Sitecore best practices. Not a brief description, but at least it explains.
A: How did it all start? When was that?
M: Initially when I joined the world of Sitecore development, I had to deal with large volumes of new information, so I started making notes. Later, I imported all these notes into Evernote as it helped organising data better, especially with its tag system. But a year later, the Sitecore section of my Evernote became so monstrous, I even moved my Sitecore knowledge base into a separate Evernote, as a temporary fix. In addition, it wasn't possible to have one article in many categories (unless you duplicate or use tags). Because I used Evernote mostly for searching across my knowledge base, I decided to move it into a separate blog post on my blog rather than having it in Evernote.
Later I decided to make filtering controls but faced a dilemma; my blog platform did not allow much back-end customisation which is why I decided to make it client side. Also, going client-side gave me the opportunity to implement a search-as-you-type filer, and that was exactly what I wanted.
Meanwhile, the number of links grew more and more and I moved project into a separately hosted website as an individual project.
A: Is that why it is sometimes slow?
M: As I mentioned, the project is client side. On a first load, the project takes entire links database and stores it into browser’s local storage, so that next time the page can get immediate access to the information. It worked perfectly with 1,000 - 2,000 links, but as the Sitecore community became so productive, the number of entries began increase 10 fold and keeps growing. This is where delays come from. Of course, it wasn’t ideal at this stage, especially with such a huge volume of data. Thus, I plan a big re-design next year, mostly for UX purposes, in order that it would be possible to get immediate access with any size of knowledge base.
A: So what are the features of Sitecore Link?
M: The major feature is to be able to see all of the possible sources for specific categories. For example, if I am interested in Federation Experience Manager (FXM) then I click on that link from the table of content and will see all the links related to FMX. This is especially good when you are looking for the information about functionality you’ve never worked with and immediately see in what ways you can benefit from it, right by the links titles. That was my initial purpose of creating the knowledge base.
A: Can you also tell how the controls work? Some of them are not as intuitive
M: As the easiest, you may filter and search by link titles and also by link URLs (if you select "Also match in URLs” checkbox). Searching by URLs may be useful when you want to see someone’s blogs only, for example I can see my own blog posts I have added.
A: That's clear but what are the colour bars and controls right hand side to each link?
M: In addition to filtering by content it is also possible to filter by a year. Colour buttons are year filters, greener - the better. Switching green button filters to only entries created in the past year to date. So you see, how productive entire Sitecore community was within past year.
In that manner, you can filter by selecting one or more years, consecutive (ie. show entries for past 2 or 3 years) or randomly.
A: How did you manage populate database with such a big number of links? Did you do that manually?
M: I started collecting links manually. In the course of time, I implemented some sorts of automation, one by one. At the moment I have got 15 automation tools working for that site, such as crawlers looking for new Sitecore blogs, updaters looking for new posts, health bots monitoring existing Collection for wrong / missing entries, duplicates or wrong dates etc. So it looks like an iceberg, where you see only a small part above the waterline. These automations result with presenting me a list of things to do where action needs to be taken, but the action itself is done by me.
Likewise, I am presented with a list of new blog posts, but I manually open each of them and decide whether to add this post to the Collection and which category(-ies) to assign into. The aim of automation is to simplify my job as much as possible, but not to take decisions on my behalf.
A: What or who are contributors mentioned in one of the expanders?
M: Contributors list is a list of domains of sources, from which links have been taken, ordered by number of entries. There are not only blogs but all of the sources. They are ordered by a number of entries and there’s also date of the last entry, located on the right hand side.
Aaron: Is anyone else working on the project?
M: For the moment I am working on the project solely. However, with redesign planned for the next year, I’ll be looking to get some help from other enthusiasts.
Aaron: What are future plans?
M: Plans for the next year are massive. I won't say now, instead I will firstly announce them at the London UserGroup on 29/11/2016 (and the will update this post as well). Have a small guess that plans aren’t limited by total rework of the project to better, but also will be with an emphasis on the Sitecore community. Furthermore, there will be a pleasant surprise coming on that date.
A: Any wishes to your users?
M: Just the feedback. And also please help me to identify the most useful information by using vote buttons. It’s only a matter of one click, but authors would be pleased to see that their effort helped someone. Also, in case you find a broken or highly irrelevant or outdated link, please vote down - that would help me to review and clean-up the base.
A: Have you got some feedback so far
M: Yes, one thing I definitely like in the Sitecore community is that participants are active and positive. Sitecore Link is used by 200 - 300 unique users per day, and many of them text me by Slack and Twitter. Many existing MVPs have sent me few lines of support. As I said, feedback is every important for me. I am doing this project on pure enthusiasm devoting most of my free time to it. The best reward for me is to see that people are using it and to realize that my efforts were not futile.
A: And at the end, maybe slightly irrelevant question, however what Sitecore feature or module could you name as your favourite?
M: Most known Sitecore modules are all superb - EXM, WFFM, Social - it would be unfair to distinguish one in favour of others. From third-party modules I would name PowerShell Extensions module as it helps to save time frequently and has even secured me a contract role once. Speaking about a Sitecore feature, I would name xDB and Analytics – an evolutionary concept and even more I like the way its parts are integrated together.