Foxmarks: Error: Conditions préliminaires non remplies

From Foxcloud Wiki

Cette erreur se produit dans les rares cas où Foxmarks constate lors de la mise à jour du fichier de synchronisation qu'un autre client l'avait modifié pendant cette procédure de synchronisation. Pour éviter de perdre les modifications opérées par l'autre client, Foxmarks génère cette erreur.

Si vous tentez de synchroniser à nouveau, le problème devrait disparaître.

Si vous obtenez ce message constamment en utilisant le serveur de synchronsation Foxcloud, veuillez nous le faire savoir.

Utilisation d'Apache 2.0 avec mod_dav

Si vous utilisez votre propre serveur Webdav avec Apache le problème pourrait bien venir de ce bogue :
PUT/If-match (etag) handling seems to be broken
La solution est d'utiliser la directive FileETag.
Utilisez le paramètre :
 FileETag None
cela désactive en fait la protection contre l'écrasement de fichier mais au moins Foxmarks fonctionnera ainsi.

Un autre commentaire d'utilisateur :

Pour résoudre le problème des Foxmarks: Error: Conditions préliminaires non remplies, j'ai ajouté le paramètre FileETag None à mon serveur comme rcommandé. Après cela, seule la dernière machine forçant l'envoi vers le serveur pouvait se synchroniser automatiquement avec le serveur. Je suis obligé de forcer l'envoi et le téléchargement sur toutes les autres machines à chaque fois. Il est apparu que foxmarks-remote.js envoie malgré tout l'en-tête If-None-Match même si les Etags ont été désactivées. Cela cause une erreur 304 sur les autres machines lorsqu'elles tentent de se synchroniser. Commentaire : l'appel de setRequestHeader fait faire à Foxmarks le téléchargement du fichier de marque-pages tout le temps mais toutes les machines peuvent se synchroniser à présent. Mise à jour : Une meilleure solution pour le problème apache est de laisser l'en-tête If-None-Match, de supprimer l'en-tête If-Match et de réactiver les Etags sur le serveur. Cela permet de ne pas télécharger le fichier s'il n'a pas été modifié mais il écrasera sans condition le fichier foxmarks.xml sur le serveur. 71.133.56.53 14:30, 21 March 2006 (EST)

Solution disponible pour la version 0.69 :

J'ai proposé un patch pour contourner ce problème de manière standard. Ce patch vous permet de définir une préférence cachée (pas dans l'interface utilisateur) pour désactiver l'utilisation ds en-têtes If-Match. Ce patch a été accepté et sera inclus dans la version 0.69 de Foxmarks. Pour activer la solution, vous devez quitter Firefox et éditer le fichier prefs.js dans votre dossier "profile" de Firefox et ajouter les lignes suivantes :
user_pref("foxmarks.disableIfMatchOnPut", true);

71.133.56.53 12:44, 2 May 2006 (EDT)

Une solution alternative à l'approche prefs.js décrite ci-dessus est de saisir about:config dans la barre d'adresse de Firefox et de cliquer droit dans la fenêtre principale. Sélectionner Nouvelle » Valeur booléenne et saisir foxmarks.disableIfMatchOnPut en sélectionnant la valeur true.
Sachez qu'en activant ce paramètre, vous donnez la possibilité (en fait relativement restreinte) de perdre des données lors de la synchronisation, puisque vous désactivez un des paramètre de vérification d'intégrité interne de Foxmarks. Pour illustrer cela, si vous lancez une synchronisation sur la machine A, puis la machine B écrit modifie le fichier sur le serveur, puis la machine A termine sa synchronisation, les modifications faites par la machine B seront perdues. Dans la volonté d'en faire profiter les utilisateurs qui utilisent leur propre serveur et comprennent les risques encourus, nous sommes heureux d'inclure ce patch (contribution d'un utilisateur) dans la version 0.69 de Foxmarks. --Todd 13:45, 2 May 2006 (EDT), traduit par --jojaba 02:28, 21 June 2006 (EDT)
Frequently Asked Questions