Click anywhere to close this dialog

Farewell

Great is the art of beginning, but greater is the art of ending
Henry Wadsworth Longfellow

I announce that I cease all development and activity in the programming universe indefinitely. My career has reached the turning point I was not expecting for at least another year, leaving me highly off guard and without laid-out plans for this hobby's continuity. I have begun a 5-year residency program in Neurosurgery which is clearly not compatible, time-wise, with programming.

I gave in all my passion for developing, and you gave me back your loyalty and trust, even when I did not deserve that much. Now it is the time for payback. I release all my present and past work as Open Source software, in the hope some talented developer will continue maintaining and expanding my vision of a modern, sleek forum software. The intrinsic flexibility of MyBB is the true hidden gem of an otherwise outdated codebase; I do hope the project can continue and be updated complying to the latest coding standards.

I hereby thank Euan, kawaii, andrewjs18, Ben, Matt, Omar G., effone, Eric J., Devilshakerz, Wildcard, JordanMussi and all the other team members I have had the opportunity to work with when I was a MyBB team member. I thank Tomm M, my mentor, who inspired me to pick up coding with his piece-of-art plugins. And finally, I thank all of you MyBBoost subscribers who have helped me getting through my toughest university years economically.

Yours sincerely, Filippo

Endless beta 1

10 Mar 2018 Edited
#1
Endless is a plugin which replaces normal pagination with an infinite scrolling approach. It is heavily inspired by Flarum's, except it is packed with some modifications which make it completely compatible with the latest MyBB versions and aim to improve its stability and usability.

[Image: 0kGO7wR.gif]

Minimum requirements


PHP 5.4
MyBB 1.8.0

Main features


Extensibility


Endless is designed to replace MyBB pagination of both threads and forums with an infinite scrolling pagination, but it is capable of transforming whatever custom paginated list into an endless scrolling experience. For example, MyBBoost's newsfeed homepage has Endless support with just a few lines of server-side code.

Endless automatically parses lists of valid data in the DOM and sends AJAX requests with a range of items to get from the backend, and it displays a temporary placeholder while the data is being fetched. All you need to do is write down a function which accepts and handles Endless-generated data, gets the requested items and returns them in a standardized fashion. A step-by-step tutorial will be written down after the beta period.

Scrubber-based


QuoteWhat's good about regular pagination is being able to quickly jump through the pages, with infinite scroll I'd have to keep scrolling to get to the last reply. Infinite scrolling looks a lot better than regular pagination but I think its functionality will get tedious, that's unless you've made a workaround for this.

The workaround comes directly from Flarum's inspiration. Endless includes a scrubber, a small draggable item added automatically by the plugin which you can use to quickly jump between posts and threads in the currently viewed discussion/forum. The scrubber position is updated automatically as you scroll, so you always know what's left to read; and you can both drag and drop the scrubber or click a specific point within it to be launched directly to the range of posts you wish to see.

At the current stages, you can choose to hide or display the scrubber and set threads/posts breakpoints after which, if a forum/thread exceed the breakpoint in size, the scrubber is displayed. You can also choose to hide the scrubber if a forum/thread has a single-page amount of data.

Automatic detection or manual triggering


You can tell Endless to automatically detect user's scrolling and show items, or you can set up manual buttons users will need to push in order to load further posts/threads, in both upwards and downwards direction. This feature is currently hardcoded. It will be integrated into MyBB's settings system in beta 2.

Installation


Upload the files maintaining the same folder structure they are compiled to and clicking the button Install & activate within your board's plugin list.

Endless requires 2 CSS classes to work properly:
  • thread to every thread (forumdisplay_thread);
  • post to every post (postbit/postbit_classic).

Ensure you have those classes in your theme’s templates, otherwise it will not work.


Display month and year in the scrubber


The scrubber can detect the currently-visible item's dateline and display a formatted "month year" date as you scroll, so you know an approximate timeline of what you are currently reading. Endless needs a timestamp to process it though; you must add it manually to your templates.
  • forumdisplay_thread: add data-time="{$thread['dateline']}" to the tr.thread element;
  • postbit or postbit_classic: add data-time="{$post['dateline']}" to the div.post element.

Settings


Endless adds 4 settings to tune the scrubber as explained above.

Templates and stylesheets


Endless adds a CSS file named endless.css to every theme of your board. You can customize the scrubber's and placeholders' appearance by editing the stylesheet's CSS rules and the 3 templates added by Endless called endless_placeholder_post, endless_placeholder_thread and endless_scrubber. {totalCount} and {colspan} are replaced by Endless with the respective values (total count of items and colspan to match the variability of MyBB's default theme within forumdisplay, due to mods having an extra column with a checkbox).

Reporting issues and requesting new features


If you encounter an issue or you want to request a new feature for Endless, feel free to open a new thread in this forum with detailed instructions on how to reproduce your issue if you want to report one.

Availability


Endless is available for free. WARNING SIGN Support is discontinued due to my departure from programming. Read more why here.


This project is licensed under

MIT


A simple license with little to no use restrictions, except for author's crediting. Read the provided LICENSE file for more informations.

Permissions

Commercial use
Modification
Distribution
Private use
Limitations

Warranty
Liability
Conditions

License notice
Copyright notice
Filename Size Downloads
28.21 KB 177
Hefty, Glaumy, FishingCraze And 4 others like this post
Sir Twisted 10 Nov 2019 Edited
#31
Hi,

I've added the correct code and it seems to be working but I've noticed the date in the scroller and date of posts are slightly off.

[Image: c24f8d67370194156941a7deba3487d2.png]
Shade 10 Nov 2019
#32
For threads, the dateline refers to the date the thread was started at. If you want it to refer to the last post dateline, use {$thread['lastpost']} instead of {$thread['dateline']}.
Sir Twisted 10 Nov 2019
#33
For threads, the dateline refers to the date the thread was started at. If you want it to refer to the last post dateline, use {$thread['lastpost']} instead of {$thread['dateline']}.
Shade (10 Nov 2019)
Much appreciated! I've looked into the issue a little more with quick reply and it seems to stop working after maybe post 10 or so. You said there is a script that conflicts with others do you know which script it is perhaps as the site doesn't have a quick quote unless it was built into the mybb system.
Shade 10 Nov 2019
#34
Seems like it's gone now.
Sir Twisted 11 Nov 2019
#35
I'm confused as to how this works for the first 10 posts, then not. Quick edit that is.
Shade 11 Nov 2019
#36
Ah, quick edit. Yeah that’s something I need to look at. Endless should load the appropriate functions but somehow, sometimes it doesn’t work. I’ll have a look soon.
Sir Twisted 11 Nov 2019
#37
Ah, quick edit. Yeah that’s something I need to look at. Endless should load the appropriate functions but somehow, sometimes it doesn’t work. I’ll have a look soon.
Shade (11 Nov 2019)
If it helps here is a gif screen grab of the issue, https://i.gyazo.com/572e67416ded1bc8ecf8...bba2fe.mp4
Shade 13 Nov 2019
#38
I've looked into it, and there's a nasty bug which I have to fix somehow. The plugin doesn't get much attention since ages, given its limited success and user-base. However, I will try my best to understand the code again and update the plugin as soon as my schedule allows.
Sir Twisted 14 Nov 2019
#39
Much appreciated @Shade.