ম্যাজেন্টো 2: কীভাবে আমার মডিউলটির রচয়িতা জেসনগুলিতে "সিমেন্টিক সংস্করণ" নির্ভরতা নির্দিষ্ট করতে হবে


10

ম্যাজেন্টো 2 এর বিকাশ এবং স্থাপনার সংস্করণটির জন্য একটি আনুষ্ঠানিক প্রক্রিয়া অন্তর্ভুক্ত রয়েছে , যেখানে মূল ম্যাজেন্টো মডিউলগুলির বড় এবং ছোটখাটো সংস্করণগুলি পিছনের দিকে সামঞ্জস্যপূর্ণ বৈশিষ্ট্যগুলির পরিবর্তনের উপর ভিত্তি করে বিছিন্ন করা হবে।

আমি কীভাবে একটি ম্যাজেন্টো মডিউল বিকাশকারী হিসাবে আমার নিজের সুরকার.জসন ফাইলে প্রয়োজনীয়তার একটি তালিকা তৈরি করব? আমি কোর ম্যাগেন্টো কোডের টুকরোটি ব্যবহার require:...করার জন্য এবং কম্পোজারে জেএসসনটিতে একটি লাইন যুক্ত করার জন্য আমাকে কি প্রত্যেক বার নিজের মডিউলটি দেখার দরকার আছে ? বা এমন কোনও স্বয়ংক্রিয় সরঞ্জাম আছে যা আমার পক্ষে তা করতে পারে?

আমার মধ্যে অন্তর্ভুক্ত করার জন্য আমি কীভাবে কোনও সংস্করণ নির্দিষ্ট করব composer.json? আমি যে নির্দিষ্ট মডিউলের সংস্করণটি তৈরি করেছি তার কি এটি হওয়া উচিত? বা সেখানে আমাকে কোনও ধরণের ওয়াইল্ডকার্ড জড়িত করা উচিত? অথবা ট্রেডঅফসের উপর ভিত্তি করে আমার কী সিদ্ধান্ত নেওয়া দরকার? যদি তা হয়, তবে প্রতিটি শৈলীর নির্দিষ্ট শৈলীর জন্য ট্রেড অফগুলি কী কী জড়িত?

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

উত্তর:


9

আমি কি প্রত্যেকবার কোর ম্যাগেন্টো কোডের টুকরোটি ব্যবহার করে নিজেই আমার মডিউলটি দেখার প্রয়োজন এবং সংযোজন যুক্ত করতে পারি ... ... রচনাটি কম্পোজারে জেএসন?

হ্যাঁ, আপনার কোডটিতে প্রতিবার আপনি কোনও মডি মডিউল থেকে যে কোনও কিছু ব্যবহার করুন আপনাকে এটি আপনার সুরকারের প্রয়োজনে যুক্ত করতে হবে। যেহেতু আপনি সম্ভবত আপনার লোড অর্ডারটি মূল মডিউলটির পরে থাকতে চান আমিও এটিটিকে আপনার module.xmlসিকোয়েন্স বিভাগে যুক্ত করার পরামর্শ দেব ।

বা এমন কোনও স্বয়ংক্রিয় সরঞ্জাম আছে যা আমার পক্ষে তা করতে পারে?

আমি এখনও কোন দেখা যায়নি। যদি সেখানে থাকে দয়া করে আমাকে জানান। এটি একটি মোটামুটি পরিশীলিত সরঞ্জাম হতে হবে এবং সম্ভবত যথেষ্ট পরীক্ষা কভারেজের প্রয়োজন হবে এবং তারপরে একটি কাজের সেট তৈরি করতে বিভিন্ন সংস্করণের একটি ম্যাট্রিক্স চালায় runs

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

সংস্করণ নম্বর নির্ধারণ করার জন্য বিকল্পগুলি

  1. 100.0.2
    এই নির্দিষ্ট সংস্করণটি কেবল তখনই কাজ করুন

  2. 100.0.*
    *একটি ওয়াইল্ড কার্ড নেই এবং আমরা কোন সংস্করণ সংখ্যা সঙ্গে প্রতিস্থাপিত হতে পারে 100.0.0, 100.0.1, ...,100.0.120

  3. ~100.0.2
    তোলে 2 একটি ওয়াইল্ড কার্ড যে কেবল তাই পর্যন্ত যেতে পারেন 100.0.2, 100.0.3, ...,100.0.120

  4. ^100.0.2
    কোন 101 পর্যন্ত মুক্তি অনুমতি দেয়, যাতে 100.0.2, 100.0.3, ..., 100.1.0,100.2.5

বিকল্পগুলির জন্য 2-4 যদি আপনার স্থায়িত্ব সেটিংস এটিকে অনুমতি দেয় তবে এটির মতো সংস্করণও অন্তর্ভুক্ত থাকবে 100.0.1-beta

বাস্তবিক ব্যবহার

বিকল্প 1) সবচেয়ে সচেতন, আপনি জানেন যে আপনি কোন সংস্করণটির বিপরীতে বিকাশ করেছেন এবং কেবলমাত্র এই নির্দিষ্ট সংস্করণটির সাথে কাজ করা স্বীকার করেন - আপনার মডিউলটি কেবলমাত্র সেই সংস্করণে সেই নির্দিষ্ট মডিউলের পাশাপাশি ইনস্টল করা যেতে পারে। অন্য সমস্ত ইনস্টল / আপগ্রেডের প্রচেষ্টা কোনও রচয়িতা বার্তা হাইলাইট করে ব্যর্থ হবে যে এটি উপাদানগুলির একটি ইনস্টলযোগ্য সেট খুঁজে পাবে না।

