Table of Contents
File Areas Configuration
Transferable files are represented to users in a logical 2-level hierarchy of libraries and directories. A library is a group of directories that contain files of a similar subject matter.
An example file library/directory configuration:
Library Name Directory
---------------------------------
Main Text
Utilities
Business
Graphics
Games
Communications
Miscellaneous
Adult Text
Animation
GIF files
TGA files
DOS CD-ROM Utilities
Device Drivers
Business
Games
Communications
Programming
Windows CD-ROM Utilities
BMP files
WAV files
Device Drivers
Games
Desktop Publishing
Fonts
Configure
File Areas are usually configured (e.g. created and removed) using the SCFG->File Areas menu.
Hit INS (insert key) to create a file library. File libraries are groups of file directories that have a similar subject matter or other common element. File libraries are often used to separate Program files and Data files or files stored on a Hard disk and files stored on CD-ROM. An example configuration that separates programs from data:
Library Directory --------------------------------- Programs Games Programs Utilities Programs Business Programs Communications Programs Graphics Programs Programs Programming Data Files Text (Documentation, Stories, Cheats) Data Files Program Source Code (C, ASM, PAS, BAS) Data Files Still Pics (GIF, PCX, TIF) Data Files Animation (FLI, GL, DL) Data Files Sound (MOD, WAV, MID) Data Files Other
Example configuration that separates hard disk directories from CD-ROM directories:
Library Directory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hard Disk Text Hard Disk Games Hard Disk Utilities Hard Disk Business Hard Disk Graphics Hard Disk Communications Hard Disk Graphics Programs Hard Disk Programming Hard Disk Graphics, Animation, and Sound GIF CD-ROM G Rated GIF CD-ROM G Rated 640x480 GIF CD-ROM G Rated 800x600+ GIF CD-ROM R Rated GIF CD-ROM R Rated 640x480 GIF CD-ROM R Rated 800x600+ GIF CD-ROM X Rated GIF CD-ROM X Rated 640x480 GIF CD-ROM X Rated 800x600+ PD/ShareWare CD-ROM Games - Mono, CGA, EGA PD/ShareWare CD-ROM Games - VGA PD/ShareWare CD-ROM Utilities PD/ShareWare CD-ROM Communications PD/ShareWare CD-ROM Graphics and Desktop Publishing PD/ShareWare CD-ROM BBS Software and Utilities PD/ShareWare CD-ROM Programming PD/ShareWare CD-ROM Windows Programs, Fonts, Icons, etc.
You must have at least one file library and one file directory for anyone to be able to use the file transfer section. Following is a list of options available when creating or modifying a file library.
Library Configuration
When a file library is selected from the SCFG → File Areas menu, the following options are available:
╔════════════════════════════════════════════════════════════════════════╗ ║ Main Library ║ ╠════════════════════════════════════════════════════════════════════════╣ ║ │Long Name Main ║ ║ │Short Name Main ║ ║ │Internal Code Prefix MAIN- ║ ║ │Parent Directory ║ ║ │Access Requirements ║ ║ │Upload Requirements ║ ║ │Download Requirements ║ ║ │Operator Requirements LEVEL 90 ║ ║ │Exemption Requirements ║ ║ │Auto-Add Sub-directories ║ ║ │Sort Library By Directory Index Position ║ ║ │Virtual Sub-directories Lowercased Internal Code ║ ║ │Export Areas... ║ ║ │Import Areas... ║ ║ │Directory Defaults... ║ ║ │File Directories... ║ ╚════════════════════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Long Name | Description displayed when a user lists libraries (e.g. with the /* command). |
| Short Name | Short description shown in main-menu prompts and library listings. |
| Internal Code Prefix | Optional, recommended prefix used to construct unique internal codes for directories in this library. Up to 8 valid filename characters. Should be unique among libraries. Changing it implicitly renames every directory's internal code in this library. |
| Parent Directory | Optional path under which all directories in this library default their Actual File Path (e.g. a CD-ROM mount point or a separate disk). |
| Access Requirements | ARS users must match to see/access the library. |
| Upload Requirements | ARS to upload to any directory in this library (combined with each directory's own Upload Requirements). |
| Download Requirements | ARS to download from any directory in this library (combined with each directory's own Download Requirements). |
| Operator Requirements | ARS to be a library op (file-area sysop for this library). |
| Exemption Requirements | ARS that exempts the user from the library's access controls. |
| Auto-Add Sub-directories | Automatically create file directories from sub-directories of the Parent Directory path when SCFG starts. Useful for library trees backed by a CD-ROM or external file collection. |
| Sort Library By Directory | How directories within the library are sorted when listed: Index Position (sysop order), Long Name, Short Name, or Internal Code Suffix. |
| Virtual Sub-directories | Naming convention for the per-directory virtual paths used by SFTP and HTTP file browsing: Lowercased Internal Code (default), Internal Code, Long Name, or Short Name. |
| Export Areas... | Sub-menu — write all directory definitions in this library out to a text file in one of several formats (Synchronet *dirs.ini, Raw DIRS.RAW, CD-ROM DIRS.TXT/DIRS.WIN/00_INDEX.TXT, or FidoNet FILEGATE.ZXX). The picker also asks Append vs Overwrite when the file already exists. |
| Import Areas... | Sub-menu — read directory definitions from a text file (same supported formats as Export Areas) and add or update directories in this library. |
| Directory Defaults... | Sub-menu — edit the default values that are applied to newly added directories in this library. New directories inherit these defaults; changing the defaults does not alter existing directories (use Clone Options at the directory level for that). |
| File Directories... | Sub-menu — list and edit the file directories that belong to this library. |
Directory Configuration
When a file directory is selected from a library's File Directories... list, the per-directory main menu is shown:
Main Options
╔══════════════════════════════════════════════════════════╗ ║ Games Dir ║ ╠══════════════════════════════════════════════════════════╣ ║ │Long Name Games ║ ║ │Short Name Games ║ ║ │Internal Code MAIN-GAMES ║ ║ │FidoNet Area Tag [MAIN.GAMES] ║ ║ │Virtual File Path [/main/games] ║ ║ │Access Requirements ║ ║ │Upload Requirements ║ ║ │Download Requirements ║ ║ │Operator Requirements ║ ║ │Exemption Requirements ║ ║ │Actual File Path /sbbs/fileareas/main/games/ ║ ║ │Maximum Number of Files Unlimited ║ ║ │Purge by Age Disabled ║ ║ │Credit on Upload 100% ║ ║ │Credit on Download 90% ║ ║ │Toggle Options... ║ ║ │Advanced Options... ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Long Name | Description shown when a user lists directories. |
| Short Name | Short description shown in prompts. |
| Internal Code | Library prefix + sub-code suffix; uniquely identifies the directory across the system. |
| FidoNet Area Tag | Echo/Area Tag for FidoNet-style file distribution networks (e.g. via tickit). Auto-generated from library + directory short names if blank. |
| Virtual File Path | Path under which this directory's files are exposed via SFTP and HTTP. Auto-generated from library and directory if not explicitly set. |
| Access Requirements | ARS to see this directory at all. |
| Upload Requirements | ARS to upload files to this directory. |
| Download Requirements | ARS to download files from this directory. |
| Operator Requirements | ARS to be a directory op (manage files here). |
| Exemption Requirements | ARS that exempts the user from this directory's access controls. |
| Actual File Path | On-disk directory holding the actual file contents. Defaults under the library's Parent Directory if set, otherwise under data/dirs/<code>/. |
| Maximum Number of Files | Soft maximum number of file records. Older files above this count are pruned by delfiles. 0 = unlimited. |
| Purge by Age | Soft maximum age (days) for files. Older files are pruned by delfiles. |
| Credit on Upload | Percentage of the file's size in credits awarded to the uploader (overrides the system default for new directories). |
| Credit on Download | Percentage of the file's size in credits charged to the downloader. |
Toggle Options
╔══════════════════════════════════════════════════════════╗ ║ Directory Toggles ║ ╠══════════════════════════════════════════════════════════╣ ║ │Check for File Existence Yes ║ ║ │Force Content Ratings No ║ ║ │Upload Date in Listings Yes ║ ║ │Multiple File Numberings No ║ ║ │Search for Duplicates Yes ║ ║ │Search for New Files Yes ║ ║ │Search for Auto-ADDFILES No ║ ║ │Import FILE_ID.DIZ Yes ║ ║ │Free Downloads No ║ ║ │Free Download Time No ║ ║ │Deduct Upload Time No ║ ║ │Credit Uploads Yes ║ ║ │Credit Downloads Yes ║ ║ │Credit with Minutes No ║ ║ │Download Notifications Yes ║ ║ │Anonymous Uploads No ║ ║ │Allow File Tagging Yes ║ ║ │Calculate/Store Hash of Files Yes ║ ║ │Purge by Last Download Date No ║ ║ │Mark Moved Files as New Yes ║ ║ │Include Transfers In Stats Yes ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Check for File Existence | When listing/searching, verify the actual file is present on disk; missing files are flagged. |
| Force Content Ratings | Require all uploaded files in this directory to be tagged with a content rating. |
| Upload Date in Listings | Show each file's upload date in standard listings. |
| Multiple File Numberings | Allow multiple file records with the same number/identifier (legacy). |
| Search for Duplicates | Reject upload if a hash- or filename-duplicate already exists in this directory. |
| Search for New Files | Include this directory in the new files scans done by users at logon. |
| Search for Auto-ADDFILES | Include this directory when the addfiles script is run with the -auto option. |
| Import FILE_ID.DIZ | Extract and import the embedded FILE_ID.DIZ / FILE_ID.ANS / DESC.SDI description from uploaded archives. |
| Free Downloads | All downloads from this directory cost zero credits. |
| Free Download Time | All downloads do not subtract from the user's online time. |
| Deduct Upload Time | Time spent uploading is subtracted from the user's online time. |
| Credit Uploads | Award credits to the uploader for the initial upload. |
| Credit Downloads | Award credits to the uploader when their files are downloaded by others. |
| Credit with Minutes | Use minutes (time-bank credit) instead of bytes/credits when crediting the uploader. |
| Download Notifications | Send the uploader an in-BBS message when their file is downloaded. |
| Anonymous Uploads | Yes = users with the A exemption may upload anonymously; Only = all uploads are forced anonymous; No = identification always required. |
| Allow File Tagging | Permit users to add hash-tag-style tags to files in this directory. |
| Calculate/Store Hash of Files | Compute and store CRC-16, CRC-32, MD5, and SHA-1 of each uploaded file (used for duplicate detection and integrity reporting). |
| Purge by Last Download Date | Use last-download date (rather than upload date) when applying Purge by Age. |
| Mark Moved Files as New | Files moved from this directory have their upload date reset to the current date so they re-appear in users' new-file scans. |
| Include Transfers In Stats | Count uploads/downloads in this directory toward the system's daily and cumulative statistics. |
Advanced Options
╔══════════════════════════════════════════════════════════╗ ║ Directory Advanced ║ ╠══════════════════════════════════════════════════════════╣ ║ │Extensions Allowed ║ ║ │Data Directory ║ ║ │Upload Semaphore File ║ ║ │Sort Value and Direction Name Ascending (insens.) ║ ║ │Directory Index Now N / Was N ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Extensions Allowed | Comma-separated list of allowed file extensions (case-insensitive, no leading dot). Blank = all extensions allowed. |
| Data Directory | Override on-disk path where this directory's SMB file-base files live (defaults to data/dirs/). |
| Upload Semaphore File | Path to a file Synchronet creates after a successful upload. Used to trigger external processes (e.g. an echomail file-export, hatch script, etc.). |
| Sort Value and Direction | How files within this directory are sorted by default when listed: by Name (case-sensitive or insensitive, ascending or descending) or by Date (ascending or descending). |
| Directory Index | Current and previous numeric index of this directory within its library. Informational. |
Adding Files
Files are added to file areas using any of a number of possible methods:
- Uploading files (e.g. by a user) via a supported file transfer protocol or server
- Adding files to the file base using sysop commands while logged into the terminal server