โครงการ WordPress Core Fields API กำลังมองหาผู้นำคนใหม่

เผยแพร่แล้ว: 2018-07-26

ในปี 2014 สก็อตต์ คิงสลีย์ คลาร์ก หัวหน้านักพัฒนา Pods เข้ารับตำแหน่งผู้นำหลักสำหรับโปรเจ็กต์ Metadata UI ในปี 2015 โปรเจ็กต์ Metadata UI ได้ถือกำเนิดขึ้นใหม่เป็น Fields API

Fields API ได้รับการพัฒนาขึ้นเพื่อให้สามารถลงทะเบียนฟิลด์ไปยังหน้าจอต่างๆ ในพื้นที่ผู้ดูแลระบบผ่าน API เดียวได้ สามารถเพิ่มเมตาบ็อกซ์และฟิลด์ใหม่ภายในโพสต์ในขณะที่สามารถเพิ่มส่วนและฟิลด์ใหม่ลงในหน้าจอโปรไฟล์ได้

เป้าหมายของ API คือการผสานรวมกับหน้าจอผู้ดูแลระบบที่หลากหลาย ซึ่งรวมถึง โพสต์ ข้อกำหนด ผู้ใช้ สื่อ และความคิดเห็น และจัดทำมาตรฐาน

คลาร์กเป็นผู้นำโครงการมาเป็นเวลาสามปีแล้วและแม้จะเห็นความสนใจต่ออายุในปีที่แล้วก็ตาม ประกาศในช่อง Slack ของโปรเจ็กต์ว่าเขากำลังจะก้าวลงจากตำแหน่ง

ด้วยใจที่หนักแน่นที่ต้องมอบคบเพลิงให้กับโครงการนี้ หลังจากใช้เวลาหลายร้อยชั่วโมง ฉันไม่เชื่อว่าฉันสามารถส่งผลต่อการเปลี่ยนแปลงภายในแกนหลักของ WordPress ได้อีกต่อไป

วิสัยทัศน์ของ Fields API นั้นใหญ่เกินไป เป็นภาระหน้าที่มากเกินไปสำหรับบุคคลใดบุคคลหนึ่ง ฉันเชื่ออย่างสุดซึ้งว่า WordPress ต้องการ Fields API แต่การเดินทางไปยังที่ที่เราอยู่ด้วย Fields API นั้นยาวนานและลำบาก

ความจริงก็คือ ฉันเหนื่อยหน่ายเมื่อหลายปีก่อนขณะสร้างต้นแบบที่หนึ่งและที่สอง ไม่ใช่ทุกคนที่เห็นด้วยเกี่ยวกับวิธีการออกแบบโค้ด แต่ได้ผ่านการแก้ไขหลายครั้งตามความคิดเห็นของผู้สนับสนุนหลัก ฉันไม่สามารถทำให้ผู้คนตื่นเต้นกับมันได้มากพอ ฉันไม่สามารถหาบริษัทและผู้ที่สนใจสนับสนุนได้เพียงพอ

ฉันต้องปล่อยให้คนอื่นมีโอกาส ฉันกำลังลากมันลงมา หากมีใครก้าวขึ้นมาเป็นผู้นำในอนาคต ฉันยินดีที่จะช่วยเหลือในจุดที่ฉันสามารถทำได้ แต่ฉันไม่สามารถเป็นผู้นำข้อเสนอ/โครงการ Fields API ต่อไปได้ ฉันขอโทษ โปรดยอมรับคำขอโทษของฉัน และฉันหวังว่าคุณจะยกโทษให้ฉันที่ล้มเหลวในการดำเนินโครงการนี้ข้ามเส้นชัย ฉันยังคงเชื่อว่าเป็นส่วนสำคัญของความสำเร็จในอนาคตของ WordPress

สก็อตต์ คิงสลีย์ คลาร์ก

การทดลองและความยากลำบากในการเป็นผู้นำโครงการโอเพ่นซอร์ส

ในการสัมภาษณ์ครั้งต่อไป คลาร์กอธิบายว่าเหตุใดเขาจึงรู้สึกรับผิดชอบต่อการขาดความคืบหน้าของโครงการ เหตุใด API จึงมีความสำคัญสำหรับอนาคตของ WordPress และไตร่ตรองถึงสิ่งที่เขาสามารถทำได้แตกต่างออกไป

