Skip to content

Commit

Permalink
Merge branch 'master' into analytics-consent
Browse files Browse the repository at this point in the history
  • Loading branch information
andracc committed Jan 16, 2025
2 parents a5ce214 + 0947624 commit 4fabe09
Show file tree
Hide file tree
Showing 36 changed files with 425 additions and 301 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
aka.ms:443
api.github.com:443
api.nuget.org:443
builds.dotnet.microsoft.com:443
dc.services.visualstudio.com:443
deb.debian.org:80
dotnetbuilds.azureedge.net:443
Expand Down Expand Up @@ -110,12 +111,11 @@ jobs:
aka.ms:443
api.github.com:443
api.nuget.org:443
builds.dotnet.microsoft.com:443
dc.services.visualstudio.com:443
dotnetcli.azureedge.net:443
github.com:443
objects.githubusercontent.com:443
ts-crl.ws.symantec.com:80
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# Manually install .NET to work around:
Expand Down Expand Up @@ -153,15 +153,13 @@ jobs:
egress-policy: block
allowed-endpoints: >
*.data.mcr.microsoft.com:443
*.symcb.com:80
api.nuget.org:443
archive.ubuntu.com:80
dc.services.visualstudio.com:443
deb.debian.org:80
github.com:443
mcr.microsoft.com:443
security.ubuntu.com:80
ts-crl.ws.symantec.com:80
# For subfolders, currently a full checkout is required.
# See: https://github.com/marketplace/actions/build-and-push-docker-images#path-context
- name: Checkout repository
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
github.com:443
objects.githubusercontent.com:443
pypi.org:443
uploads.github.com:443
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/commit_message_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ permissions: # added using https://github.com/step-security/secure-workflows

jobs:
commit-message-lint:
uses: sillsdev/FieldWorks/.github/workflows/CommitMessage.yml@22859ef68af99ffbd016eca4e503278db8007913
uses: sillsdev/FieldWorks/.github/workflows/CommitMessage.yml@d6f2ee1ed5aa1257e408a4afab2aab8fd8268764
2 changes: 1 addition & 1 deletion Backend.Tests/Models/ProjectTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public void TestClone()
LiftImported = true,
DefinitionsEnabled = true,
GrammaticalInfoEnabled = true,
AutocompleteSetting = AutocompleteSetting.On,
AutocompleteSetting = OffOnSetting.On,
SemDomWritingSystem = new("fr", "Français"),
VernacularWritingSystem = new("en", "English", "Calibri"),
AnalysisWritingSystems = new() { new("es", "Español") },
Expand Down
22 changes: 11 additions & 11 deletions Backend/BackendFramework.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,32 @@
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.10.0" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.10.0" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.10.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.8.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.10.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.10.0" />
<PackageReference Include="RelaxNG" Version="3.2.3">
<NoWarn>NU1701</NoWarn>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.11" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="7.5.1" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="7.5.1" />
<PackageReference Include="MailKit" Version="4.8.0" />
<PackageReference Include="MailKit" Version="4.9.0" />
<PackageReference Include="MongoDB.Driver" Version="2.29.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.9.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />
<PackageReference Include="Xabe.FFmpeg" Version="5.2.6"/>

<!-- SIL Maintained Dependencies. -->
<PackageReference Include="icu.net" Version="2.10.1-beta.5" />
<PackageReference Include="icu.net" Version="3.0.0" />
<PackageReference Include="Icu4c.Win.Full.Lib" Version="62.2.3-beta" />
<PackageReference Include="SIL.Core" Version="14.1.1" />
<PackageReference Include="SIL.Core.Desktop" Version="14.1.1">
<PackageReference Include="SIL.Core" Version="15.0.0" />
<PackageReference Include="SIL.Core.Desktop" Version="15.0.0">
<NoWarn>NU1701</NoWarn>
</PackageReference>
<PackageReference Include="SIL.DictionaryServices" Version="14.1.1">
<PackageReference Include="SIL.DictionaryServices" Version="15.0.0">
<NoWarn>NU1701</NoWarn>
</PackageReference>
<PackageReference Include="SIL.Lift" Version="14.1.1">
<PackageReference Include="SIL.Lift" Version="15.0.0">
<NoWarn>NU1701</NoWarn>
</PackageReference>
<PackageReference Include="SIL.WritingSystems" Version="14.1.1" />
<PackageReference Include="SIL.WritingSystems" Version="15.0.0" />
</ItemGroup>
</Project>
8 changes: 4 additions & 4 deletions Backend/Models/Project.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class Project
[Required]
[BsonElement("autocompleteSetting")]
[BsonRepresentation(BsonType.String)]
public AutocompleteSetting AutocompleteSetting { get; set; }
public OffOnSetting AutocompleteSetting { get; set; }

