წინა სტატიაში ჩვენ განვიხილეთ შორთკოდების მეპინგის საფუძვლები და თუ როგორ შეგიძლიათ მიიღოთ წვდომა მის შესანიშნავ უპირატესობებთან. გადავწყვიტეთ გაგვეყო სტატია, რომელიც ეხება შორთკოდების მეპინგის Page Builder Sandwich-ის ვერსიას, რადგან შემდგომი ტექსტი შეიძლება ცოტა უფრო ტექნიკური იყოს.
ქვემოთ მოცემულია ჩვენი შორთკოდების მეპინგის ფუნქციის შიდა მუშაობის უფრო სიღრმისეული აღწერა და იმის ახსნა, თუ როგორ ავამუშავეთ იგი.
ავტომატიზებული პროცესი
იმისათვის, რომ გადაგვეწყვიტა, თუ რომელი პლაგინები ჩაგვერთო შორთკოდების მეპერში (shortcode mapper), ჩვენ შევქმენით ავტომატიზებული სკრიპტი, რომელიც WordPress-ის პლაგინების დირექტორიაში საუკეთესო პლაგინებს შემდეგი კრიტერიუმების მიხედვით შეაგროვებს:
- 1,000 პოპულარულ, მაღალრეიტინგულ და განახლებულ პლაგინს შორის, მინიმუმ 4,000 აქტიური ინსტალაციით,
- მინიმუმ 4,000 აქტიური ინსტალაციით,
- მინიმუმ 20 შეფასებით, და;
- საშუალოდ მინიმუმ 3-ვარსკვლავიანი რეიტინგით
ამ მოთხოვნას WordPress-ის პლაგინების დირექტორიაში ყოველდღიურად ვუშვებთ. ეს ფილტრები უზრუნველყოფს, რომ მივიღოთ კარგი ხარისხის პლაგინების სია, რომლებსაც ბევრი ადამიანი იყენებს. ამ სტატიის დაწერის დროს, ამ კრიტერიუმების შედეგად 800 პლაგინი შეირჩა. ეს ბევრია. მართლაც ძალიან ბევრი.

შემდეგ ჩვენ ვატარებთ ავტომატიზებული შემოწმებების სერიას თითოეული პლაგინის საწყის კოდზე (source code), რათა გავარკვიოთ, შეიცავს თუ არა ის რაიმე შორთკოდს, შემდეგ კი ვცდილობთ ვიპოვოთ ყველა ეს შორთკოდი, მათი ყველა ატრიბუტის ჩათვლით. მონაცემების დამუშავების შედეგად 2,000-ზე მეტი შორთკოდი მივიღეთ. გაოცება გარანტირებულია. გამოვლენილი შორთკოდები შემდეგ შედის შორთკოდების მეპინგის მონაცემთა ბაზაში ხელით შესამოწმებლად.
ამ პროცესის ბოლოს, ჩვენ მივიღებდით პლაგინების უზარმაზარ სიას და მათ შესაძლო შორთკოდებს. ახლა საქმე ამ მონაცემების გასუფთავებაშია, რათა დავრწმუნდეთ, რომ ყველაფერი სწორია.
მექანიკური პროცესი
ეს ალბათ მთელი მეპინგის სისტემის ყველაზე რთული ნაწილია. პლაგინის კოდი სხვადასხვა ფორმისა და ზომისაა, ყველა შორთკოდი ავტომატურად არ ვლინდება ჩვენი სკრიპტების მიერ. მიუხედავად იმისა, რომ WordPress Codex გვირჩევს გამოვიყენოთ ფუნქცია `shortcode_atts` შორთკოდის ატრიბუტების გასაფილტრად, ეს მხოლოდ რეკომენდაციაა და მას ყველა არ იყენებს. ასევე არ არსებობს საიმედო გზა შორთკოდის შიდა სტრუქტურის შესამოწმებლად, როდესაც პლაგინი დაინსტალირებულია.
იმისათვის, რომ დავრწმუნდეთ, რომ ყველა შორთკოდი და მათი ატრიბუტი სწორად გვაქვს მიღებული, ჩვენ შევქმენით ფრონტენდ ზონა, რომელიც ეძღვნება შორთკოდებისა და ატრიბუტების რედაქტირებას და აგებულია AngularJS-ისა და Bootstrap-ის გამოყენებით.

