In case you missed the announcement made earlier this week and you have yet to see it on the site, the DotNetNuke Extension Forge was recently rewritten and made available to the community on the www.dotnetnuke.com website. In order to help acquaint users with the recent updates to the Extension Forge, I decided to start “The Forge Tour” blog series. This post is part 1 in a multi-part series and will focus on the process of searching the Extension Forge to find the extensions you are looking for.
Getting to the Results Page
When you first land on the Forge page multiple search options (browse by type, browse by tag, and ‘search projects’) are displayed as well as information related to Forge statistics, a featured extension project and you are also presented with a list of the five latest projects to have a release. From this page, you can reach the search page in one of the follow ways:
- Clicking the “View More Releases” link at the bottom of the module – sample
- Clicking a “Type” such as '”Module” – sample
- Typing a word (or phrase) into the search text box and clicking “Go” – sample
- Clicking on a “Tag” such as “Razor” – sample
In addition to what was just listed, you can generally reach the search page in other areas of the Forge module by clicking the “Search” navigation link in the upper right hand corner of the module. Depending on how you reach the search page (as well as what you are actually searching on) you are going to see one of two possible views. Both views work (and almost look) exactly the same, the primary difference is what ‘filters’ are applied and what, if any, results are displayed to you.
For example, clicking the ‘Search’ navigation link at the top of the module will show you the screen below (note: link not available on initial forge home page). You should note that the “Browse by Type” and “Browse by Tag” look identical to the home page of the module. You should also notice that the search box shifted to the upper right and that this link will always take you to the search page with no filters applied and you should never see any results when first hitting the page (from this link).
If you reached the search page by clicking the “View More Releases” link, it will look very similar to the last screen shot except you will now see a list of search results (which are every project in the forge that is authorized and they are ordered by the most recent release date with the project with the newest release at the top).
Searching with Filters
As previously stated, you can reach the search page in a number of ways. Clicking any ‘tag’ or ‘type’ in addition to searching for a word or phrase will take you to the search results page. In this scenario, unlike the others discussed before, you will now see an “Applied Filters” section. A screenshot with two applied filters is shown below (a tag and a content filter are applied).
Currently, the Forge supports up to three filters (tag, type, content) and only one search parameter can be applied per filter at this time (in other words, you can apply 1 tag but not 2). While I think tags and types are pretty self explanatory, I feel I should clarify that the ‘content’ filter is whatever a user typed into the search textbox. On the backend, the ‘content’ filter searches against a project’s name as well as the content in its description.
As you apply filters, you should notice that the tags displayed are changed along with the project results that are displayed. Basically, a search is done against all tags used throughout the module and its results are displayed (via the tag cloud) in addition to a search being done against all forge releases which has its own result set displayed (via the grid). Technically, the same search is going on in the background we are just getting two different result types (tags vs. projects).
As you mix and match different filter combinations, you will likely find a combination that returns no results. To make the process of getting back to your previous search easier, the applied filters section allows you to remove each filter one by one. Removing a filter will re-run the search with all other filters applied besides the one you just removed. It will also reset any sorting and paging applied previously.
As long as results are returned in a search, the user can sort those results by “Name”, “Downloads” count, or “Date Released” (for now). An important thing to understand here is that any project that does not have a downloadable (and therefore installable release) has “No Release” displayed and it will have the minimum date applied (for sorting purposes). You may also want to make note that sorting or paging will never change the URL nor will they change the filters applied.
In the future, we plan to enhance the search process as more data becomes available to us and we add features but in the meantime I feel its pretty easy to use. I hope all of you find it easy to use as well but if you have any questions related to the module please post them in the Using the Forge forum which I monitor.