Currently, we support both project and version level privacy. This is an extra layer of privacy that really just translates to having a default privacy level for versions. Currently, we treat project and version level privacy as different constructs. There are two options here:
None overrides the project level setting. The project level setting isn't directly used in privacy level determinations.None for all projects going forward.As mention here https://github.com/rtfd/readthedocs.org/pull/3444#issuecomment-354175116, the first step will be removing this option from the forms, what would be the options for projects that already have a non-public level?
Something like that would work?
Hiding the form field via a feature flag (and adding a feature flag migration to indicate a date-based flag) would be a place to start. You're correct that we need to discuss what the logic change should be. Another option:
I don't think the actual value (private/protected/public) matters.
Also, a couple of other related decisions:
I have some thoughts here:
Protected projects involves a "hidden feature" that some people is using: keep _all the versions_ online but do no list/show deprecated/very old ones in the flyout menu.Make the project level privacy the "default version privacy level" and remove the default for the version privacy. Changing this version privacy away from None overrides the project level setting.
I think this option is the one that makes most sense.
This option is "more configurable" by the user. In the case of the .com, if you have a Public project you will create each version as Public which is probably what the user wants.
Otherwise, with your second idea, the user will need to change the privacy level on every new version that she creates (in case we default the privacy level to settings.DEFAULT_PRIVACY_LEVEL.
Hiding the form field via a feature flag (and adding a feature flag migration to indicate a date-based flag) would be a place to start
I'd say that new projects should know nothing about Privacy Levels. Old projects will remain the same for now.
I just suggested adding a version field for "published" or something, but maybe the clearest field name would be hidden. A hidden version can be active, and is published, but not listed. Hidden versions can be public, or private on our commercial hosting.
@rtfd/core Where do folks stand on taking on this work for v3? If we can just hide the field and field choices we don't want anymore, and we don't need a migration event to upgrade old projects to the new logic, this becomes vastly simplified and is probably doable by EOY.
If not, this will be a much larger event and will likely need a separate deprecation event.
If not, can we:
My take is if we can automate this with a migration, we might not want to take this on immediately unless someone feels they have a few weeks to tackle this.
hide project level privacy from new projects without complicating logic?
hide protected privacy level from projects without complicating logic?
+1 on this, I think we can worry about migrating old projects later, but this will be the first step.
Also, I think you were talking to only have privacy levels on versions, but don't we need a way to show/hide the project dashboard/page in .com?
I think that showing the project dashboard page for public projects should be considered buggy behavior on the .com. This was a hold out from how the community site works, and I don't think translates well to customers using our commercial hosting.
Ran into this again with search, where we were respecting the Project privacy, but not the Version, which is almost always what we want to be doing.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
The only thing missing here is the removal from the usage of privacy level in .com, after that we are safe to remove this field from the db.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
We are going to re-evaluate this, as some users want to have the dashboard public among other things.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
I just suggested adding a version field for "published" or something, but maybe the clearest field name would be
hidden. A hidden version can be active, and is published, but not listed. Hidden versions can be public, or private on our commercial hosting.