অপশন ২) আমার মনে হয় অপশন covered এর আওতাধীন অপ-বিকল্প হিসাবে ভাবা যেতে পারে)) যদি আপনি এটির মতো ব্যবহার করেন ~100.0.0

বিকল্প ৩.) যতক্ষণ না কোনও নতুন বৈশিষ্ট্য চালু হয় ততক্ষণ সুসংগত হন

বিকল্প ৪.) যতক্ষণ না কোনও ব্রেকিং পরিবর্তন না আসে ততক্ষণ সুসংগত হন

বাণিজ্য অফস

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

3-4 আপনার এক্সটেনশানটি ম্যাজেন্টোর একাধিক সংস্করণ নিয়ে কাজ করে এবং প্রতিবার ম্যাজেন্টো একটি নতুন সংস্করণ প্রকাশ করলে আপনার এক্সটেনশনের বিভিন্ন সংস্করণ প্রকাশ করার দরকার নেই। এখানে নেতিবাচকতাটি হ'ল আপনি সামঞ্জস্যতা দাবি করেছেন যদিও ম্যাজেন্টোতে কোনও পরিবর্তন চালু হতে পারে যা আপনার নিজের কোডের সাথে সামঞ্জস্যপূর্ণ নয়। এই ঝুঁকিটি আসল কারণ ম্যাগেন্টোর তাদের নিজস্ব মডিউল প্রকাশের জন্য শব্দার্থানুক্রমিক সংস্করণের সংজ্ঞা কেবল সীমিত সুযোগ সহ একটি @apiটীকা হিসাবে চিহ্নিত করা হয়েছে (এটি আরও এই গিটহাব ইস্যুতে আরও রয়েছে ) পর্যন্ত প্রসারিত ।

TL; ড;
100.0.2এটি নিরাপদে খেলুন, আপনার পক্ষে রক্ষণাবেক্ষণের জন্য প্রচুর পরিমাণে রিলিজ
^100.0.2এটি কীভাবে কাজ করা উচিত, আপনার জন্য কম রিলিজ করে তবে বর্তমানে @apiটীকাবিষ্ট শ্রেণীর এবং পদ্ধতিগুলির সীমিত সুযোগের কারণে উচ্চ ঝুঁকির সাথে । যদি আপনার অনুমোদিত কোনও শ্রেণিবদ্ধতা এবং পদ্ধতি ব্যবহার করে যা 100% হয় তবে এটি স্পষ্ট পছন্দ।


ধন্যবাদ, এটি দুর্দান্ত! তাত্ক্ষণিক প্রশ্ন: একটি সঠিক সংস্করণ নির্দিষ্ট করে বলা কি ঠিক আপনার গতি বাড়ানোর গ্যারান্টি দেবে যদি / যখন ম্যাজেন্টো মডিউলটির সংস্করণ পরিবর্তন করে?
অ্যালান ঝড়

খুব ভালভাবে বর্ণনা করা হয়েছে !!!
কল্পনা ইকমার্স

1
@ অ্যালানস্টর্ম হ্যাঁ যদি আপনি সুরকার আপডেট করেন (যা ম্যাগান্টোর ওয়েব সেটআপ উইজার্ড হুডের নীচে কী করে) আপনি একটি সুরকার ত্রুটি বার্তা পাবেন - এই টুইটের স্ক্রিনশটটি দেখুন টুইটার
.com/foomanNZ/status/737289157769302016

3

এটা যেমন হতে পারে 0.1.0-alpha1 -> 0.1.0-alpha2, 0.1.0-alpha3, মডিউলটির স্থায়িত্বের ভিত্তিতে । ডকুমেন্টেশনে ভাগ হিসাবে প্রয়োজনীয়তা এরকম কিছু হবে: -

"require": {
    "myexamplestore/product-bundle": "2.0.0-RC1",
    "myexamplestore/acme-extension": "~1.0"
    }

আপনার আপডেটের ভিত্তিতে এটিকে আপডেট করা উচিত: -

"require": {
    "myexamplestore/product-bundle": "2.4.0-RC1",
    "myexamplestore/acme-extension": "~2.0"
    }

আমি মনে করি না যে এটিতে এখনও কোনও স্বয়ংক্রিয় সিস্টেম রয়েছে তবে নথিপত্র অনুসারে এটি অনুসরণ করা খুব গুরুত্বপূর্ণ।

আপনার মডিউলে যদি ছোটখাটো বাগ ফিক্স থাকে তবে আপনার প্যাচ ব্যবহার করা উচিত।

নির্দেশ করে

প্যাচচ ব্যাকগ্রাউন্ড-সামঞ্জস্যপূর্ণ বাগ ফিক্সগুলি নির্দেশ করে

আপনি ঠিক বলেছেন উত্তরটি কিছুটা অস্পষ্ট, তবে আপনি দেখতে পাচ্ছেন যে এটি 1 বছর পূর্বে আপডেট হয়েছিল। তবে এভাবেই হয়।


প্রতিক্রিয়া জানানোর জন্য ধন্যবাদ, তবে এটি ইতিমধ্যে উপস্থিত সমস্ত অস্পষ্ট তথ্যের সমান। আপনার মডিউল বনাম ম্যাজেন্টো মডিউলগুলি কী তা পরিষ্কার নয়। প্রতিটি সংস্করণ সামঞ্জস্য করার ফলাফল কী তা পরিষ্কার নয় (একটি আপগ্রেডকে অবরুদ্ধ করুন? একটি আপগ্রেডের অনুমতি দিন তবে @ এপিআই ঝুঁকি ইত্যাদি প্রবর্তন করুন)।
অ্যালান ঝড়

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