# The Advanced section

Need more detailed control? Well some of those controls are present in this section, but remember JAlbum doesn't aim to have a button for each imaginable type of option, instead JAlbum gains its power from its ability to interpret user defined skins, containing variables, special flow control elements and BeanShell scripts. This page is divided into four sections. "Main", "Naming", "User variables" and "Preferences"

## The Main subsection

Settings that don't fit in the other three sections go here

- Text encoding -Set the text encoding to use for reading and generating files and comments. Note: JAlbum will auto-sense UTF-8 and UTF-16 encodings no matter this setting (given that those files/comments contain a "signature marker" for those encodings). Some text encodings require you to run JAlbum on top of an international Java. The embedded Java (Windows only) is not international and only supports a few encodings. It is recommended that you use the international Java from Sun with JAlbum (select "JRE").
- Write UTF-8 -Generate files and store comments using UTF-8 encoding no matter the "Text encoding" setting below. It is recommended to keep this checkbox checked as UTF-8 enables you to use any combination of characters in a web page but make sure that your web server passes the correct encoding too.
- Date format -Display format for date/time. Defaults to the format for your region. You can get any imaginable date formatting by entering a custom made "pattern" here. Here is a guide:

  >     Symbol   Meaning              Presentation    Example
  >     ------   -------              ------------    -------
  >     G        era designator       (Text)          AD
  >     y        year                 (Number)        1996
  >     M        month in year        (Text & Number) July & 07
  >     d        day in month         (Number)        10
  >     h        hour in am/pm (1~12) (Number)        12
  >     H        hour in day (0~23)   (Number)        0
  >     m        minute in hour       (Number)        30
  >     s        second in minute     (Number)        55
  >     S        millisecond          (Number)        978
  >     E        day in week          (Text)          Tuesday
  >     D        day in year          (Number)        189
  >     F        day of week in month (Number)        2 (2nd Wed in July)
  >     w        week in year         (Number)        27
  >     W        week in month        (Number)        2
  >     a        am/pm marker         (Text)          PM
  >     k        hour in day (1~24)   (Number)        24
  >     K        hour in am/pm (0~11) (Number)        0
  >     z        time zone            (Text)          Pacific Standard Time
  >     '        escape for text      (Delimiter)
  >     ''       single quote         (Literal)       '

- Extract photographic data -Add image meta information (shutter speed, aperture etc) if found
- Use classic image readers -Use older, but faster code for reading JPEG, GIF and PNG files instead of ImageIO
- Include subdirectories in index pages -Create icons and links to subdirectories (if present)
- Process only updated subdirectories -Skip subdirectories that haven't been touched since the last album build (makes a deep file date comparison). This option speeds up updates of large album structures significantly.
- Use thumbnail for folder icon -Replace the standard folder icon with a randomly selected thumbnail from one of the files in the image directory (unless a certain thumbnail is explicitly selected)
- JPEG quality (%) -Balance file size / image quality
- High quality scaling -Smoother but slower image scaling
- High quality thumbnails -Smoother and almost as fast thumbnail image scaling
- Progressive mode -Save images in such a fashion that they load in stages of less blurrines
- Ignore pattern -Regular expression for files and directories to ignore during album processing. This option is mainly relevant when processing big directory trees where one wants to ignore certain "system directories" that some camera makers add. Here are some examples of valid regular expressions and their meaning:

  >     Pattern            Meaning
  >     -------            -------
  >     .*\.gif            All gif files
  >     (system|meta)      The directories (files) system or meta
  >     \..*               All files or directories beginning with a dot
  >     (\.|_).*           All files or directories beginning with a dot or underscore

  For more details on regular expressions, please refer to the many tutorials and examples available on the Internet.
- Comment sources -Controls locations to pick image comments from (listed in order of precedence)

## The Naming subsection

This section allows you to set the names and directories of generated files. Note, the directory selection is still fixed but will be user definable in future versions. In the meantime, skin authors are encouraged to use the engine/AlbumBean getXXX methods to get these directory names instead of using hardcoded strings like "thumbs" and "slides".

- URL encoding -Toggle encoding of spaces and foreign characters in links. Should be used for web albums, and not used for local (harddisk/CD-ROM) albums containing foreign characters
- Index page name -File name of the index page(s) with thumbnails that gets created in the image directory
- Page extension -File name extension of the html pages that are generated. Is usually .html or .htm
- Thumbnails directory -Where to put thumbnail image files
- Closeups directory -Where to put closeup (scaled) image files
- Slides directory -Where to put slide files (usually html)
- Thumbnail prefix -Prefix to add in front of each thumbnail file
- Closeup prefix -Prefix to add in front of each closeup (scaled) file

## The User variables subsection

Variables to be replaced or overridden during album generation. See the skin creation section for a full list of existing variables. For example: Add a homepage variable and have all occurances of, say, $homepage in the skin template files replaced by this variable. ($homepage is not defined for most skins, but you may add it by editing the skins. See the "creating skins" section).

## The Preferences subsection

These are environmental settings that doesn't directly affect the generated album. The settings here are not included in JAlbum projects. Remember to use "Save as default" from the File menu in order to make changes here permanent.

- Language -Sets the preferred language of JAlbum. If you're missing your language, please see the "texts" directory of JAlbum for how to translate JAlbum to your language.
  If asian languages doesn't show up correctly make sure you run JAlbum on Java 1.5
- Look And Feel -Sets the look and feel (visual appearance) of the JAlbum user interface. New "Look And Feels" can be downloaded into the Java environment that JAlbum uses and then used by JAlbum.
- Debug mode -Make JAlbum stop for minor image processing errors and display a stack trace
- Check for updates -Check for updates on start up.
  You may get a warning message from your firewall when starting JAlbum saying that "javaw.exe" is trying to access the Internet. This is normal and needs to be allowed for this function and the publishing function to work.
- Use layout hints -If to allow a skin to change the program settings (image size etc)
- Auto write comments -If JAlbum is to automatically write comment changes to the "JPEG comment" section of JPEG files when storing comments in the Edit section.
- Show warning dialogues -If JAlbum is to show warning dialogues for settings that may lead to a less than perfect album result.
- Allow blinking hints -If to allow, for example, the "Drag and drop" reminder to blink when hovering the mouse over the directory selector.
- Number of threads -Makes use of multiple processors in order to enhance album generation speed. On a dual core system the speed gain is close to 100%. On CPUs with hyperthreading, the gain is up to 60%. On single core systems without hyperthreading support, this setting is disabled (i.e only one thread is used).