Skip to content
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

Feature Request: paginate by repo name #7

Open
guruvan opened this issue Nov 5, 2014 · 5 comments
Open

Feature Request: paginate by repo name #7

guruvan opened this issue Nov 5, 2014 · 5 comments

Comments

@guruvan
Copy link

guruvan commented Nov 5, 2014

This is, by far, the most comprehensive and easy to use registry frontend I've tried! My one wish for it would be to have a tree view with collapsing nodes for each repo, or some other convenient view of just the repo namespaces. Thanks!!

@kwk kwk added the enhancement label Nov 5, 2014
@kwk
Copy link
Owner

kwk commented Nov 5, 2014

@guruvan thank you.

Please be more specific about what your idea is. The title says "paginate" while the rest of the feature request talks about convenient views (e.g. tree views). What shall be visible inside the tree? Can you please draw a sketch and post it here, so we have something to discuss?

Thank you in advance.

@kwk
Copy link
Owner

kwk commented Nov 5, 2014

We can surely talk about pagination in the list of repos or tags, but please specify exactly what you're aiming at.

I see more problems with a tree view than benefits:

  1. The folding and unfolding of branches in the tree cannot be represented in using a URI. Now every site (except the image ancestry list) has it's own URI. This is good if you want to share links. Currently I'm using the hashbang URL scheme which isn't very practical for SEO but since we're talking about private docker registries, this shouldn't be that big of a problem.
  2. For a smooth user experience with as little delay as possible, the tree view would have to preload the content for each folding step. At first sight this sounds to complicated to me and the browser memory would be under heavy load as well.

@guruvan
Copy link
Author

guruvan commented Nov 6, 2014

Thank for the quick reply!! Sorry if i was unclear. We've got dozens of repos and dozens of images in each repo, so the list of images available in the registry is somewhat unmanageable, especially for unfamiliar users.

The tree view was a second thought - having not much angular experience, I've no idea which is easier on the coder, browser, or sever. I can see how this is quite a bit more expensive, though. And, yes, these are definitely private registries, so SEO isn't an issue.

It'd be great if http://registry-frontend/#/repositories listed just the repo names,
repo name link would bring user to http://registry-frontend/#/repositories/repo listing images
image name link would bring user to http://registry-frontend/#/repositories/repo/image

An example from an existing project is https://github.com/worksap-ate/docker-registry-ui. (working demo http://worksap-ate.github.io/docker-registry-ui/#/ ) - which, btw, is quite excellent, but lacks the detailed info for the images/tags and image history that you have built in.

Thanks again!!

@kwk
Copy link
Owner

kwk commented Apr 8, 2015

@guruvan As much as I would like to implement repository pagination in the frontend, there currently is an issue with the docker-registry itself that needs to be clarified first.

@guruvan
Copy link
Author

guruvan commented Apr 9, 2015

Thanks @kwk - The new registry in docker/distribution looks much more promising - haven't tried it yet, but there appears to be no further development on the older python based registry. Have you looked at the v2 API?

kwk added a commit that referenced this issue Sep 3, 2015
We can now navigate forward through all images inside a v2 registry. The
default page size is 10 but it can be changed to some other numbers as
well.

The unused repository selector files have been removed.

The repository list directive was moved to the repository list html
template for simplicity.

The repository list no longer says that it searches for repos but
filters repos on the current page.

The bottom delete repos button has been removed in favor of more space
for the pagination controls.

The pagination works as described here:
https://github.com/docker/distribution/blob/master/docs/spec/api.md#pagination
We take the "Link:" header parameter from the response and extract
portions of it to formulate the next request. As usual, each page is
addressible via the URL.

Note that when changing the number of repositories per page we have no
other way but to go to page 1 and show at max the number of repositories
selected.

There's no way to find out how many repos are there so we cannot provide
page links. Only forward navigation is possible.
@kwk kwk removed the help wanted label Apr 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants