I hadn't been planning on talking much about this just yet, but the fork has come up a couple times in conversation recently so I figured I'd put this up to get it out of the way and answer any questions there may be.
Click here for the full post, plus links to stay in touch with how development goes: http://www.dreamhearth.org/fireside/ ...or just read on.
Fireside is an in-development fork of the esoTalk software by Toby Zerner. Recently esoTalk was abandoned in favor of the development of a from-scratch forum software, leaving many esoTalk users wondering about the next step. Fireside picks up where esoTalk left off, adding new features while holding onto the speed and simplicity that esoTalk users know and love.
The interface for plugin and skin authors is difficult to navigate, and many things are challenging or impossible without modifying core.
This is a problem that is hindering the growth of the esoTalk community. After some discussion and investigation, it was apparent that the current system for plugins and skins has significant flaws. I won't get into all of the reasons for this, but here are some highlights: The hooks system is incomplete, forcing some plugins to modify core; The primary mechanism for extending a view is to overwrite the view with a new file, making it impossible for skins and plugins to modify the same view without a conflict; The platform core emits HTML frequently, making it more difficult for skins to take full control of the visuals.
Development and maintenance of the platform core is challenging.
As Toby said himself: "esoTalk is great, but its codebase is unsustainable. It is built on a custom pseudo-framework which means a lot of wheels are being reinvented. Its potential is limited by the many inherent flaws of this approach."
To address these problems, the plugins and skins system is being heavily modified in Fireside.
Controllers no longer emit HTML at any point—instead they pass data on to the view and the active skin is the sole owner of presentation step, transforming that data into HTML.
Plugins can no longer override views. Instead, plugins hook into core using a system of actions and filters. This lets plugins modify and add data that enters and leaves the controller but before it goes to the view.
The PHP views used in skins are being ported to Handlebars templates. Using a template language for the interface makes skin development much easier and more enjoyable. This also enforces the separation of presentation and data—if the data is not emitted from the controller or a plugin, it's not available in the view.
This lets skins own the presentation step completely, but affords plugins the flexibility to expand on the functionality for any view and any controller. More importantly, there's much less of a chance of a conflict occurring between skins and plugins.
At this point, you're probably wondering about compatibility. Custom esoTalk skins will not be compatible with Fireside, but the new template system makes skin development much easier and more intuitive. Plugins will require some modification to be compatible with Fireside. To address this, the Fireside developers will manually port several popular plugins to the new plugin system, letting a majority of users upgrade without losing functionality. For more on compatibility, read the section below.
As development goes on, we're gradually working on cleaning out and caring for the code in core. It's currently less of a priority, since a vast majority of users should never have to interact with core. However, making the codebase easy and fun to develop on will help a lot in the long-term.
Development is ongoing on GitHub . Currently I've got an early version of the theme system working on a separate feature branch and I'm converting the base theme to Handlebars. You can track the progress of that here .
When making substantial revisions to software, bugs will crop up and some sacrifices have to be made. Fireside is being careful to preserve compatibility where possible.
We know a lot of users value the ability to install their forum software on shared hosting. For this reason, installation and upgrade will continue to be possible via FTP or git just like esoTalk. To upgrade from esoTalk to Fireside, simply replace all files except the configuration file.
Unfortunately, plugins and themes made for esoTalk will not be compatible without some modification. However, to main upgrading as painless as possible, we'll be manually porting many of the most common plugins, including Likes and reCaptcha, for example. Plugins that rely on the database will use the same database tables, so if your current forum has Likes and you choose to upgrade, just can use the new Likes plugin and you won't lose any data or functionality.
Q: Will Fireside be compatible esoTalk?
A: Mostly. Existing esoTalk installations will be able to upgrade to Fireside via FTP or git, making the installation/upgrade process identical to the existing esoTalk process. However, plugins and themes made for esoTalk will need to be modified to run in Fireside. The Fireside developers will attempt to ensure as many plugins as possible are available to upgrade for Fireside so that users will not have to miss out on functionality they currently use in esoTalk.
Q: What are the goals of Fireside?
A: The stated objective of esoTalk as found it its readme are to be fast, simple, and powerful. Fireside embraces these values and has a few ideas of its own. Plugins and themes for Fireside should be easy and fun to make. Features that enable developers to use the platform to greater potential will always be considered, as long as they do not compromise the speed and simplicity of the software.
Q: How does development of Fireside work?
A: Fireside currently has a Vagrant developer environment, giving developers everything they need to easily get up and running. If you don't want to use Vagrant, Fireside can simply be downloaded and installed on a PHP-enabled server (currently PHP 5.3+) for development and testing.
If you would like to bring up any issues, ideas, or simply have something important to discuss, feel free to leave a comment. You can also create a GitHub issue .
· Toby, Tech, KnownSyntax and 1 others like this.
Looking forward to seeing this hit the beta stages (or I guess release stages, if you will). Keep up the great work, and I know that many people will use your version as it will be maintained for awhile compared to esoTalk in it's bugfix-only state currently.
I've been using/testing/developing esoTalk on and off for...what 5 years or so? maybe slightly less. It'd be great to see it continue on.
@Thirtysixway I'd appreciate the help! Currently I'm pretty focused on the views -> templates conversion, but there are some other areas of development planned. This week I'll reorganize the GitHub milestones and issues and also try to get a roadmap up to help show more of the direction of things.
Let me know if there's any questions or anything you need.
Looks like this project is now a sticky on the development channel, looks good! Do you have any legit domain name for this project yet or will everything to be focused here (or on GitHub)?
@KnownSyntax Looks like this project is now a sticky on the development channel, looks good! Do you have any legit domain name for this project yet or will everything to be focused here (or on GitHub)?
Right now it is situated at www.dreamhearth.org/fireside . As @Felli indicated I've purchased fireside.community and dreamhearth.io as well, but I don't know when/if those will come into play. I'll make sure that redirects and navigation are always in place so that there's no need to worry about links changing in the future.
Project organization and issue tracking are currently just on GitHub. For discussion and issues there's several venues where you can reach us: in addition to GitHub, we run a public Slack for IM and discussion which is pretty active, and we have a Fireside channel on our forums at www.dreamhearth.tv .
· KnownSyntax and [deleted] like this.
@jsonnull Congrats on the launch of this project. I am looking forward to seeing the future progress. We had discussed a little bit about this a few months ago and am glad to see it be more official. @jsonnull is very passionate about the platform so it will be in good hands.
@vchezt this project still alive?
At the moment it's being worked on behind the scenes.
I've actually been making some progress on it recently, and noticed people have been asking about it.
· laalkitaab and KnownSyntax like this.
Hey, is this still being worked on? I haven't seen anything about it on Dreamwidth.
@spriteclad Hey, is this still being worked on? I haven't seen anything about it on Dreamwidth.