From 7935167519a94e94bd3f407d182960245938fb48 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 18 Sep 2019 14:32:44 -0500 Subject: [PATCH 01/12] Design doc for privacy levels Related to #2663, #3781, #4743 --- docs/development/design/privacy-levels.rst | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 docs/development/design/privacy-levels.rst diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst new file mode 100644 index 00000000000..9606cd8b790 --- /dev/null +++ b/docs/development/design/privacy-levels.rst @@ -0,0 +1,91 @@ +Privacy Levels +============== + +This document describes how to handle and unify privacy levels +on the community and commercial version of Read the Docs. + +Current state +------------- + +Currently, we have three privacy levels for projects and versions: + +#. Public +#. Private +#. Protected (currently hidden) + +These levels of privacy aren't clear and bring confusion to our users. +Also, the private level doesn't makes sense on the community site, +since we only support public repos. + +Places where we use the privacy levels are: + +- On serving docs +- Footer +- Dashboard + +Project level privacy +--------------------- + +Project level privacy was meant to control the dashboard visibility. + +This privacy level brings to confusion when users want to make a version public. +We should remove all the project privacy levels. + +For the community site the dashboard would be always visible, +and for the commercial site, the dashboard would be always hidden. + +Some other ideas about keeping the privacy level is to dictate the default version level of new versions. +This can be (or is going to be) possible with automation rules. + +Version level privacy +--------------------- + +Version level privacy is mainly used to restrict access to documentation. +For public level, everyone can access to the documentation. +For private level, only users that are maintainers or that belong to a team with access +(for the commercial site) +can access to the documentation. + +The protected privacy level was meant to hid versions from listings and search. +For the community site these versions are treated like public versions, +and on the commercial site they are treated like private. + +The protected privacy level is currently hidden. +To keep the behavior of hid the versions from listings and search, +a new field should be added to the Version model: ``hidden``. +The privacy level (public or private) would be respected to determinate access to the documentation. + +For the community site, the privacy level would be public and can't be changed. + +The default privacy level of new versions for the commercial site would be ``private``. + +Footer +------ + +The footer is used to display not hidden versions that the current user has access to. + +For the commercial site we use the project level privacy to decide if show or not +links to the project's dashboard. +Given that the project privacy level would be removed, those links would never be shown +(except for admin users). + +Migration +--------- + +For the community and commercial site, we need to: + +- Remove the project privacy level. +- Migrate all protected versions to have the attribute ``hidden = True``. +- Set the privacy level of the version to public for the community site and private for the commercial site. +- Chance all querysets to use the ``hidden`` attribute. +- Update docs + +For the community site: + +- Hide all privacy level related settings. +- Mark all versions as public. + +For the commercial site: + +- Always hide the dashboard +- Show links to the dashboard on the footer only to admin users. From f40b6dc3d6e43d2dc9f789044383268860ca7831 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 18 Sep 2019 18:44:26 -0500 Subject: [PATCH 02/12] Include removal of code that depends on the project's privacy level --- docs/development/design/privacy-levels.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 9606cd8b790..43a73906fd0 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -74,6 +74,8 @@ Migration For the community and commercial site, we need to: +- Remove/change code that depend on the project's privacy level. + Use the default version's privacy level instead. - Remove the project privacy level. - Migrate all protected versions to have the attribute ``hidden = True``. - Set the privacy level of the version to public for the community site and private for the commercial site. From caed34004ea321d7f77f394deaeccfddf9547bb3 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 23 Sep 2019 20:03:20 -0500 Subject: [PATCH 03/12] Clarifications --- docs/development/design/privacy-levels.rst | 32 +++++++++++++++------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 43a73906fd0..847b83712c6 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -15,7 +15,7 @@ Currently, we have three privacy levels for projects and versions: These levels of privacy aren't clear and bring confusion to our users. Also, the private level doesn't makes sense on the community site, -since we only support public repos. +since we only support public projects. Places where we use the privacy levels are: @@ -34,7 +34,8 @@ We should remove all the project privacy levels. For the community site the dashboard would be always visible, and for the commercial site, the dashboard would be always hidden. -Some other ideas about keeping the privacy level is to dictate the default version level of new versions. +Some other ideas about keeping the privacy level is to dictate the default version level of new versions, +but removing all other logic related to this privacy level. This can be (or is going to be) possible with automation rules. Version level privacy @@ -64,30 +65,41 @@ Footer The footer is used to display not hidden versions that the current user has access to. +For the community site not changes are required on the footer. + For the commercial site we use the project level privacy to decide if show or not -links to the project's dashboard. -Given that the project privacy level would be removed, those links would never be shown -(except for admin users). +links to the project's dashboard: downloads, project home, and builds. +Given that the project privacy level would be removed (and the dashboard is always under login), +those links would never be shown (except for admin users). Migration --------- +To differentiate between allowing or not privacy levels, +we need to add a setting ``RTD_ALLOW_PRIVACY_LEVELS``. + For the community and commercial site, we need to: - Remove/change code that depend on the project's privacy level. Use the default version's privacy level instead. + + - Display robots.txt + - Serve 404.html page + - Display sitemap.xml + - Querysets + - Remove the project privacy level. -- Migrate all protected versions to have the attribute ``hidden = True``. -- Set the privacy level of the version to public for the community site and private for the commercial site. -- Chance all querysets to use the ``hidden`` attribute. +- Migrate all protected versions to have the attribute ``hidden = True``, + and set their privacy level to public for the community site and private for the commercial site. +- Change all querysets used to list versions on the footer and on search to use the ``hidden`` attribute. - Update docs For the community site: -- Hide all privacy level related settings. +- Hide all privacy level related settings from the version form. - Mark all versions as public. For the commercial site: - Always hide the dashboard -- Show links to the dashboard on the footer only to admin users. +- Show links to the dashboard (downloads, builds, project home) on the footer only to admin users. From e08654ed6f99c77f257fdc158954184b8bf6db82 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 23 Sep 2019 20:09:17 -0500 Subject: [PATCH 04/12] Name sitemap, robots.txt and 404.html --- docs/development/design/privacy-levels.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 847b83712c6..10c356b310b 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -34,9 +34,14 @@ We should remove all the project privacy levels. For the community site the dashboard would be always visible, and for the commercial site, the dashboard would be always hidden. +The project privacy level is also used to serve the 404.html page, +show ``robots.txt``, and show ``sitemap.xml``. +The privacy level of the default version should be used instead. + Some other ideas about keeping the privacy level is to dictate the default version level of new versions, but removing all other logic related to this privacy level. -This can be (or is going to be) possible with automation rules. +This can be (or is going to be) possible with automation rules, +so we can just remove the field. Version level privacy --------------------- From 7564b1034a93700293a048b750661467e3af6528 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 23 Sep 2019 20:12:25 -0500 Subject: [PATCH 05/12] Literal string --- docs/development/design/privacy-levels.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 10c356b310b..8bb8fd8428b 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -34,7 +34,7 @@ We should remove all the project privacy levels. For the community site the dashboard would be always visible, and for the commercial site, the dashboard would be always hidden. -The project privacy level is also used to serve the 404.html page, +The project privacy level is also used to serve the ``404.html`` page, show ``robots.txt``, and show ``sitemap.xml``. The privacy level of the default version should be used instead. From d5f98a099589d00ca432df56ea9f4d4d67ce8e55 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 23 Sep 2019 20:36:05 -0500 Subject: [PATCH 06/12] Add overview --- docs/development/design/privacy-levels.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 8bb8fd8428b..17d13f27121 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -77,6 +77,28 @@ links to the project's dashboard: downloads, project home, and builds. Given that the project privacy level would be removed (and the dashboard is always under login), those links would never be shown (except for admin users). +Overview +-------- + +For the community site: + +- The project's dashboard is visible to all users. +- All versions are always public. +- The footer shows links to the project's dashboard (build, downloads, home) to all users. +- Only versions with ``hidden = False`` are listed on the footer and appear on search results. +- If a project has a `404.html` file on the default version, it's served. +- If a project has a ``robots.txt`` file on the default version, it's served. +- A ``sitemap.xml`` file is always served. + +For the commercial site: + +- The project's dashboard is visible to only users that have read permission over the project. +- The footer shows links to the project's dashboard (build, downloads, home) to only admin users. +- Only versions with ``hidden = False`` are listed on the footer and appear on search results. +- If a project has a `404.html` file on the default version, it's served if the user has permission over that version. +- If a project has a ``robots.txt`` file on the default version, it's served if the user has permission over that version. +- A ``sitemap.xml`` file is served if the user has permissions over the default version. + Migration --------- From 0bed2fcfda7b5f1d5a1f7ea7013ef9313e7922c6 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 25 Sep 2019 19:19:35 -0500 Subject: [PATCH 07/12] Add "table" overview --- docs/development/design/privacy-levels.rst | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 17d13f27121..c7298cff860 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -130,3 +130,77 @@ For the commercial site: - Always hide the dashboard - Show links to the dashboard (downloads, builds, project home) on the footer only to admin users. + +Upgrade path overview +--------------------- + +Community site +############## + +The default privacy level for the community site is public for project and versions. + +Public project +~~~~~~~~~~~~~~ + +- Public version: + Normal usa case, not changes required. +- Protected version: + Users didn't want to list this version on the footer, + but also not deactivate it. This can be solved by using the new ``hidden`` setting. +- Private version: + Users didn't want to show this version to their users yet or they were testing something. + This can be solved with the pull request builder feature and the ``hidden`` setting. + +Protected project +~~~~~~~~~~~~~~~~~ + +Protected projects are not listed publicly. +Probably users were hosting a WIP project, +or personal public project. +A public project with public versions should work for them, +as we are removing listing all projects publicly (except for search). + +Private project +~~~~~~~~~~~~~~~ + +Probably these users want to use our enterprise solution instead. +Or they were hosting a personal project. + +Commercial site +############### + +The default privacy level for the commercial site is private for project and versions. + +Private project +~~~~~~~~~~~~~~~ + +- Private version: + Normal usa case, not changes required. +- Protected version: + Users didn't want to list this version on the footer, + but also not deactivate it. This can be solved by using the new ``hidden`` setting. +- Public version: + User has private code, but want to make public their docs. + +Protected project +~~~~~~~~~~~~~~~~~ + +I can't think of a use case for protected projects, +since they aren't listed publicly on the commercial site. + +Public project +~~~~~~~~~~~~~~ + +Currently we show links back to project dashboard if the project is public, +which probably users shouldn't see. +With the implementation of this design doc, +public versions don't have links to the project dashboard and the dashboard is always under login. + +- Private versions: + Users under the organization can see links to the dashboard. +- Protected versions: + Users under the organization can see links to the dashboard. +- Public versions: + All users can see links to the dashboard. + Probably they have an open source project, + but they still want to manage access using the same teams of the organization. From 779989dbef708841049c16b91214025f44ac387b Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 7 Oct 2019 11:07:06 -0500 Subject: [PATCH 08/12] Typos Co-Authored-By: David Fischer Co-Authored-By: Manuel Kaufmann --- docs/development/design/privacy-levels.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index c7298cff860..60628325eb1 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -52,14 +52,14 @@ For private level, only users that are maintainers or that belong to a team with (for the commercial site) can access to the documentation. -The protected privacy level was meant to hid versions from listings and search. +The protected privacy level was meant to hide versions from listings and search. For the community site these versions are treated like public versions, and on the commercial site they are treated like private. The protected privacy level is currently hidden. -To keep the behavior of hid the versions from listings and search, +To keep the behavior of hiding versions from listings and search, a new field should be added to the Version model: ``hidden``. -The privacy level (public or private) would be respected to determinate access to the documentation. +The privacy level (public or private) would be respected to determine access to the documentation. For the community site, the privacy level would be public and can't be changed. @@ -70,7 +70,7 @@ Footer The footer is used to display not hidden versions that the current user has access to. -For the community site not changes are required on the footer. +For the community site no changes are required on the footer. For the commercial site we use the project level privacy to decide if show or not links to the project's dashboard: downloads, project home, and builds. @@ -115,7 +115,7 @@ For the community and commercial site, we need to: - Display sitemap.xml - Querysets -- Remove the project privacy level. +- Remove `Project.privacy_level` field - Migrate all protected versions to have the attribute ``hidden = True``, and set their privacy level to public for the community site and private for the commercial site. - Change all querysets used to list versions on the footer and on search to use the ``hidden`` attribute. @@ -143,7 +143,7 @@ Public project ~~~~~~~~~~~~~~ - Public version: - Normal usa case, not changes required. + Normal use case, no changes required. - Protected version: Users didn't want to list this version on the footer, but also not deactivate it. This can be solved by using the new ``hidden`` setting. From d6d477a9fca9b8c3d9c7a929e08ea5b2432f6b7b Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 7 Oct 2019 12:12:08 -0500 Subject: [PATCH 09/12] Changes from review --- docs/development/design/privacy-levels.rst | 41 ++++++++++++---------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 60628325eb1..b8ae4fbfc8c 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -58,12 +58,13 @@ and on the commercial site they are treated like private. The protected privacy level is currently hidden. To keep the behavior of hiding versions from listings and search, -a new field should be added to the Version model: ``hidden``. +a new field should be added to the Version model and forms: ``hidden`` (`#5321 `__). The privacy level (public or private) would be respected to determine access to the documentation. For the community site, the privacy level would be public and can't be changed. -The default privacy level of new versions for the commercial site would be ``private``. +The default privacy level of new versions for the commercial site would be ``private`` +(this is the ``DEFAULT_PRIVACY_LEVEL`` setting). Footer ------ @@ -75,7 +76,8 @@ For the community site no changes are required on the footer. For the commercial site we use the project level privacy to decide if show or not links to the project's dashboard: downloads, project home, and builds. Given that the project privacy level would be removed (and the dashboard is always under login), -those links would never be shown (except for admin users). +those links would never be shown, except for admin users (owners or from a team with admin access) +since they are the only ones allowed to make changes on the project. Overview -------- @@ -103,7 +105,7 @@ Migration --------- To differentiate between allowing or not privacy levels, -we need to add a setting ``RTD_ALLOW_PRIVACY_LEVELS``. +we need to add a setting ``RTD_ALLOW_PRIVACY_LEVELS`` (``False`` by default). For the community and commercial site, we need to: @@ -124,6 +126,7 @@ For the community and commercial site, we need to: For the community site: - Hide all privacy level related settings from the version form. +- Don't expose privacy levels on API v3. - Mark all versions as public. For the commercial site: @@ -137,10 +140,10 @@ Upgrade path overview Community site ############## -The default privacy level for the community site is public for project and versions. +The default privacy level for the community site is public for versions and the dashboard is always public. -Public project -~~~~~~~~~~~~~~ +Public project (community) +~~~~~~~~~~~~~~~~~~~~~~~~~~ - Public version: Normal use case, no changes required. @@ -151,8 +154,8 @@ Public project Users didn't want to show this version to their users yet or they were testing something. This can be solved with the pull request builder feature and the ``hidden`` setting. -Protected project -~~~~~~~~~~~~~~~~~ +Protected project (community) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Protected projects are not listed publicly. Probably users were hosting a WIP project, @@ -160,8 +163,8 @@ or personal public project. A public project with public versions should work for them, as we are removing listing all projects publicly (except for search). -Private project -~~~~~~~~~~~~~~~ +Private project (community) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Probably these users want to use our enterprise solution instead. Or they were hosting a personal project. @@ -169,10 +172,10 @@ Or they were hosting a personal project. Commercial site ############### -The default privacy level for the commercial site is private for project and versions. +The default privacy level for the commercial site is private for versions and the dashboard is show only to admin users. -Private project -~~~~~~~~~~~~~~~ +Private project (commercial) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Private version: Normal usa case, not changes required. @@ -182,19 +185,19 @@ Private project - Public version: User has private code, but want to make public their docs. -Protected project -~~~~~~~~~~~~~~~~~ +Protected project (commercial) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I can't think of a use case for protected projects, since they aren't listed publicly on the commercial site. -Public project -~~~~~~~~~~~~~~ +Public project (commercial) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Currently we show links back to project dashboard if the project is public, which probably users shouldn't see. With the implementation of this design doc, -public versions don't have links to the project dashboard and the dashboard is always under login. +public versions don't have links to the project dashboard (except for admin users) and the dashboard is always under login. - Private versions: Users under the organization can see links to the dashboard. From b82b3d3551177bb6b4b8d9ab2d436b78f780073c Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 6 Jan 2020 17:40:36 -0500 Subject: [PATCH 10/12] Make more clear the migration path --- docs/development/design/privacy-levels.rst | 35 +++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index b8ae4fbfc8c..43a7aeaa153 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -98,8 +98,9 @@ For the commercial site: - The footer shows links to the project's dashboard (build, downloads, home) to only admin users. - Only versions with ``hidden = False`` are listed on the footer and appear on search results. - If a project has a `404.html` file on the default version, it's served if the user has permission over that version. -- If a project has a ``robots.txt`` file on the default version, it's served if the user has permission over that version. -- A ``sitemap.xml`` file is served if the user has permissions over the default version. +- If a project has a ``robots.txt`` file on the default version, and it's public, it's served. +- A ``sitemap.xml`` file is served if the user has at least on public version. + And it will only list public versions. Migration --------- @@ -109,8 +110,8 @@ we need to add a setting ``RTD_ALLOW_PRIVACY_LEVELS`` (``False`` by default). For the community and commercial site, we need to: -- Remove/change code that depend on the project's privacy level. - Use the default version's privacy level instead. +- Remove/change code that depends on the project's privacy level. + Use the global setting ``RTD_ALLOW_PRIVACY_LEVELS`` and default version's privacy level instead. - Display robots.txt - Serve 404.html page @@ -118,7 +119,7 @@ For the community and commercial site, we need to: - Querysets - Remove `Project.privacy_level` field -- Migrate all protected versions to have the attribute ``hidden = True``, +- Migrate all protected versions to have the attribute ``hidden = True`` (data migration), and set their privacy level to public for the community site and private for the commercial site. - Change all querysets used to list versions on the footer and on search to use the ``hidden`` attribute. - Update docs @@ -149,10 +150,13 @@ Public project (community) Normal use case, no changes required. - Protected version: Users didn't want to list this version on the footer, - but also not deactivate it. This can be solved by using the new ``hidden`` setting. + but also not deactivate it. + We can do a data migration of those versions to the new ``hidden`` setting and make them public. - Private version: Users didn't want to show this version to their users yet or they were testing something. This can be solved with the pull request builder feature and the ``hidden`` setting. + We migrate those to public with the ``hidden`` setting. + If we are worried about leaking anything from the version, we can email users before doing the change. Protected project (community) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -160,15 +164,22 @@ Protected project (community) Protected projects are not listed publicly. Probably users were hosting a WIP project, or personal public project. -A public project with public versions should work for them, +A public project should work for them, as we are removing listing all projects publicly (except for search). +The migration path for versions of protected projects is the same as a public project. + Private project (community) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Probably these users want to use our enterprise solution instead. Or they were hosting a personal project. +The migration path for versions of private projects is the same as a public project. + +If we are worried about leaking anything from the dashboard or build page, +we can email users before doing the change. + Commercial site ############### @@ -182,8 +193,10 @@ Private project (commercial) - Protected version: Users didn't want to list this version on the footer, but also not deactivate it. This can be solved by using the new ``hidden`` setting. + We can do a data migration of those versions to the new ``hidden`` setting and make them private. - Public version: User has private code, but want to make public their docs. + No changes required. Protected project (commercial) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -191,6 +204,8 @@ Protected project (commercial) I can't think of a use case for protected projects, since they aren't listed publicly on the commercial site. +The migration path for versions of protected projects is the same as a private project. + Public project (commercial) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -201,9 +216,15 @@ public versions don't have links to the project dashboard (except for admin user - Private versions: Users under the organization can see links to the dashboard. + Not changes required. - Protected versions: Users under the organization can see links to the dashboard. + We can do a data migration of those versions to the new ``hidden`` setting and make them private. - Public versions: All users can see links to the dashboard. Probably they have an open source project, but they still want to manage access using the same teams of the organization. + Not changes are required. + +A breaking change here is: +users outside the organization would not be able to see the dashboard of the project. From 3fe301fbae175269abe968c21ef73da4a975ed31 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Tue, 7 Jan 2020 10:08:56 -0500 Subject: [PATCH 11/12] Clarification about 404 and robots.txt --- docs/development/design/privacy-levels.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 43a7aeaa153..6f8d31774bb 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -97,8 +97,8 @@ For the commercial site: - The project's dashboard is visible to only users that have read permission over the project. - The footer shows links to the project's dashboard (build, downloads, home) to only admin users. - Only versions with ``hidden = False`` are listed on the footer and appear on search results. -- If a project has a `404.html` file on the default version, it's served if the user has permission over that version. -- If a project has a ``robots.txt`` file on the default version, and it's public, it's served. +- If a project has a ``404.html`` file on the default version, it's served if the user has permission over that version. +- If a project has a ``robots.txt`` file on the default version, it's served if the user has permission over that version. - A ``sitemap.xml`` file is served if the user has at least on public version. And it will only list public versions. From b9cc130e7948579ab774e66f83586cf6d6c78b90 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 18 Mar 2020 13:50:27 -0500 Subject: [PATCH 12/12] Typo --- docs/development/design/privacy-levels.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/design/privacy-levels.rst b/docs/development/design/privacy-levels.rst index 6f8d31774bb..9a1b9decc7b 100644 --- a/docs/development/design/privacy-levels.rst +++ b/docs/development/design/privacy-levels.rst @@ -36,7 +36,7 @@ and for the commercial site, the dashboard would be always hidden. The project privacy level is also used to serve the ``404.html`` page, show ``robots.txt``, and show ``sitemap.xml``. -The privacy level of the default version should be used instead. +The privacy level from versions should be used instead. Some other ideas about keeping the privacy level is to dictate the default version level of new versions, but removing all other logic related to this privacy level. @@ -99,7 +99,7 @@ For the commercial site: - Only versions with ``hidden = False`` are listed on the footer and appear on search results. - If a project has a ``404.html`` file on the default version, it's served if the user has permission over that version. - If a project has a ``robots.txt`` file on the default version, it's served if the user has permission over that version. -- A ``sitemap.xml`` file is served if the user has at least on public version. +- A ``sitemap.xml`` file is served if the user has at least one public version. And it will only list public versions. Migration