সম্পাদনাযোগ্য সাইটের সামগ্রী সংরক্ষণ করা হচ্ছে?


9

আমাদের একটি জ্যাঙ্গো ভিত্তিক ওয়েবসাইট রয়েছে যার জন্য আমরা কিছু সামগ্রী (পাঠ্য এবং ব্যবসায়িক যুক্তি যেমন মূল্য নির্ধারণের পরিকল্পনাগুলি) সহজেই ঘরে বসে সম্পাদনাযোগ্য করে তুলতে চেয়েছিলাম এবং তাই আমরা সেটাকে কোডবেজের বাইরে সঞ্চয় করার সিদ্ধান্ত নিয়েছি। সাধারণত নিম্নলিখিতগুলির মধ্যে একটি কারণ:

  • এটি এমন কিছু যা অ প্রযুক্তিগত লোকেরা সম্পাদনা করতে চায়। একটি উদাহরণ কোনও ওয়েবসাইটের জন্য কপিরাইটিং - প্রোগ্রামাররা পাঠ্য সহ একটি টেম্পলেট প্রস্তুত করেন যা "লরেম ইপসাম ..." এ ডিফল্ট থাকে এবং আসল সামগ্রীটি পরে ডেটাবেজে প্রবেশ করানো হয়।

  • এটি এমন কিছু যা আমরা নতুন কোড মোতায়েনের প্রয়োজন ছাড়াই দ্রুত পরিবর্তন করতে সক্ষম হতে চাই (যা আমরা বর্তমানে সপ্তাহে দু'বার করি)। দামের বিভিন্ন স্তরে গ্রাহকদের কাছে উপলব্ধ বৈশিষ্ট্যগুলি হ'ল একটি উদাহরণ। এগুলি হার্ডকোডিংয়ের পরিবর্তে আমরা সেগুলি ডাটাবেস থেকে পড়ি।

বর্ণিত সমাধানটি নমনীয় তবে কিছু কারণ রয়েছে যা আমি এটি পছন্দ করি না।

  • যেহেতু বিষয়বস্তুটি ডাটাবেস থেকে পড়তে হবে, সেখানে ওভারহেডের পারফরম্যান্স রয়েছে

    আমরা ক্যাচিং স্কিম ব্যবহার করে এটি প্রশমিত করি, তবে এটি সিস্টেমে কিছুটা জটিলতাও যুক্ত করে।

  • ডেভেলপাররা যারা স্থানীয়ভাবে কোড চালায় তারা সিস্টেমটি এটি উত্পাদনে কীভাবে চালিত হয় তার তুলনায় একটি উল্লেখযোগ্যভাবে পৃথক অবস্থায় দেখেন । অটোমেটেড টেস্টগুলিও সিস্টেমটিকে একটি পৃথক অবস্থায় প্রয়োগ করে। স্টেজিং সার্ভারে নতুন বৈশিষ্ট্যগুলি পরীক্ষার মতো পরিস্থিতিও আরও জটিল হয় - স্টেজিং সার্ভারে ডেটাবেসটির সাম্প্রতিক কপি না থাকলে এটি অপ্রত্যাশিতভাবে উত্পাদন থেকে আলাদা হতে পারে।

    আমরা মাঝেমধ্যে রিপোজিটরিতে নতুন রাষ্ট্র প্রতিশ্রুতিবদ্ধ করে তা হ্রাস করতে পারি (উদাহরণস্বরূপ ডেটা মাইগ্রেশন যুক্ত করে) তবে এটি একটি ভুল পদ্ধতির মতো বলে মনে হচ্ছে। তাই কি?

এই সমস্যাগুলি সমাধান করার জন্য কোনও ধারণা? আমি যে বিষয়বস্তুটি অবলম্বন করছি তা হ্যান্ডল করার জন্য আরও ভাল পন্থা থাকতে পারে?


2
এ জাতীয় সমস্যা সমাধানের সর্বোত্তম উপায় হ'ল 'বিশ্লেষণ পক্ষাঘাত' এড়ানো। আপনি যে কোনও উপায়ে এটি করতে বেছে নেবেন তা ওভারহেডে থাকবে, নিজেকে বা অনুমান করে দ্বিতীয় বা তৃতীয় দ্বারা আরও যুক্ত করবেন না।
নোকচারনো

আমরা এখানে রাষ্ট্রের কত তারিখের কথা বলছি? কয়েক কেবিএস, মেগস?
অমিত ওয়াধওয়া

উত্তর:


5

সম্পূর্ণ বৈশিষ্ট্য হিসাবে আপনার সম্পাদনাযোগ্য সামগ্রী সম্পর্কে ভাবা উচিত ।

  • কিছু যোগ জটিলতার স্পষ্টতই প্রয়োজন হয়। পারফরম্যান্সের ক্ষতি যাতে না ঘটে সে জন্য আপনি সম্পাদনার পরে স্থিতিশীল সংস্থান সংরক্ষণ করতে পারেন।
  • সামগ্রী হ'ল ডেটা, সুতরাং এটি সিস্টেমের রাজ্যের অংশ। ব্যবহারকারীরা আপনার ইউআই তাদের অনুমতি দেয় এমন অনেক কিছুই করতে পারে এই ভেবে ডেভেলপারদের অবশ্যই এটির সাথে কাজ করতে হবে।
  • যদি স্বয়ংক্রিয় পরীক্ষাগুলি ডাটাবেস স্থিতির উপর নির্ভর করে, পরীক্ষাগুলি চালানোর আগে অবশ্যই ডাটাবেস স্টেট (টেস্টডেটাবিল্ডার্স, ফিক্সচার ...) নির্ধারণ করতে হবে, বা তাদের ইউনিট পরীক্ষা করাতে পারে (সম্ভবত উপহাসের মাধ্যমে)।

তবে, সামগ্রীটি সম্পাদনযোগ্য করার পরিবর্তে আপনি সেই প্রযুক্তিবিদকে আপনার বিকাশের প্রবাহের অংশ করতে পারেন। ডেটা বিকাশ -> মোতায়েন -> পরিবর্তনের পরিবর্তে, আপনি ডেটা পরিবর্তন করতে -> বিকাশ -> মোতায়েন করতে পারেন। অস্টোপ্রেসের মতো আপনি স্ট্যাটিক ব্লগিং প্ল্যাটফর্মগুলি থেকে কিছু ধারণা ধার করতে পারেন ।


0

এটি আপনার ডিভোপসের জন্য একটি ভাল কাজ। :) আপনি নিম্নলিখিত করতে পারেন:

  1. পৃথক আর্টিক্ট / ভিসিএস সংগ্রহস্থলে সম্পাদনযোগ্য সংস্থানগুলি রাখুন (আমি এখানে গিট পরিভাষা ব্যবহার করব)।
  2. আপনার বিল্ড এবং স্থাপনার প্রক্রিয়াটি কার্যকর করুন যাতে এই সংস্থানগুলি কেবল সরানরে পৃথক অবস্থানের জন্য সেই সংগ্রহস্থল থেকে টানানো যায় (আপনি বিভিন্ন পরিবেশের জন্য কিছু কনভেনশন স্থাপন করতে পারেন যাতে আপনার প্রতিটিটির জন্য পৃথকভাবে এই অবস্থানটি কনফিগার করতে হবে না)।
  3. ব্যবহারকারীরা যখন ওয়েবসাইটে কোনও কিছু পরিবর্তন করেন, পরিবর্তনটি কেবল রিসোর্স ফাইলে সংরক্ষণ করা হয়। রিমোট রিপোজিটরিতে পুশ করুন প্রতিটি পরিবর্তনের উপর অ্যাসিক্রোনারিকভাবে কার্যকর করা হয়।
  4. কোনও পরিবর্তন মোতায়েনের জন্য, বিকাশকারী সম্পাদনা কার্যকারিতা অক্ষম করে এবং তার পরিবর্তনগুলি দূরবর্তী সংগ্রহস্থলে একীভূত করে। তারপরে, উত্পাদনের সময়, তিনি রিমোট রেপো থেকে মার্জ করা ফাইলগুলি টানেন। এর পরে, সম্পাদনা কার্যকারিতা পুনরায় সক্ষম করা যায়।