คุณต้องการส่งต่อไฟฉายให้ใครเป็นพิเศษหรือไม่?

ไม่ ฉันไม่แน่ใจว่าใครจะมีแรงผลักดันและอิทธิพลที่จะเห็นโครงการผ่าน เป็นโครงการขนาดใหญ่ที่ควรเข้าหาด้วยวิสัยทัศน์ระยะยาว แต่เพิ่มทีละน้อยพอที่จะทำให้เป็นแกนหลักของ WordPress มีการขอใครสักคนเป็นจำนวนมาก และตอนนี้ก็ไม่ใช่สิ่งสำคัญสำหรับผู้คนเช่นกัน เพราะพวกเขาฟุ้งซ่านโดย Gutenberg ที่จะถูกปล่อยตัวในอนาคตอันใกล้นี้

เหตุใด Fields API จึงเป็นส่วนสำคัญในอนาคตของ WordPress

ผู้คนดู WordPress วันนี้และสงสัยว่าพวกเขาจะอยู่รอดได้อย่างไรหากไม่มี REST API อย่างน้อยฉันก็รู้ว่าฉันทำ! สามารถพูดสิ่งเดียวกันเกี่ยวกับ Fields API ได้ แม้ว่าจะยังไม่มี มีหลายกรณีที่การสร้างโซลูชันสำหรับ WordPress ผ่าน hooks ต่างๆ ทั้งหมดเป็นเรื่องน่าหงุดหงิด

เพื่อความสม่ำเสมอคือทางตะวันตกเฉียงเหนือ คุณได้รับเมตาบ็อกซ์ที่ลงทะเบียนและกรอกข้อมูลทุกอย่างที่คุณต้องการ คุณต้องมี CSS ของคุณเองเพื่อจัดรูปแบบฟิลด์ของฟอร์ม และทุกคนมีความคิดของตนเองว่าอินเทอร์เฟซนี้ควรมีลักษณะอย่างไร คุณมีหน้าที่รับผิดชอบเลย์เอาต์ที่ตอบสนองได้ซึ่งเหมาะกับอุปกรณ์พกพา มีหลายสิ่งหลายอย่างที่คุณต้องจัดการด้วยตัวเอง คุณควรปรับแต่งลักษณะที่ปรากฏได้ แต่ทุกแห่งที่คุณต้องการเพิ่มฟิลด์หรือแบบฟอร์มควรมี API ที่เหมาะสมจริงๆ

ระยะยาว ลองนึกภาพการลงทะเบียนฟิลด์ใน WordPress เช่นเดียวกับที่คุณลงทะเบียนประเภทโพสต์ ลองนึกภาพฟิลด์และการกำหนดค่าพร้อมใช้งานสำหรับ REST API และสามารถเข้าถึงได้ผ่านแอป WordPress หรือแอปที่กำหนดเองอื่นๆ

โลกทั้งใบเปิดกว้างขึ้นเพราะคุณมี API ที่สอดคล้องกัน โลกทั้งใบก็สมเหตุสมผลเพราะคุณมีอินเทอร์เฟซที่สอดคล้องกันสำหรับฟิลด์เหล่านั้นในหน้าจอแก้ไขต่างๆ โพสต์ เงื่อนไข ความคิดเห็น ผู้ใช้ สื่อ แม้แต่เครื่องมือปรับแต่งเองต่างก็มี API พื้นฐานที่เหมือนกันในการเพิ่มกลุ่ม แผงหน้าปัด และช่องต่างๆ ลงในหน้าจอ

ถ้า Gutenberg เสร็จสิ้นหลังจาก Fields API เข้ามา การย้ายข้อมูลสำหรับกลุ่มบุคคลจะไม่ใช่เรื่องยากอีกต่อไป Gutenberg สามารถแสดงส่วนต่อประสาน Fields API ทั้งหมดโดยอัตโนมัติเช่นเดียวกับที่จะแสดงสำหรับความเข้ากันได้แบบย้อนหลังของกล่องเมตา มันจะดูดีขึ้นมากเช่นกัน

ใช้เวลาสักครู่เพื่อไตร่ตรองว่าคุณจะทำอะไรแตกต่างไปจากนี้เพื่อให้มีผู้ร่วมให้ข้อมูลหลักซื้อในโครงการและเปลี่ยนลำดับความสำคัญให้สูงขึ้น

