Mark Smith's Journal

Work related musings of a geek.

Entries tagged with dev

26.01.2009 12:22 am


mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
This weekend I have made some darn good progress on the WTF project.  The system of splitting up what LJ code calls "friends" into two groups: people you watch and people you trust.  This split enables you to do some pretty neat things with managing your usage of the site.

Of course, it's a hell of a project.  The diff at present is 4,568 lines of code.  Granted, a lot of that is moving things around, but each bit of code has had to be altered and updated to fit with the new model.  In many cases policy decisions have to be made about whether to convert existing friends functionality to use your "watch list" or your "trust list."

Anyway, I'm mostly posting now to see if posting works.  Time to crash.
I created [site community profile] dw_dev for development related discussion.  Sent out invites to the people who are here.  I don't expect the community to get much traffic right now, but you never know I guess...
Setup Perlbal on the staging server so that we can support user subdomains properly.  Trying to do it all through Apache ReverseProxy directives didn't look to be a very exciting project so I just bit the bullet and put it together.

Wanted to ramble just a bit about the different repositories we've setup.  Those of you who are familiar with how LiveJournal does things will be right at home, but I've chosen terminology that is more in line with how the open source community works.  You will see these designations from place to place, and it will be useful to keep them clear in your head.

dw-free (like the 'livejournal' repository) contains code that is licensed under the GPL and can be freely used, modified, and redistributed under the terms of that license.

dw-nonfree (like the 'ljcom' repository) is the stuff that makes us unique.  Themes, graphics, styles, and any glue code that we can't license under the GPL.  These resources aren't publicly available - you can look at them, but please don't steal them!

dw-private (like the 'ljcomint' repository) is internal configuration that isn't available for you to see.  It's just used for us to run the site and configure our servers without publishing things like passwords and the like.

That's basically it.  The big difference between us and LJ here is that, as directed by our Guiding Principles, we will be publishing all features and fixes in the dw-free repository for anybody to have and use.  Open Source at work!
Running both the staging server and the other DWS Coalition sites (informational sites) on the same server involves a bit of strange gyrations that don't exactly feel great. Anyway, the development server is currently setup like this:

Apache 2 is listening to external:80 only. Multiple vhosts are setup, one for each site. That allows the various sites to have their hosting all handled from this Apache 2 process. A vhost is setup for stage.dreamwidth.org that has a simple reverse proxy pointed at an Apache 1.x instance running the DW code.  Anyway, the whole thing is kinda janky, but it works for now.

That's all well and good.  Perlbal would do this whole thing "better", but we don't need to use it just yet.  Might as well hold off on using it until we really need to.  At that point we will have separate servers for the various sites, which will work out better for everybody involved.  :)