การตั้งค่าปลั๊กอิน
การตั้งค่าปลั๊กอินการเรียกดู การเปิดใช้งาน และการปิดใช้งานโมดูล

การเรียกดู การเปิดใช้งาน และการปิดใช้งานโมดูล

ฟังก์ชันทั้งหมดใน Gato GraphQL ถูกจัดเตรียมผ่านโมดูล เข้าถึงได้โดยคลิกที่ "Modules" ในเมนูของปลั๊กอิน:

โมดูล

โมดูลแต่ละตัวสามารถเปิดหรือปิดใช้งานได้ สถานะของโมดูลจะแสดงในตาราง:

  • โมดูลที่เปิดใช้งานจะมีพื้นหลังสี
  • โมดูลที่ปิดใช้งานจะมีพื้นหลังสีขาว

การเปิด/ปิดใช้งานโมดูล

เมื่อวางเมาส์เหนือชื่อของโมดูลที่ปิดใช้งานอยู่ ลิงก์ "Enable" จะปรากฏขึ้น การคลิกจะเปิดใช้งานโมดูลนั้น:

การเปิดใช้งานโมดูล

ในทำนองเดียวกัน เมื่อวางเมาส์เหนือชื่อของโมดูลที่เปิดใช้งานอยู่ ลิงก์ "Disable" จะปรากฏขึ้น การคลิกจะปิดใช้งานโมดูลนั้น

แบบกลุ่ม

นอกจากนี้ เราสามารถเลือกช่องทำเครื่องหมายสำหรับทุกโมดูล แล้วเลือก "Enable" หรือ "Disable" จากดรอปดาวน์ "Bulk actions":

การปิดใช้งานโมดูลแบบกลุ่ม

การปิดใช้งานโมดูลใน public และ private endpoints

การปิดใช้งานโมดูลช่วยให้เราสามารถลบฟังก์ชันบางอย่างออกจาก GraphQL server (เช่น single endpoint) หรือลบองค์ประกอบบางอย่างออกจาก GraphQL schema (เช่น type, field หรือ directive)

"Schema modules" คือโมดูลที่เพิ่ม types/fields/directives เข้าไปใน GraphQL schema (พบได้ภายใต้หมวดหมู่ "Schema Type" และ "Schema Directive" ในหน้า Modules) เราสามารถเพิ่มความปลอดภัยของ GraphQL API ได้โดยการปิดใช้งาน "Schema modules" ทั้งหมดที่ไม่จำเป็น เนื่องจากข้อมูลที่ไม่ควรถูกเรียกใช้จะไม่ถูกเปิดเผยตั้งแต่แรก

ตัวอย่างเช่น เมื่อปิดใช้งานโมดูล "Users" ฟิลด์ผู้ใช้ (QueryRoot.users, Post.author และอื่นๆ) จะถูกลบออกจาก GraphQL schema

ดังนั้น การปิดใช้งาน endpoints (ตามที่อธิบายในส่วนก่อนหน้า) จะมีผลกับ public endpoints เสมอ:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

อย่างไรก็ตาม เราอาจต้องการจำกัดการเข้าถึง "Schema modules" เฉพาะสำหรับผู้เยี่ยมชม (กล่าวคือบน public endpoints) แต่ไม่ใช่สำหรับผู้ดูแลระบบของเว็บไซต์บน private endpoints เพื่อไม่ให้จำกัดความสามารถในการเข้าถึง GraphQL schema เต็มรูปแบบสำหรับการดำเนินงานภายใน

Private endpoints ได้แก่:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (ซึ่งขับเคลื่อน GraphiQL และ Interactive Schema clients ของผู้ดูแลระบบ และสามารถเรียกใช้ใน WordPress editor เพื่อส่งข้อมูลไปยังบล็อก)
  • Custom private endpoints (ใช้สำหรับส่งข้อมูลไปยังบล็อกเช่นกัน แต่ช่วยให้คุณล็อกการกำหนดค่าผ่าน PHP hooks ได้)
  • GraphQL queries ที่ดำเนินการภายใน (ผ่านคลาส GraphQLServer ใน PHP)

เพื่อให้ "Schema modules" ถูกปิดใช้งานบน private endpoints ด้วย เราต้องกำหนดค่าในแท็บ "Plugin Configuration > Private Endpoints" ในหน้า Settings โดยทำเครื่องหมายที่รายการ "Disable "Schema modules" in the private endpoints?"

การปิดใช้งานโมดูลแบบกลุ่ม

การอ้างอิงของโมดูล

โมดูลแต่ละตัวอาจมีการอ้างอิงต่อโมดูลอื่น ในกรณีนั้น หากโมดูลที่ถูกอ้างอิงถูกปิดใช้งาน โมดูลที่อ้างอิงมันก็จะถูกปิดใช้งานด้วย

ข้อมูลนี้จะแสดงในคอลัมน์ "Depends on" ในตารางโมดูล:

การอ้างอิงของโมดูล

ตัวอย่างเช่น หากโมดูล "Schema Configuration" ถูกปิดใช้งาน โมดูล "Schema Namespacing" ก็จะถูกปิดใช้งานด้วย

การกรองโมดูล

โมดูลถูกจัดกลุ่มตามหมวดหมู่:

  • Plugin Management
  • Endpoint
  • Schema Configuration
  • Access Control
  • Versioning
  • User Interface
  • Performance
  • Operational
  • Client
  • Schema Type

การคลิกที่หมวดหมู่ใดก็ตาม จะแสดงเฉพาะโมดูลที่เกี่ยวข้อง

การกรองโมดูล

การดูเอกสารประกอบของโมดูล

เราสามารถอ่านเอกสารประกอบของโมดูลได้โดยคลิกที่ลิงก์ "View details" ใต้คำอธิบายของโมดูล:

การดูเอกสารประกอบโมดูล

การเข้าถึงการตั้งค่าของโมดูล

เมื่อวางเมาส์เหนือชื่อโมดูล ลิงก์ "Settings" จะปรากฏขึ้น (ยกเว้นกรณีที่โมดูลไม่มีการตั้งค่า)

การคลิกจะเปิดหน้า Settings โดยโฟกัสไปที่แท็บของโมดูลนั้น:

การเข้าถึงการตั้งค่าโมดูล