Tag Archives: vanilla

converting wordpress mu into a community based system – part 1

4 Sep

converting wordpress mu into a community based system – part 1

I’ve decided to start documenting a project I’m working on. hopefully it can help others. Everything is offered as “it worked for me”. This will be an ongoing series till I’m done with the project. I’ll post as i get time to, not as often as my regular posts, but as i can.

The Scope

This project needs to offer forums, blogs, guestbooks, friend features, ads, profiles, and other features my brain is forgetting to mention (i need sleep). there won’t really be any custom themes (not covered within scope) so the modifications made may only help get you started

I’m using the latest version of wmpu as of posting : 1.2.4

Some Back Story

Ok heres some back story on why i’m doing this. The company i’m doing this for is an internet cafe / coffee house / bookstore chain that focuses on rural markets. The goal is to help users become more .connected through there services. Which seems like a good idea due to the fact about 50-70% of their users online use the net at their cafes.

So Far

So far I’ve hacked some of the admin, found a decent theme and modded it somewhat.

Here’s a quick run down of features working:
*all these plugins should be running from mu-plugins — see next section for tips if your having issues*

site wide feeds :
http://www.itdamager.com/plugins/wpmu-sitewide-feed/

tagging (i use on all sites, but use site wide tags feature on main site) :

I initially tried the latest version which some people have been able to use, after wrestling with it for a bit i tried the 1.6.2 version which ran great after maybe one or two tweaks. I’ll eventually go back to getting the last version to work, but that’s a time best spent issue.

http://trac.herewithme.fr/project/simpletagging/browser/branches/1.6.2

site wide tags (i use on main site) :
make sure you edit the file
http://daankortenbach.nl/blog/webontwikkelaar/wpmu-site-wide-tags-solution/

js box admin style (the spotmilk folder) :
http://jsbox.net/247

events :
replace all reference to the plugins or eventcalender3 folders with mu-plugins
*i should note you can probably leave the eventcalender3 folder ref’s alone and just make a loader file*
http://wpcal.firetree.net/

what would seth gordin do:
again replace plugin ref’s, this is my favorite wordpress plugin – just thought i should mention that
http://www.richardkmiller.com/blog/wordpress-plugin-what-would-seth-godin-do/

comment tracker : I don’t remember where i got this

Bad behavior :
copy the wordpress file and the bad-behavior subfolder to mu-plugins – should work out the box
http://www.homelandstupidity.us/software/bad-behavior/

Making plugins work with wordpress mu

this is by no means a perfect science, but using the following steps i’ve only found one plugin i couldn’t get to work under mu, but then again it doesn’t work under regular wordpress either :(

first find of plugins references : you need to change all plugin references to mu-plugins.

either place everything directly in mu-plugins, or create a loaded. a good example of this is stp. you have to make a loader file to use it. a loader does nothing more than sit in you mu-plugins folder, and include the main plugin file from its folder.

track includes: when dealing with css (we all should be to some extent) check the source generated for the stylesheet includes. about 2 times so far, i’ve wondered why a feature wasn’t working, only to realize it’s css wasn’t included correctly, so it wasn’t displaying.

Full plugin Listing

Here’s Two screen shots that list everything installed to date

Plugins list part 1
here’s an ftp view of the mu-plugins folder

Plugins listing 2

Hacks

I’ve changed the admin area to use the sitewide feed as the feed displayed at a users admin. I’ve also removed all wordpress / theme branding, changes some of the labels used admin wide to reflect the main site / profile idea, and added some logic to the theme which detects if your currently at the main site, or a user site (will effect options, text).

my theme uses a function.php and it’s loaded before everything else, so thats where i’m placing all custom functions.

One thing I’ve noticed is that you must do a global $VAR before using any custom vars everytime. It doesn’t matter if i have two php snippets two line away from each using the same var. if I don’t have a global for the var it won’t work.

see ya next time

I know right now this is very little info, but as i continue it’ll eventually start to resemble something close to a community. The next steps for me are adding friends support, making profile pages, private messaging, forums, and hacking the admin area to to crippled when used from anything but the main site. I’m still debating whether I’ll go with vanilla or bbpress, both have wordpress support, but right now it’s looking like bbpress.

No idea when i’ll get back to this project (I have 6 months till soft launch), but I’ll try to post regularly, even if it’s only bits and pieces as i do them.

how to: integrate wordpress and vanilla

3 Sep

Every wanted to integrate wordpress and vanilla? The makers of vanilla will tell you how :

Wordpress Integration

The following integration was made with Wordpress 2.0.4 and Vanilla 1.0.1 on August 22, 2006. Let it be known that I am not a Wordpress user. Besides the fact that it’s an insanely popular blogging tool and people often ask how to integrate it with Vanilla, I honestly don’t know much about the program. I just downloaded it, installed it, and now I’m integrating it with Vanilla.

So, let’s begin…
File Integration

Obviously the first question that comes to mind is “where should I put the Vanilla files with relation to Wordpress?”.

I installed Wordpress first. I put it in my document root with the actual version name as the folder name:

/path/to/document/root/wordpress-2.0.4/

Up next I downloaded the latest version of Vanilla (1.0.1) and I dropped the zip file into my wordpress-2.0.4 folder. I unzipped it right there so my Vanilla sat in wordpress like this:

/path/to/document/root/wordpress-2.0.4/Vanilla.1.0.1/

Obviously those folder names aren’t the greatest, but I’m using them for the sake of clarity.
Database Integration
Installation

Okay, so I’ve got Wordpress installed and Vanilla just sitting there, not yet install

check it out : http://lussumo.com/docs/doku.php?id=vanilla:integration:wordpress

*i’ll try and post a wordpress mu version soon*

i like spice, flavors, jewelry, and working out

11 Aug

spice and flavors
mint : stats
peppers : mint plugins
vanilla : forums

jewelry
ruby on rails: best web platform

working out
curl

now someone just needs to make something useful called ice cream, stick shift, and diamonds. then i might finally sound cool when i talk about a weekend :)

