প্রকল্প সম্পর্কে

Etherpad একটি রিয়েল-টাইম সহযোগিতামূলক ডকুমেন্ট এডিটর, যা এমন নথির জন্য তৈরি যেখানে লেখকত্ব এবং ইতিহাস গুরুত্বপূর্ণ। এটি ২০০৯ সাল থেকে একটি ছোট স্বেচ্ছাসেবক দল দ্বারা রক্ষণাবেক্ষণ করা হচ্ছে এবং Apache License v2-এর অধীনে প্রকাশিত। README-তে বর্ণিত মূল ক্ষমতাগুলি: - রিয়েল-টাইম সহযোগিতামূলক সম্পাদনা, যেখানে প্রতিটি কিস্ট্রোক তার লেখকের জন্য চিহ্নিত হয় এবং লেখকের রং ইনলাইনে দেখানো হয়। - সম্পূর্ণ সংশোধন ইতিহাস সংরক্ষিত থাকে, সাথে একটি টাইমস্লাইডার থাকে যা দিয়ে নথির ইতিহাস অক্ষর ধরে ধরে স্ক্রাব করা যায়। - অন্তর্নির্মিত সম্পূর্ণ ডেটা এক্সপোর্ট, তাই নথির ইতিহাস অপারেটরের কাছে অ্যাক্সেসযোগ্য থাকে। - স্ব-হোস্টেড অপারেশন: প্রকল্পটি জানায় যে কোনো টেলিমেট্রি বা আপসেল নেই, এবং AI কার্যকারিতা অপারেটরের পছন্দের মডেলের দিকে নির্দেশ করা প্লাগইনের মাধ্যমে অপ্ট-ইন করা হয়। PRIVACY.md নথিতে Etherpad-এর নিজস্ব কোডের দুটি অপ্ট-আউট নেটওয়ার্ক কল বর্ণনা করা আছে। - স্কেলেবিলিটি দাবি: প্রকল্পটি একটি স্কেল টেস্ট পৃষ্ঠার লিংক দেয় যা প্রতি প্যাডে হাজার হাজার সমকালীন এডিটর সমর্থন নির্দেশ করে। - আন্তর্জাতিকীকরণ: মূলত TranslateWiki-এর মাধ্যমে ১০৫টি ভাষায় অনূদিত। - এক্সটেনসিবিলিটি: একটি প্লাগইন ফ্রেমওয়ার্ক, যেখানে শত শত প্লাগইন একটি প্লাগইন সাইটের মাধ্যমে পাওয়া যায়, অ্যাডমিন ওয়েব ইন্টারফেস বা কমান্ড লাইন থেকে ইনস্টল করা যায়। - এমবেডযোগ্যতা: প্যাড, ব্যবহারকারী এবং গ্রুপ পরিচালনার জন্য একটি HTTP API, যার OpenAPI সংজ্ঞা /api/openapi.json-এ প্রকাশিত, সাথে ওয়েবসাইটে প্যাড এমবেড করার জন্য একটি jQuery প্লাগইন। README-তে আচ্ছাদিত ইনস্টলেশন বিকল্পগুলি: - macOS/Linux/WSL (শেল) এবং Windows (PowerShell)-এর জন্য এক-লাইন ইনস্টলার, যা রিপোজিটরি ক্লোন করে, নির্ভরতা ইনস্টল করে এবং ফ্রন্টএন্ড বিল্ড করে। Node.js >= 24 এবং git প্রয়োজন। একটি এনভায়রনমেন্ট ভেরিয়েবল সেট করে এক ধাপে ইনস্টল এবং শুরু করা যায়। - Docker Compose উদাহরণ, যা Docker Hub এবং GitHub Container Registry-তে প্রকাশিত অফিসিয়াল ইমেজ ব্যবহার করে, সাথে একটি PostgreSQL সার্ভিস, প্লাগইন এবং var ডেটার জন্য পার্সিস্টেন্ট ভলিউম, এবং অ্যাডমিন পাসওয়ার্ড, ডেটাবেস সংযোগ এবং অন্যান্য সেটিংসের জন্য এনভায়রনমেন্ট ভেরিয়েবল। - ম্যানুয়াল ধাপ: pnpm ইনস্টল করুন, রিপোজিটরি ক্লোন করুন, pnpm i চালান, pnpm run build:etherpad চালান, তারপর pnpm run prod চালান এবং localhost:9001 দেখুন। কনফিগারেশন এবং অ্যাডমিনিস্ট্রেশন: - সেটিংস settings.json-এ থাকে, সাথে বিকল্প সেটিংস ফাইল, ক্রেডেনশিয়াল ওভাররাইড, API কী এবং সেশন কী ফাইল এবং ${ENV_VAR} বা ${ENV_VAR:default_value} সিনট্যাক্স ব্যবহার করে এনভায়রনমেন্ট ভেরিয়েবল প্রতিস্থাপনের সমর্থন রয়েছে। - /admin ওয়েব ইন্টারফেসের মাধ্যমেও সেটিংস পরিবর্তন করা যায়। - README প্রোডাকশনে MySQL বা PostgreSQL-এর মতো ডেডিকেটেড ডেটাবেস ব্যবহারের পরামর্শ দেয়, উল্লেখ করে যে dirtyDB ড্রাইভার শুধুমাত্র টেস্টিং বা ডেভেলপমেন্টের জন্য। - প্রমাণীকরণের জন্য, এটি প্লেইন-টেক্সট পাসওয়ার্ডের পরিবর্তে হ্যাশ সংরক্ষণের পরামর্শ দেয় এবং ep_hash_auth প্লাগইনের দিকে নির্দেশ করে। - OpenID Connect প্রমাণীকরণের জন্য প্রস্তাবিত প্লাগইনগুলির মধ্যে রয়েছে ep_openid_connect, ep_guest, ep_user_displayname এবং ep_stable_authorid। - সমৃদ্ধ সম্পাদনা বৈশিষ্ট্যের জন্য প্রস্তাবিত প্লাগইন সেটের মধ্যে রয়েছে ep_align, ep_comments_page, ep_embedded_hyperlinks2, ep_font_color, ep_headings2, ep_markdown এবং ep_webrtc। - স্কিন ভেরিয়েন্টগুলি একটি skinvariantsbuilder URL-এর মাধ্যমে অন্বেষণ করা যায়। ডেভেলপমেন্ট এবং প্রকল্পের অবস্থা: - bin/debugRun.sh দিয়ে ডিবাগিং এবং bin/fastRun.sh দিয়ে দ্রুত শুরু, যা নির্ভরতা আপডেট এড়িয়ে যায়। - রিয়েল-টাইম আচরণের অন্তর্নিহিত Easysync লাইব্রেরিটি রিপোজিটরির একটি PDF-এ নথিভুক্ত। - কন্ট্রিবিউটর নির্দেশিকা CONTRIBUTING.md-এ দেওয়া আছে। - README-তে বলা হয়েছে যে প্রকল্পটি Node.js, রিয়েল-টাইম সিস্টেম বা প্রাতিষ্ঠানিক সহযোগিতার টুলিংয়ে অভিজ্ঞ মেইনটেইনার খুঁজছে। - CI ব্যাজগুলির মধ্যে রয়েছে কোড কোয়ালিটি (CodeQL), ব্যাকএন্ড টেস্ট, সিমুলেটেড লোড, রেট লিমিটিং, Docker এবং ফ্রন্টএন্ড/অ্যাডমিন টেস্ট। বিবৃত ব্যবহারকারীদের মধ্যে রয়েছে Wikimedia Foundation, EU-এর পাবলিক-সেক্টর প্রতিষ্ঠান, বিশ্ববিদ্যালয় এবং স্কুল, সিভিক-টেক এবং ডেলিবারেটিভ-ডেমোক্রেসি প্রকল্প, নিউজরুম এবং অনেক স্ব-হোস্টেড ইনস্ট্যান্স। সফটওয়্যারটি চেষ্টা করার জন্য একটি পাবলিক ইনস্ট্যান্স উপলব্ধ। সাপোর্ট চ্যানেলগুলি হল GitHub issues, একটি Discord সার্ভার এবং ইমেল যোগাযোগ।