{% if is_pushed %} Pushed bundle {% else %} {% if not has_page_images %} Unprocessed bundle {% elif not finished_reading_qr %} Unread bundle {% else %} Staged bundle {% endif %} {% endif %} {{ slug }} {% if has_page_images and finished_reading_qr and is_perfect and not is_pushed %} {% if n_collisions %} contains {{ n_collisions }} colliding page image{{ n_collisions|pluralize }}. {% elif n_incomplete == 0 %} has no pages requiring attention - {% else %} has no problems, but contains incomplete papers. You can but it is not recommended {% endif %} {% endif %} {% if not is_perfect %}has pages that require your attention{% endif %}
{% if n_incomplete %}
This bundle contains {{ n_incomplete }} incomplete paper{{ n_incomplete|pluralize }} {% if is_pushed %}
  • Incomplete papers contain some, but not all their pages.
  • Any question that is missing pages will not be sent out for marking.
  • Incomplete papers can indicate problems with scanning such as two pages stuck together.
  • Incomplete papers also occur if a paper is split across two bundles. In this case, just keep pushing bundles and Plom will automatically complete these papers when the additional pages become available.
{% else %}
  • Incomplete papers contain some, but not all their pages.
  • If you push the incomplete papers, you can start marking any questions that have all their pages.
  • Incomplete papers can indicate problems with scanning such as two pages stuck together.
  • Incomplete papers also occur if a paper is split across two bundles. In this case, after you push both bundles the paper will become complete automatically.
  • If you wish, you can always decide to delete this bundle and rescan the physical papers.
{% endif %}
{% endif %} {% if error_pages %}
This bundle contains {{ error_pages }} error page{{ error_pages|pluralize }}
  • This could indicate serious scanning problems.
  • Consider fixing any problems with the physical pages, then delete this PDF and rescan the papers.
  • If there are only a small number of problems, you may be able to workaround them by casting Error pages to Known/Extra pages.
Remove bundle
{% endif %} {% if n_collisions %}
{{ n_collisions }} scan{{ n_collisions|pluralize }} in this bundle show page{{ n_collisions|pluralize }} that have already been pushed.

Here are some possible scenarios and remedies.

  • Some submissions have been rescanned by accident.
    • You can delete this bundle (e.g., if everything here collides with pages you already have, or if you want to rescan part of it).
    • You can discard the pages of this bundle that collide, as detailed below, and then push the remaining pages.
  • Some submissions have been rescanned intentionally.
    • It is possible to replace poor-quality scanned images. Decide whether you want to keep the image{{ n_collisions|pluralize }} in this scan or the one{{ n_collisions|pluralize }} pushed earlier.
    • You can discard the previously-pushed page{{ n_collisions|pluralize }} and then come back here to push this entire bundle.
    • You can discard the page{{ n_collisions|pluralize }} of this bundle that collide{{ n_collisions|pluralize:"s," }}, as detailed below, and then push the remaining pages.
  • The system's expectation of unique paper numbers has been violated.
    • If different student input appears on pages whose QR codes point to the same logical paper in the Plom database, there is a substantial problem! Here is a further discussion.

Colliding image{{ n_collisions|pluralize }} in this bundle: {{ colliding_images_nice_format }}.

{% endif %}

Bundle {{ slug }} contains {{ total_pages }} page images ...

{% if is_pushed %}Pushed {% endif %}
  • {{ known_pages }} known pages
  • {% if known_pages != total_pages %}
  • {{ unknown_pages }} unknown pages
  • {{ extra_pages }} extra pages
  • {{ discard_pages }} discard pages
  • {{ error_pages }} error pages
  • {{ unread_pages }} unread pages
  • {% endif %} {% if n_collisions != 0 %}
  • [{{ n_collisions }} colliding page{{ n_collisions|pluralize }}]
  • {% endif %}
Bundle Contains:
{% for paper,pages in papers_pages_list %} {% with pg=pages|dictsort:"order"|first %} {% if paper in incomplete_papers_list %} {% else %} {% endif %} {% endwith %} {% endfor %}