ฉันไม่แน่ใจ มันเป็นความสมดุลที่ละเอียดอ่อนของการป้อนข้อมูลและความมั่นใจในผลลัพธ์สุดท้าย ในตอนแรก ข้อเสนอแนะเกี่ยวกับ API ที่ต่างไปจาก WordPress พวกเขาถามถึงโครงสร้างที่คล้ายกับ API อื่นๆ เช่น Customizer หรือไม่

เราทิ้งโค้ดและสร้างใหม่ตั้งแต่ต้นเพื่อเป็นทางแยกของเครื่องมือปรับแต่ง มันยังสนับสนุนให้เครื่องมือปรับแต่งใช้ Fields API อีกด้วย ที่จุดสูงสุดของการพัฒนา เรามีการใช้งาน Fields API ครบทุกด้าน

การเผยแพร่หลักมีการเคลื่อนไหวค่อนข้างเร็ว มีการเปลี่ยนแปลงโค้ดมากมายตั้งแต่รุ่น WordPress ไปจนถึงรุ่นวางจำหน่ายที่เราต้องตามให้ทัน เพราะเราได้สร้างโปรเจ็กต์ที่เป็นแพตช์ขนาดยักษ์สำหรับ WordPress

มีตะขอไม่เพียงพอที่จะทำสิ่งที่เราต้องทำ และหลายส่วนไม่สามารถขยายได้เนื่องจากการตัดสินใจเกี่ยวกับโค้ดที่ระบุว่าตัวเองเป็น 'สุดท้าย' ซึ่งหมายความว่าคุณไม่สามารถขยายคลาสเฉพาะเพื่อปรับแต่งวิธีการทำงาน

ฉันหวังว่าฉันจะได้อยู่ที่ WordCamps ขนาดใหญ่ทั้งหมดในสหรัฐอเมริกาและยุโรป โดยพื้นฐานแล้วการวิ่งเต้นสำหรับคุณลักษณะนี้ การรวบรวมผู้สนับสนุนและอื่น ๆ มันให้ความรู้สึกเหมือนการเมืองในทางใดทางหนึ่ง ฉันนั่งเฉยๆ ในการประชุม Core dev พยายามจะนำเสนอ ฉันพยายามทำให้ฟีเจอร์นี้ถูกต้องตามกฎหมายโดยมีช่องเฉพาะใน WordPress Slack อย่างเป็นทางการ โพสต์อัปเดตบน https://make.wordpress.org/core/ และจัดการประชุมประจำสัปดาห์

ในท้ายที่สุด ฉันจัดลำดับความสำคัญของเวลาในการพัฒนาเพื่อรวบรวมกองกำลัง นั่นคือความหายนะ ฉันเริ่มเหนื่อยหน่ายอย่างรวดเร็วหลังจากเขียนใหม่สองสามครั้งแรก เนื่องจากฉันมีหน้าที่รับผิดชอบอื่นๆ อีกมากมายนอกเหนือจาก Fields API

ไม่ใช่ว่าบริษัทต่างๆ จะต้องการจ่ายเงินให้คุณทำงานในโครงการแบบนี้อย่างไม่มีกำหนดโดยง่าย แม้ว่าทั้ง WebDevStudios และ 10up จะให้เวลาฉันในการผลักดันเรื่องนี้ ไม่ใช่เช็คเปล่า ในบางจุดฉันต้องกลับไปทำงานที่เรียกเก็บเงินได้ ตั้งแต่นั้นมา มันเป็นเวลาว่างของฉัน และมันยากที่จะจัดการในช่วงเวลาที่ความเครียดทางการเงินและการขาย/ซื้อบ้าน

มีความต้องการ Fields API ในแกนหลัก แต่ไม่มีมือมากพอที่จะสร้างขึ้น ทำไมคุณคิดว่าเป็น?

ทุกคนมุ่งไปที่อื่น WordPress มีหลายส่วนที่ต้องการความสนใจจากผู้คน มีบางอย่างเช่นการช่วยสำหรับการเข้าถึงที่สมควรได้รับความสนใจมากกว่าที่จะได้รับ แต่จุดสนใจสำหรับฉัน ดูเหมือนว่าจะอยู่ที่ Gutenberg และ REST API