[Required]
[BsonElement("semDomWritingSystem")]
Expand Down Expand Up @@ -92,7 +92,7 @@ public Project()
LiftImported = false;
DefinitionsEnabled = false;
GrammaticalInfoEnabled = false;
AutocompleteSetting = AutocompleteSetting.On;
AutocompleteSetting = OffOnSetting.On;
SemDomWritingSystem = new();
VernacularWritingSystem = new();
AnalysisWritingSystems = new();
Expand Down Expand Up @@ -186,10 +186,10 @@ public override int GetHashCode()
var hash = new HashCode();
hash.Add(Id);
hash.Add(Name);
hash.Add(IsActive);
hash.Add(LiftImported);
hash.Add(DefinitionsEnabled);
hash.Add(GrammaticalInfoEnabled);
hash.Add(IsActive);
hash.Add(AutocompleteSetting);
hash.Add(SemDomWritingSystem);
hash.Add(VernacularWritingSystem);
Expand Down Expand Up @@ -329,7 +329,7 @@ public UserCreatedProject()
}
}

public enum AutocompleteSetting
public enum OffOnSetting
{
Off,
On
Expand Down
4 changes: 2 additions & 2 deletions Backend/Models/User.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public class User
[Required]
[BsonElement("glossSuggestion")]
[BsonRepresentation(BsonType.String)]
public AutocompleteSetting GlossSuggestion { get; set; }
public OffOnSetting GlossSuggestion { get; set; }

[Required]
[BsonElement("token")]
Expand Down Expand Up @@ -113,7 +113,7 @@ public User()
OtelConsent = true;
AnsweredConsent = false;
UILang = "";
GlossSuggestion = AutocompleteSetting.On;
GlossSuggestion = OffOnSetting.On;
Token = "";
IsAdmin = false;
WorkedProjects = new();
Expand Down
2 changes: 1 addition & 1 deletion database/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# - Intel/AMD 64-bit
# - ARM 64-bit
############################################################
FROM mongo:7.0.15-jammy
FROM mongo:7.0.16-jammy

WORKDIR /

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Voyons comment déplacer les données lexicales d’un projet FieldWorks vers un projet Combine.
Pour commencer, ouvrez votre projet dans FieldWorks.
Ici, j’utilise un projet avec des mots de la langue Naskapi.
Ayant ouvert le projet FLEx souhaité, cliquez sur le menu « Fichier » (« File »), puis sélectionnez « Exporter… » (« Export… ») en bas du menu.
Dans la boîte de dialogue « Exporter » (« Export ») qui apparaît, cliquez sur l'option « Full Lexicon » « LIFT 0.13 XML », puis cliquez sur le bouton "Exporter… » (« Export… »).
Une autre boîte de dialogue apparaît pour vous permettre de sélectionner l'endroit où les fichiers exportés seront enregistrés.
Il faudra créer un nouveau dossier pour les fichiers.
Je vais sur le bureau et je clique sur le bouton « Créer un nouveau dossier » (« Make New Folder ») pour créer un dossier « Naskapi ».
Sélectionnez le dossier que vous venez de créer et cliquez sur le bouton « OK ».
Dans l'explorateur de fichiers, naviguez au dossier qui contient ce nouveau dossier.
Faites un clic droit sur le dossier que vous venez de créer pour l’export et sélectionnez « Compresser vers fichier ZIP » (« Compress to ZIP file »).
Voyez-vous le fichier ZIP qui a été créé ?
C'est ce que nous allons importer dans The Combine.
Maintenant nous ouvrons un navigateur web et allons sur thecombine.app.
Une fois connecté, nous voyons deux sections : « Sélectionner un projet » (« Select Project ») et « Créer un projet » (« Create Project »).
Sous « Sélectionner un projet » (« Select Project »), nous pouvons ouvrir un projet qui existe déjà.
Il est possible d'importer les données lexicales dans un projet existant, mais nous y reviendrons plus tard.
Sous « Créer un projet » (« Create Project »), créons un nouveau projet en utilisant l’export à partir de FLEx.
Tout d’abord, je vais taper un nom pour le projet, dans ce cas : Naskapi.
Remarquez qu'il y a des champs en dessous où l'on peut préciser la langue vernaculaire (Vernacular Language) et une langue d'analyse (Analysis Language) pour le projet.
Ce n'est pas nécessaire lors de l'import des données, car les langues du projet seront automatiquement détectées.
Pour télécharger des données existantes, cliquez sur le bouton « Parcourir » (« Browse »).
Une boîte de dialogue d'explorateur de fichiers s'ouvre pour que vous puissiez sélectionner les données LIFT qui ont été exportées à partir de FLEx.
Je navigue vers le dossier « Desktop », où j'ai exporté mes données, et je sélectionne le fichier « Naskapi.zip » puis je clique sur le bouton « Ouvrir » (« Open »).
Remarquez que The Combine affiche le texte « Fichier sélectionné : Naskapi.zip ».
Génial !
Sous « Langue vernaculaire » (« Vernacular Language »), il y a maintenant un menu déroulant.
Utilisez-le pour sélectionner la langue qui servira comme langue vernaculaire.
The Combine ne permet la saisie de données qu'en une seule langue vernaculaire par projet.
La langue vernaculaire ne peut pas être modifiée après la création du projet.
Si vous avez besoin de rassembler ou d'organiser des données lexicales pour une langue différente, il suffit de créer un autre projet.
Notez que vous ne pouvez plus spécifier de langue d'analyse.
Ceci est dû au fait que toutes les langues d'analyse présentes dans le fichier ZIP sont automatiquement ajoutées, et vous pouvez ajouter ou supprimer des langues d'analyse dans le projet à tout moment.
Il ne reste plus qu'à cliquer sur le bouton « Créer un projet » (« Create Project »).
Une fois le projet créé, vous accédez à la page des paramètres du projet.
Pour y accéder à l'avenir, vous pouvez cliquer sur l'icône d'engrenage dans la barre supérieure.
Notez que dans l’onglet « Langues » (« Languages »), nous pouvons voir le langage vernaculaire ainsi que revoir et modifier les langues d’analyse.
Cliquez sur l’onglet « Importer/Exporter » (« Import/Export »).
C'est ici que vous pouvez importer des données lexicales dans un projet existant.
Cette option est maintenant désactivée parce que nous avons déjà importé des données dans ce projet.
Une seule importation est autorisée pour un projet dans The Combine.
C'est également là que nous pouvons exporter des données de The Combine pour importer dans FieldWorks, mais c'est un sujet pour une autre vidéo.
J'espère que cette vidéo vous aidera à démarrer avec The Combine.
Je vous souhaite une excellente journée !
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This second set of potential duplicates has two words with vernacular form “ba
One has gloss “side of river” and the other has gloss “financial institution”.
These are definitely different words—homographs that we do not want to merge.
Click the “Save & Continue” button at the bottom to confirm that they are distinct words.
This pair will not show up again in the “Merge Duplicates”, nor in the list of deferred sets.
This pair will not show up again in the “Merge Duplicates” tool, nor in the list of deferred sets.
Now we’ve seen what the “Save & Continue” and “Defer” buttons do.
One important note: if a user later changes any of the words in a set of potential duplicates, then that set can show up again in the “Merge Duplicates” tool.
For example, if you click “Save & Continue” for a set of words that are not duplicates, and then later add a semantic domain to a sense of one of the words, that set may come up again as potential duplicates.
Expand All @@ -31,7 +31,7 @@ A gift is spelled “p-r-e-s-e-n-t” not “p-r-e-s-e-n-t-t”.
You cannot edit the text in the “Merge Duplicates” tool.
However, you can click on the flag icon to add a flag and mention what needs to be fixed.
Note that for the flag to be saved, you must click “Save & Continue”.
We can leave the merging at any time by clicking on the “Data Cleanup” button, but then unsaved changes will be discarded.
We can leave the merging at any time by clicking on the “Data Cleanup” button, but the unsaved changes will be discarded.
Back in “Data Cleanup”, there’s a “Review Entries” tool.
That’s where you can review and edit all words in the project, and fix any words that were flagged while merging duplicates.
We’ll cover the “Review Entries” tool in another video.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Lorsque vous collectez des mots par domaine sémantique, parfois le même mot est saisi plusieurs fois.
The Combine a un outil pour trouver des entrées en double et les fusionner en une seule entrée.
Connectons-nous à thecombine.app, puis on choisira un projet qui a des entrées en double.
Cliquez sur le bouton « Nettoyage des données » (« Data Cleanup ») dans la barre supérieure, puis sélectionnez « Fusionner les doublons » (« Merge Duplicates »).
The Combine trouvera des séries de mots ayant une même forme vernaculaire et vous les présentera une série à la fois.
Dans ce projet, la première série de doublons potentiels est une paire de mots ayant la forme vernaculaire « hard ».
L’un a la glose « difficult » (difficile) et l’autre a la glose « not soft » (pas doux).
S'agit-il d'un mot ayant deux sens différents ou de deux mots différents?
Si nous ne sommes pas certains ou si nous ne voulons pas prendre une décision maintenant, nous pouvons appuyer sur le bouton « Reporter » (« Defer ») en bas de page.
Cela nous déplace vers la prochaine série et évite que la série reportée ne revienne plus dans l’outil « Fusionner les doublons » (« Merge Duplicates »).
Il existe un autre outil permettant d'examiner les séries qui ont été reportées.
Nous y reviendrons plus tard dans cette vidéo.
Cette deuxième série de doublons potentiels comporte deux mots dont la forme vernaculaire est « bank ».
L’un a la glose « side of river » (bord du fleuve) et l’autre a la glose « financial institution » (institution financière).
Il s'agit bien de mots différents, d'homographes que nous ne voulons pas fusionner.
Cliquez sur le bouton « Enregistrer & continuer » (« Save & Continue ») en bas pour confirmer qu’il s’agit bien de mots distincts.
Cette paire ne sera plus affichée dans l'outil « Fusionner les doublons » (« Merge Duplicates »), ni dans la liste des séries reportées.
Nous avons vu alors ce que font les boutons « Enregistrer & continuer » (« Save & Continue ») et « Reporter » (« Defer »).
Remarque importante : Si un utilisateur modifie ultérieurement l'un des mots d'une série de doublons potentiels, cette série peut réapparaître dans l'outil « Fusionner les doublons » (« Merge Duplicates »).
Par exemple, si vous cliquez sur "Enregistrer et continuer" pour une série de mots qui ne sont pas des doublons, et que vous ajoutez ensuite un domaine sémantique à un sens de l'un des mots, cette série peut apparaître à nouveau comme des doublons potentiels.
Ou si vous cliquez sur « Reporter » (« Defer ») pour une série, et qu'un autre utilisateur ajoute un enregistrement audio pour l'un des mots, cette série apparaîtra de nouveau dans « Fusionner les doublons » (« Merge Duplicates »), au lieu de figurer parmi les séries reportées.
Allons de l'avant.
Le Combine nous demande si nous voulons continuer à fusionner.
Si nous cliquons sur « Non » (« No »), nous retournons à la page « Nettoyage des données » (« Data Cleanup »).
Si nous cliquons sur « Oui » (« Yes »), il recherchera d'autres séries de doublons potentiels.
Si The Combine ne trouve plus de mots ayant une forme vernaculaire identique, il propose des mots de forme vernaculaire similaire.
Cela permet de repérer les doublons lorsque l'un des mots comporte une faute de frappe ou utilise une orthographe alternative.
Ici, nous voyons deux mots de forme vernaculaire « present », mais le second a deux « t » à la fin.
Hmm, ça doit être une faute de frappe.
Un « gift » (cadeau) s'écrit « p-r-e-s-e-n-t » et non « p-r-e-s-e-n-t-t ».
Vous ne pouvez pas modifier le texte dans l'outil « Fusionner les doublons » (« Merge Duplicates »).
Toutefois, vous pouvez cliquer sur l'icône de balise pour ajouter une balise et mentionner ce qui doit être corrigé.
Notez que pour que la balise soit enregistrée, il faut cliquer sur « Enregistrer & continuer » (« Save & Continue »).
On peut quitter la fusion à tout moment en cliquant sur le bouton « Nettoyage des données » (« Data Cleanup »), mais les modifications non enregistrées seront alors supprimées.
De retour dans la section « Nettoyage des données » (« Data Cleanup ») , il existe un outil « Examiner les entrées » (« Review Entries »).
C'est là que vous pouvez revoir et modifier tous les mots du projet, et corriger les mots qui ont été balisés lors de la fusion des doublons.
Nous aborderons l’outil « Examiner les entrées » (« Review Entries ») dans une autre vidéo.
Notez qu’il y a maintenant une option ici qui n’existait pas auparavant : « Examiner les doublons reportés » (« Review Deferred Duplicates »).
Cliquez dessus pour examiner les séries de doublons potentiels qui ont été précédemment reportés.
C’est tout pour ce premier tutoriel vidéo sur l’outil « Fusionner les doublons » (« Merge Duplicates »).
Dans la prochaine vidéo, nous verrons comment déplacer, supprimer et combiner des sens.
Je vous souhaite une excellente journée !
Loading

0 comments on commit 4fabe09

Please sign in to comment.