# Wallboard Cloud Storage Sync Folders / Shared Folders

**Wallboard Cloud Sync Folders implement one-way synchronization from external cloud storage services (Google Drive, OneDrive, and Canva) to Wallboard. Data flows unidirectionally: source service -> Wallboard only. Changes made within Wallboard (file edits, deletions, additions) do not propagate back to the source service.**

**Key behavioral characteristics:**
- **Read-only relationship**: Wallboard consumes cloud data but does not modify source
- **Source of truth**: Cloud storage remains the authoritative source
- **Change isolation**: Wallboard modifications are contained within Wallboard system
- **No reverse sync**: No mechanism exists to push Wallboard changes back to cloud storage

## Prerequisites

### Required Cloud Credentials

Before creating sync folders, you must have the appropriate Cloud Credentials configured:

**For Google Drive Sync:**
- Cloud Credential Type: Google
- Required Scope: **Google Drive** (not Google Sheets)
- Authentication: Personal Google account

**For Microsoft OneDrive Sync:**
- Cloud Credential Type: Microsoft  
- Required Scope: **OneDrive**
- Authentication: Personal Account or Work/School Account
- Note: SharePoint Drive credentials also supported

**For Canva Folder Sync:**
- Cloud Credential Type: Canva
- Authentication: Canva account through **Settings > Cloud Credentials > Canva**
- Instance setup: **System Settings > Canva API settings** must contain the Canva API client ID and client secret

## Creating Sync Folders

### Access Path
1. Navigate to **Files** section
2. Click the **+ (plus)** icon in the header
3. Select either:
   - **"Connect Google Drive folder"**
   - **"Connect Microsoft OneDrive folder"**
   - **"Connect Canva folder"**

### Basic Configuration Modal

The initial connection modal contains three fields:

**1. Cloud Credential** (Required)
- Dropdown selection of available credentials with appropriate scope
- Must match the cloud service you're connecting to

**2. Target Folder** (Required)  
- Text field specifying the target folder path where to sync
- Example: "/Test folder"
- Edit icon opens advanced folder browser interface

**3. Teams** (Optional)
- Team assignment for access control
- Defaults to "No selected teams"
- Controls who can access the synced folder in Wallboard

### Advanced Connection Settings

Clicking the Continue button opens the advanced **Connection Settings** modal:

#### Folder Browser Interface
- **Right Panel**: Searchable folder hierarchy from cloud service
- **Navigation**: Expandable folder tree with search functionality
- **Selection Required**: Must choose a specific folder before connecting
- **Search Feature**: "Search for name in root" functionality

#### Sync Behavior Configuration

**Synced Mode:**

**Active Sync:**
- **Tracks in real-time**: File additions, removals, AND modifications
- **Critical requirement**: Must enable Smart File Update to preserve file IDs
- **Without Smart File Update**: File modifications create new IDs, breaking widget references (e.g., image widgets lose file connection)
- **Best practice**: Always pair Active Sync with Smart File Update enabled

**Passive Sync:**
- **Tracks in real-time**: File additions and removals only
- **Modification handling**: File changes ignored after initial download
- **Static behavior**: Files remain unchanged once synced to Wallboard

**Performance Impact Analysis:**

**Active Sync + Smart File Update:**
- **Resource consumption**: High API request volume due to continuous monitoring
- **Device impact**: Potential display flickering during file reloading and recaching
- **Network usage**: Increased bandwidth for frequent change detection
- **Use case**: When real-time file updates are critical despite performance cost

**Passive Sync:**
- **Resource efficiency**: Lower API request volume (additions/deletions only)
- **Display stability**: No flickering since files remain static after initial sync
- **Network optimization**: Reduced bandwidth usage
- **Use case**: When file stability is more important than real-time modifications

**Smart File Update** (Active Sync Only):
- **Enabled** (Recommended):
  - Preserves file ID during updates
  - Updates content in place
  - Maintains widget bindings and references
  - Preserves historical data and analytics
- **Disabled**:
  - Full file replacement with new ID
  - Breaks existing widget bindings
  - Loses historical data connection

**Recommendation Logic:**
- **Choose Active Sync**: When files frequently change and real-time updates are required
  - **Always enable Smart File Update** with Active Sync to prevent broken widget references
- **Choose Passive Sync**: When file stability and performance optimization are priorities

**Sync Removal Options:**
- **Sync File Removal**: 
  - ON: Files deleted from cloud → deleted from Wallboard
  - OFF: Files remain in Wallboard even if deleted from cloud
