Users running a non-download version of Vanilla (pulled from github), on branch release/2019.016 or master from the last 2 weeks should upgrade to release/2019.017 or latest master for security reasons. Downloaded official open sources releases are not affected.

Poll: Potential new installation requirements for enhanced addon capabilities

charrondevcharrondev Developer Lead (PHP, JS)Montreal Vanilla Staff

Hi everyone!

I'm putting out this poll today as I write some new documentation for some new addon capabilities in Vanilla.

Some Background

As some of you might have seen, some time ago we stopped shipping the git version of Vanilla with prebuilt assets.

Since then we've made numerous improvements to the capabilities of an addon's javascript and CSS and have begun using these throughout our built-in plugins. We also use these capabilities extensively throughout our cloud-only plugins.

These capabilities include:

  • Automatic loading of Javascript and Stylesheets (no ->addScript(), ->addCss(), or event involved).
  • Building Views in React.
  • Using the 100's of built-in React components & utilities.
  • Using the 100's of built-in utilities.
  • Reduced javascript size.
  • Build-time syntax validation.
  • Build-in transpilation and compatibility layer to support older browsers (unfortunately IE11 is still sticking around for a while).
  • Built-in SASS stylesheet support.

All of this gets done together to produce the outputted files in the /dist directory of your Vanilla installation.

The Catch

Unfortunately, in order to make use of these capabilities, and addon needs to be built at the same time as the rest of Vanilla. That means we have nothing to worry about for our built-in plugins, but I'd like for the addon developers here to be able to make use of these capabilities in their own addons.

In order for that to happen an addon would have to have additional system requirements of any Vanilla installation that uses it.

  • Node 10.x & yarn would be required on the target system to build the addon into Vanilla.
  • The target system would have to run the following in order to build everything together after updating vanilla, or after installing a new addon.
yarn install
yarn build

Update

I should have put this in here earlier, but to install the pre-requisites for this you would essentially need to run something like the following once on your server.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

The Question

Are you guys willing to add an extra step to your install/update process if it means enhanced capabilities for your addons?

If you aren't willing to do this, could you please comment with what makes this extra step too difficult for your installation?

Poll: Potential new installation requirements for enhanced addon capabilities 8 votes

Yes, I'm willing to add an additional installation step to use certain addons
25%
Clémentcharrondev 2 votes
No, I can't/won't add an extra installation step to use certain addons
75%
phreakrbrahmsonmirXdonshakespearepioc34damiri 6 votes
Shadowdare

