-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52064/#review198236
-----------------------------------------------------------



Vinod and I went over this, a couple of issues:

* The [endpoint 
documentation](http://mesos.apache.org/documentation/latest/endpoints/) is only 
being generated for latest (see 
https://github.com/apache/mesos/blob/master/support/mesos-website/build.sh), 
this needs to be generated for each version.
* The C++ and Java API documentation is only being generated for latest (not 
sure how easy this is to fix, maybe if you also tackle this do so in a seperate 
patch). Also note that home.md linked directly to "/api/latest/c++" and 
"/api/latest/java" which means that the old versions would send users to latest 
c++ and java docs.
* We had a hard time figuring why some of the code changes were needed or what 
they were doing (e.g. some of the new regexes, or why the version selector 
drop-down has an empty value for the first entry), some comments would be 
helpful for the reader.

We were thinking the following approach would be good alternative:

* In order to ensure that we generate the HTTP help endpoint documentation 
correctly for each version, the 
[build.sh](https://github.com/apache/mesos/blob/master/support/mesos-website/build.sh)
 script would loop over each 1.x.y tag (excluding -rc#'s) and checkout the tag 
into a sub-directory. Within this sub-directory, we would build mesos and 
generate the help endpoints documentation. This sub-directory would probably be 
named directly as the version (e.g. "1.0.0", "1.4.1", etc).
* Note that for efficiency reasons (it's very expensive to build mesos for so 
many tags), the build.sh script would skip a tag if it finds that the publish 
directory already exists for the version in the mesos-site repository.
* The Rakefile would be updated to look at each version checkout subdirectory, 
and would generate the docs using the documentation folder within that specific 
version subdirectory.
* Not sure if the releases YAML still needs the docs tag, it seems so since 
it's used in the javascript. This would at least need to be updated so that 
everything before 1.0.0 is "false".
* Is it possible to put the version selector on the right side of the blue 
banner?

- Benjamin Mahler


On Feb. 13, 2018, 3:44 p.m., Tim Anderegg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52064/
> -----------------------------------------------------------
> 
> (Updated Feb. 13, 2018, 3:44 p.m.)
> 
> 
> Review request for mesos, haosdent huang and Vinod Kone.
> 
> 
> Bugs: MESOS-3011
>     https://issues.apache.org/jira/browse/MESOS-3011
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch updates the website build process to allow for documentation to be 
> generated for all versions of Mesos, based on the existing Git tags.  
> Additionally, the website is updated with a dropdown list of the available 
> versions of documentation.  If a user changes versions and the old version 
> does not have the current page, a notice will be displayed and the user 
> redirected to the home page for the desired version.
> 
> This is a temporary measure to "catchup" the documentation for the website by 
> generating docs for all previous versions.  Going forward, as each new 
> version of Mesos is released the documentation will be generated for that 
> version only.
> 
> ![Dropdown list of versions.](https://i.imgur.com/xvukEBGl.png)
> Screenshot of the dropdown list of versions.
> 
> ![404 Message](https://i.imgur.com/kqXNsxvl.png)
> Screenshot of the message displayed if a page does not exist for the selected 
> version.
> 
> 
> Diffs
> -----
> 
>   site/Gemfile 877fe914a9787c140848fdf9958571fec5fa58ff 
>   site/Gemfile.lock 909f3f3badeaa47c80929e243ce36307766edee4 
>   site/Rakefile 31ef6ffe225ce7ddc573054058af1070b9e96b09 
>   site/config.rb 04bc7aa1e0ac61ce5d89fd53d32f265532996913 
>   site/data/releases.yml 56fd0fc7f5e34873c9b088778d77f9a6718a5933 
>   site/source/assets/js/versions.js PRE-CREATION 
>   site/source/layouts/basic.erb 8a07488940f3793d6fdd291dbe896e098f321c96 
> 
> 
> Diff: https://reviews.apache.org/r/52064/diff/7/
> 
> 
> Testing
> -------
> 
> Testing was done manually to verify that the documentation was built for each 
> version of Mesos that is supported (some older versions do not have 
> compatible documentation).
> 
> 
> Thanks,
> 
> Tim Anderegg
> 
>

Reply via email to