Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

A few quick questions to determine if Vanilla is right for me

tbrtbr
edited February 2007 in Vanilla 1.0 Help
Hi! First "real" post, finally I got verified as a member.

Been reading a whole lot about Vanilla the last few days, and I'm thinking of using it for a project that I'm working on (draft stage, still). I like the simplicity and basic concept a lot, a forum that has the most important things and skips the crap that makes most forum software feel like much ado about nothing (only ever really liked IPB, but that also seems to be a pain to administrate because it is so complex). Kudos to the developers (or is it in fact only one person? Amazing in that case) for making this and releasing it as open source software!

There are a few things that I need to know however, to determine if Vanilla would fit my needs.

1. How difficult is it to customise the layout? I can't find much detail in the docs, maybe I'm looking in the wrong place. To anyone who's done this, is it laid up to be easy, or does it require a lot of testing and tinkering? I'm not sure I quite understand the difference between styles and themes, are themes all kinds of structural changes to the HTML while the styles are CSS only? There are very few different themes available for download, is this because the regular one can be adapted to most needs with CSS only? I have yet to see a Vanilla based forum that looks distictly different from the basic template, is this because it's difficult or because people don't bother?

2. I noticed there are feeds generated automatically here (by an add-on as far as I understand). If I set up a Vanilla forum on my site, will I be able to parse these RSS feeds with some completely different script to show the latest comments etc on other pages? Would I be able to make a news section on my website out of an actual category that only I can start discussions in, and then again parse the RSS feed to get that on the regular website, with a link to the actual discussion in the forum so commenting is possible for anyone logged in? Essentially, can I use Vanilla as a combined forum and simple CMS if I do like this?

3. Is there any way to create a role that has permission to change other members' role status, but only between a few of the roles and only if they already have a certain role? So, I can give someone a little control over a certain user group, but they can't suddenly make anyone a supermod just because the feel like it, as an example.

4. I've been trying to find info about spam, but I can't see a general consensus: how big a problem is spam on an average Vanilla forum of semi-big size? Are measures necessary to get spamming down to a managable quantity? I'd love to make sign up as simple as possible, the manual verification used here does not seem like a very good way of doing it to me. I saw there was a captcha add-on, does it do a good enough job of stopping auto-generated accounts?

5. No that's all I can think of atm, I'll probably get back with more questions later though!

Thanks, this seems to be a very friendly community, I'm enjoying it already!

- tbr

