Directory Structure
This documents the contents of the $LJHOME development folder as checked out by bootstrap.pl
and present on all Dreamhacks.
Contents
bin
Backend utilities for maintaining and upgrading the site.
Commonly used programs in this directory include:
- checkconfig.pl
- cvsreport.pl
cgi-bin
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 LJ::*
and DW::*
libraries. Code in *.pl
files in this directory are also library files but in an older style (bug 1726 refers to these updates).
cvs
Local version of the Mercurial repositories. Information about use of these repositories can be found in the [Developers' Initial Programming Notes].
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.)
doc
Unedited versions of some configuration files are stored here, plus the DocBook manual.
raw
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.
etc
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.
htdocs
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 htdocs/directory/filename.bml
, etc.
logs
Some of the Dreamwidth sub-systems keep log files here, including the journal importer.
schemes
Template Toolkit (*.tt
) files for generating the site schemes used on Dreamwidth.
src
TODO: Check this
Source code 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 cvs
though.
ssldocs
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.
t
Tests that use the testing framework in main/test. See Dev Testing for how to use them.
temp
TODO: Probably used for temporary file storage, but what temporary files?
test
TODO: What's this?
views
Template Toolkit files which are gradually replacing the BML files. The controllers for the templates are in cgi-bin/DW/Controller/.