As part of the publishing support (T188732), in addition to confirming the success of publishing (T188733) we need to communicate also the issues.
Issues are communicated at two levels of severity:
- **Warnings.** Issues that do not prevent to publish the article, but they may affect its quality (e.g., edit filters tagging short articles) or have unexpected side-effects (e.g., overwriting an existing article).
- **Errors.** Issues that prevent the user from publishing the article. There are two kinds of errors, **technical errors** where the software has some unexpected behaviour, and **content errors** where the piece of content causing the issue can be identified.
Issues can be communicated at different steps of the translation process:
- **Initially.** When the article is loaded to start a translation.
- **While translating.** As the user edits the translation. In particular, after completing one paragraph and moving to the next.
- **After publishing is attempted.** After the user clicks the publish button.
# General approach
Issues are communicated through three main elements:
- **Issue summary.** A summary informing of issues related to the user action. It won't provide a detailed description of the issue, but a "more details" action that will expand the Issue card. One summary text will be supported even if multiple issues are present.
- **Issue card.** Provides a summary of all the issues in the page, and allows to navigate through the details of each one of them. For each issue, the card will provide details to help users understand why the issue happened and actions to deal with it.
- **Contextual markers.** For issues that can be mapped to a specific paragraph of the translation, markers in those paragraphs are shown. When the input focus is on these paragraphs, the Issue card will show the corresponding issues.
How those elements interact for specific cases is illustrated below.
After clicking on the publish button, if any issues affect the result preventing to publish (or publishing partially as in T189661), the issue summary is shown.
In the example above, no issues are detected initially, and when the user publishes the article one error is preventing from publishing. The error is displayed in the issue summary and clicking on "view issues" closes the summary and opens the issue card showing more details for the issue. Since the issue is associated with the title of the article, a red marker is shown next to it and the input focus is moved there.
The issue summary will be different depending on the number and types of errors:
- One Abuse filter error: "The page could not be published because it does not follow <Target Wikipedia> restrictions: <name of the abuse filter>
- Several abuse filter errors: "The page could not be published because it does not follow several <Target Wikipedia> restrictions".
- Several errors of different kinds (technical and content related): "The page could not be published because of several issues."
(When the user tries to publish with some identified issues already, a confirmation dialog is shown, more details in T190036)
# While editing
As the user edits the translation (usually after completing a paragraph, to avoid warnings to get n the way), warnings can be surfaced. A contextual marker will be shown in the affected paragraph. When the user selects the paragraph, details about the issues will be shown in the issue cards. In this case, the issue summary box will not be shown.
The "mark as resolved" action will be provided as a default action if there is not a better action to fix the issue. this action discards the issue, which can be useful for false positives not to get in the way (e.g.: a paragraph that was perfectly translated by the MT).
For cases where the issue can be associated with a more specific piece of content (such as a link) we can highlight it as illustrated below:
# Initial warnings
# Issues card
The issues card can provide an overview of the total of issues, o a detailed view of a specific issue.
Only when there is more than one issue, a counter and navigation controls are shown in the detailed card.
Some layout measurements are illustrated below:
**States and transitions**
The issue card is shown compact or expanded depending on the input focus and the user actions.
The diagrams and examples below illustrate the intended behaviour:
Focusing on a paragraph with issues expands the issue card to show the details:
Expanding the card to view an issue in detail moves the input focus to the affected paragraph:
Related ticket: T114621