-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collections of Projects #3784
Comments
I don't know the answer, but I do know that if you're kind enough to open an issue, than it is likely that other people didn't. We should edit the docs to include this information once we figure it out. |
Oh! Great! Thank you. :) |
I'm re-purposing this issue to address implementing this feature. |
What is the meaning of this line. I believe that 'Collections` is specific to a user and not specific to a project. Like there might be a user with zero projects built in RTD but may have one or more collections. I have some loose ideas about features of collections:
Other features we might want:
I would like to discuss this Feature more in detail. |
In thinking about how to implement this, I'm completely overwhelmed by the number of features we're tacking on here and I'm starting to have reservations about collections as a feature. I think this would benefit from a deeper initial planning phase and would definitely benefit from discussions with users. We need to start by at least defining who wants this and how they would use it, as we've not discussed the feature at this level yet. Preferably we have actual input from users here, because I feel like we're making assumptions about how this feature would be used. So before discussing what additional features we can tack on here, I'd rather step way back and look at this from the user perspective. We haven't even defined who this feature is for, to start. Is is a maintainer feature for organizing or showing off a group of projects they maintain? Is it a non-RTD user feature for maintaining a private list of projects they commonly search? Is it both? Who wants this right now? If this is for possibly non-RTD users, how do we even get them using RTD for this feature? After that, we still have a lot of UX and product questions we should be asking ourselves. @dojutsu-user raised some good points, but now I'm just swimming in questions, which means we haven't planned this out enough to start or guide someone on the project. So, before we over-engineer something, let's plan this at a much deeper level and perhaps discuss the feature with some users. Do we know of any that have asked for a feature like this and would be willing to talk with us? |
@agjohnson
There can be many more use cases like this. |
@agjohnson when I think about Collections it comes to me organizations/groups like: encode, pallets and jazzband. So, maybe they are good people to ask about how they could be benefits from this. On the other hand, what would be the differences between a Collections of projects and the concept of Organization that we have in the corporate site. Maybe it worth to make more effort in merging our code base instead of "copying" a feature/concept from the corporate into the community site. To me, it seems that a combination of Organizations + Projects + Subprojects together with a better UX is what it's more related to what I think we want. |
My initial thoughts around this were mostly for search. Specifically:
A lot of the ideas that @dojutsu-user mentioned in this comment capture my thoughts. Thinking more about this, I agree there's a few similar but overlapping ideas:
I think the main value we get from Collections is having an object we can attach Project's to that isn't itself a Project. I think that Organizations could have some value here for attaching permission around Projects, but I think it would be useful to have another grouping for other functionality; eg. search, specific versions, downloads, and other specific metadata. I guess one way of thinking about this is taking the "Project & Subprojects" concept and building it into a more fully formed idea, with a proper abstraction and UX that is more powerful. I don't have a fully formed idea of the UI/UX here. I mostly was thinking about it from the search side of things, and I think there's value in that implementation without adding all the rest of this complexity. I think we would find the abstraction useful over time, and consider adding more functionality onto Collections as we got more comfortable with the ideas. |
@ericholscher
Wouldn't it create too many redundant indexes, like many users can have collections of different names but have same project in their collection? Also thanks for the clarification. I was having the doubt about whether this will this remain as an idea or not. |
@dojutsu-user When we say we're not sure of the UX, we're more concerned about how users interact with and use the feature at this stage, not necessarily the styles/css/or technical implementation. @ericholscher agreed that we are discussing many different core feature sets here. Collections as a reader user feature has me thinking instead about a third party project that interacts with our API, instead of an RTD feature. I think we've described a lot of features here which would be great for reader personalized docsets. Exploring this as a separate product entirely would keep the delineation between reader and maintainer users more clear on RTD, and would make the UX around sharing collections/etc much more clear. I do worry this might be overlapping with Dash/Zeal, or other API/doc browsers, so maybe that is a different way we can take this feature -- by supporting Dash/Zeal, or others, directly. So I think this is the definition of "collections" that we're excited by. The other features are separately useful, but maybe we need to break them away from the "collections" nomenclature. We might have already talked about an artbitrary search index configuration, which is a feature we need on the .com and more generally. Also, subproject nesting for search is not great UX to begin with. This could potentially be controlled by a config file option. Configuration would need both a list of search index ids to index to, and a configuration option for the search index to query on in-doc search. This would be a great addition! A feature that organizes project nesting/hierarchy could be helpful, though would be a complicated change given how deeply subprojects are implemented already. As much as I'd like to see better options for nesting here, it's maybe a low priority? The lack of multiple nesting levels, hardcoded Organization landing pages is hard UX to tackle, given how domains are tied to projects and how common it is to customize HTML output for these pages. So my vote would be to make a project type that facilitates landing pages more easily (probably with a good template project), and rely on the existing mechanisms for domain handing, project nesting, and HTML output. We can maybe focus on making UX here a lot better instead of reimplementing these features for organization landing pages? It's also going to be a feature that isn't used heavily ultimately, so we probably don't need to make a huge investment here, I see more value in having good resources and examples for organizations to use. Also, a strong APIv3 will make this all much more natural and easier to create an automated landing page project. |
@agjohnson I still have some doubts though.
Sorry for so much questions and not able to understand things in one go. But I am really interested in this project and want to understand it better. |
Just an update here, related to search we now can search for several projects and different versions at the same time readthedocs.org/readthedocs/search/faceted_search.py Lines 54 to 55 in 8c2f334
|
Collections of Projects
This project involves building a user interface for groups of projects in Read the Docs (
Collections
).Users would be allowed to create, publish, and search a
Collection
of projects that they care about.We would also allow for automatic creation of
Collections
based on a project'ssetup.py
orrequirements.txt
.Once a user has a
Collection
,we would allow them to do a few sets of actions on them:
Collection
with one search dialogThere is likely other ideas that could be done with
Collections
over time.The text was updated successfully, but these errors were encountered: