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.

Custom application using Vanilla

edited December 2006 in Vanilla 1.0 Help
Hi everyone, I am currently looking to evaluate Vanilla for a project I want to launch on my travel blog Holiday Pad ( But I have a very specific way in which I want Vanilla to work - Categories will be limited to a list of countries. - Accommodation providers create a profile, with some custom fields such as Country, Region, City/Town (possibly integrated with Google Maps, dunno just yet) Photos (2 or 4), link to website, description etc (not too many) - Discussions will be renamed 'Requests'. - Categories will be renamed 'Countries' - Accommodation providers' profiles can be browsed by relevant country (possibly a tag cloud of countries) Like I said, it's a very specific use for Vanilla and I "think" it could handle the job, albeit with some custom work, possibly using existing Add-ons. Any feedback will be deeply appreciated, cheers!


  • You could probably do most of that fairly easily with some language changes and some consideration regarding roles/category permissions. User account pages already let you post custom annotations and a picture (or you could hack the flickr extension to add a few more perhaps) The only difficutly I'd imagine you having is the RSS/email notification - although if you had a category per country you could just make them subscribe to RSS for that category which is fine.
  • Cheers Minisweeper. When you say language changes what do you mean? Custom annotations is great but I wanted designated required fields. I like the Flickr hack idea but again, I would want to host at least 2 or 3 photos in the profile. Anyway, would you be up for helping me out if it came to it?
  • By language changes, he means that most of the "renaming" issues you want can be done within the existing localization files. Meaning you just break out a few language lines into a custom file. For custom fields in the user model, take a look at Predefined Attributes. You may specify some attributes to be required as well. For the extra photos, you're going to need to create an extension. Even if you're halfway decent with php, it should be trivial to figure out how to provide an extra photo or two per user. One database table, look at the code for Predefined Attributes to see how they tie into the User model, figure out a simple interface. Alternatively, you can edit the base code if you have to and copy the code that does photo uploading to allow a few more. Most of what you're asking for can be done without extensions, though. I've used Vanilla successfully for several projects that had little to do with a forum, so you're not alone. :) There is a lot of help to be found here as well, so the best thing to do is just start things and see where you run into problems. Good luck!
  • Thank you David! You make it sound so easy ;-) I am not a coder, although I understand basic stuff, I could not, at this point in my life anyway, write code for an extension - no matter how easy. With the exception of making a website say "Hello World" (but only with some serious help from the Rails intro movie!) I'd love to see some examples of the projects you mention. Thanks for your advice. I'm going to set Vanilla up on my server and play around with it, get a feel, etc. Question: would you be up for helping me out?
  • Haha, now Rails makes it easy no matter what... Unfortunately I can't show you any examples, most are intranet applications. I have yet to get a public-facing job. :) Installing Vanilla and reading through source code is arguably the best way to learn how it all works. It's a lot to wade through, but the basic strategy is to perform an action on the site, look at the location bar in your browser to see which file it's hitting, and then trace through that php file to learn how things basically flow. It's a lot of information. I'm willing to help out however I can, as I'm sure will other people around here. The best way to approach it will be for you to first play with Vanilla's GUI, configure it how you can (set up your permissions and groups how you described above). Then, we can just take it one feature at a time, let us know what you're trying to do and we'll help out. I don't know if I'd personally have time to create the extension for multiple photos, but if I don't then I'm sure someone else can give it a shot. I may play around and see if I can throw something together... but let us know how far you get based on intuition and documentation, and we can help from there.
  • David, in theory that sounds like a good plan but my time to learn Vanilla, and indeed coding, is very limited. I could scope out the project and would be willing to pay someone to help me achieve the core aims of my specific application. The extra photos idea could wait for now, that could come later. I'll try and persuade usersThat to use Flickr and feed stuff in that way. That said, I will still instal Vanilla and see how far I can go but I fear it won't be far in my pursuit and I will need help.
  • Get it installed and look into the docs for how to change language entries, then look through the addons site. I think you'll be surprised how easy it is to throw a lot of your ideas together.
  • Agreed, I think you'll be surprised about how far you can get quickly with no help... Literally the only thing holding you back from a default installation is the multiple pictures option, and if that isn't an initial necessity, you can have this thing up in an hour, tops. Basic installation, change the language entries to match the tabs you want, set up appropriate permissions and roles. Install the flickr extension if you're going to use that initially. Open it up to the WWW. Done. :)
  • OK guys, thanks for the encouragement, deeply appreciated - cheers! If I get stuck I may have to hit the panic button ;-) All the best for the new year!
  • edited January 2007
    Just to let you know that I installed Vanilla and some add-ons and so far so good. I managed to tackle the language file - makes sense - I like it. When I first started scoping out my idea, a few years ago I have to admit, I envisaged a new app from scratch. I looked at Vanilla in the summer with a view of re-jigging it for my purposes and decided back then that it had its limitations and was not up for the job. Well I was wrong. Not just plain ol' vanilla wrong but very stupidly wrong! What I have since come to realise is Vanilla is actually without limitations because it can be extended ad infinitum. It just takes some creativity and a clear idea of what it is you want it to do. That said though, I will still require some technical/custom help to get it where I need it to be and for that I am willing to pay someone to help me.
  • Seems to be going well. It's almost stupidly easy to work with doing some stuff isnt it :)
  • edited January 2007
    OK, been messing around some more today: installing and trying out some add-ons, changing the language file to suit my project needs. The big idea I have which will require mammoth custom work may have to wait as I feel I need to keep it simple and establish it first of all. Here's some observations so far, along with some questions: 1. Take a look a) Control panel only displays 'notification' options but I'm trying to get it to display the whole range of options b) List of countries has too much blue space on right so some ideas are: i) Create a hierarchy of categories (countries) so that top level is continent then country - is that possible? ii) Change the style so that the countries are displayed in say, 3 columns - there's a discussion overview add-on by Jazzman - would be good to have an overview of contintents with sub-categories being countries. 2. Next I'm going to look into the sign-up registration process as I need specific functionality, i.e. a) Accommodation Providers have their own sign-up which funnels them into a profile page where they upload a photo and specific details relating to their property, all of which are mandatory. They will need to select region and town/city. I have a mysql database of countries>regions>towns/cities which I was thinking could be good idea to use for Ajax style auto-complete i.e. enter first few characters of country, then select. This then pre-populates the appropriate regions, select, and so on for towns and cities. I don't know but this could then be of use for generating geocodes for a Google Map (?) Their registration is subject to admin's approval. b) Holiday-makers wishing to post a request have a simpler sign-up and is not subject to approval, just verification via email from which they can then quickly post their request. Only they can post requests. Accommodation providers can only respond to them. Anyone wishing to take up this gig then drop me a line.
  • As far as Category Hierarchies, that's been accomplished before: (example) (discussion) For registration, it might be simpler to allow open registration, and then have a place where members can "apply" to be a provider. Your job is simply to approve or deny that application by upgrading their role from Member to Provider. Keep in mind though, that there is currently no way to allow some roles to have Predefined Attributes that other roles cannot fill out. Thus, a member's profile would look no different from a Provider's, though this functionality is, of course, possible with enough work. Having a separate registration is a lot more work than simply upgrading an existing user to a Provider role. I would not worry with Ajax autocomplete for city/state/etc unless you really want it (or your users want it). I've simply never run into a case where I thought "man, I wish this thing would autocomplete my city!" While it's cool, it can slow things down without needing to. City/State/Country should be text fields for usability purpose (less time to type in a few letters than select from a huge dropdown). Plus, it's easier to code, and more generic for worldwide access. But if you want to do the autocomplete, it's definitely possible. For Google Map Geocoding, I'd force the provider to give you latitude/longitude for the map. Maybe provide instructions for them to be able to find it (embedded in the url of the "send map link" thing). Geocoding an address is limited to a small number of requests per day, plus it keeps things consistent. So once more, it's still possible for you to handle these things alone, and it's good to see you made it this far. :) I wish I could help with coding work, but I'm packed full these days... But again you can still have forum help to support you. Maybe someone else will jump on the gig, it shouldn't be a ton of coding work.
  • edited December 2006
    Thanks again David, appreciated. I've been looking into the hierarchy idea and it seems that someone is about to develop add-on. You're right about auto-complete and drop downs may be better. One of the problems with allowing people to enter regions and cities into text fields is maintaining consistency, which is why these fields would be better off pre-populated. Registration looks like it will pose a greater problem than I thought and thanks for pointing out that pre-defined attributes shortcoming (though not a shortcoming if all members are the same) I don't quite understand the geocoding thing but will look into it. I was looking at the excellent application of Vanilla over at Houseblogs: Notice the profiles tab and how it works? This is exactly what I have in mind, with some ammendments, for the providers' profiles - though sortable by country.
  • Regarding what we're doing over at, you'll probably need something a bit different (based on how I understand your goals). Our users can tag their profiles and find other similar users but it's completely open ended--it seems you want something more structured so it would be limited to a list of countries. I can tell you from first hand experience that if you left it open-ended people would enter stuff you don't want. You'd probably be better off with the existing Predefined Attributes extension for that purpose.

    The profile listings is somewhat straight forward (just a paginated listing of members with their account photo), but unfortunately the extension we created is pretty inter-twined with other parts of the site (i.e., blogs) so it isn't simple for me to just pull that out and share it (otherwise I would). A developer savvy with Vanilla could do it for you pretty quickly, though.
  • Cheers House! You're right, leaving it open-ended for people to enter stuff is not a road I want to travel along. It has to be uniform and strict. As I play around with Vanilla I like it more and more and my vision is achievable, if only I could: a) find someone willing to take on this gig, and b) actually nail exactly what I want it to do (e.g. screens, project scope etc) I guess the latter part has come first. The key is how to handle the sign-up/registration for the 2 different sets of users. It seems that's the first thing I have to consider how I want it to work. Idea: On the registration form maybe I should have a tick box which asks 2 questions... 1. Are you a holiday-maker seeking to post requests? 2. Are you an accommodation provider wishing to have your rental listed? If 1, then sign up as regular user If 2, then sign up as applicant --> create profile Food for thought!
  • There is an extended registration extension that could be modified to add more stuff.
  • Cheers Jim, I'll look into it.
This discussion has been closed.