In today’s guest blog post, we have Nicolaas, the man behind hundreds of modules, show you how to make SilverStripe modules more searchable.
This year, I have spent a few days trying to make SilverStripe modules more searchable and “discoverable”. This work has resulted in three micro-sites. All three sites are just experiments, so please be patient if they fall over from time to time. Below are a few details on each of them.
This site is an alternative to addons.silverstripe.org. It uses different paradigms to provide an alternative way to find modules. In comparison to the original addon site, you can create more detailed filters, create a list of favourites, save your filters and so on.
To me, the most powerful aspect of this site is that you can filter by a collection of keywords, as specified in the composer.json file. This allows you to build up a collection of relevant keywords to create a solid collection of relevant modules (e.g. you can create a filter that finds all modules that include the keywords star, rating, rate, review, comments, comment, and feedback).
Another feature I like is the ability to search for modules that are using a particular “parent” module. For examples, you can create a list of all modules that use the silverstripe/blog module.
This site is an attempt to manually sort all modules by topics. I have only done a few modules so far, so if anyone feels inclined to organise a few more modules into groups, then this would be of great help. You can do this directly from the front-end without having to log in. We will review all change requests and generally grant them unless they are spammy.
This is another experiment you're either going to love or regard as insane. I have used a basic doc generator to make documentation for every SilverStripe module out there. It's along the lines of api.silverstripe.org (albeit a poor cousin).
The basic search functionality makes it interesting. For example, a few days ago I was wondering who used Canonical links in their code, so I searched for it. The Google search turned out to be useless here, but the file search brought up a few interesting results that could be helpful in crafting your own canonical link code and/or discovering relevant or useful modules.
Being able to review other people’s code helps you make more informed decisions on how you write your own canonical link code snippets.
I hope you will find some of these sites useful. As I said, please be patient if you have trouble accessing them or bugs are making them hard to use. I am afraid there will never be much browser testing (Google Chrome will be your friend here), unit or behat testing on these sites.
Knowing the limitations of these three SilverStripe module discovery tools, you may find it will inspire you to use one or two new modules, in which case my goals will have been reached.