2012-07-21 5 views
10

क्या Meteor.js अभी तक परिचालन परिवर्तन का समर्थन करता है?

मैं एक परियोजना पर काम कर रहा हूं जो कुछ ईथरपैड से संबंधित है जिसके लिए मैंने Meteor.js का उपयोग करने के बारे में सोचा था (जो मुझे लगता है कि इस तरह के प्रोजेक्ट के लिए बहुत उपयुक्त है)। यदि मैं इसे स्केलेबल बनाने के बारे में सोचता हूं तो मेरे प्रोजेक्ट के लिए परिचालन परिवर्तन बहुत महत्वपूर्ण है। मेरा वर्तमान ज्ञान बताता है कि उल्का बॉक्स के बाहर परिचालन परिवर्तन का समर्थन नहीं करता है (अगर मैं यहां गलत हूं तो मुझे सही करें)। तो मूल रूप से मेरा प्रश्न meteor.js में परिचालन परिवर्तन को कार्यान्वित करने के लिए कैसे है?Meteor.js में परिचालन परिवर्तन?

मैं इस पुस्तकालय google-diff-match-patch का उपयोग कर, Neil Fraser द्वारा की कोशिश की, लेकिन जब पैच लागू करने समस्या नहीं थी (हालांकि यह काम किया बाहर काफी आसानी से meteor.js)।

तो कोई सुझाव?

+0

अच्छी तरह से लिखा सवाल। –

उत्तर

1

एक ब्राउज़र में सहयोगी टेक्स्ट एडिटर में दो प्रमुख घटक होते हैं: पाठ क्षेत्र स्वयं, जो सर्वर से प्राप्त अन्य संपादनों के साथ उपयोगकर्ता के टाइपिंग को समन्वयित करने में अच्छी तरह से व्यवहार करना चाहिए; और इन संपादनों को भेजने, प्राप्त करने और संयोजन के लिए डेटा मॉडल।

उल्का आज विशेष रूप से इनमें से किसी भी चीज़ के लिए विशेष सहायता प्रदान नहीं करता है, लेकिन यह वास्तविक समय डेटा परिवहन प्रदान करता है, और क्लाइंट और सर्वर के बीच डेटा को स्वचालित रूप से स्थानांतरित करने का एक तरीका प्रदान करता है।

अगर मैं उल्का पर ईथरपैड को कार्यान्वित करना चाहता था, तो मैंने हमेशा कल्पना की है कि मैं संग्रह को "ऑपरेशन लॉग" के रूप में उपयोग करूंगा। उपयोगकर्ता परिवर्तन सर्वर को भेजे जाएंगे, जहां उन्हें संचालन के आधिकारिक लॉग (मूल रूप से diffs) में जोड़ा जाएगा जो स्वचालित रूप से सभी ग्राहकों को स्ट्रीम करेगा। क्लाइंट के पास उन भिन्नताओं को लागू करने का काम होगा जो उन्हें आते हैं और उन्हें टाइपिंग के साथ मेल खाते हैं जिन्हें अभी तक सर्वर द्वारा स्वीकार नहीं किया गया है।

यह एक कठिन कार्यान्वयन चुनौती है। सौभाग्य!

+0

फायरपैड ने इसे फायरबेस संग्रह पर हासिल किया है, जो भावना में समान हैं। –

4

कई उल्का परियोजनाओं को देखने के बाद ओटी (यानी http://cocodojo.meteor.com/) का उपयोग करना, मैंने उचित एकीकरण के लिए जाने का फैसला किया।

मैंने शेयरजेएस को उल्का में एकीकृत करने के लिए एक स्मार्ट पैकेज बनाया है। कृपया आएं और उसे देखें और अपने पुल के अनुरोधों को: https://github.com/mizzao/meteor-sharejs

डेमो ऐप: http://documents.meteor.com

+0

मैं आपके उदाहरण में अन्य सहयोगियों के कार्यों को पूर्ववत कर सकता हूं। सही नहीं लगता है – imkost