Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Don't modify the core? Don't make me laugh!

MikhaelMikhael New
edited November 2010 in Vanilla 2.0 - 2.8
I keep reading comments (usually from devs) saying that the way Vanilla 2 is structured means that hacking core files should never be necessary. A while down the line this may eventually be true, but for now it's a fact of life, as it has been with every software package I've ever used.

I'm at the stage where a number of forums have to be working asap, prefer to use Vanilla, but am finding that lots of little things don't work as they should. Waiting for fixes, and constantly 'upgrading', are not options right now. I also don't have the time to write plugins, and anyway the documentation doesn't exist to help people do that easily. The plugin @Mark wrote to stop draft auto-saves fails to stop it showing the 'Saving draft' message, which doesn't provide a lot of hope, does it?

For that particular fix I've had to remove the include lines from two core files. I now have a folder containing 6 core files I've had to change, and with each new release I have to do a file-compare and hack the new core files if the problems are not fixed.

Don't get me wrong; I like Open Source (in fact it's essential to our community projects) and love Vanilla, but with no time to devote to doing things the 'correct' way, and no documentation to speak of, what else can I and others do..?


  • Options
    MarkMark Vanilla Staff
    edited November 2010
    Of course there will be changes to the core when we fix bugs or discover problems that prevent people from being able to extend parts of it.

    If you are finding problems in the core, you can fix them and submit the patches for inclusion. THAT is the beauty of open source. Waiting for the core devs to fix everyrhing goes against what the project is all about.

    You can start by reviewing and signing the contributors agreement here:

    And, of course, you should get an account at GitHub, branch the code, and start sending us pull requests with your fixes. More information here:

    @Mikhael - It's insulting that you would find all of the work behind this project lacking of "hope", and even more insulting that you're capable of finding and fixing things, but not willing to get involved and submit those fixes back to us. Not to mention the insulting discussion title on this post. While getting the code for free is not excuse for it having issues, we work very hard and diligently to fix these things. We'd appreciate the same from those that benefit from it for free.
  • Options
    MikhaelMikhael New
    edited November 2010
    @Mark; The title of this post is more a statement about those who keep replying with comments like, "You shouldn't have to modify the core. Just write a plugin". Sorry if you take it as "insulting" to you or your team - it wasn't meant to be. But I am very frustrated at the fact that some basic things aren't working correctly, and reading plugin related replies such as those make me want to scream when I'm up to my ears in multiple site development and people expecting me to fix things I have no control over.

    By saying "doesn't provide a lot of hope" I meant only that if you as the main developer provide a plugin which doesn't work, and I have a) hardly any free time, b) little experience of Vanilla code, and c) no decent documentation to work with, there's no hope of me being able to fix it.

    As I said, I like Vanilla 2 very much, mainly because it's easy to use for people who don't frequent forums or even use the web much. That's most people I know, quite honestly. When I see all things Vanilla growing on a 'grander' scale but knowing that some basic stuff doesn't work or doesn't seem to have been considered seriously (eg., no discussion sort order, no emails when people register, 'dismissed' announcements which can't be retrieved by users, etc) I wonder if I should just use Facebook and Twitter for our community projects. It's something I'm seriously considering right now, but I prefer to run Vanilla forums myself.

    Open Source projects are advertised as free software which is easy to set-up and use, but when people are attracted by that and find that too many things aren't working, the answer is usually, "Well then get involved and fix it". Most people who use Open Source do so because they're not software developers, or are but don't have time or money to contribute in a realistically helpful way. (Others, of course, hope to make money off the back of mainstream projects, but that's another story).

    You're working hard and no doubt facing working frustrations, as many of us are. But if I see one more glib reply like, "You shouldn't have to modify the core. Just write a plugin", then Vanilla will go in the bin. Mainly because saying more than I have above will probably be genuinely insulting after further frustration.

    I'd hope you'd want to know about user frustrations, rather than see a constant stream of congratulatory messages. I would rather say what I'm frustrated with in the hope that something I can't fix without many hours of work can be put right much more easily by the original software author.

    Just to give you an idea of how something seemingly not too important can be, I have people who registered at one site and then 'disappeared' because they got no confirmation email, and another team have left the site I built for them dead in the water for many weeks on the same grounds. (They see no reason to spend time on it when nobody appears to be using it, although people who registered say they'd like to, but thought they were being ignored). I'm setting up two sites today, and realising that I'm now going to have to spend hours emailing and 'phoning people after checking each day to see if they've registered for a private forum, then enabling each of them as members. (Forum admins get no email on new registrations either, so I'll have to set up SMTP and hope that works). I think @Tim responded regarding that to say email confirmation was being looked into. Does this one basic forum design feature being left out not strike you as odd? And can't you see that as well as me being frustrated by that and other things, there will also be many who've looked at Vanilla and just walked on..?

    Take no notice, or tell me to push off by all means, but please let me suggest that vocally frustrated users who can't fix things are pointing out what's often far more important in the long run than many concerns which seem bigger at the start.
  • Options
    LincLinc Detroit Admin
    edited November 2010
    @Mikhael I work in Vanilla on an almost daily basis for both myself and clients, and I practice what I preach. If I need something changed in core, I make the change to my branch and the Vanilla team pulls it in. One of my coworkers made a core hack in a V2 project last summer, and I spent several hours this past week tracking down and extracting the change to a plugin so it would no longer block upgrades. It's not fun.

    I speak from experience. Nothing good comes from hacking core Vanilla on your own. It's the quick solution that will create you a WORLD of headaches. Nothing I do involves a core hack, and I do A LOT with Vanilla. You can do it if you put in the effort now instead of later when it's time to upgrade.

    I agree there is a steep learning curve ahead of you if you wish to do the same. That's why I just spent 8 hours of air travel time writing inline documentation for the forum app.

    If you have an issue, address the issue, not your frustration over it. I'm not trying to advance some agenda or advertise how perfect Vanilla is, I'm trying to save your time. I'm trying to keep you out of a damned trap.

    PS: The hack I undid and pushed upstream is a hook for sending email confirmations upon registration. You can do it with simple plugin now (since 2.0.13). Tada.
  • Options
    MarkMark Vanilla Staff
    edited November 2010
    By saying "doesn't provide a lot of hope" I meant only that if you as the main developer provide a plugin which doesn't work

    I didn't know there was an issue with that plugin. Been busy working on other issues. I will look into this one.

    if I see one more glib reply like, "You shouldn't have to modify the core. Just write a plugin"

    You're inferring too much from our responses: We are not being glib. Writing plugins is what makes Vanilla awesome, and we want people to (a) be able to do it, and (b) share them with others.

    I'd hope you'd want to know about user frustrations, rather than see a constant stream of congratulatory messages. I would rather say what I'm frustrated with in the hope that something I can't fix without many hours of work can be put right much more easily by the original software author.

    Of course we need to know about problems with the code. That's what this forum is here for. Look down the discussion list and compare the number of kudos to the number of support requests. Again, you're being insulting by implying that we use this support forum as a way of collecting congratulations.

    can't you see that as well as me being frustrated by that and other things, there will also be many who've looked at Vanilla and just walked on..?

    I understand your frustration, I'm frustrated too! It would be fantastic if we could complete everyone's ideas and fix everyone's problems today, but that is not possible with our budget and manpower limitations. Some people will walk away, and others will overlook us as a result of this. I don't think that is a sign of anything wrong with Vanilla or the way we run the project. It's simply a matter of bad timing or lack of "fit".

    The issues that are important to you don't matter to many others. Those "others" have issues that they feel are far more important than yours. It is our job to decide, of all the issues we hear about, what is the most important. We don't fix bugs all day. We are a four-man team running a *business* that has investors, mandates, and deadlines. We have limited amount of time to devote to every part of our business, and we work every day of every week well into the evenings to make this a success in every way.

    When I read that you've changed core files in Vanilla to help you with your issues, and you haven't submitted those changes back to us for inclusion in the core, and then you complain to us for not fixing them ourselves - it frustrates me. Submit your fixes to us on GitHub, and we will include them in the next release so everyone can take advantage of them.
  • Options
    ToddTodd Chief Product Officer Vanilla Staff
    Honestly @Mikhael, your points about emails on new registration are really good and something I personally haven't thought about much as crazy as that might sound.

    For me, sometimes being a good developer makes me a bad user. While developing I sometimes get into these loops where I am registering test accounts so often to find bugs that I just plow through and don't think of the basic user case.

    Usually we then get one line feature requests like "add email confirmation on registration" and then prioritize based on our own experience. Having your paragraph about true use-cases, even though it might be out of frustration is very helpful and we do appreciate it.

    I know you wrote a really long comment that had more than just that paragraph, and I think you make good points altogether. Just thought I would try and dialogue a bit with how I think these things can honestly get away.
  • Options
    @Mark; Again, no insults meant, and I certainly was not implying that your forum is just for congratulations. I meant that if all you got were congratulations then you'd never know anything wasn't working for people in the wider world. Try to look at my comments as though they're at least a little tongue in cheek - I'm not Mr Angry on the other end here. If I thought the whole thing was a waste of time I'd have dumped it and now be redoing sites in other tools I use. I do appreciate the work that's gone into Vanilla 2 and am still setting up sites with it, which says something, right?

    I've mentioned my main issues regarding getting involved, which are (as for many people) time and money. No time, very little money: life as usual. As @Todd said, being a good developer can (sometimes) make us 'bad' users. I'm a Windows OOP/RAD developer with many years experience in project management and coding from start to finish, and yes @Lincoln, I get frustrated because I can't do much if anything here! (I type like a demon, so long replies don't take time, by the way). My fix today for the draft auto-save was to find the js include lines in a couple of core files and rem them out. Not a lot of use as a contribution. My other fixes are similar, and being experienced I do know what's worth passing to GitHub or not.

    I think that looking at it from a non-user and non-programmer perspective would help a lot. Most forum users tend to have a good sense of how to use software like Vanilla, whereas the people I'm setting up sites for struggle with email and even ask me to stop mid-sentence and explain what a 'browser' is. No kidding. While the points I've raised over the weeks may not seem hugely important (and aren't to me personally as a user) they're show-stoppers for people I'm building sites for.

    The people I'm working with just need an easy way to communicate online, and they need it free because they have no funds. If all the basic forum options are there and work in Vanilla 2 then the more fancy plugins aren't much of an issue for me.
Sign In or Register to comment.