Membuat prototipe aplikasi seperti Trello menggunakan WordPress REST API

Diterbitkan: 2017-02-03

Kami telah berulang kali memuji REST API WordPress sejak diumumkan , sebagai langkah menuju era baru untuk platform. Dalam posting ini, kita akan memanfaatkan semua yang telah kita pelajari dalam beberapa minggu terakhir, menggunakan contoh yang menunjukkan betapa kuat dan serbagunanya REST API WordPress.

Karena interoperabilitas antara bahasa yang berbeda terletak pada inti dari apa REST itu, kami akan merancang prototipe, aplikasi seperti Trello, menggunakan taksonomi dan posting WordPress yang bagus tetapi dengan twist! Dengan cara ini, kami berharap dapat menunjukkan bagaimana WordPress dapat digunakan sebagai platform pengembangan.

Trello adalah aplikasi manajemen proyek yang sukses menggunakan paradigma Kanban, awalnya dipopulerkan oleh Toyota pada 1980-an. Proyek direpresentasikan sebagai papan , yang berisi kolom yang diisi dengan kartu yang sesuai dengan tugas. Kartu berpindah dari satu kolom ke kolom berikutnya, hingga berada dalam status Selesai ( misalnya, dari Todo ke Doing to Done ). Aliran ini disebut aliran nilai. Dua ide kunci di balik Kanban adalah untuk a) memvisualisasikan pekerjaan Anda, dan b) membatasi pekerjaan Anda yang sedang berlangsung saat ini. Dalam kasus Trello, pekerjaan divisualisasikan menggunakan kartu grafis. Kolom juga dapat memiliki kapasitas maksimum, artinya Anda dapat menempatkan sejumlah tugas tertentu dalam satu kolom dan tidak lebih dari itu. Misalnya, kolom Melakukan di bawah ini memiliki kapasitas 2.

Desain aplikasi

Kami akan merancang versi paradigma Kanban yang minimal dan telanjang sebagai bukti konsep. Fungsi utama adalah sebagai berikut:

  1. Pengguna dapat membuat/memperbarui/menghapus kolom baru.
  2. Pengguna dapat membuat/memperbarui/menghapus kartu baru yang berada di bawah kolom tertentu.

Ide dasar tentang bagaimana semua ini akan diimplementasikan, sangat sederhana menggunakan REST API:

  • Kolom Kanban direpresentasikan sebagai kategori WordPress .
  • Kapasitas kolom dapat ditempatkan sebagai bilangan bulat dalam deskripsi kategori .
  • Kartu kanban sebagai pos yang ditetapkan ke suatu kategori .
  • Memindahkan kartu dari kolom ke kolom lain berarti hanya mengubah kategori posting yang sesuai.

Mengikuti gagasan "berulang lebih awal dan sering" tentang pembuatan prototipe cepat, API Kanban yang disajikan di bawah ini hanyalah konsep. Fungsi diekstrapolasi dari dua fungsi utama yang tercantum sebelumnya, dan pemetaan aset WordPress dari kolom ke kategori dan kartu ke posting. Tidak ada keraguan bahwa masalah baru dan menantang akan muncul setelah implementasi prototipe yang sebenarnya dimulai, tetapi draf berikut sudah cukup untuk kita mulai!

API Kolom Kanban

Daftar di bawah ini mendokumentasikan fungsi-fungsi yang akan memanipulasi kolom Kanban, bersama dengan tipe parameternya. Kolom akan direpresentasikan sebagai kategori WordPress, dan nomor kapasitasnya akan ditambahkan dalam deskripsi kategori. Daftar ini tidak mendokumentasikan nilai pengembalian apa pun, karena untuk prototipe ini objek respons JSON dari WordPress sudah cukup.

Host situs web Anda dengan Pressidium

GARANSI UANG KEMBALI 60 HARI

LIHAT RENCANA KAMI

Namun, semua fungsi akan mengembalikan nilai benar atau salah untuk menandakan jika operasi berhasil diselesaikan atau jika terjadi kesalahan. Dalam kasus terakhir, penyebab sebenarnya dapat ditemukan di dalam objek respons JSON, tetapi secara umum, tidak ada kontrol kesalahan nyata yang akan disediakan untuk prototipe bukti konsep.

• create_new_col(cname:string, cap:int)
Buat kolom Kanban baru bernama cname dengan batas bilangan bulat yang mewakili kapasitas.

Sumber Daya API WordPress: Buat kategori baru

Ini akan membuat kategori baru, dan kemudian menambahkan nomor integer kapasitas ke deskripsi kategori.

change_col_name(nama lama:string, nama baru:string)
Ubah nama kolom Kanban dari oldname menjadi newname .

