2010-06-24 5 views
0

J'ai un arbre rempli de données qui sont déplaçables (& droppable). Tout fonctionne bien, mais il y a un problème. Lorsque de plus en plus d'utilisateurs travaillent sur ce module (avec arborescence) et qu'ils font glisser des objets, tout est mélangé. Donc, je travaille sur une solution, mais je suis allé aussi loin que le verrouillage de table dans mysql. Mais si je fais cela, un seul utilisateur peut travailler sur ce module et ce n'est pas acceptable.Multi-utilisateurs - Glisser-Déposer

Vous avez des idées?

+1

Quel comportement voulez-vous à la place d'un verrou un-utilisateur-à-un-temps: se voir changer en temps réel, lors de leurs sessions d'édition? Ou, une fusion à trois voies (ou N-way) de tous les utilisateurs change à la fin de chacune de leurs sessions d'édition? – ChrisW

+0

Le temps réel est une option, mais il reste une fenêtre d'erreur ouverte. Peut-être qu'il n'y a plus d'options. Merci pour votre commentaire. Je pense que je ferai ça à l'ancienne (table de verrouillage). – Luka

Répondre

1

Que se passe-t-il lorsqu'un utilisateur clique sur l'objet qu'une requête est envoyée à la base de données MySQL demandant l'autorisation pour cet utilisateur de déplacer cet objet.

Si cet objet n'est pas marqué comme déplacé, la base de données renvoie true et le javascript rend l'objet glissable. MySQL marque cette ligne dans la table avec l'un des champs (c.-à-d. Que vous créez un champ appelé locked et le place à true ou false)

Si le MYSQL renvoyait false, l'utilisateur recevrait une sorte de notification que quelqu'un d'autre était déplacer cet objet actuellement.

Je voudrais aussi créer un horodatage chaque fois qu'une ligne est marqué comme verrouillé de sorte que vous pouvez vérifier si l'objet a été déverrouillé)

bonne chance,

Niko

+0

Je suis arrivé à cette solution maintenant. Donc merci de toute façon! C'est la solution la plus élégante. J'ai créé un verrou sur le parent de l'arbre. – Luka