Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

redirecting navigation items to latest info #12540

Merged
merged 3 commits into from
Sep 15, 2018

Conversation

aaronmarkham
Copy link
Contributor

@aaronmarkham aaronmarkham commented Sep 12, 2018

Description

The website's different versions show people old and sometimes inaccurate info. This PR redirects traffic to old version content to the latest info.
API docs traffic is unaffected. Although I redirect ONNX to the latest.

It should combine nicely with the other htaccess redirects for Clojure and error documents that I have in #12426.

Stats

~3% of site traffic coming from search goes directly to old pages. 5 out of the top 10 of these pages are old installation info. These will all get redirected, helping hundreds of users per week get to the right info!

Detail on Each Change

  1. Architecture - why would someone want to read about MXNet's architecture from v0.11.0? The differences may be minor and these pages are not maintained across versions. There's no reflection on differences that might have occurred over time, their trade-offs or benefits, or anything helpful. Usually it's going to be someone coming in from a search result.

  2. Community - there is no benefit in showing someone old info about how to engage with the community. The old info is most likely inaccurate.

  3. FAQ - again, people are coming off of search results. Giving someone a how-to on the things used to work, is likely going to give them a bad experience.

  4. Gluon - an informational set of pages like these should be up-to-date and not versioned.

  5. Install - this page has a versions dropdown and the collection of pages tell you how to install MXNet today. No one maintains the old branches' install pages. They're probably wrong.

  6. Tutorials - no one maintains the tutorials or tests the tutorials in the old branches. Why let people get frustrated with tutorials that don't work?

  7. ONNX - it's so new and changing that giving people the old info is just a bad idea. It won't work.

Preview

Browse around the old versions on http://34.201.8.176/
If you try to hit any of the main nav items like FAQ, Gluon, Architecture, Tutorials, etc you get redirected to the latest version automatically.

Comments

This gets us even closer to not needing the versions in the main nav and only using it in the API docs and the install page (where we have it already).

@aaronmarkham aaronmarkham requested a review from szha as a code owner September 12, 2018 22:50
@aaronmarkham
Copy link
Contributor Author

@lupesko - please review.

@sandeep-krishnamurthy
Copy link
Contributor

Thanks @aaronmarkham

  1. Change is confusing for readers trying to find docs in other version: With this change, I am unable to see any other doc page for other than master version. Everything gets redirected to master. It is confusing for users, say I click v1.0.0 and Tutorials => gets redirected to landing page of v1.0.0
  2. Versions are now applicable only for APIs. So why don't we just show versions under API? Currently, it is not clear versioning is only for API docs.
  3. I go to a API page (say scala) then change version, it goes to landing page. Should we go to that current page in older version?

@aaronmarkham
Copy link
Contributor Author

@sandeep-krishnamurthy thanks for the feedback. I add clarifications to the description above in a Stats section and a Details on Each Change section.

Change is confusing for readers trying to find docs in other version: With this change, I am unable to see any other doc page for other than master version. Everything gets redirected to master. It is confusing for users, say I click v1.0.0 and Tutorials => gets redirected to landing page of v1.0.0

Basically users are only allowed to browse versions on the API pages. For tutorials I think each one should be tested back through versions and then labelled to what their minimum version is. But since we don't test the old versions now, I think it is better that we don't display them. For your UX flow here, which I think would be quite rare, but we could send them to a page where they get the option to continue to the old broken info, or go to the new stuff.

Versions are now applicable only for APIs. So why don't we just show versions under API? Currently, it is not clear versioning is only for API docs.

Yes! But apparently it wasn't that easy last time when Krishnan tried. I'd like to tackle that next. But at least with this, people aren't going to bad/incorrect/non-working info or tutorials!

I go to a API page (say scala) then change version, it goes to landing page. Should we go to that current page in older version?

It's always done that. Really annoying. That should be fixed too though (or moot if we get the versions just working right within the API section. Next PR?

Copy link
Contributor

@sandeep-krishnamurthy sandeep-krishnamurthy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the details Aaron.
I agree, this is very useful for many users. This is an important fix.
Also, like you pointed out, we have a bad user experience on going to landing page on a version select and not intuitive that only API is versioned. We should try to quickly follow up on that.

@sandeep-krishnamurthy sandeep-krishnamurthy added the pr-awaiting-merge Review and CI is complete. Ready to Merge label Sep 14, 2018
Copy link
Contributor

@lupesko lupesko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, my only concern is around the ONNX part, since this is an API.

RewriteRule ^versions/[^\/]+/gluon/.*$ /gluon/ [R=301,L]
RewriteRule ^versions/[^\/]+/install/.*$ /install/ [R=301,L]
RewriteRule ^versions/[^\/]+/tutorials/.*$ /tutorials/ [R=301,L]
RewriteRule ^versions/[^\/]+/api/python/contrib/onnx.html /api/python/contrib/onnx.html [R=301,L]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ONNX is an API. Why don't we want to allow someone with an older version of MXNet to see ONNX API for that version?

@aaronmarkham
Copy link
Contributor Author

I updated this to be like the Clojure redirects, so that any navbar selection going to ONNX on a version that didn't exist will go to the API error page.
I updated the preview as well so you can test this out. Go to v1.0.0, then try to hit the Docs-->ONNX link in the nav.
Once this passes CI, please merge.

@sandeep-krishnamurthy sandeep-krishnamurthy merged commit 9a5c3ff into apache:master Sep 15, 2018
anirudh2290 pushed a commit to anirudh2290/mxnet that referenced this pull request Sep 19, 2018
* redirecting navigation items to latest info

* adjust onnx redirects based on version
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
pr-awaiting-merge Review and CI is complete. Ready to Merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants