Details of Web Profiles
In response to a request for /profiles/spqr1/, the web server will serve the contents of ~web/htdocs/profiles/spqr1/index.html. It is not intended that this file ever be written directly, though there is nothing preventing this.
This spqr1/index.html file is generated when spqr1 runs
the web_profile command, or anyone with suitable write
permissions runs
web_profile -u spqr1
Source files
This index file contains data
from ~admin/people/People.csv along with a collection of
files provided for the specific user. These files
(research.html etc.) are taken from the directory
~web/htdocs/profiles/spqr1/source
By default this source directory is a symbolic link to a directory in spqr1's home directory where he can freely create and edit files, and no-one else can:
pc23:/u/fs1/web/htdocs/profiles/spqr1$ ls -l lrwxrwxrwx 1 mjr web 23 Jul 9 15:13 source -> /u/fs1/spqr1/web_profileHowever, if spqr1 is not maintaining his own profile, it can point elsewhere
pc23:/u/fs1/web/htdocs/profiles/spqr1$ ls -l lrwxrwxrwx 1 mjr web 28 Jul 9 15:14 source -> /u/fs1/admin/profiles/spqr1Or it can simply be a directory
pc23:/u/fs1/web/htdocs/profiles/spqr1$ ls -l drwxrwsr-x+ 2 mjr web 6 Jul 9 15:14 source
Personal Photo
The personal photo is taken from ~web/htdocs/profile/gallery/spqr1.jpg. The script which copies photographs into here checks its aspect ratio and size. This photo is also used by the directory pages.
Permissions
Files under ~web/htdocs are intended to be modifyable by anyone in the web group. Anyone in the web group can thus regenerate anyone's profile. This will fail if the corresponding source files are not world readable.
Missing documents
The web server will serve
~web/htdocs/profile/not_found/default.jpg
in response to
a request for a document in ~web/htdocs/profile/gallery which
is not present. This means that absent photos result in a placeholder
for both directory and personal profile pages, and this placeholder
disappears as soon as a real photograph is provided.
<Directory /new/profiles/gallery/> FallbackResource /profiles/not_found/default.jpg </Directory>
The web server will serve
~web/htdocs/profile/not_found/index.html
in response to
a request for a profile which does not exist. This file is maintained
by hand.
<Directory /new/profiles> ErrorDocument 404 /profiles/not_found/index.html Options -FollowSymLinks </Directory>
Other missing documents hit a catch-all
ErrorDocument 404 /errors/404.html