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.

Using Vanilla as the framework for a web application?

edited December 2006 in Vanilla 1.0 Help
Thought I would post here to get some input on this. I love Vanilla and install it everywhere I think needs a good forum. I'm constantly impressed by the professional level of code being produced, and design decisions being made (for example, saying "no" to some things). Great piece of software.

I'm faced with a need to get a quick user management application out the door, with only ftp access, php 4.3.0, and MySQL 3.23. I've literally tried every framework out there, and either they didn't really have good php4 support, or for whatever reason couldn't get a simple user authentication and management system up and going. I'm down to a one-week deadline, and need a framework at least for authentication and sessions so I'm not rewriting code that is at least available somewhere. I'm thinking about taking Vanilla apart to grab its user and role management code, session handling, database calls, etc., stripping the forum components away (I hate even thinking about doing that, too!)

My questions:

1. I'm a license ignoramus. GPL will allow me to edit Vanilla's source code for a custom application without being forced to release the result freely, correct? I'm not selling it, it's just a private install for a customer... I guess in a basic scenario, I'd be using it as a framework to sell an application. I'm pretty sure GPL allows that, but it doesn't hurt to check.

2. Has anyone done this? As in, has anyone used core code from Vanilla in a completely unrelated project?

3. Is anyone familiar enough with Vanilla code to give me a yay or nay on if I should bother with this method or if things are modular enough to where I could do this quickly without screwing up the whole system?

4. Would it be possible to do the entire thing using extensions and existing configuration? For example, an extension to hide the forum component, an extension to add metadata to each user (to track the addition information they want), ability to remove registration (admin registers users), adding a poll system they want, etc.?

Appreciate any pointers anyone can give me, as I'm primarily in Ruby these days and don't have the guts to do a mission-critical php system all on my lonesome. :)

Comments

  • edited December 2006
    1. Your fine. GPL requires that if you distribute the program, source must be freely included.

    2. Iconbuffet appears to use vanilla's sign-in components, and uses an older version of the forum.

    3. Things are very modular. People is the name of the component that handles user registration and authentication.

    4. Sure is possible. You already may have the user metadata need covered with predefined attributes and the polling with the Poll extensions.

    I have also decited to build an app on top of Vanilla, but have barely scratched the surface in coding...
  • Same. I am working on a pretty cool website that will most likely use vanilla as the back end
  • If you take a look in the \library\ folder, you'll notice that vanilla is running on 'the lussumo framework' and 'lussumo people' so you shouldnt actually need to 'strip' anything as such if you wanted to start with a bottom layer of bricks and just using those frameworks would probably be easier than using vanilla and removing the forum parts of it.
  • Thanks all... I'm pretty excited about giving it a shot, it'll be a lot more fun than using one of the convoluted frameworks out there... :) Mark might consider releasing the framework on its own... There are a lot of other people out there craving a compatible framework that includes a basic user system... Can't hurt the popularity for Vanilla either. :) I'll update when I'm successful so people know what level of effort to expect if they undertake something similar...
This discussion has been closed.