Comments

  • Welcome to Vanilla :D

    1. Changing the layout is really easy. It's basically moving around a few PHP/html codes/elements and changing the stylesheet. We have a few people here (including me) that will be able to help you out getting accustomed to the theming process, which wont take you that long.

    2. With a little bit of editing, the RSS extension should be able to send out feeds that are directed at each category that you use.

    3. If you create a new role, all you would have to do is click one checkbox to allow them to edit roles and then it's practically done. Just click submit after that :P

    4. Unless you allow members to automatically in you probably wont have a problem with spam bots. At the moment the point of members being authenticated is so spam bots aren't allowed in and the admin needs to take care of the forum. So far i've only seen 2 or 3 spam bots being used for vanilla so you shouldn't have any trouble with that.

    5. Sweet as, we'll be waiting :D
  • #1. You understand themes and styles very well. Most don't look different because most people would rather make small modifications than rewrite from scratch. I have a style that is meant to show the power of CSS, and serve to teach me more about coding with it, but it only works in Firefox. **looks around hard drive** (ooh!, there is that one that puts the tabs down the side...)

    #2. Yes, you can do this with RSS, but you would be better off performance-wise if either the feed reader caches the feed or you fetch it direct from the database.

    #3. Unfortunately, as of now, roles with 'can change roles' ability are ~= Master Administrator. I suppose an extension could be made to limit this, or limit changing of roles to those below you--but this will probably be coded into Vanilla on the next release.

    #4. Unfortunately, with spam, it seems a human touch is needed in many cases. Probably isin't all necessary, at least until commercial spambots are written for Vanilla, but the time you would have spent approving members will probably be spent removing spam. Haven't tried CAPATCHA, but I personally dislike them.

    #5. Vanilla pudding!
  • Thanks for your replies. Here are some thoughts on what you wrote:

    1. Sounds nice, also good to hear that there is help to find here in case it's needed. WallPhone, any way to see that style sheet in action? :)

    2. Yeah I can figure that it's a bit unnecessary to send the posts to the RSS first, and then to where I want to have it. The RSS just becomes an unnecessary extra step that weighs down the server a bit. But I don't really have much experience from server side technologies so it's a bit unrealistic for me to make these things from scratch, I think I will have to start out with whatever I can find and adapt it a bit to my needs. Maybe an RSS parser with some kind of cache, as you suggest, so it doesn't have to grab the feed every time someone views the page. Maybe I'm getting a bit off topic now; I'll read into how RSS works more in detail and try to see if this would be solvable.

    3. On second thought I think maybe the thing I wanted to do with this would have to be done some other way anyway. Maybe the easiest thing would be to let an admin do it, as long as the forum doesn't grow HUGE, but well, that would take a while anyway so there'll be plenty of time to fix this in that case. So it's a non-issue at the moment.

    4. Thanks for your answers here, I think I'll start with as little spam protection as possible and then add more if (/when) I'm forced to.

    So here comes a number 6, too:

    6. While I understand that part of the concept of Vanilla is to strip everything down to get focus on the more important things, I still feel that there are certain functions that help to up the community spirit of a forum. Perhaps most importantly, to show that there are people active on the site right now, so first time visitors can get a hunch on how active the forum is. There are a few other similar things that I would love, such as:
    • Show how many times a discussion has been read
    • Show how many users are reading the discussion at the same time as me
    • Be able to list such things as "most read discussions today" etc
    I'm guessig this could be made as an add-on as well.

    That's all for now, thanks!
  • There is a read counter in the add-ons.

    My style needs a bit of touch-up, but I will post a screenshot when I have time, maybe later today.

    Like the other ideas!
  • here's my example of a panel down the side :D

    image
  • in regard to the recent discussions thing:
    <?php
    
    if(!defined('VANILLA_DIR')) define('VANILLA_DIR', './');
    
    include(VANILLA_DIR.'appg/settings.php');
    include(VANILLA_DIR.'appg/init_ajax.php');
    
    function GetRecentDiscussions($Limit = 10)
    {
    	$DiscFields = &$GLOBALS['DatabaseColumns']['Discussion'];
    	$Data = $GLOBALS['Context']->Database->Execute(
    		'select 
    			t.'.$DiscFields['DiscussionID'].', 
    			t.'.$DiscFields['Name'].' 
    		from '.$GLOBALS['Configuration']['DATABASE_TABLE_PREFIX'].
    			$GLOBALS['DatabaseTables']['Discussion'].' t 
    		where 
    			t.'.$DiscFields['Active'].' = \'1\' and 
    			(
    				t.'.$DiscFields['WhisperUserID'].' = \'0\' or 
    				t.'.$DiscFields['WhisperUserID'].' = 0 or 
    				t.'.$DiscFields['WhisperUserID'].' is null
    			)
    		order by t.'.$DiscFields['DateLastActive'].' desc
    		limit 0, '.$Limit.';', '', '', '', 0);
    	
    	echo('<ul id="LatestVanillaDiscussions">');
    	if(!$Data)
    	{
    		echo('<li>[An error occured while retrieving latest discussions]</li></ul>');
    		return;
    	}
    	
    	while( $Row = $GLOBALS['Context']->Database->GetRow($Data) )
    		echo('<li><a href="'.VANILLA_DIR.'comments.php?DiscussionID='.
    			$Row['DiscussionID'].'">'.FormatStringForDisplay($Row['Name']).'</a></li>
    	');
    	
    	echo('</ul>');
    }
    
    ?>
    which you'd probably want to modify as needed.
This discussion has been closed.