vanilla forums

11 Aug

I looked through the ste, and realized i never posted on vanilla. check it out

setup trac on media temple dv or centos with plesk installations

16 May

I covered svn setup on media temple dv and similar centos with plesk setups here : http://elsid.net/2007/05/07/setup-svn-server-on-media-temple-dv-or-centos-with-plesk/

Now i’ll cover the basics of setting up trac on media temple dv and similar centos with plesk setups. Please note this is what worked for me (and should work for other media temple dv setups). Please let me know if i missed something, or any recommendations.

first steps

First you need to request root access and the developer tools package. Once that’s done we’re ready to start.

This setup will use mysql for the trac database and serve trac from a subdomain. I’m only covering the setup of a vanilla trac installation

You can take a look at the trac install guide here : http://trac.edgewall.org/wiki/TracInstall

Preq’s / What you’ll need:

clear silver :

  • download – http://www.clearsilver.net/downloads/
  • setup docs – http://lists.edgewall.com/archive/trac/2005-December/006090.html
  • setup – ./configure, make, make install
  • setup tools :

  • download – http://svn.python.org/projects/sandbox/trunk/setuptools/#egg=setuptools-dev
  • setup docs – http://svn.python.org/projects/sandbox/trunk/setuptools/README.txt
  • setup – sh setuptools-0.6c4-py2.4.egg
  • mysqldb:

  • download – http://sourceforge.net/project/showfiles.php?group_id=22307
  • setup docs – http://blog.spikesource.com/mysqldb.htm
  • setup – python setup.py build, python setup.py install
  • python:

  • already installed
  • mod_python:

  • already installed
  • svn:

  • http://elsid.net/2007/05/07/setup-svn-server-on-media-temple-dv-or-centos-with-plesk/
  • More pre-install steps

    I covered svn setup here : http://elsid.net/2007/05/07/setup-svn-server-on-media-temple-dv-or-centos-with-plesk/

    svn must be rebuilt to work correctly with trac. http://trac.edgewall.org/ticket/3706#comment:10 .

    First we need to edit the svn makefile.
    change : SVN_APR_LIBS = /root/subversion-1.4.3/apr/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl
    to : SVN_APR_LIBS = /root/subversion-1.4.3/apr/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl -L/usr/lib -lgssapi_krb5 -lkrb5 -lk5crypto
    replace /root/subversion-1.4.3 with what ever is the path in your file.

    now run make clean, then make, and make install

    Almost done. We’ll build swig and then move to our trac setup. in your subversion build folder do the following.

    make swig-py
    make install-swig-py
    make swig-py install

    If you’ve installed all the preq’s, rebuilt svn, and built swig we should be ready to install trac.

    –note : you may need to copy the svn and libsvn folder from /usr/local/lib/svn-python to /usr/lib/python/site-packages. remember copy not move.

    Install trac

    Install Trac
    python ./setup.py install

    Setup Project

    go to plesk and setup a subdomain for trac. Make sure you only select python support.

    now setup a mysql database at the same domain you made your trac subdomain at. Add a user for this database and we’re almost home.

    make the following directorys :
    /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/test
    /var/www/vhosts/yourdomain/subdomains/yoursubdomain/svn/test

    setup a project : trac-admin /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/test initenv

    setup a test svn for this project : svnadmin create /var/www/vhosts/yourdomain/subdomains/yoursubdomain/svn/test

    make a sub directory in our trac directory and chmod 0777 it, we’ll need this later: mkdir /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/plugins
    chmod 0777 /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/plugins

    be sure to check the permissions on your svn and trac directory, we need to be sure apache is able to access and run our files.

    go to the conf directory for your subdomain : cd /var/www/vhosts/yourdomain/subdomains/yoursubdomain/conf

    almost done make a file : vhost.conf

    Open this file and add the following, remember to fix the paths to your domain and subdomain:


    SetEnv PYTHON_EGG_CACHE /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/plugins
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /var/www/vhosts/yourdomain/subdomains/yoursubdomain/trac/test
    PythonOption TracUriRoot /
    PythonInterpreter main_interpreter

    Final Steps

    restart apache : /usr/local/psa/admin/sbin/websrvmng -a -v

    point your browser to your trac subdomain. If everything is working fine you’ll see a trac page. If not you’ll see a 500 error page.

    Got Problems?

    If your seeing an error page you should take the following steps:

    go to plesk >> yourdomain >> log manager >> error log

    copy the portion that contains your error and remove the servers timestamps and ip data.

    do a google on the very last line, this will contain the error message. You’ll likely see a result from the trac website. if not add the word trac before your search.

    If you still see no results from the trac website, go to the site and search the tickets. Still no luck? open a new ticket. Trac is very good with support and the community is extremely helpful.

    References / helpful Links

    http://trac.edgewall.org/wiki/TracGuide
    http://trac.edgewall.org/ticket/3706#comment:10
    http://trac.edgewall.org/ticket/4459#comment:21

    If you need help you can contact me, but i’d recommend using the trac community as i’m not fluent with python.

    happy coding – sid

    setup svn server on media temple dv or centos with plesk

    7 May

    I’m saving this here for my ref:

    This walk through covers setting up a svn server on media temples dedicated virtual servers (dv) or similarly configured centos with plesk installations.

    With media temple the yum command isn’t available so we have to do it the long way

    first go to http://subversion.tigris.org/project_packages.html

    Download the source for both subversion and dependencies. make sure you download them both to the same directory

    you can do this using wget, ex : wget file_location

    ok now extract both archives – use google if you don’t know how

    almost done, now lets get it installed

    first cd (change directory) into the subversion folder, then run the following commands

    ./configure --with-apxs=/usr/sbin/apxs
    make
    make install
    

    This will configure with apache support, build and install. now all thats left is setting up apache and a domain, but before we get to it, check your httpd.conf file and make sure you see the following modules being loaded :

    mod_dav_svn mod_authz_svn

    I prefer to use a subdomain and recommend it, ex: trac.domain = trac frontend, svn.domain=regular svn access. It’s up to you. the steps for setting up a subdomain and domain are pretty much the same, so i’ll only cover subdomains.

    Login to plesk, select the domain you plan on using. go to subdomains > add new

    ok here we want to setup a new subdomain. remember to give this subdomain a different ftp account that the main site.

    save this domain, check that it’s up and running , and exit plesk.

    almost done :)

    login to your servers file system go to /var/www/vhosts/your_domain/subdomains/your_subdomain/

    now we need to setup a svn repo.
    first make a new directory for our repo , I recommend making it your subdomains dir, ex

    mkdir /var/www/vhosts/your_domain/subdomains/your_subdomain/svn/repo;
    chmod 0777 /var/www/vhosts/your_domain/subdomains/your_subdomain/svn/repo;
    svnadmin create /var/www/vhosts/your_domain/subdomains/your_subdomain/svn/repo;

    next cd into your conf directory at /var/www/vhosts/your_domain/subdomains/your_subdomain/conf

    vi vhost.conf

    and enter :

    #svn.server.com — vhost.conf file
    <location />
    DAV svn
    SVNPath /var/www/vhosts/your_domain/subdomains/your_subdomain/svnrepo
    AuthType Basic
    AuthName “Subversion Repository”
    AuthUserFile /etc/svn-auth-file
    Require valid-user
    </location>

    ok promise it’s almost over

    We need to add a user for access via the apache svn frontend

    htpasswd -c /etc/svn-auth-file your_user

    now run
    /usr/local/psa/admin/sbin/websrvmng -a -v

    That restarts apache to load all of our changes.

    now go to your_subdomain.your_domain and login – svn is running

    Things to keep in mind, I’m only covering media temple dv, and similar centos with plesk configurations. I’m not covering security, i’ve not covering trac, getting your repo setup, etc. So this is a vanilla install. – use google and make it more.

    Articles I used :

    http://alexle.net/archives/138