This documents the contents of the $LJHOME development folder as checked out by
bootstrap.pl and present on all Dreamhacks.
Backend utilities for maintaining and upgrading the site.
Commonly used programs in this directory include:
Code libraries that power the site. This directory 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).
All subdirectories here map to library names, so
DW::Foo goes in
cgi-bin/DW/Foo.pm and so forth.
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.)
Unedited versions of some configuration files are stored here, plus the DocBook manual.
Docbook formatted source for the old and very much out of date docbook code for the LiveJournal server. LiveJournal's version is visible at
http://livejournal.com/doc/server/ but Dreamwidth has not generated a user-visible copy.
Various configuration files specific to the local site, such as
ljconfig.pl. These files are not copied to the Mercurial repositories so they can be updated without affecting other running installations.
User-facing BML 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
Some of the Dreamwidth sub-systems keep log files here, including the journal importer.
Template Toolkit (
*.tt) files for generating the site schemes used on Dreamwidth.
Source code for some of the packages the code uses. The [list of what gets checked out] says which files are pulled down to go in
src/. In that file the second column on lines 38 onwards lists destinations, so anything with
src/* in that column goes in
BML pages that are transmitted over SSL instead of being unencrypted (regular files live in
htdocs). This includes the shop and the admin tools, amongst other things.
Subdirectories here work the same as those in
Tests that use the testing framework in main/test. See Dev Testing for how to use them.
TODO: Probably used for temporary file storage, but what temporary files?
TODO: What's this?
Template Toolkit files which are gradually replacing the BML files. The controllers for the templates are in cgi-bin/DW/Controller/.