Closed margondicco closed 11 months ago
@srenault-meeds functional requirement ready for review, please. cc @margondicco
update the following elements:
Update with print to PDF behavior when a translation is displayed
Hello,
Questions:
"When opening the editor, the original version is displayed. The original version is not corresponding to a language."
"Just to remind, no editor below 770px"
You tell this but in the same type I see a mockup below this information with an editor while using 770px. Does that mean you aim to enable the edition when using tablet width? If so, ok with this, but needs to review the UI to display the editor then (other MIP)
@boubaker Can you make a tech review on this MIPs (for GoTech)
Hello, can we please clarify the following?
P2 - Automatic translation - Not sure you it's present on Meeds.
Not on Meeds, so to remove from there
P2 or P3
Can you please clarify the scope detailed in the MIP? Only P1
Autotranslation mention in the MIP
Do we agree autotranslation here is proposed among user language preference?
Feature flags
Only during dev?
@Julien-Dubois-eXo @margondicco
I remove the automatic translation part as it's not present in Meeds.
Yes, the feature flag will be present only during the dev, we remove it at the end of the iteration.
On the MIP there are 3 scopes: P1, P2 and P3. P2 and P3 will probably not be done in view of the progression done so far.
Yes, the feature flag will be present only during the dev, we remove it at the end of the iteration.
ok, can you please delete the flags as it's not in the expected outcome that will be added in the final result. Thanks.
Done
Tech review done.
ETA begin of october
@boubaker @rdenarie merge pr for review: https://github.com/Meeds-io/notes/pull/873 les devs sont deployé sur les acceptances MIPS
@boubaker @rdenarie merge pr for review: Meeds-io/notes#873 les devs sont deployé sur les acceptances MIPS
PR approved. Have a nice weekend :+1:
Hello,
No blocker for this one
I have observed a regression in SNV when having multilingual option. The title is mandatory and we cannot add any translation FYI.
So either we decide to not enable it for SNV at all, either we need to adjust it if really needed. To study then
Rationale
Within an international context, we might need to propose translation for the same note without being able to duplicate all the knowledge base.
We should be able to propose one knowledge base with different translation according to the user language settings.
1. Functional Requirements
1.1 Translation in Note Editor
P1 - Translation option:
The user can:
see the currently selected version
see the available translation.
If no translation the label "No translation" is displayed
If several translations: 3 translation chips are displayed and the other are displayed under a numerous indicator that open a dropdown
display order:
select a new language to add a translation. Empty by default
When adding a translation, all the fields can be modified (title and body)
When a language is already translated it's no more suggested in the language selector
We can navigate between translations
The translation can be deleted but not the original version.
According to its status the language chip will have a different layout
Print to PDF is printing the displayed language version
No limit to the translation number
Breakpoint - Below 960px:
The interface is simplified
The indicative labels are removed
We display only the selected version and we can change it by clicking on it and select the new version in a dropdown.
Just to remind, no editor below 770px
1.2 Translation in Note viewer
P1 - Translation options:
A "Translation" button is displayed on the same line as the update information. The button is displayed if:
By default:
The version can be selected in a dropdown. The translation button becomes active when a version different from the original version is selected
Display order of the version:
1.3 History version
One history version by language:
2. Technical Requirements
Expected Volume & Performance
Security
No changes that can impact app security
Extensibility
Nothing to expect
Configurability
Nothing to expect
Upgradability
No migration expected
Existing Features
Feature Flags
| Property Name | Default Value | Target Audience | Functional Behaviour | No feature flag
3. Impacts
Documentation
Notes documentation to be updated
4. Software Architecture
Security
Access
GUI : Notes App portlet to be updated ( adding the translation bar to the portlet header, updating the version management drawer)
API : Storage, Service and rest Api to be updated the manage notes by language
Services & processing
Currently, when a note is retrieved, the published content is stored in the note entity, we will use this field to store the default content, and translated content will be stored in versions and to show translated content we will retrieve the last version by the user language.
Every change in content should create a new version with the selected language, the version label should be related to the language.
Version history should be listed by the selected language
Data and persistence
So content is stored in the note (WIKI_PAGE), version (WIKI_PAGE_VERSION), and in draft (WIKI_DRAFT_PAGES),
To be able to allow multi langs we will need to change the model:
New data model:
RDBMS:
All JPA entities should be updated according to the changes proposed in the new model.
Storage API should be updated to add methods to store and get pages, versions, and drafts by a given language
ElasticSearch:
Instead of having an entry for every note with the published content, we will need to have a different entry for every lang so a new field "lang" to be added
elastic search query should be updated to search on content by language.
Migration strategy
No migration needed