diff --git a/README.md b/README.md index 1eee7b2..c59c37c 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,17 @@ # Wrike Import Tools -Two Python tools for automatically importing project structures and deliverable tasks into Wrike from JSON files. +Python tools for automatically importing project structures and deliverable tasks into Wrike from JSON files. ## Tools Overview -### 1. wrike_import.py - Simple Batch Processor -A standalone script for one-time or manual batch imports. Processes all JSON files in a directory and exits. +### 1. wrike_monitor.py - Real-time Monitor Service (Staging) +A continuous monitoring service that watches a folder 24/7, processes files as they arrive, and sends daily email reports. Designed to run as a systemd service on the **Staging board**. -### 2. wrike_monitor.py - Real-time Monitor Service -A continuous monitoring service that watches a folder 24/7, processes files as they arrive, and sends daily email reports. Designed to run as a systemd service. +### 2. wrike_monitor_lgl.py - Real-time Monitor Service (LGL Team - Production) +Production version configured for the **LGL Team board**. Features recursive duplicate detection across the entire Business Areas folder and stores OMG# as HTML links matching the existing board format. + +### 3. discover_board_info.py - Board Discovery Tool +Automated tool to discover Space IDs, custom field IDs, and item types for any Wrike board. Generates configuration snippets for easy setup. ## Common Features @@ -546,9 +549,66 @@ This script is provided as-is for internal use. - Production deployment as a service - Detailed statistics and monitoring +## LGL Team Production Version (wrike_monitor_lgl.py) + +### Key Differences from Staging Version + +**OMG# Format:** +- LGL Team stores OMG# as **HTML links** instead of plain text +- Format: `{number}` +- Script automatically generates and parses HTML format + +**Duplicate Detection:** +- **Recursive search** across entire "Business Areas" folder +- Uses `descendants=true` API parameter for efficient searching +- Searches **ALL subfolders** at any depth +- If OMG# exists anywhere in Business Areas → Skip (no duplicate) +- Other folders (Templates, Production Tracker, etc.) are ignored + +**Configuration:** +- API Token: Updated for production access +- Space: "LGL Team" (MQAAAABoHcTY) +- All 11 custom fields mapped to LGL Team IDs +- Custom item types not required (set to None) + +**Running the LGL Team Version:** +```bash +# Install dependencies +pip install -r requirements.txt + +# Configure paths in wrike_monitor_lgl.py (lines 41-44) +# Run the monitor +python wrike_monitor_lgl.py +``` + +### Discovery Tool Usage + +To discover configuration for any board: + +```bash +# Run discovery tool +python discover_board_info.py + +# Edit TARGET_SPACE in the script to discover different boards +# Generates config_{space_name}.py with all IDs +``` + ## Changelog -### Version 2.0 (Current) +### Version 3.0 (December 2025) - LGL Team Migration +- **NEW**: Added wrike_monitor_lgl.py for LGL Team (production) board +- **NEW**: HTML link format for OMG# field (matching existing entries) +- **NEW**: Recursive duplicate detection across entire Business Areas folder +- **NEW**: discover_board_info.py - automated board configuration discovery +- **NEW**: HTML extraction and comparison for accurate duplicate detection +- **NEW**: Global OMG# uniqueness within Business Areas folder +- **IMPROVED**: Duplicate detection now searches recursively, not just parent project +- **IMPROVED**: OMG# format matches existing board entries (clickable links) +- **FIXED**: Handles OMG# stored as HTML `` tags +- **ADDED**: config_lgl_team.py - LGL Team configuration reference +- **ADDED**: test_duplicate_detection.py - testing tool + +### Version 2.0 - **NEW**: Added wrike_monitor.py - real-time monitoring service - **NEW**: Folder watching with watchdog - **NEW**: Daily email reports at 7PM