Kde to začíná být trochu technické: Jak jsme realizovali naši verzi mapování shortcodů

Napsal(a)

v rubrice

,

How-We-Made-Our-Version-Of-Shortcode-Mapping-Happen-2V předchozím článku jsme probírali základy mapování shortcodů a to, jak můžete využít jeho skvělé výhody. Rozhodli jsme se rozdělit článek věnovaný verzi Shortcode Mappingu od Page Builder Sandwich, protože následující text může být o něco techničtější.

Níže naleznete podrobnější popis vnitřního fungování naší funkce mapování shortcodů a toho, jak se nám ji podařilo zprovoznit.

Automatizovaný proces

Abychom rozhodli, které pluginy do nástroje pro mapování shortcodů zahrnout, vytvořili jsme automatizovaný skript, který shromažďuje nejlepší pluginy v adresáři pluginů WordPressu na základě následujících kritérií:

  • Mezi 1 000 populárními, nejlépe hodnocenými a aktualizovanými pluginy, s alespoň 4 000 aktivními instalacemi,
  • S alespoň 4 000 aktivními instalacemi,
  • S alespoň 20 hodnoceními a;
  • S průměrným hodnocením alespoň 3 hvězdičky

Tento dotaz spouštíme denně proti adresáři pluginů WordPressu. Tyto filtry zajišťují, že získáme seznam kvalitních pluginů, které používá mnoho lidí. V době psaní tohoto článku tato kritéria vyústila v 800 pluginů. To je hodně. Opravdu hodně.

Some of the most popular plugins detected for shortcode mapping.
Některé z nejpopulárnějších pluginů zjištěných pro mapování shortcodů.

Poté na zdrojovém kódu každého pluginu spouštíme sérii automatizovaných kontrol, abychom zjistili, zda obsahuje nějaké shortcody, a následně se snažíme najít všechny tyto shortcody včetně všech jejich atributů. Po zpracování dat to vyústilo ve více než 2 000 shortcodů. Dvojité wow. Zjištěné shortcody jsou pak vloženy do databáze mapování shortcodů k manuální kontrole.

Na konci tohoto procesu máme obrovský seznam pluginů a jejich možných shortcodů. Nyní jde o to tato data vyčistit a ujistit se, že je vše v pořádku.

Manuální proces

To je pravděpodobně nejtěžší část celého systému mapování. Kód pluginů mívá různé podoby a velikosti a ne všechny shortcody jsou našimi skripty detekovány automaticky. I když WordPress Codex uvádí, že pro filtrování atributů shortcodu by se měla používat funkce `shortcode_atts`, jde pouze o doporučení a ne každý se jím řídí. Neexistuje také žádný spolehlivý způsob, jak zkontrolovat vnitřek shortcodu, když je plugin nainstalován.

Abychom zajistili, že získáme všechny shortcody a jejich atributy správně, vytvořili jsme frontendové rozhraní určené k úpravě shortcodů a atributů, které je postaveno na AngularJS a Bootstrapu.

Bootstrap & AngularJS interface for fixing up all the mapped shortcodes.
Bootstrap & AngularJS rozhraní pro doladění všech namapovaných shortcodů.

Musíme ručně projít každý jednotlivý plugin, zkontrolovat jeho dokumentaci shortcodů a ujistit se, že všechna data, která máme, jsou správná.

Přestože je to úmorně zdlouhavé, existence automatizovaného procesu má své světlé stránky:

  • Podle našich prvotních statistik má shortcody zhruba jen 1 ze 2 pluginů.
  • Polovina detekovaných shortcodů nemá žádné atributy (část z toho však mohou být falešně pozitivní výsledky)
  • Tím, že vybíráme pouze kvalitní pluginy, je velmi pravděpodobné, že mají dokumentaci k shortcodům

Teprve když jsou všechny shortcody pluginu zkontrolovány, začne server distribuovat namapované shortcody daného pluginu uživatelům.

Volání REST API

Posledním dílkem skládačky je samotný plugin. Koncept je zde jednoduchý: zjistit, které pluginy jsou aktivní, jakou šablonu web používá a jaké shortcody jsou k dispozici, a poté se zeptat databáze mapování shortcodů, zda pro ně má mapování. K tomuto účelu jsme vytvořili vlastní koncový bod WP REST API, na který se všichni klienti obracejí, aby získali svá nejnovější mapování shortcodů.

Budoucnost: Crowdsourcing

Ruční kontrola každého pluginu vyžaduje spoustu času a úsilí. Jakmile bude platforma pro mapování shortcodů stabilní, plánujeme mapování shortcodů otevřít všem. To znamená, že s přidáváním shortcodů bude moci pomoci kdokoli.

Možná si říkáte: „Proč bych měl pomáhat s mapováním shortcodů? Co z toho budu mít?“ Nuže, napadá nás hned několik důvodů, proč by lidé chtěli pomoci:

  1. Pokud jste vytvořili plugin a my jsme ho kvůli výše uvedeným kritériím ještě nezachytili (a nachází se v adresáři pluginů WordPressu), můžete mapování přidat sami. Váš plugin tak získá plnou podporu PBS!
  2. Jelikož se v rámci automatizovaného procesu budeme zabývat pouze pluginy z adresáře pluginů WordPressu, autoři prémiových pluginů a šablon zahrnuti nebudou. Pokud tedy nějaký máte, můžete pro ně také přidat svá mapování shortcodů.
  3. A pro ty, kteří pluginy nevytvářejí, můžeme ty, kteří pomohou, odměnit. Aby bylo mapování shortcodů lákavou záležitostí, můžeme ochotné pomocníky odměnit osobní licencí nebo upgradem na prémiovou licenci PBS!

Přihlaste se k odběru našeho newsletteru

Funkce mapování shortcodů bude pro naše zákazníky předběžně k dispozici 12. srpna  15. srpna  16. srpna 2016. Do této doby nebudou namapovány všechny shortcody (náš odhad je možná 100 pluginů), ale mapování bude probíhat průběžně a zákazníci je obdrží, jakmile budou vydány nové.

Přihlaste se k odběru našeho newsletteru a získejte novinky o mapování shortcodů, o tom, kdy ho vydáme a kdy mapování shortcodů zpřístupníme veřejnosti!