Good day,
I have small tip for you today. Did you know that understanding the URL format will give you the power to find forums that you didn't even know exist? Moreover, by understanding the URL format you can learn a lot about the forums that you are using. In this post I would like to explain the URL address format of Microsoft forums, but first we need some background.
Background
TechNet or MSDN forums
TechNet forums and MSDN forums are one and the same. We navigate to the forums using different URL address, but behind the scene these are one and the same, only the GUI interface is different. I will elaborate on URL Mapping in the next section.
Let's examine the three links bellow (click the image to open full screenshot, or use the link to go to the original thread):
We can see that each of the above links returns totally different interface GUI, but the content of the threads is the same.
* For the sake of this blog we will use the name "TechNet" instead of explicitly write "TechNet & MSDN" every time.
URL Mapping
If you develop web application, then you probably familiar with the idea of URL mapping, which means parsing the URL according to our templates and mapping browsers requests according to the URL parts, as they were variables (values of specific parameter).
In old traditional websites incoming request for a URL typically maps to a physical file that handles the request. URL format can be:
{protocol}://{domain}/{path to internal folder}/{File name}
For example:
https://social.msdn.microsoft.com/FolderName/Filename.aspx
Passing values of parameters from the client to the server can be done using GET method, which mean that the data sent in the URL address. For example, if I want to pass the parameter "Language Culture Names", then I can add to the URL a question Mark "?" and list of parameters and their values, separated by the sign "&".
https://social.msdn.microsoft.com/FolderName/Filename.aspx?culture=he-IL
URL mapping allows us to define URL patterns that map the URL requests to any process that we are doing behind the scene, and not only to a physical file. This mean that we can parse the URL, during processing the incoming request. Each part of the pattern can be used as parameter. For example, we can configure the pattern:
{protocol}://{domain}/{culture}
Therefore, our URL can be simple as:
https://social.msdn.microsoft.com/He-IL
Microsoft Forums use URL mapping, and in this blog I want to explain the different patterns, which configured in Microsoft forums. This can be used use in order to find the forum that we need, without even knowing that there is one. All we need to do is to fill the pattern and hope to get an active forum. Moreover, if you are currently using a forum and you want to know more about it, then all you need is to understand the URL address.
For the sake of this post the meaning of URL format is the same as the meaning of URL templates. From the client's point of view the website address has specific format, which is the URL format. But from the point of view of the developer we actually configure URL templates behind the scene.
TechNet Forum URL templates
Well, now that we understand the idea of URL mapping, and we understand that web application can use templates of URLs, we can start our discussion about the templates that Microsoft forums use. Microsoft forums are in fact is one forum, where its threads are divided by different parameters.
* In a followup blog (part-2) we will discuss more advanced options, and how to use the GUI interface (internal links and buttons) in order to navigate the forum threads.
Choose your interface GUI
This is our most simple template:
https://social{.interface name}.microsoft.com/Forums/
We can see that the above template includes the parameter "interface name". This part will configure which interface GUI we are going to use. An example can be seen in the images above in the section "TechNet or MSDN forums". This part can get values: empty, technet, and msdn.
You can change the forums appearance and behavior by simply choosing a different interface. Personally I use the msdn interface, since the technet interface includes some serious bugs in the Hebrew language (related to RTL text).
(*) if the Language Culture Name does not exist (check next section) or if we do not declare it, then you will be redirected to the English language, which serves as a global interface.
Choose the Culture name
The basic Template of the forums URL address is the Home Page for specific culture, which have the format of:
https://social{.interface name}.microsoft.com/Forums/{Language Culture Name}/home
We can see that the above template includes two parameters: (1) interface name, and (2) Language Culture Name.
Language Culture Name: The forums threads are divided into cultures. You can get a list of Language Culture Names in the link here.
Now, without any additional information you already have the power to find forums in any culture that exists at Microsoft forums, even if you do not know that it exists (*1). For example, you can find the English forums by using the URL:
https://social.msdn.microsoft.com/Forums/en-US/home
and you can find the Hebrew forums simply by changing the Language Culture Name in the URL address:
https://social.msdn.microsoft.com/Forums/he-IL/home
(*) The Language Culture Name also determines the display configuration of the page. For example, the language of the menus, the direction of the page "Right To Left" or "Left To Right", and so on.
Choose the Category
Let's add another parameter and examine a more complex template, which includes Category name.
https://social{.interface name}.microsoft.com/Forums/{Category name}/{Language Culture Name}/home
Category name: The threads in the forum divided into categories like: "Using Forums", "SQL Server", "Microsoft Azure", "Visual Studio Development", "Visual Studio Languages", "SharePoint", "Microsoft Office for Developers", etc. Each category represented by a short string that is used in the URL address. For example, the category "SQL Server" represented by "sqlserver". There are at least 127 different categories which I know about (*2).
There are two options to get all the threads in a specific category. We can use the direct parameter using HTTP GET method, or we can use template that includes the parameter. The below links will take us to the same result, all the threads in a specific category in a specific culture:
https://social.msdn.microsoft.com/Forums/en-US/home?category=sqlserver
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?category=sqlserver
(*2) Several weeks ago I wrote TechNet WIKI article, which includeed List of forums by Language Culture Names, categories, and field of discussions (topic). You can find the article here.
Once we know the category short name, we can use it in order to find all the threads in that category in a specific culture, using the Home Page template. For example, all threads in the category "SQL Server" in English culture is:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home
Let's examine the power of our new knowledge.
Q: Can you find the threads in "SQL Server" category, in Hebrew culture?
A: The answer is:
https://social.msdn.microsoft.com/Forums/sqlserver/he-IL/home
Choose Specific topic (what usually refers to as a 'forum')
As I mentioned above the logic of specific forum does not exactly fit to Microsoft forum, as all threads behave like one big forum. We can filter the threads by specific topic, which is the equivalent to specific forum. For the sake of this post and any common discussion, whenever we are talking about Microsoft forum, we mean all the threads in a specific topic.
https://social{.interface name}.microsoft.com/Forums/{Category name}/{Language Culture Name}/home?forum={topic}
As expected all we need in order to get the threads of specific topic (field of discussions) is to add another parameter using the GET method. For example, the next link will take us to the "Transact-SQL" forum:
https://social.msdn.microsoft.com/Forums/en-US/home?forum=transactsql
Choose specific thread
Short option:
https://social{.interface name}.microsoft.com/Forums/{Language Culture Name}/{Thread unique ID}/Full version:
https://social{.interface name}.microsoft.com/Forums/{Language Culture Name}/{Thread unique ID}/microsoft-forums-url-address-format?forum={topic}
(*) Understanding the URL format allows you to find the thread ID, which is very important for administrative actions for example.
Advanced options
Here are several of the more advanced parameters that can be helpful to filter the threads. These are HTTP GET method parameters. In order to use them you need to separate the parameters with the "&" sign and they all come after the "?".
- Filter threads: filter=
- alltypes - default option, show all threads
- answered - includes responses that marked as answer
- unanswered - open questions
- proposed - includes responses that proposed as answer, but not get includes responses that marked as answer. This filter is very useful for Moderators that need to close threads!
- general - General discussion
- noreplies - Threads that did not get any response. This is great option if you are want to be the first that answer new threads.
- helpful - Threads that include responses that marked as helpful.
- hascode - Threads that include code.
- alllanguages - returns threads from all languages and not just the current Language Culture Name. This is very useful for members that use several languages.
- Sort order: sort=
- lastpostdesc - Most recent post.
- firstpostdesc- Most recent thread
- votesdesc - Total votes
- repliesdesc - Total replies
- viewsdesc - Total Views
For example: The next link will returns all threads (1) using the msdn interface, (2) in the Hebrew language culture displayed, (3) in multiple forums/topics (Hebrew dot.net C#; Hebrew SQL Server; English Transact SQL), (4) filtered by alltypes + by alllanguages (which mean that in spite the use of Hebrew language culture, we get threads from all languages), (5) sorting by lastpostdesc.
Conclusion
We saw in this post the basic templates of Microsoft forum URL address. We saw how we can find forums by language culture, category, and specific topic (field of interest). We can use this knowledge in order to search forums which we have no information whether exist, simply by trying to change the values of the parameters in the URL address, according to the URL template.
What next?
Did you know that most of the options to navigate the forum using URL address, are also available using the GUI interface? In the followup post we will discuss these options...
I hope that the post was useful
- Ronen
Ronen, very interesting article
Thanks NinoRCTN 😉
Nice work, Ronen – it explains one or two anomalies that I come across occasionally.
Thanks Noel
I glad to hear that it is helped in something already:-)
Hello Ronen,
There is one further, interesting sort order: viewsdesc
See https://blogs.msdn.microsoft.com/samlester/2016/01/15/sorting-msdn-forums-threads-by-number-of-page-views/
Olaf
Thanks Olaf, Nice one 🙂
sort by number of views… I will add to the blog
* by the way, I sent you PM on Facebook, Please check it 🙂
Nice! I love the analytical approach you took when tackling this, Ronen! Fantastic job on this!
Thanks Ed:-)
Precise content! As usual Ronen!
I’m blushing 🙂
Thanks Chen
Excellent article, Ronen. Many thanks! 🙂
Here’s a link to a forum which you have NOT mentioned though:-
https://social.microsoft.com/Forums/en-US/1f38e035-38f3-4469-801c-3c1c4a700de4/how-can-i-reinstate-this-thread?
You will note that there is no TechNet or MSDN mentioned in the URL
Please will you explain?
Please re-read the post!
This is one of three interfaces that I mentioned in the background.
* The post explain the different options and does not brings any combination available! Using the different options explained in the post you can simply get the specific URL that you show here.