WordPress Core Fields API Projesi Yeni Liderlik Arıyor
Yayınlanan: 2018-07-262014 yılında, Pod'ların baş geliştiricisi Scott Kingsley Clark, Metadata UI projesinin birincil lider rolünü devraldı. 2015'te Metadata UI projesi Fields API olarak yeniden doğdu.
Fields API, tek bir API üzerinden admin alanındaki farklı ekranlara alanların kayıt edilmesini sağlamak için geliştirilmiştir. Profil ekranına yeni bölümler ve alanlar eklenebilirken, gönderilere yeni meta kutular ve bunların içindeki alanlar eklenebilir.
API'nin amacı, Gönderiler, Şartlar, Kullanıcılar, Medya ve Yorumlar dahil olmak üzere çeşitli yönetici ekranlarının tümü ile entegre olmak ve standardizasyon sağlamaktır.
Clark, üç yıldır projeye liderlik ediyor ve geçen yıl yeniden ilgi görmesine rağmen, projenin Slack kanalında istifa ettiğini duyurdu.
Bu projede meşaleyi büyük bir yürekle teslim etmeliyim. Yüzlerce saatlik zamanımın ardından artık WordPress çekirdeğinde değişiklik yapabileceğime inanmıyorum.
Fields API vizyonu çok büyüktü, herhangi bir kişi için çok fazla bir girişimdi. WordPress'in bir Fields API'sine ihtiyacı olduğuna o kadar derinden inanıyorum ki, Fields API ile bulunduğumuz yere yolculuk uzun ve zahmetli oldu.
Gerçek şu ki, yıllar önce birinci ve ikinci prototipleri inşa ederken tükendim. Herkes kodun nasıl tasarlanacağı konusunda hemfikir değildi, ana katkıda bulunanların geri bildirimlerine dayalı olarak birçok revizyondan geçti. Yeterince insanı bu konuda heyecanlandıramadım, yeterince şirket ve onu desteklemekle ilgilenen insanları alamadım.
Bir başkasının şansına sahip olmasına izin vermeliyim, onu aşağı çekiyorum. Birisi gelecekte liderlik etmek için adım atarsa, elimden geldiğince yardımcı olmaktan memnuniyet duyarım. Ancak Fields API teklifini/projesini yönetmeye devam edemiyorum. Üzgünüm, lütfen özrümü kabul edin ve umarım bu projeyi bitiş çizgisinden geçemediğim için beni bağışlarsınız. Hala WordPress'in gelecekteki başarısının hayati bir parçası olduğuna inanıyorum.
Scott Kingsley Clark
Açık Kaynaklı Bir Projeye Liderlik Etmenin Zorlukları ve Sıkıntıları
Aşağıdaki röportajda Clark, projenin ilerleme eksikliğinden neden kişisel olarak sorumlu olduğunu, API'nin WordPress'in geleceği için neden önemli olduğunu açıklıyor ve neyi farklı şekilde yapabileceğini düşünüyor.
Meşaleyi özellikle birine devretmek mi istiyorsunuz?
Hayır, projeyi tamamlayacak güce ve nüfuza kimin sahip olacağından emin değilim. Bu, uzun vadeli bir vizyonla, ancak WordPress çekirdeğine dönüştürmek için yeterince küçük artışlarla yaklaşılması gereken büyük ölçekli bir projedir. Birinden istemek çok şey, ayrıca yakın gelecekte Gutenberg'in serbest bırakılmasıyla dikkatleri dağıldığından insanlar için şu anda bir öncelik değil.
Fields API neden WordPress'in geleceğinin hayati bir parçası?
İnsanlar bugün WordPress'e bakıyor ve REST API olmadan nasıl hayatta kaldıklarını merak ediyor. En azından bildiğimi biliyorum! Henüz orada olmasa da Fields API için de aynı şey söylenebilir. Tüm farklı kancalarda WordPress için çözümler oluşturmanın sinir bozucu olduğu pek çok durum var.
Tutarlılık için, dışarıdaki vahşi batı. Kayıtlı bir meta kutu alıyorsunuz ve onu istediğiniz şeyle dolduruyorsunuz. Form alanlarını biçimlendirmek için kendi CSS'nize ihtiyacınız var ve herkesin bu arayüzün nasıl görünmesi gerektiği konusunda kendi fikri var. Mobil uyumlu kendi duyarlı düzenlerinizden siz sorumlusunuz, tek başınıza halletmeniz gereken çok şey var. Görünümleri özelleştirebilmelisiniz, ancak bir alan veya form eklemek istediğiniz her yerin gerçekten uygun bir API'si olmalıdır.
Uzun vadede, gönderi türlerini kaydettiğiniz gibi alanları WordPress'e kaydettirdiğinizi hayal edin. Alanların ve yapılandırmalarının REST API tarafından kullanılabilir olduğunu ve WordPress Uygulaması veya diğer özel uygulamalar aracılığıyla erişilebilir olduğunu hayal edin.
Tutarlı bir API'niz olduğu için tüm dünya açılır, çeşitli düzenleme ekranlarında bu alanlar için tutarlı bir arayüze sahip olduğunuz için tüm dünya anlamlıdır. Gönderiler, terimler, yorumlar, kullanıcılar, medya, hatta Özelleştirici bile ekranlarına gruplar, paneller ve alanlar eklemek için aynı temel API'ye sahip olacaktır.
Gutenberg, Fields API'si girdikten sonra yapılmış olsaydı, insanlar için geçiş bu kadar zor olmazdı. Gutenberg, meta kutusu geriye dönük uyumluluk için yaptığı gibi tüm Fields API arayüzlerini otomatik olarak gösterebilirdi. Hem de çok daha güzel görünecekti.
Düşünmek için biraz zaman ayırarak, daha fazla temel katkıda bulunanların projeye katılmasını ve projeyi daha yüksek bir önceliğe dönüştürmesini sağlamak için neyi farklı yapabilirdiniz?
Emin değilim, girdi almak ve sonuçtan emin olmak arasında hassas bir denge var. İlk başta geri bildirim, API'nin WordPress için ne kadar yabancı olduğu hakkındaydı, yapı olarak Özelleştirici gibi diğer API'lere benzer olup olmayacağını sordular.

