Caravel directory structure
From CaravelWiki
Here is an overview of the caravel directory layout.
Starred (*) apps are part of the Caravel core, rather than content block applications that can be inserted into blocks.
caravel/
apps/
AccountCreator/ allows account registration
Accounts/ (*) for managing user accounts
BibleGateway/
BlockSettings/ (*) block settings popup
Blog/ blog app (based on the FolderViewer)
CSSEditor/ (*) for editing CSS styles
Calendar/ ICS calendar viewer
CaravelSecurity/ (*) group/privilege editor for pages & blocks
ChangePassword/ password changing app (but see also the one in apps/Options/Password.php)
Clock/
Comments/ add comments to any block
Contact/ edit a site's contact information (still pretty Mennonite.net-centric)
DynamicSite/ create sites on-the-fly for users with LDAP accounts
ECommerce/ e-commerce tools
ECAdmin/
ECCheckout/
ECEvent/
ECItem/
ECLink/
ECShoppingCart/
Editor/ (*) central editor interface for all document types
(calls the appropriate TypeHandler from core/File/TypeHandlers)
EmailFeedback/ form builder app
FileExplorer/ (*) contains part of the file manager funcitonality
(see also core/Widget/CaravelNavigator)
FileOpener/ (*) app for inserting an existing file (just a wrapper for the file manager)
FileViewer/ (*) app for displaying a file
FolderViewer/ display various views of folders
FooterEditor/ (*) for editing the footer
GoogleGadgets/
HitCount/ a simple hit counter
ImagePicker/ (*) image browser for inserting images into tinymce
IncludeUrl/ include another webpage
IntelligentQuery/ harvest and search keywords
LanguageManager/ (*) manage the available languages
LanguageSwitcher/ switch the effective language
LinkWriter/ (*) for inserting links into tinymce
Login/
MailMan/ (*) add mailman lists (still pretty Mennonite.net-centric)
Navigator/ various views of the page hierarchy
Option/ (*) per-user, per-site, and global Caravel options
OrgSearch/ search Caravel sites based on LDAP attributes
PageHelp/ (*) set the page help text in the left sidebar
PersonalProfile/ (*) edit a user's profile info
Plugins/ these are not apps...why are they in apps/ instead of in plugins? --David
ResetCustomDirs/
SudoSupport/
ProjectManager/
PublicUploader/
QuickPoll/
RSS/ (*) RSS feed editor
RSSPromoter/ create an RSS auto-discovery link
RapidPublicUploader/
RapidUploader/ hmm, I don't think this is used anymore... -David
SampleApp/ something to get you started
Search/ Google search
Selector/ (*) for picking which app you want to add to a column (Add Feature)
SideBar/ (*) generates the left sidebar
SiteAdmin/ create/edit/delete Caravel sites (needs to be rewritten to NOT use the old file manager code)
SlideShow/ view a slideshow of images from a folder (needs to be rewritten to NOT use the old file manager code)
Uploader/ (*) uploader used when you click Upload File from a block menu
Weather/
Workflow/ (*)
cache/
rss/ cached RSS feeds
conf/
conf.d/ other configuration files
caravel.conf main Caravel configuration (generated by the installer)
caravel.conf.sample base configuration copied by the installer
caravel.schema Caravel LDAP schema
caravel_apache.conf add-on to Apache configuration for Caravel
cv.predefined.class predefined block styles
domainmap for canonicalizing domain names
hostmap for directing sites to use custom dirs instead of caravel
hostmap.all for custom dirs for Caravel sites
permFolders.conf folders that can't be deleted (is this still used?)
plugin.conf plugin hook configuration
powerFolders.conf no longer used
rssFolders.conf ???
tidy.conf options for HTMLTidy
toolbars.utils.conf customize the Tools menu items
core/ Caravel's core code
Error/ error-handling classes
Exports/ export utility
File/ file-related classes
RTF/ ???
TypeHandlers/ classes for working with different types of files
magic/ ??? used for determining mime types ???
FileManager/ the OLD file manager (still used by SiteAdmin and SlideShow)
LDAP/ classes for accessing LDAP
SQL/ classes for accessing SQL databases (but use adodb instead. it's better, I promise)
Structures/ some classes that aren't used much (except for mnOrganization)
Widget/ pieces of code that we weren't quite sure where to put...
CaravelNavigator/ the bulk of the NEW file manager
FormWidget/ the great magical form generator
GenericWidget/ hmm...not quite sure why this needs its own subdirectory
TabWidget/ for generating tabs (is this still used?)
TemplateManager/ I don't remember
UploadWidget/ the uploader used in File Manager and the image browser
bin/ binary helpers
lib/ some PEAR libraries we've customized
templates/ HTML templates
block/ HTML templates for different block styles
custom/ default location for custom (non-Caravel) sites
data/
(one dir for each site)/
css/ here is where CSSEditor-created CSS is located
rss/ is this used?
filesystem/
(one dir for each site)/ the actual contents of a site's files
snapshots/
(one dir for each site)/ snapshotted (published) pages
docs/ a few nominal attempts a documenting
include/ Javascripts and third-party software
cal/ php iCalendar
tinymce/ tinymce (the HTML editor)
lightbox.js Lightbox
prototype.js Prototype.js library
scriptaculous.js Script.Aculo.Us library
caravel.js js loaded all the time
caravel_navigator.js js for the file manager
cvPopupDialog.js our library for making div-based popup dialogs
drag.js js for handling the draggable layout elements
http_request.js our library for handling AJAX requests
javaPulldown.js js for handling the popup menus
load_editor.js js for hooking into tinymce
local.js js loaded when logged in
install/ files for the Caravel installer
plugins/ plugins (configure hooks using conf/plugin.conf)
public_web/ Apache's DocumentRoot for caravel
css/ publicly accessible CSS
img/ publicly accessible images
ajax.php handler for Ajax requests (old plugin hook style)
bugreport.php error-reporting screen
download.php handles downloading files (for backwards-compatibility)
index.php the big entry point
popup.php handles most of the popups from the main toolbar
scripts/ scripts for maintenance -- mostly way out of date -- use at your own peril
upgrades/ incremental migration scripts
do_upgrades.php wrapper for running the migrations
install.sh Caravel installation script
