This documents the contents of the $LJHOME development folder as checked out by
bootstrap.pl and present on all Dreamhacks.
Top Level Directories
This directory contains backend utilities for maintaining and upgrading the site.
This directory contains the code libraries that run the site. This is the base of the library path--that is
use Net::OpenID::Consumer; refers to the code in
cgi-bin/Net/OpenID/Consumer.pm. It contains all the custom Perl libraries and functions that the code references including the
DW::* libraries. Code in
*.pl files in this directory are also library files but in an older style (bug 1726 refers to these updates).
The two Mercurial source branches you'll be using most often are
dw-free dw-free and
dw-nonfree dw-nonfree. (When viewing the Mercurial page for each repo, the 'Manifest' link in the top menu bar will allow you to browse the source tree.)
Most notable thing in here is source for the old and very much out of date docbook code for the server (LJ's is visible at
http://livejournal.com/doc/server/ but Dreamwidth has not generated a visible copy), and LJ programming guides.
Empty in a clean checkup. Your site's
ljconfig.pl will go here, to make sure the original
ljconfig.pl can be updated without ill effects on a running installation.
This directory contains most of the user-facing pages, with the directory structure used on the main website. That is to say, anything that appears at
http://www.dreamwidth.org/filename.bml will be here, as
htdocs/filename.bml; anything at
http://www.dreamwidth.org/directory/filename.bml will be here as
htdocs/directory/filename.bml, etc. To see your changes on your development site, you need to make the changes to the appropriate file in this directory.
Looks to be an empty folder to store logs during running the code.
Confusingly enough, contains source for some of the packages the code uses. Perhaps this is the folder that comes with the distribution and
cvs is checked out from the other repositories? Does not contain all of the ones in
This contains pages that are transmitted over SSL instead of being unencrypted. Regular files live in
This directory contains the tests that use the testing framework in main/test. See Dev Testing for how to use them.
Empty in a clean install. Probably used for temporary file storage.
Very sparse directory; really not much here.
This contains Template Toolkit files, as part of our conversion from BML to Template Toolkit. The controllers for the templates are in cgi-bin/DW/Controller/.