-
Notifications
You must be signed in to change notification settings - Fork 641
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
Lose the infinite scroll and show me number of items #818
Comments
We ended up installing Zenbu. In addition to giving us many more column options for the client, it shows pagination and counts. As a (temp?) solution, this might work for you as well. Here's a pic in action: http://cloud.gomasuga.com/0X2r2z0o2F3c Paginated results, and now we're certain that we have 72 entries in this channel. |
The infinite scroll breaks the search ability in all those cases too. If the items aren't already loaded, the search filter doesn't work to find them. |
Mats - Thanks for the comment. There are actually two issues here:
One other issue with infinite scroll. You do a search and whittle the list down to 10 entries (out of how many? Who knows!) and you need to look at each. If you click one and go back, you have to search all over again to get the same 10 to come up again. Otherwise you have to open each of the results in tabs. |
The crucial part of this FR is adding more info/stats to element indexes (i.e. displaying the total number of entries). More filtering options (e.g. entry type, author) would also be very welcome (and there should probably be a As for navigation, a more traditional, paginated view would definitely be way more usable for indexes with a lot of content. If pagination could be achieved as an additional view (i.e. keeping the infinite scroll around), I'd be all for it. If not, I'd opt for pagination across the board (naturally with a "Number of items per page" option). |
I, too, would like this, but as a selectable option. |
If there would be pagination I would prefer to be able to set the number of items per page. |
The infinite scrolling also feels a bit funny for larger amounts of hierarchical content like Structures. |
Noting that I'm the one who put this request in - and I thought I'd comment here so Brad isn't so lonely. |
Yes! Please drop infinite scroll! It's out of place in an otherwise thoughtfully designed admin panel. |
What would happen when you click the checkbox to select all? Currently it selects all items that are loaded in, then when you "infinite scroll" downwards the newly loaded in items will not be selected. |
This feature request had far more upvotes when it was on that other User Voice platform. I feel that it has gotten lost among github repo issues. Is the github "Issues" area the best place to collect this kind of feedback? |
@benjaminkohl We haven’t forgotten the issue. We just don’t care much for it, and have other ideas that will improve these pages when managing large sets of content, that don’t completely do away with infinite scrolling. |
Okay, thanks. |
https://medium.com/simple-human/7-reasons-why-infinite-scrolling-is-probably-a-bad-idea-a0139e13c96b Some points (and good questions in #7) to ponder in that post. We have clients with 10's of thousands of assets and entries, and using Craft becomes tougher (for them AND us...we have to use the CP too), which makes considering it for a site that we know will have zillions of elements a less viable option. |
(FTR I wouldn’t recommend Craft if you have zillions of elements, regardless.) |
Don't mean to derail the thread but as someone who has employed Craft for apps with zillions of elements, that answer is somewhat alarming to me. If so, what's the tipping point, and why? Are we just talking about UI decisions or larger scalability concerns? I say alarming because given my experience with Craft, I wouldn't discourage a client from choosing it simply because of the sheer size of a data-set. Your statement makes me wonder if I should reconsider that, and wonder where the edges are. |
@timkelty I was taking the “zillions” literally 🙃 |
Realistically Craft 2 works pretty well up to the hundreds of thousands of elements; Craft 3 can go significantly higher. |
That's fair, didn't mean to get all heated. 🐲 FWIW, my Craft 2 experience is the mid-hundreds-of-thousands range and the biggest issues I've battled with are:
…neither of which seem all that foundational/architectural to Craft. We've really taken to using Craft as an API data-source for apps with large/rolling data sets, so I could easily see projects approaching the millions of elements. |
What about adding an entry count at the top of the page as an interim addition? This is started to really bug me |
@j-greig Make sure to check out this new Craft 3 plugin to add counts: https://github.com/aelvan/craft-cp-element-count Works well: |
I recently imported 450+ entries which I had to manually polish. Imagine the frustration when segmenting this work and starting again at letter "P", or "W". Infinite scroll = infinite frustration. |
Some good research over at Smashing Magazine: Infinite Scrolling, Pagination Or “Load More” Buttons? Usability Findings In eCommerce |
It's certainly hard work with a large structure. I have a very large category structure with 3 levels deep and about 2000 nodes in total and it's not much fun trying to use it in the backend. |
In the meantime even just an entry count at the top of the listing would be helpful. |
Yes agreed, CraftCMS is super but managing a lot of entries is hard and infinite scroll is the major reason. Especially since the search in incomplete if not all entries are loaded which make the search useless in those cases |
Structure views are one of the main reasons we needed infinite scroll to begin with. Does anyone have an example of a paginated and sortable tree structure? How would you drag an element down a few notches if it’s the last one on the current page? Or drag an element up, if it’s the first one on the page? |
No. But would it be possible for tree structures to have a unique view where either:
I'm not sure that tree structures need the paging and sorting features, since it's a tree. Just searching and toggling children. Maybe I'm alone in this though, which is totally fine. :) |
That was my thinking to @sjcallender |
Find myself wondering about a splittable page with drag-drop between, for the long move problem. You'd probably want search the follow pane in use, the help find the positions, and I don't minimize the effort to make a solid indenting control drag-drop. |
Yep, i agree with @sjcallender on that one. If you get just the top level elements and then you can load in the children dynamically on expand of the parent, that would be ideal. Maybe you could also add a count for total nodes or count of children per top level node which would be useful to the user. |
@sjcallender We’ve seen sites with hundreds of thousands of entries in a single Structure section, so loading them all up front isn’t going to work. The plan we have is sort of a hybrid approach though. We will still lazy load the elements, but the height of the index view will be equal to the final height, if everything were already loaded. Then you can scroll the whole list at once, possibly even jumping to specific points with an iOS-style alphabet list down the right, and Craft will just lazy-load the elements as their position comes into view (without needing to load every single element leading up to that point). |
@brandonkelly I think that sounds like a reasonable approach for structures given the competing challenges. For singles and channels, is pagination on the table? or is it some similar lazy-load hybrid? |
I’d like to start with the full list idea. You don’t see normal apps like Mail adding pagination, and no one seems to mind that, so I’m guessing it’s going to be an elegant solution everywhere. |
I do think, related to this topic in a general "how much content is there" way, that an entry count at the top of any list, whether paginated or "ghost height", would be useful (mentioned by @j-greig above). For example, today we had to confirm whether all 5,500 entries were in a channel into which we imported entries. We had to pop open a MySQL app and look at the table to determine there were 4,835 entries. Would have been nice if the client could have seen that entry count in the CP for themselves, so they could have saved time and skipped directly to yelling at us for missing entries! |
Agree an entry count would be nice. I think there’s a plugin that will give it to you for now, and we will add it eventually. |
@brandonkelly Will your proposed solution fix the issue where you loose position after opening an entry and then hitting the back button, finding yourself back at the start. |
@rynpsc that could be part of it; at that point we could start storing the scroll position in the browser history. |
Is there any progress on this issue?
My thoughts: On my little blog the biggest pain point is simply not having a way to get back to the infinite scroll position I was at when I finish editing a page. If I click on a page, edit it, click save, it should go back to where I was, essentially, right where I left off, if possible. As for number 2, doesn't MySQL keep row counts as a normal piece of updated meta data? It should have very little cost to grab those counts and show them somewhere, I would think. As for number 4, I kind of think that it's a bit unreasonable to need a way to drag and drop for miles down a list. Dragging is for short operations. Instead if you need to move an item "far away" there should be an easy "move" menu where you can select the new location in some kind of popup selector. But if we must drag for miles, you could easily have a hot spot at the bottom of the listing, like a draggable area which triggers the next page to load into view. Whether using infinite scroll or paginated pages, this hot spot could change the page out from under them. This is no different than dragging an app icon on your phone, when you reach the edge it just slides to the next screen. Whether doing infinite scroll or paginated results, dragging across pages should be easy as long as there is a draggable hot spot that triggers the next loading. Hopefully there is some movement on these issues soon! It's nearly 2 year old conversation! |
@guyinpv Good points you make, I support your view. |
CMS's were invented before infinite scroll. I don't understand why we are having to fight for this. |
I have 1000+ entries I need to open individually, how am I going to open all of them without pagination. For the love of god get rid of the infinite scroll. This has been a feature request for almost 2 years now. |
Non-structure views are now paginated for Craft 3.2. If you want to help test, change your "require": {
"craftcms/cms": "3.2.x-dev as 3.2.0-alpha.1",
"...": "..."
} Then run |
Happy April Fools everybody! 😂 |
I created a Craft 3.2 local environment fully expecting this to be an April Fools joke but it turned out to be real and I love it. |
I'm not a fan of infinite scrolling. I don't think it adds anything to the Craft CP other than more JS. I would at least like the option to select "standard" pagination in the control panel. When I'm looking at members, Assets sources, or channel entries, there are no counts anywhere. I have no idea if our current site has 500 or 5000 members, I have no idea if there are 50 or 500 blog posts, and I have no idea how many images are in Assets source X - and neither does the client. Without pagination, we can't even guess at these numbers. I'm just scrolling, scrolling, and eventually give up.
This would apply to (at least): Asset Sources, Users, and channel entries - anything I would normally have to scroll through infinitely.
The text was updated successfully, but these errors were encountered: