A new extension, "Infinite Scrolling" is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.

This extension replaces the default Symphony behaviour on publish pages, where you have pagination on the bottom of your screen. It allows you to scroll through all your entries, while dynamicly loading them with AJAX-calls.

ooo nice

Giel, do you have telepatic powers?
We were discussing the pagination 2 days ago at the symposium.
We talked about several solutions for this like jump to pagenumber
No one came up with this brilliant sollution! Really usefull for bulk actions if you haven tons of entries
Thank you!

@Symphony 2.3 team: can this be part of the default UI?

I'm not convinced this should be part of the core. Infinite scrolling can really be a pain in some cases so I think it's great to have it as an option but not as a default.

While I like the idea behind this extension, there is a big general issue with infinite scrolling: you can't use any default application shortcut like CTRL+F to search inside the page. This is one of those things we don't want to break in Symphony and it's likely to be the biggest show-stopper for now as far as infinite scrolling is concerned.

But Find-in-page is just as limited with the default paginated listings, no?

I thought Giel's Infinite Scrolling 'threshold' w|could be based on the pagination-number.

But Find-in-page is just as limited with the default paginated listings, no?

Yep, I was thinking of pages where there's no pagination and all the items are listed at once (e.g. the new "Datasources", "Events" and "Utilities" pages).

May I ask which are the benefits of infinite scrolling, rather than having pagination + filtering? How could it be useful in the publish area?

Infinite scrolling is offering you a stream which might be quite nice for continuous content.

@ekoes: The benefits are that you don't have pagination (which could be nice if you have a section with 3000+ entries for example).

Filtering still works however! I use the extension in combination with the Publish Filtering extension. Works like a charm!

I agree this shouldn't be a part of the core, because it would not be desirable in all situations, and it keeps the core of Symphony small.

@eKoeS good point re: the new 'Components' page (I had not thought of that).

I think Infinite Scrolling could provide an enhanced UX: it saves some actions (click small pagination link and wait for page to load, scroll again and repeat from 1.)

There are two issues I'd like to see taken into account: 1) performance 2) Graceful Degradation.

re: 1. The Infinite Scrolling is not always done correctly, it seems. If so the bad performance results in a degraded user experience: slow, stuttering pages, etc.

re: 2. I have not yet taken a look at the JS code but IMHO a good solution would be built on the principles of Progressive Enhancement: replace the 'default' (pagination) with the new functionality. If, for some reason, the JS is not available/properly loaded, it should probably still fall back to the default pagination.

If infinite scrolling is done right I believe it would be a nice feature allowing us to smoothly scroll through many 'pages' of entries.

I tried bulk editing 750 entries, but there was a memory problem
EDIT I know memory issues stands aside from this extension.
But it seems like removing pagination in general for bulk actions is only usefull without memory issues

Tried it in combination with publish filtering, which works, but all none filtered entries show the loading thumbnail...

@1: It sure could need some optimization here and there, I agree with that.

I built this quickly, and it relies heavily on jQuery on some iterations, so much speed can be gained by dropping jQuery on some cases and using native JavaScript. But I haven't had the time yet to completely optimize it all...

If there are some smart scripters out there who could help lifting this to a greater whole, that would be great! Feel Free To Fork! ;-)

@davidhund: I very much agree with you: performance and graceful degradation have to be taken into account.

I agree this shouldn't be a part of the core, because it would not be desirable in all situations, and it keeps the core of Symphony small.

It is difficult to foresee all the use cases. The only thing I can say is that during the Symposium we discussed the possibility of having a simple "page switcher" in the pagination: It might be a good alternative to infinite scrolling.

By the way I like your extension, Giel. Thanks for developing that, it's always good to explore new possibilities! ;)

Is this extension working on the latest release of Symphony? Can someone confirm?

Try installing it, and report back.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details