Kodu hurdaya çıkardık ve Özelleştiricinin bir çatalı olarak sıfırdan yeniden oluşturduk, hatta Özelleştiricinin Alanlar API'sini kullanmasını da destekledi. Geliştirmenin zirvesinde, Fields API'nin tüm alanlarını uyguladık.
Çekirdek sürümler oldukça hızlı ilerliyordu, WordPress sürümünden sürüme ayak uydurmamız gereken birçok kod değişikliği oldu çünkü esasen WordPress için dev bir yama olan bir proje oluşturmuştuk.
Yapmamız gerekeni yapmak için yeterli kanca yoktu ve kendilerini 'nihai' olarak işaretleyen kod kararları nedeniyle birçok bölüm genişletilemedi; bu, nasıl çalıştığını özelleştirmek için belirli bir sınıfı genişletemeyeceğiniz anlamına gelir.
Keşke ABD ve Avrupa'daki tüm büyük WordCamp'lerde olabilseydim, esasen bu özellik için lobi faaliyeti yürütebilseydim. Taraftar toplamak falan bir bakıma siyaset gibi geliyor. Core geliştirici toplantılarında oyalanıp konuyu gündeme getirmeye çalıştım. Resmi WordPress Slack'te özel bir kanal oluşturarak, https://make.wordpress.org/core/ adresinde güncellemeler yayınlayarak ve haftalık toplantılar düzenleyerek özelliği meşrulaştırmaya çalıştım.
Nihayetinde, birlikleri toplamak için zamanımı geliştirme zamanımı önceliklendirdim. Bu düşüş oldu, Fields API'sinin başka yerlerinde başka sorumluluklarım olduğu için ilk birkaç yeniden yazma işleminden sonra hızla tükenmeye başladım.
Hem WebDevStudios hem de 10up bana bunu ilerletmek için zaman vermiş olsa da, şirketler böyle bir projede süresiz olarak çalışmanız için size kolayca ödeme yapmak istemezler. Açık çek değildi, bir noktada faturalandırılabilir işe geri dönmek zorunda kaldım. O andan itibaren, hepsi boş zamanlarımdaydı ve finansal stres ve ev satma/satın alma zamanlarında bunu yönetmek zordu.
Çekirdekte Fields API'sine talep var, ancak bunu oluşturmak için yeterli el yok. Neden bu olduğunu düşünüyorsun?
Herkes başka bir yere odaklanmış. İnsanların dikkatine ihtiyaç duyan birçok WordPress alanı var. Erişilebilirlik gibi, aldığından çok daha fazla ilgiyi hak eden şeyler var. Ama benim için odak noktası Gutenberg ve REST API'de görünüyor.
Gutenberg, özellikle katkıda bulunan ve uygulayan insanlar için büyük bir zaman kaybı oldu. Bu gerçekten büyük bir özellik. Ölçek olarak Fields API'den kesinlikle daha büyük, WordPress'te yaşayan yepyeni bir uygulama gibi. Onunla entegrasyon çok fazla eğitim ve deneme/yanılma gerektirmiştir. İnsanların odak noktası şu anda olması gereken yerdir. Gutenberg'in öncelik ve ilgi düzeyi açısından Fields API'den önce gelmesi talihsizlik.
Bir sonraki Fields API proje liderine ne gibi tavsiyelerde bulunursunuz?
Bu büyük bir proje, herkes bunun bir şekilde olması gerektiğini söylemek isteyecek. Seçenekleri değerlendirmeli ve çekirdeğin başlaması için ısırık büyüklüğünde bir şey ortaya koymalısınız. Bunun üzerine inşa edin, ancak tüm WordPress ekranlarında uzun vadeli entegrasyon hedefini asla gözden kaçırmayın. Ön uç yorum formları bile Fields API ile başarılı olabilir.
Projenin temel bir öncelik olmamasından neden kişisel olarak sorumlu hissediyorsunuz?
Bir noktada ivme kazandık. Aktif olan en az üç ila dört kişi vardı. Zamanım olmadığı için dağıldı. Bu benim miyopluğum, benim hatam. Birkaç yıl boyunca projeyi geliştirmek için yüzlerce saat harcadım. Özellik önerisi metnini düzenlemek ve katkıda bulunanların kalbindeki ateşi yakmak için kendime çok daha fazla zaman ayırmalıydım.
Son birkaç yılda projeye harcadığınız zaman ve emek göz önüne alındığında, meşaleyi teslim ederken herhangi bir rahatlama hissediyor musunuz?
Meşale geçilir veya kaldırılırsa, kendimi çok daha iyi hissedeceğim. Asıl rahatlama, resmi olarak artık tek başıma taşımak zorunda olduğum bir ağırlık olmaması. Denemek ve başarısız olmak sorun değil, yine de üzücü.
Umarım birileri veya bazı şirketler adım atar ve buna zaman ayırır. Kendi kalbimde yanan ateşi bile yeniden ateşleyebilirler. Şimdilik, daha az önemli bir yapılacak öğem var. Hala ağır bir tabağım var ama artık o kadar ağır bir yük değil.
Projenin yakın geleceği belirsiz olsa da, projeyi devralmak isteyenlerin, geçmişi hakkında bilgi edinmek için Make.WordPress.Core'da Fields API etiketiyle işaretlenmiş gönderileri okumaları önerilir. Ayrıca projenin Github sayfasına da göz atabilirsiniz.
Projeyi devralmakla ilgileniyorsanız, Clark ile Twitter, Slack veya web sitesi aracılığıyla iletişime geçebilirsiniz.