Sumber Daya API WordPress: Mengedit kategori

Ini hanya akan mengubah nama kategori.

change_col_cap(cap baru:int )
Ubah kapasitas kolom menjadi newcap.

Sumber Daya API WordPress: Mengedit kategori

Ini akan mengubah deskripsi kategori yang sesuai untuk menambahkan nomor kapasitas baru.

delete_col(namakolom:string)
Menghapus kolom bernama colname.

Sumber Daya API WordPress: Hapus kategori

Ini hanya menghapus kategori yang sesuai dengan kolom. Dengan melakukan ini, Anda akan secara efektif "meniadakan" kartu di bawah kolom itu. Terserah Anda untuk memutuskan bagaimana menerapkan penghapusan ini. Misalnya a) menghapus kolom berarti menghapus semua yang ada di bawah kolom itu atau b) menghapus "lunak" dengan mungkin mengganti nama kartu di bawahnya sebagai _del_<kategori>, sehingga Anda dapat membatalkan penghapusan di masa mendatang.

API Kartu Kanban

Daftar di bawah ini sama, tetapi untuk kartu Kanban. Kartu akan direpresentasikan sebagai posting WordPress, secara efektif menggunakan judul posting untuk menggambarkan tugas yang harus dilakukan. Konten postingan dapat digunakan sebagai wadah tambahan untuk catatan.

• buat_kartu_baru(cname:string)

Membuat kartu baru bernama cname.

Ini akan membuat posting baru tanpa konten, tetapi karena tidak termasuk dalam kategori apa pun, itu tidak boleh terlihat oleh pengguna.

• create_new_card(cname:string, c:string)

Buat postingan baru dengan judul cname dan konten c.

Sama seperti di atas, tetapi kartu dibuat dengan konten juga.

• create_new_card(cname:string, cont:string, colname:string)

Buat posting baru dengan judul cname , cont konten , di bawah kategori colname.

Sumber Daya API WordPress: Buat posting baru

• add_card_col(cname:string, colname:string)

Menambahkan kartu dengan nama cname ke kolom dengan nama colname.

Sumber Daya API WordPress: Mengedit posting

• move_card_col(cname:string, colname:string)

Memindahkan kartu dengan nama cname di bawah kolom bernama colname. Ini harus menghapus kategori posting yang lama sebelum menambahkan yang baru.

Sumber Daya API WordPress: Mengedit posting

• delete_card(cname:string)
Menghapus kartu dengan nama cname.

Sumber Daya API WordPress: Hapus postingan

Ini melakukan penghapusan destruktif atau tidak, tergantung pada apakah Anda telah mengaktifkan tempat sampah di blog WordPress Anda.

Integritas data

Sekarang setelah kita memetakan fungsi kita ke panggilan dan aset API WordPress, kita perlu memastikan bahwa data kita tetap konsisten. Misalnya, kolom Kanban yang memiliki kapasitas 2, tidak dapat menampung lebih dari 2 kartu. Sebuah kartu tidak boleh berada dalam dua kolom sekaligus. Saat kartu dipindahkan ke kolom lain, kartu tersebut perlu dihapus dari tempatnya. WordPress, bagaimanapun, tidak tahu sama sekali tentang batasan ini, jadi aplikasi kita perlu memeriksa dan menerapkannya di setiap operasi penulisan.

Karena ini adalah prototipe, tidak semua kasus tepi akan terlihat dari fase desain. Ini pasti akan muncul selama implementasi setiap fungsi.

Pekerjaan selanjutnya

Sampai sekarang kita hanya berbicara tentang API yang akan menggerakkan aplikasi Kanban kita menggunakan sumber daya WordPress dengan cara yang berbeda. Prototipe kami akan sangat kurang jika hanya terdiri dari sekelompok API backend tanpa frontend yang benar-benar dapat digunakan orang. Sekali lagi di sini kita melihat keserbagunaan REST API, karena tidak ada yang mengatakan bagaimana Anda harus melakukannya. Anda bisa menggunakan sesuatu seperti Bootstrap, atau menulis GUI yang bagus di Java; secara harfiah tidak ada batasan untuk apa yang dapat Anda gunakan.

Prototipe kami juga hanya mendukung satu papan Kanban, yaitu satu proyek, yang ditautkan ke instans WordPress Anda. Itu mungkin lumayan untuk pembuktian konsep tetapi jelas tidak dapat diterima untuk produk akhir. Salah satu solusinya adalah memetakan konsep Kanban ke taksonomi WordPress dengan cara yang berbeda dan lebih efisien, yang akan mendukung beberapa papan Kanban dan bahkan lebih banyak fitur seperti kolaborasi tim.

Pengembangan WordPress menjadi sangat menarik!