Comments

  • R_JR_J Cheerleader & Troubleshooter Munich Moderator

    I will not vote since I do not run a forum, but I wanted to give some feedback nevertheless. Every one I have helped in the past

    a) was only on a hosted plan where no NodeJS is available and

    b) had not much knowledge about web technologies


    One feature often asked for has been a way to install plugins from out of the dashboard; having a catalogue inside the application that makes installation of addons a breeze. This is the absolute contrary. It will Vanilla make a forum for web professionals. This is no criticism, by the way. My impression always have been that Vanilla is better suited for developers and other forum scripts are better suited for unexperienced user-admins (because of their more frequent updates and their more stable plugin-ecosystem)


    Dr_Sommer
  • charrondevcharrondev Developer Lead (PHP, JS) Montreal Vanilla Staff
    Yes, I'm willing to add an additional installation step to use certain addons

    Thanks for your feedback @R_J.

    Officially I think the expectation is that someone self-hosting Vanilla would be somewhat technical, otherwise the cloud platform is the way go if you can afford it.

    Unfortunately if you‘re not a big business our pricing for cloud hampers that a bit.

  • rbrahmsonrbrahmson "You may say I'm a dreamer / But I'm not the only one" NY ✭✭✭
    No, I can't/won't add an extra installation step to use certain addons

    I am afraid the extra prerequisites are problematic and I concur with @R_J on that. I also concur with @charrondev on the difficulty to go on the cloud because of the pricing model.

    However IMHO Vanilla IS a good choice for non-experts and the barriers only come as one tries to go deeper into customization (especially things that are not already supported by an option or a plugin). In that respect the suggested requirements would no longer make it a good choice for non-experts.

    GoDaddy, one of the largest host providers offers Vanilla and I've used it more than once. Works like a charm out of the box and they even offer automatic upgrades (which amazingly works).

  • It is my understanding that with the other major (free) forum software, you have to upload theme, plugin files to their relevant folders before they are available in the admincp.

  • phreakphreak Vanilla*APP (White Label) & Vanilla*Skins Shop MVP
    edited January 15
    No, I can't/won't add an extra installation step to use certain addons

    Don’t node!

    There is a tendency in some OS system to complexify procedures with dependency installations, composer, etc. ... which is ok, as long as there are tools in place that allow easy procedures to do that also in a non-developer friendly way. But that's is rarely the case.

    A CMS which made very good progress in this field is "Contao". Check out their Contao Manager who handles installations, upgrades, extensions, caches, composer upgrades and much more.

    • VanillaAPP | iOS & Android App for Vanilla - White label app for Vanilla Forums OS
    • VanillaSkins | Plugins, Themes, Graphics and Custom Development for Vanilla
  • rbrahmsonrbrahmson "You may say I'm a dreamer / But I'm not the only one" NY ✭✭✭
    No, I can't/won't add an extra installation step to use certain addons

    From other responses I'm afraid that the question is somewhat unintentionally misleading (asking "re you guys willing to add an extra step to your install/update process if it means enhanced capabilities for your addons?" does not mention the prerequisites in the question...).

    If it is only whether I'd support an extra step, the answer is yes (and obviously so if it is automated). My strong objection is not to the extra step but to the prerequisite of platform environment which is not always available.

    phreak
  • charrondevcharrondev Developer Lead (PHP, JS) Montreal Vanilla Staff
    Yes, I'm willing to add an additional installation step to use certain addons

    It's a bit disheartening to see that platform dependencies end up being so restrictive.

    Realistically the impact it will have is that any plugin that wants to be usable by the open source community and use the latest parts of the platform will need to be integrated into the core repo in some way (and as a result get built by our CI pipeline).

    Is everyone here on shared hosting where they are unable to run the following once on your server?

    # Using Ubuntu
    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    # Using Debian, as root
    curl -sL https://deb.nodesource.com/setup_10.x | bash -
    apt-get install -y nodejs
    
  • rbrahmsonrbrahmson "You may say I'm a dreamer / But I'm not the only one" NY ✭✭✭
    No, I can't/won't add an extra installation step to use certain addons

    Is everyone here on shared hosting 

    Well, there aren't so many developers here that we can afford losing...

    And yes, most are on shared hosting with restrictions of various types. NodeJS isn't common in such environments (which speaks to market demand) and that by itself should give a pause before getting on that wagon.

    For example, GoDaddy one of the largest host providers doesn't offer it (but does offer lavarel, symphony among others- that are unrelated to the poll question but speaks to what the market wants)

  • phreakphreak Vanilla*APP (White Label) & Vanilla*Skins Shop MVP
    No, I can't/won't add an extra installation step to use certain addons

    Shared and managed hosting usually do not come with Shell access or even the possibility of NodeJS.

    • VanillaAPP | iOS & Android App for Vanilla - White label app for Vanilla Forums OS
    • VanillaSkins | Plugins, Themes, Graphics and Custom Development for Vanilla
  • No, I can't/won't add an extra installation step to use certain addons

    Shared hosting here too.

  • R_JR_J Cheerleader & Troubleshooter Munich Moderator

    It's a bit disheartening to see that platform dependencies end up being so restrictive.

    Many, many forum admins are no web specialists. Some find it even hard to upload files by ftp, create a database on their own and maybe even edit a .htaccess file. They expect a installer in their hosters dashboard. It's not just about software dependencies.


    Is everyone here on shared hosting where they are unable to run the following once on your server?

    Most anybody who comes here for asking questions seems to be on shared hosting. Most of them do not even update Vanilla regularly, so if they would run their own server, that would end up in a fiasco.


    Vanilla must be measured against other forum scripts. It is best compared to other PHP forums which do not require something like that. But even if you say that such a comparison is not correct if Vanilla starts to make of advanced JavaScript technologies and offers a React based theme, there is one competitor which it must be measured against: NodeBB. NodeBB requires NodeJS, yes, but it comes with one click plugin installation from dashboard.

    If Vanilla enforces build steps, it's OS version is falling far behind in terms of admin usability. Much more far than it already is because of the weak OS plugin eco system.


    Isn't there a CMS which tries to accomplish something similar? Working internally with JavaScript modules but exposing features to plugin developers without forcing admins to perform development steps to use such plugins? Most any problem must have been solved before and certainly that one, too. Sadfully I do not know how to even search for something like that... :-(


    -------------------------------------------------------------------------

    Realistically the impact it will have is that any plugin that wants to be usable by the open source community and use the latest parts of the platform will need to be integrated into the core repo in some way (and as a result get built by our CI pipeline).

    That is one aspect which is of special interest for me as a Vanilla plugin developer. I'm still undecided (really neutrally!) if I see this as a chance to get more knowledge about professional JavaScript knowledge or if it will push me away from Vanilla since I might need to become an intermediate JavaScript/Frontend developer in order to write plugins (and also to give support).


    donshakespeare
  • No, I can't/won't add an extra installation step to use certain addons

    First, thanks for the opportunity to vote. Kinda feeling important and worthwhile at the moment, even if things don't go as expected.

    I love Flarum, it is swift and pretty, but I wanted to write my own plugin, and I wanted to edit my theme, oh dear!!!!!!!!!!!!!!!!!

    I admire Discourse, but I prefer PHP. So I settled largely with Vanilla Forums, the magic behind the scene can be controlled.

    And I am no fool at web development, and I do not deal with "shared hosting" on principle, except by necessity.


    I will be very very sad if Vanilla Forums goes the way of one particular deep JS platform. (jQuery was simple, Vanilla JavaScript is best)

    My sadness shall multiply when Vanilla Forums demands more dependency-hungry resources to run or customize.

    The huge trust of simplicity that has attracted many shall then disperse them.

    I like Vanilla Forums because I like that flavour, in ice cream, JavaScript or anything, except in soup.


    Right now, we unzip a plugin and voila! Nice and simple.

    What we dream of is for further simplicity: let the Forum install the plugin unzipped, oh and straight from the repository like VSCode and GRAV do .... that would be really sweeeeeeeeeet!

    And we can edit the plugin live and stuff shows up instantly, no need to remember to compile this or that.

    VF running on minimum wage, minimum server requirement, PHP/MYSQL, is truly the last remaining simple forum.

  • rbrahmsonrbrahmson "You may say I'm a dreamer / But I'm not the only one" NY ✭✭✭
    No, I can't/won't add an extra installation step to use certain addons

    speaking of JQ, we were able to add JQUI,JQmobile so the whole experience is great as well as simple. Not wanting to modify anything in the core we wrote two plugins that add the necessary JQ libraries.

Sign In or Register to comment.