- **Sync Folder Removal**:
  - ON: Folders deleted from cloud → deleted from Wallboard  
  - OFF: Folders remain in Wallboard even if deleted from cloud

### Canva Folder Sync

| Area | Behavior |
|------|----------|
| Source model | User selects a Canva folder tree; Wallboard reads folders/designs only, never writes back to Canva. |
| Wallboard model | Canva folders become synced Wallboard folders. Canva designs become design folders. Exported design pages become normal Wallboard media files inside those design folders. |
| Synced items | Canva designs only. Raw Canva assets are not synced directly because the durable downloadable artifact is the exported design. |
| Export controls | **Preferred visual format**: PNG, MP4, PDF. **Preferred table format**: PNG, PDF. **Export strategy**: **Whole design** or **Per page**. |
| Format resolution | Document-like designs export as PDF. Table-like designs use Preferred table format when supported. Visual designs use Preferred visual format when supported, otherwise fall back to PNG/PDF. |
| Per-design override | **Edit Canva design** can set the design folder's Export format and Export strategy; existing exported files in that design folder are regenerated on next sync. |
| Sync behavior | Passive sync exports a design once. Active sync re-exports changed designs; Smart file update preserves file IDs when updating file content. |
| Deletion behavior | **Sync file removal** and **Sync folder removal** decide whether Canva deletions remove the corresponding Wallboard files/folders. |
| Limits/retry | Canva exports consume the customer's daily Canva export counter (default limit: 100/day). Counters reset daily. Canva rate limits schedule a later retry; export-limit exhaustion suspends sync until after reset. |
| Failure safety | Existing exported files are preserved when export/page lookup fails; sync retries later instead of deleting current content because of a transient Canva problem. |
| Playback | Exported PNG/PDF/MP4 files behave like normal Wallboard files; no special device, player, or displayer runtime behavior is required. |
| Automation path | After one-time Wallboard setup, the synced Canva folder can drive existing folder-based playback: playlist media folders, channel folder-based selection, and folder-bound media widgets update as the Wallboard folder contents change. |

#### File Type Filtering

**Available File Types:**
- **Image**: Standard image formats
- **Video**: Video file formats
- **Font**: Font files
- **Audio**: Audio file formats
- **PDF**: PDF documents
- **Excel (XLSX)**: Automatically converted to PDF during sync
- **Document (DOCX)**: Automatically converted to PDF during sync
- **Presentation (PPTX)**: Automatically converted to PDF during sync

**Selection Interface:**
- Multi-select checkboxes for granular control
- "Select all" and "none" shortcuts
- Display format shows selected types (e.g., "Image +1" = Image plus one other type)

**Document Conversion:**
Office documents (Excel, Word, PowerPoint) are automatically converted to PDF format during synchronization to ensure universal compatibility with digital signage displays.

#### Additional Settings

**Date-Based Filtering in Sharepoint and OneDrive:**
- **"Valid from" column**: Text field for date-based content filtering
- **"Valid to" column**: Text field for date-based content filtering


## SharePoint File Validity Date Synchronization

Wallboard's Cloud Sync Folders feature supports **file validity date synchronization** exclusively through **SharePoint shared folders**. This advanced feature allows automatic filtering of files based on date ranges defined in SharePoint custom columns, enabling time-based content management and automated content scheduling.

**Key Capability:** Files are automatically included/excluded from sync based on date validity periods defined in SharePoint metadata columns.

## SharePoint Setup Requirements

### Step 1: Create Date Columns in SharePoint

**1. Navigate to "Add Column" in SharePoint**
- Access your SharePoint document library
- Click "Add column" option

**2. Create Date Column Type**
- Select **"Date"** as the column type
- A naming window will appear

**3. Column Naming Convention**
To avoid confusion, use clear, paired naming conventions:
- **Recommended Option 1:** `From` and `To`
- **Recommended Option 2:** `Start` and `End`
- **Critical:** Use consistent, exact names as these must be entered precisely in Wallboard

### Step 2: Configure File Validity Dates

**1. Open Connection Settings**
- Select the target file in SharePoint
- Scroll down to locate `From` and `To` settings

**2. Fill Validity Fields**
- Click **"Name of "valid from" column"** and fill it
- Click **"Name of "valid to" column"** and fill it

**3. Result Verification**
After configuring validity dates, the SharePoint file manager will display the date columns with populated values for each file.

---