ჩვენ ხელით მოგვიწევს თითოეული პლაგინის გავლა, მათი შორთკოდების დოკუმენტაციის შემოწმება და დარწმუნება, რომ ყველა ჩვენი მონაცემი სწორია.
მიუხედავად იმისა, რომ ეს პროცესი დამღლელი და შრომატევადია, ავტომატიზებულ პროცესს რამდენიმე დადებითი მხარეც აქვს:
- ჩვენი ადრეული სტატისტიკის მიხედვით, ყოველი 2 პლაგინიდან მხოლოდ დაახლოებით 1-ს აქვს შორთკოდები.
- გამოვლენილი შორთკოდების ნახევარს არ გააჩნია ატრიბუტები (თუმცა ამის ნაწილი შეიძლება ცრუ დადებითი იყოს)
- მხოლოდ კარგი ხარისხის პლაგინების შერჩევით, დიდი ალბათობით მათ აქვთ შორთკოდების დოკუმენტაცია
როდესაც პლაგინის ყველა შორთკოდი შემოწმდება, მხოლოდ ამის შემდეგ დაიწყებს სერვერი ამ პლაგინის შორთკოდების მეპინგების გავრცელებას მომხმარებლებზე.
Rest API გამოძახება
თავსატეხის ბოლო ნაწილი თავად პლაგინია. აქ კონცეფცია მარტივია: გაარკვიეთ, რომელი პლაგინებია აქტიური, რომელ თემას იყენებს საიტი და რა შორთკოდებია ხელმისაწვდომი, შემდეგ კი ჰკითხეთ შორთკოდების მეპინგის მონაცემთა ბაზას, აქვს თუ არა მას მეპინგები. ამისათვის ჩვენ შევქმენით მორგებული WP REST API endpoint, რომელსაც ყველა კლიენტი უკავშირდება (ping) უახლესი შორთკოდების მეპინგების მისაღებად.
მომავალი: Crowdsourcing
თითოეული პლაგინის ხელით შემოწმება დიდ დროსა და ძალისხმევას მოითხოვს. როგორც კი შორთკოდების მეპინგის პლატფორმა სტაბილური გახდება, ჩვენ ვგეგმავთ შორთკოდების მეპინგი ყველასთვის ხელმისაწვდომი გავხადოთ. ეს ნიშნავს, რომ ყველას შეეძლება დახმარება შორთკოდების დამატებაში.
შეიძლება ფიქრობთ: „რატომ უნდა დავეხმარო შორთკოდების მეპინგში? რა სარგებელი მაქვს ამით?“ რამდენიმე მიზეზი მოდის თავში, თუ რატომ შეიძლება მოუნდეთ ადამიანებს დახმარება:
- თუ თქვენ შექმენით პლაგინი და ჩვენ ის ჯერ არ გამოგვივლენია ზემოთ ჩამოთვლილი კრიტერიუმების გამო (და ის არის WordPress-ის პლაგინების დირექტორიაში), შეგიძლიათ თავად დაამატოთ მეპინგები. თქვენი პლაგინი სრულად მხარდაჭერილი გახდება PBS-ის მიერ!
- ვინაიდან ავტომატიზებულ პროცესში მხოლოდ WordPress-ის პლაგინების დირექტორიაში არსებულ პლაგინებთან გვექნება საქმე, პრემიუმ პლაგინებისა და თემების ავტორები ვერ მოხვდებიან მასში. ასე რომ, თუ თქვენ გაქვთ ასეთი, შეგიძლიათ მათთვისაც შექმნათ თქვენი შორთკოდების მეპინგები.
- ხოლო მათთვის, ვინც არ არის პლაგინის შემქმნელი, ჩვენ შეგვიძლია დავაჯილდოოთ ისინი, ვინც დაგვეხმარება. იმისათვის, რომ შორთკოდების მეპინგი მიმზიდველ წამოწყებად ვაქციოთ, შეგვიძლია მოხალისეები დავაჯილდოოთ პერსონალური ლიცენზიით, ან PBS-ის პრემიუმ ლიცენზიაზე განახლებით!
გამოიწერეთ ჩვენი სიახლეები
შორთკოდების მეპინგის ფუნქციონალი ჩვენი მომხმარებლებისთვის სავარაუდოდ ხელმისაწვდომი იქნება 12 აგვისტოს 15 აგვისტოს 2016 წლის 16 აგვისტოს. ამ დროისთვის ყველა შორთკოდი არ იქნება დამეპილი (ჩვენი შეფასებით, შესაძლოა დაახლოებით 100 პლაგინი), მაგრამ მეპინგი უწყვეტად გაგრძელდება და მომხმარებლები მათ მიიღებენ როგორც კი ახლები გამოვა.
გამოიწერეთ ჩვენი სიახლეები, რათა მიიღოთ ინფორმაცია შორთკოდების მეპინგის შესახებ, თუ როდის გამოვუშვებთ მას და როდის გავხდით შორთკოდების მეპინგს საჯაროს!