164 lines
3.3 KiB
Markdown
164 lines
3.3 KiB
Markdown
# Quick Start Guide: SharePoint Integration & Scheduling
|
|
|
|
This guide will help you quickly set up SharePoint integration and automated report generation.
|
|
|
|
## Quick Setup (5 minutes)
|
|
|
|
### 1. Install Dependencies
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 2. Create Configuration
|
|
|
|
```bash
|
|
cp config.yaml.template config.yaml
|
|
```
|
|
|
|
### 3. Configure SharePoint
|
|
|
|
Edit `config.yaml`:
|
|
|
|
```yaml
|
|
sharepoint:
|
|
enabled: true
|
|
site_url: "https://yourcompany.sharepoint.com/sites/YourSite"
|
|
folder_path: "/Shared Documents/Reports" # Path to your Excel files
|
|
use_app_authentication: true
|
|
client_id: "your-azure-ad-client-id"
|
|
client_secret: "your-azure-ad-client-secret"
|
|
```
|
|
|
|
**To get Azure AD credentials:**
|
|
1. Go to Azure Portal → App registrations
|
|
2. Create new registration or use existing
|
|
3. Create a client secret
|
|
4. Grant SharePoint API permissions: `Sites.Read.All`
|
|
5. Copy Client ID and Client Secret to config
|
|
|
|
### 4. Choose Your Deployment Method
|
|
|
|
#### Option A: Scheduled Reports (Recommended)
|
|
|
|
Edit `config.yaml`:
|
|
```yaml
|
|
scheduler:
|
|
enabled: true
|
|
schedule_type: "cron"
|
|
cron_expression: "0 8 * * *" # 8 AM daily
|
|
timezone: "America/New_York"
|
|
```
|
|
|
|
Start scheduler:
|
|
```bash
|
|
python scheduler.py
|
|
```
|
|
|
|
#### Option B: On-Demand via API
|
|
|
|
Edit `config.yaml`:
|
|
```yaml
|
|
api:
|
|
enabled: true
|
|
port: 8080
|
|
api_key: "your-secret-key" # Optional but recommended
|
|
```
|
|
|
|
Start API server:
|
|
```bash
|
|
python api_server.py
|
|
```
|
|
|
|
Generate report:
|
|
```bash
|
|
curl -X POST http://localhost:8080/api/generate \
|
|
-H "X-API-Key: your-secret-key" \
|
|
-H "Content-Type: application/json \
|
|
-d '{"download_from_sharepoint": true}'
|
|
```
|
|
|
|
## How It Works
|
|
|
|
1. **SharePoint Download**: Downloads latest Excel files from SharePoint folder
|
|
2. **Report Generation**: Processes Excel files and generates reports
|
|
3. **Output**: Creates `output/report.json` and `output/report.html`
|
|
|
|
## Testing
|
|
|
|
### Test SharePoint Connection
|
|
|
|
```bash
|
|
python sharepoint_downloader.py
|
|
```
|
|
|
|
This will download files from SharePoint to the `reports/` directory.
|
|
|
|
### Test Report Generation
|
|
|
|
```bash
|
|
python report_generator.py
|
|
```
|
|
|
|
This will generate reports from files in the `reports/` directory.
|
|
|
|
## Deployment Options
|
|
|
|
### As a Service (Linux)
|
|
|
|
```bash
|
|
# Create systemd service
|
|
sudo nano /etc/systemd/system/vendor-report.service
|
|
|
|
# Add:
|
|
[Unit]
|
|
Description=Vendor Report Scheduler
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=your-user
|
|
WorkingDirectory=/path/to/vendor_report
|
|
ExecStart=/usr/bin/python3 /path/to/vendor_report/scheduler.py
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
# Enable and start
|
|
sudo systemctl enable vendor-report
|
|
sudo systemctl start vendor-report
|
|
```
|
|
|
|
### Docker (Coming Soon)
|
|
|
|
The application can be containerized for easy deployment.
|
|
|
|
## Troubleshooting
|
|
|
|
### SharePoint Authentication Fails
|
|
|
|
- Verify Azure AD app has correct permissions
|
|
- Check client ID and secret are correct
|
|
- Ensure SharePoint site URL is correct (include `/sites/SiteName`)
|
|
|
|
### Files Not Downloading
|
|
|
|
- Check folder path is correct (use SharePoint's "Copy path" feature)
|
|
- Verify app has read permissions
|
|
- Check file pattern matches your Excel files
|
|
|
|
### Scheduler Not Running
|
|
|
|
- Check timezone is correct
|
|
- Verify cron expression format
|
|
- Check logs for errors
|
|
|
|
## Next Steps
|
|
|
|
- Set up monitoring/alerting for failed reports
|
|
- Configure webhook notifications
|
|
- Set up automated email delivery of reports
|
|
- Integrate with other systems via API
|
|
|