Méthode de mise en œuvre

Original: http://www.cs.uky.edu/~raphael/suda.paper/node7.html#SECTION00070000000000000000

 

Le paquet de SOL est écrit sous forme de scripts CGI qui prennent en charge les formulaires. En général, ces scripts produisent des formes comme leur sortie. Les scripts sont écrits en Perl [WS90]. Une fois que les scripts sont stables, ils seront disponibles à ftp://ftp.cs.uky.edu/cs/software/suda.tgz alors que d’autres peuvent poursuivre des projets similaires basées sur notre code.
Ces formes doivent souvent afficher grec. Affichage grec dans code bêta, c’est simple, mais pas particulièrement amical au lecteur. Navigateurs compatibles Java peuvent exécuter une applet qui fournira Beta code en lettres grecques. Les navigateurs prenant en charge Unicode avec une police grecque classique peuvent afficher plus directement le grec [Con96]. Enfin, les images GIF contenant des photos du grec peuvent être placés dans les formes. Le choix des méthodes d’affichage s’effectue au niveau du serveur de SOL. Les préférences d’affichage d’un participant sont induites au moment de la connexion et utilisés tout au long de la session.
Toutes les bases de données sont des fichiers actuellement plats au format Ascii. Ce choix de formats rend les données indépendante de l’ordinateur et permet aux valeurs d’attribut d’une longueur arbitraire. À cet égard, les bases de données sont comme ceux de Qddb [HF96]. Des attributs individuels sont séparés par des retours à la ligne ou par la | caractère.
La base de données centrale contient des traductions. Que la traduction se développe, la base de données de traduction de production sera subdivisée en plusieurs fichiers. Lorsqu’un traducteur ou rédacteur modifie une traduction, le logiciel supprime toute l’entrée de la base de données de traduction et place une copie de nouveau à la fin. Le coût de ces opérations est linéaire en la taille du fichier de base de données impliquée. Pour cette raison, nous limiterons les fichiers de base de données individuelle à environ 100 Ko. Recherche nécessitera des indices lorsque les données deviennent grandes ; Nous utiliseront probablement Qddb pour notre moteur de base de données à ce moment-là.
La base de données participant sert à enregistrer chaque participant inscrit (une catégorie qui n’inclut pas les invités), reliant l’identificateur de traducteur au nom et prénom du participant, numéro de téléphone, affiliation, adresse électronique et niveau d’engagement. Cette base de données est utilisé pour générer le format de sortie, qui ne révèle pas les identificateurs de traducteur.
La base de données d’affectation a une entrée pour chaque traducteur énumérant les entrées Suda a reçu de ce traducteur. Il est parallèle à la base de données d’achèvement, qui possède une entrée pour chaque traducteur indiquant ce qui a été effectué. Ces deux bases de données utilisent des listes de l’entrée, qui sont séparées par des virgules des listes de gammes. Une gamme de gamma de la forme, 14-18, il indique la lettre et un ensemble contigu d’entrées de Suda numérotés dans les entrées de Suda de cette lettre. Ces bases de données sont utilisés pour guider la gestion des éditeurs car ils donnent des nouvelles affectations et traducteurs comme ils le souhaitent une entrée Suda à traduire. Ils sont également utilisés pour créer les graphiques illustrant l’état actuel de l’effort de SOL.
Afin d’empêcher les traducteurs et rédacteurs de modifier massivement une traduction, le logiciel compare la traduction modifiée avec sa version précédente en utilisant un programme de différenciation. Si le nombre de mots changé dépasse un seuil (20 %, par exemple), la modification est signalée comme ” excessif ”.
Actuellement, nous n’implémentent pas un niveau élevé de sécurité. Mots de passe sont envoyés à travers le réseau et stockés sur le serveur en clair. Le fait qu’un participant s’est connecté sous un identificateur est passé de forme à forme comme une valeur cachée du formulaire. Un intrus qui connaît l’URL des formulaires utilisés par les participants à des niveaux plus élevés d’engagement qu’invité et qui peut deviner un id de participant peuvent probablement tromper SOL en prenant des mesures appropriées à ces niveaux d’engagement. Nous ne pensons pas que cette intrusion est probable, mais nous allons passer à l’utilisation de cookies limitée dans le temps comme une alternative au passage des variables masquées.