শেফ বা অন্য কোনও সরঞ্জামের সাথে একত্রীকরণ ব্যতীত সমস্ত কিছু স্বয়ংক্রিয়ভাবে করা সম্ভব, সুতরাং এই সমাধানটি ব্যবহারকারী, বিকাশকারী এবং এসকিউএ উভয়ের পক্ষেই আরামদায়ক হতে পারে।


0

এই সমস্যাগুলি সমাধান করার জন্য কোনও ধারণা?

আমাদেরও একই অবস্থা ছিল। আমরা নিম্নলিখিত জ্যাঙ্গো অ্যাপ্লিকেশনগুলি ব্যবহার করে শেষ করেছি:

এটি নিখুঁত নয়, তবে এটি আপনাকে যা প্রয়োজন তা দেয়:

  • প্রযুক্তিবিহীন লোকেরা সম্পাদনা করতে পারে,
  • কোনও কোড স্থাপনার দরকার নেই।
  • আপনার যদি সংস্করণ নিয়ন্ত্রণের প্রয়োজন হয় তবে বিপরীত অ্যাপটি আপনাকে ঠিক এটি দেবে।

বিকাশকারীরা উত্পাদন ব্যবস্থার মতো একই পৃষ্ঠাগুলির অভিজ্ঞতা অর্জন করতে পারে, যদি এটি প্রকৃত প্রয়োজন হয় তবে উত্পাদন থেকে ফিক্সচার ব্যবহার করে বিকাশ এবং পরীক্ষায় রফতানি করুন।

আমি যে বিষয়বস্তুটি অবলম্বন করছি তা হ্যান্ডল করার জন্য আরও ভাল পন্থা থাকতে পারে?

ধারণামূলকভাবে, আমি মনে করি আপনি সঠিক পথে আছেন। আপনার নিজের সমাধানটি কার্যকর করতে হবে কিনা, বা আপনি যদি কোনও ধরণের সিএমএস নিয়ে বেঁচে থাকতে পারেন তবে নিজেকে জিজ্ঞাসা করুন। ফ্ল্যাটপেজগুলি এর একটি খুব সাধারণ সংস্করণ। আরও পরিশীলিত সিএমএস উপলব্ধ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.