Disciple.Tools User Documentation

S3 Storage Usage Guide

This guide explains how users interact with S3 storage features in Disciple.Tools, including file uploads, image management, and voice message storage.

Overview

When S3 storage is enabled, Disciple.Tools provides enhanced file upload capabilities that securely store media files in your configured S3 bucket. Users can upload profile pictures, attach images to comments, and record voice messages with confidence that their data is protected.

File Upload Interface

The S3 storage system provides a modern, user-friendly upload interface with drag-and-drop functionality and real-time progress feedback.

Upload Modal Features

When users click to upload files, they see a modal with the following features:

Supported File Types

Disciple.Tools S3 storage supports various file types depending on the context:

Profile Pictures

Image Comments

Voice Messages

File Organization in S3

Files uploaded to S3 are organized in a structured hierarchy to ensure security, isolation, and easy management.

Directory Structure

All files are stored in your S3 bucket following this pattern:

your-bucket/
├── site-id/                          (first 30 characters of site ID)
│   ├── users/                        (user profile pictures)
│   │   ├── randomstring123...xyz.png
│   │   ├── randomstring123...xyz_thumbnail.png
│   │   └── randomstring123...xyz_large_thumbnail.png
│   ├── contacts/                     (contact-related files)
│   │   ├── randomstring456...abc.jpg
│   │   ├── randomstring456...abc_thumbnail.jpg
│   │   ├── randomstring456...abc_large_thumbnail.jpg
│   │   └── voicerecording789...def.webm
│   ├── groups/                       (group-related files)
│   │   └── randomstring321...ghi.png
│   └── [other-post-types]/           (files for other record types)

Folder Organization

Site ID Prefix

Content Type Folders

Files are organized by content type:

File Naming

Each file receives a unique, randomly-generated name:

Image Thumbnail Organization

For image files, the system automatically generates and stores two additional thumbnail versions:

Small Thumbnail

Large Thumbnail

Example: Voice Message Organization

Voice messages are organized in your S3 bucket:

your-bucket/
├── site-id/
│   ├── contacts/
│   │   ├── audio-recording-abc123def456...xyz.webm
│   └── groups/
│       ├── audio-recording-ghi789jkl012...uvw.webm

This organization ensures:

Drag and Drop Functionality

The upload interface supports modern drag-and-drop functionality for improved user experience.

How Drag and Drop Works

  1. Visual Feedback: The upload area changes appearance when files are dragged over it
  2. File Validation: Only accepted file types can be dropped
  3. Multiple File Handling: Single file uploads are enforced for security
  4. Error Prevention: Invalid files are rejected with clear messages

Browser Compatibility

Drag and drop functionality is available in modern browsers that support:

Older browsers will fall back to traditional file selection methods.

File Type Validation

The system validates uploaded files to ensure security and compatibility.

Validation Process

  1. File Extension Check: Verifies the file has an accepted extension
  2. MIME Type Validation: Confirms the file’s actual type matches its extension
  3. Size Limit Check: Ensures files don’t exceed maximum size limits
  4. Content Scanning: Basic security checks for malicious content

Error Messages

When validation fails, users see clear, actionable error messages:

Upload Progress and Feedback

Users receive real-time feedback during the upload process.

Progress Indicators

Upload States

The interface shows different states during the upload process:

  1. Ready: Initial state, ready for file selection
  2. Processing: File is being prepared for upload
  3. Uploading: File is being transferred to S3
  4. Success: Upload completed successfully
  5. Error: Upload failed with error message

Image Thumbnail Generation

For image uploads, the system automatically generates thumbnails for optimal display.

Thumbnail Sizes

Thumbnail Features

File Management

Users can manage their uploaded files through various interfaces.

File Actions

Access Control

Files stored in S3 are protected by:

Voice Message Features

S3 storage enables secure voice message recording and playback.

Recording Interface

Voice Message Storage

Mobile Experience

The S3 storage interface is optimized for mobile devices.

Mobile Features

Mobile Considerations

Performance Optimization

The S3 storage system includes several performance optimizations.

Upload Optimization

User Experience Enhancements

Security Features

S3 storage provides enhanced security for sensitive files.

Data Protection

Privacy Controls


Next Steps