โดยเฉพาะอย่างยิ่ง Gutenberg เป็นช่วงเวลาที่จมดิ่งลงอย่างมากสำหรับผู้ที่มีส่วนร่วมและผู้คนนำไปใช้ มันเป็นคุณสมบัติที่ใหญ่มาก มีขนาดใหญ่กว่า Fields API อย่างแน่นอน มันเหมือนกับแอปใหม่ทั้งหมดที่อยู่ใน WordPress การบูรณาการกับมันจำเป็นต้องมีการศึกษาและการลองผิดลองถูกอย่างมาก จุดสนใจของผู้คนคือจุดที่ต้องอยู่ในขณะนี้ น่าเสียดายที่ Gutenberg มาก่อน Fields API ในแง่ของลำดับความสำคัญและระดับความสนใจ

คุณจะแนะนำอะไรแก่หัวหน้าโครงการ Fields API คนต่อไป

นี่เป็นโครงการใหญ่ ใครๆ ก็อยากจะบอกว่ามันควรจะเป็นแบบนั้น คุณต้องประเมินตัวเลือกและนำเสนอสิ่งที่มีขนาดพอเหมาะสำหรับแกนที่จะเริ่มต้น สร้างขึ้นบนนั้น แต่อย่ามองข้ามเป้าหมายระยะยาวของการผสานรวมในหน้าจอ WordPress ทั้งหมด แม้แต่แบบฟอร์มความคิดเห็นส่วนหน้าก็สามารถเติบโตได้ด้วย Fields API

เหตุใดคุณจึงรู้สึกรับผิดชอบเป็นการส่วนตัวสำหรับโครงการที่ไม่ได้เป็นความสำคัญหลัก?

ณ จุดหนึ่ง เรามีโมเมนตัม เรามีอย่างน้อยสามถึงสี่คนที่กระตือรือร้น มันพังเพราะหมดเวลา มันเป็นสายตาสั้นของฉัน มันเป็นความผิดของฉัน ฉันใช้เวลาหลายร้อยชั่วโมงในการพัฒนาโครงการในช่วงสองสามปี ฉันควรจะเหลือเวลาให้ตัวเองมากขึ้นเพื่อจัดระเบียบข้อความข้อเสนอฟีเจอร์และทำให้ไฟลุกโชนในหัวใจของผู้มีส่วนร่วมของเรา

เมื่อพิจารณาถึงเวลาและความพยายามที่คุณทุ่มเทให้กับโครงการในช่วงสองสามปีที่ผ่านมา คุณรู้สึกโล่งใจไหมที่ส่งคบเพลิงไป

ถ้าคบเพลิงผ่านหรือหยิบขึ้นมาได้ ฉันจะรู้สึกดีขึ้นมาก ความโล่งใจหลักคือไม่ต้องแบกน้ำหนักอีกต่อไปอย่างเป็นทางการอีกต่อไป ไม่เป็นไรที่จะลองและล้มเหลว แต่ก็ยังเศร้าอยู่

ฉันหวังว่าบางคนหรือบริษัทบางแห่งจะก้าวเข้ามาและใช้เวลาในเรื่องนี้ พวกมันยังสามารถจุดไฟในหัวใจของข้าพเจ้าเองที่มอดไหม้จนหมดสิ้นได้ สำหรับตอนนี้ ฉันมีรายการสิ่งที่ต้องทำที่สำคัญน้อยกว่าหนึ่งรายการ ฉันยังมีจานหนักอยู่แต่ก็ไม่เป็นภาระอีกต่อไป


แม้ว่าอนาคตอันใกล้ของโครงการจะยังไม่ชัดเจน แต่ผู้ที่สนใจจะรับช่วงต่อควรอ่านโพสต์ที่มีแท็ก Fields API บน Make.WordPress.Core เพื่อเรียนรู้เกี่ยวกับประวัติของโครงการ คุณยังสามารถตรวจสอบหน้า Github ของโครงการได้อีกด้วย

หากคุณสนใจที่จะรับช่วงต่อจากโครงการนี้ คุณสามารถติดต่อ Clark ทาง Twitter, Slack หรือผ่านทางเว็บไซต์ของเขา