backupchecks/containers/backupchecks/src/templates/documentation/customers-jobs/approved-jobs.html
Ivo Oskamp 7c356ebf8f Fix archived jobs access documentation
Corrected documentation about archived jobs visibility:

Archived Jobs Access:
- No toggle/filter on Jobs page to show archived jobs
- Archived jobs are on a SEPARATE page
- Only accessible to Admin role (not Operators or Viewers)
- Separate menu item: "Archived Jobs"

Jobs Page:
- Shows only active jobs for active customers
- No option to view archived jobs on this page
- Archived jobs completely hidden from non-admin users

Unarchiving:
- Only admins can unarchive jobs
- Done from Archived Jobs page (not Jobs page)
- Unarchived jobs immediately reappear in operational views

Removed incorrect references to "Show archived jobs" toggle.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 13:47:08 +01:00

296 lines
10 KiB
HTML

{% extends "documentation/base.html" %}
{% block doc_content %}
<h1>Approved Jobs</h1>
<p class="lead">
View and manage all approved backup jobs across all customers.
</p>
<h2>Overview</h2>
<p>The Jobs page provides a comprehensive view of all approved backup jobs in BackupChecks. Once a job has been approved from the Inbox, it appears here and begins receiving backup reports automatically.</p>
<p>This page allows you to:</p>
<ul>
<li>View all approved jobs organized by customer</li>
<li>See job configuration and status at a glance</li>
<li>Access job details and run history</li>
<li>Archive or delete jobs</li>
<li>Export and import job data</li>
</ul>
<h2>Accessing the Jobs Page</h2>
<p>To view approved jobs:</p>
<ol>
<li>Navigate to <strong>Jobs</strong> in the main navigation menu</li>
<li>This page is available to <strong>Admin</strong>, <strong>Operator</strong>, and <strong>Viewer</strong> roles</li>
<li>Reporters do not have access to operational features like the Jobs page</li>
</ol>
<h2>Jobs List</h2>
<p>The Jobs page displays a table with the following columns:</p>
<table>
<thead>
<tr>
<th>Column</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Customer</strong></td>
<td>Customer name (jobs are grouped by customer)</td>
</tr>
<tr>
<td><strong>Backup</strong></td>
<td>Detected backup software (e.g., Veeam, Synology, Acronis)</td>
</tr>
<tr>
<td><strong>Type</strong></td>
<td>Backup type (e.g., Configuration Job, Hyperbackup, Full, Incremental)</td>
</tr>
<tr>
<td><strong>Job name</strong></td>
<td>Backup job name</td>
</tr>
</tbody>
</table>
<div class="doc-callout doc-callout-info">
<strong>💡 Active Jobs Only:</strong><br>
The Jobs page shows only <strong>active jobs</strong> for <strong>active customers</strong>. Archived jobs and jobs belonging to inactive customers are not shown on this page. Archived jobs are visible on a separate page accessible only to administrators.
</div>
<h2>Viewing Job Details</h2>
<p>To view detailed information about a specific job:</p>
<ol>
<li>Navigate to the <strong>Jobs</strong> page</li>
<li>Find the job in the list</li>
<li>Click anywhere on the job row (not just the job name)</li>
<li>The job details page will open</li>
</ol>
<figure>
<img src="{{ url_for('static', filename='images/documentation/job-details.png') }}"
alt="Job Details Page" />
<figcaption>Figure 1: Job details page showing job information, learned schedule, and job history</figcaption>
</figure>
<p>The job detail page shows:</p>
<ul>
<li><strong>Job Information:</strong>
<ul>
<li><strong>Customer:</strong> Customer name</li>
<li><strong>Backup:</strong> Backup software (e.g., Synology, Veeam)</li>
<li><strong>Type:</strong> Backup type (e.g., Hyperbackup, Configuration Job)</li>
<li><strong>Job name:</strong> Name of the backup job</li>
<li><strong>Tickets:</strong> Open and total ticket count (e.g., "0 open / 1 total")</li>
<li><strong>Remarks:</strong> Open and total remark count (e.g., "0 open / 0 total")</li>
</ul>
</li>
<li><strong>Schedule (inferred):</strong>
<ul>
<li>Table showing expected run days and times in 15-minute blocks</li>
<li>Example: Mon-Sun with 20:00 time slots</li>
<li>Only shown if schedule has been learned</li>
</ul>
</li>
<li><strong>Action Buttons:</strong>
<ul>
<li><strong>Archive:</strong> Archive the job (gray button)</li>
<li><strong>Delete job:</strong> Permanently delete the job (red button)</li>
</ul>
</li>
<li><strong>Job History:</strong>
<ul>
<li>Table of recent backup runs with columns:
<ul>
<li><strong>Day run:</strong> Day of the week</li>
<li><strong>Run time:</strong> Date and time of the backup</li>
<li><strong>Status:</strong> Success/Failed indicator (green dot for success)</li>
<li><strong>Tickets:</strong> Linked ticket numbers (if any)</li>
<li><strong>Remarks:</strong> Associated remarks</li>
<li><strong>Override:</strong> Override status</li>
<li><strong>Reviewed by:</strong> Username who reviewed the run</li>
<li><strong>Reviewed at:</strong> Date and time of review</li>
</ul>
</li>
<li>Runs are clickable to view full run details</li>
</ul>
</li>
</ul>
<h2>Job Detail Page</h2>
<p>On the job detail page, you can perform the following actions:</p>
<ul>
<li><strong>Archive:</strong> Hide the job from operational views while preserving historical data</li>
<li><strong>Delete:</strong> Permanently remove the job (emails return to Inbox for re-assignment)</li>
</ul>
<div class="doc-callout doc-callout-warning">
<strong>⚠️ No Direct Editing:</strong><br>
You <strong>cannot edit</strong> job properties like customer assignment, job name, or parser-determined fields (backup software, backup type, sender pattern, subject pattern) through the job detail page. All job configuration is determined when the job is approved from the Inbox.
</div>
<h2>Archiving Jobs</h2>
<p>When a backup job is no longer active (e.g., server decommissioned, backup solution changed), you can archive it to declutter operational views.</p>
<h3>How to Archive a Job</h3>
<ol>
<li>Navigate to the <strong>Jobs</strong> page</li>
<li>Find the job you want to archive</li>
<li>Click the <strong>Archive</strong> button</li>
<li>Confirm the archival</li>
</ol>
<h3>Effects of Archiving</h3>
<p>When a job is archived:</p>
<ul>
<li>It is <strong>hidden</strong> from the default Jobs list</li>
<li>It does <strong>not appear</strong> in Daily Jobs</li>
<li>Existing runs do <strong>not appear</strong> in Run Checks</li>
<li>All historical data is <strong>preserved</strong> (runs, tickets, remarks)</li>
<li>The job can be <strong>unarchived</strong> later if needed</li>
</ul>
<div class="doc-callout doc-callout-tip">
<strong>💡 When to Archive:</strong><br>
Archive jobs when:
<ul>
<li>A server has been decommissioned</li>
<li>A backup solution has been replaced</li>
<li>A customer no longer uses a particular backup job</li>
<li>You want to declutter operational views without losing historical data</li>
</ul>
</div>
<h3>Viewing Archived Jobs</h3>
<p>Archived jobs are accessible on a separate page:</p>
<ol>
<li>Navigate to the <strong>Archived Jobs</strong> page in the main menu</li>
<li>This page is <strong>only accessible to administrators</strong></li>
<li>The page displays all archived jobs with their details</li>
</ol>
<div class="doc-callout doc-callout-info">
<strong>💡 Admin Only Access:</strong><br>
Only users with the <strong>Admin</strong> role can view the Archived Jobs page. Operators and other roles cannot access archived jobs.
</div>
<h3>Unarchiving a Job</h3>
<p>To unarchive a job (Admin only):</p>
<ol>
<li>Navigate to the <strong>Archived Jobs</strong> page</li>
<li>Find the archived job in the list</li>
<li>Click the <strong>Unarchive</strong> button</li>
</ol>
<p>The job will immediately reappear in the Jobs page and operational views (Daily Jobs, Run Checks).</p>
<h2>Deleting Jobs</h2>
<p>If you need to permanently remove a job and all its data:</p>
<ol>
<li>Navigate to the <strong>Jobs</strong> page</li>
<li>Find the job you want to delete</li>
<li>Click the <strong>Delete</strong> button</li>
<li>Confirm the deletion in the dialog</li>
</ol>
<div class="doc-callout doc-callout-danger">
<strong>⚠️ Warning - Permanent Deletion:</strong><br>
Deleting a job is <strong>permanent</strong> and will delete:
<ul>
<li>The job configuration</li>
<li>All backup runs</li>
<li>All tickets linked to this job</li>
<li>All remarks linked to this job</li>
<li>All historical data</li>
</ul>
This action <strong>cannot be undone</strong>. Consider archiving the job instead if you might need the data later.
</div>
<h2>Exporting Job Data</h2>
<p>You can export all job data to a JSON file for backup, reporting, or migration purposes.</p>
<ol>
<li>Navigate to <strong>Settings</strong><strong>Maintenance</strong></li>
<li>In the "Export/Import" section, click <strong>Export Jobs</strong></li>
<li>A JSON file will be downloaded containing:
<ul>
<li>Customer information (including Autotask mappings)</li>
<li>All approved jobs with their configurations</li>
<li>Email matching patterns</li>
<li>Learned schedules</li>
</ul>
</li>
</ol>
<div class="doc-callout doc-callout-info">
<strong>💡 Export Format:</strong><br>
The export uses JSON format (schema version: <code>approved_jobs_export_v1</code>). This format is designed for system migration and backup purposes.
</div>
<h2>Importing Job Data</h2>
<p>You can import job data from a previously exported JSON file.</p>
<ol>
<li>Navigate to <strong>Settings</strong><strong>Maintenance</strong></li>
<li>In the "Export/Import" section, click <strong>Import Jobs</strong></li>
<li>Select your JSON file (must match the export format)</li>
<li>Click <strong>Upload</strong></li>
<li>The system will:
<ul>
<li>Create or update customers</li>
<li>Apply Autotask company mappings (if applicable)</li>
<li>Create jobs with their configurations</li>
<li>Apply learned schedules</li>
</ul>
</li>
<li>Review the import summary showing created and updated counts</li>
</ol>
<div class="doc-callout doc-callout-warning">
<strong>⚠️ Import Behavior:</strong><br>
The import process will:
<ul>
<li>Create new customers and jobs if they don't exist</li>
<li>Update existing customers if they already exist (matched by name)</li>
<li>Preserve existing job data and merge with imported data</li>
</ul>
Ensure your JSON data is correct before importing.
</div>
<h2>Next Steps</h2>
<ul>
<li><a href="{{ url_for('documentation.page', section='customers-jobs', page='job-schedules') }}">Job Schedules</a> - Learn how BackupChecks learns and displays job schedules</li>
<li><a href="{{ url_for('documentation.page', section='backup-review', page='daily-jobs') }}">Daily Jobs</a> - Monitor jobs expected to run today</li>
<li><a href="{{ url_for('documentation.page', section='backup-review', page='run-checks') }}">Run Checks</a> - Review individual backup runs</li>
<li><a href="{{ url_for('documentation.page', section='customers-jobs', page='managing-customers') }}">Managing Customers</a> - Customer management guide</li>
</ul>
{% endblock %}