Apa cara yang tepat untuk menggunakan bidang yang ada?


13

Saya seorang pemula Drupal. Saya agak bingung tentang menambahkan bidang ke jenis konten.

Kasus 1: Misalkan saya memiliki tiga tipe konten Book, Article& White Paper. Saya membuat Authorskosakata yang berisi daftar semua Penulis.

  1. Sekarang, haruskah saya membuat bidang "Ditulis oleh" (rujukan istilah untuk Penulis) untuk setiap jenis konten atau membuat bidang untuk satu jenis konten dan menggunakannya dalam jenis konten lain?

  2. Apa kelebihan / kekurangan dari kedua metode tersebut?

  3. Apa yang terjadi jika saya menghapus bidang yang digunakan kembali dari satu jenis konten? Apakah bisa dihapus di semua yang lain?

Kasus 2: Saya mengikuti tipe konten: (dengan persyaratan bidang yang ditentukan)

+--------------+----------------------+
| Content Type | Field Required       |
+--------------+----------------------+
| Book         | Year of publication  |
+--------------+----------------------+
| Presentation | Date of Presentation |
+--------------+----------------------+
| Article      | Date of Publication  |
+--------------+----------------------+
| Event        | Held On              |
+--------------+----------------------+

Apa yang harus saya lakukan? Haruskah saya membuat satu bidang untuk satu jenis konten & menggunakannya untuk semua jenis konten lain atau membuat bidang untuk setiap jenis konten?

Bantu saya memahami dengan jelas kapan & bagaimana menggunakan kembali bidang yang ada dengan tepat.

Jawaban:


8

Haruskah saya membuat bidang "Ditulis oleh" (rujukan istilah untuk Penulis) untuk setiap jenis konten atau membuat bidang untuk satu jenis konten dan menggunakannya dalam jenis konten lain?

Jika Anda perlu mengumpulkan informasi yang sama untuk berbagai jenis konten, Anda harus menggunakan satu bidang. Kolom "Ditulis oleh" Anda kedengarannya cocok untuk itu. Jika Anda memiliki kosakata yang berbeda untuk penulis Anda, katakan "Penulis buku", "Penulis artikel", dll., Anda ingin (dan perlu) menggunakan bidang yang berbeda untuk masing-masing.

Apa kelebihan / kekurangan dari kedua metode tersebut?

Satu keuntungan adalah bahwa Anda dapat meminta semua tipe konten dengan satu bidang. Jadi, jika Anda ingin melihat semua konten yang ditulis oleh satu penulis, atau bahkan semua konten yang ditulis oleh semua penulis, akan mudah untuk membuat tampilan untuk melakukan itu. Tapi itu hanya berguna jika Anda membutuhkannya, tentu saja. Saya kira poin utamanya adalah bahwa use case dari field itu sendiri akan benar-benar menentukan keuntungan / kerugian relatif dari kedua metode tersebut.

Juga, setiap kali Anda membuat bidang, Anda membuat dua tabel database (satu untuk data saat ini, satu untuk data revisi). Harus kita katakan, perasaan "campur aduk" tentang apakah metode penyimpanan ini adalah ide terbaik dari sudut pandang kinerja, dan beberapa orang lebih suka mempertahankan jumlah tabelnya. Saat Anda melampirkan bidang yang ada ke tipe konten lain, tabel database yang sama digunakan untuk semuanya, sehingga kotak itu dicentang. Sekali lagi, ini hanya masuk akal ketika data Anda dapat dipisahkan.

Apa yang terjadi jika saya menghapus bidang yang digunakan kembali dari satu jenis konten? Apakah bisa dihapus di semua yang lain?

Bidang hanya akan dihapus setelah terlepas dari semua jenis konten. Data yang termasuk tipe konten tempat Anda melepaskan bidang akan dipindahkan ke tabel data yang dihapus, dan dibersihkan selama cron berjalan.

Pada kasus 2, dan tanyakan saja pada diri sendiri ...

Ingatlah bahwa Anda dapat memiliki label yang berbeda untuk setiap instance tipe konten dari bidang yang sama, akankah itu memberi Anda cukup isyarat visual (atau yang dipimpin data) untuk memberi tahu Anda perbedaan di antara data?

Jika demikian, gunakan bidang tanggal tunggal untuk mendapatkan keuntungan yang disebutkan di atas. Jika tidak, maka masuk akal jika desain data Anda memiliki bidang terpisah.

Itu semua bermuara pada apa yang sesuai untuk situs web khusus Anda, tetapi mudah-mudahan di atas akan memberi Anda semacam cara maju.


Saya tidak mengerti ini:Keeping in mind that you can have different labels for each content type's instance of the same field, will that give you enough of a visual (or data-led) cue to let you know the differences between the data?
cakar

4
Saya hanya bermaksud agar Anda memilih berdasarkan apa yang perlu Anda lakukan dengan data Anda - dengan mengambil tanggal publikasi dan presentasi sebagai contoh, apakah itu penting bagi Anda jika dipisahkan? Apakah Anda perlu memfilter konten berdasarkan tanggal itu? Apakah ini akan memberi Anda hasil yang tidak diinginkan jika Anda menggunakan satu bidang, dan mendapatkan data untuk semua jenis konten saat memfilter pada bidang itu? Itu adalah pertanyaan yang bisa Anda tanyakan pada diri sendiri. Ini benar-benar masalah desain data, entitas / bidang sistem Drupal hanyalah lapisan abstraksi untuk itu. Jika mendesain ini di luar Drupal, apakah Anda akan meletakkan data itu di tabel yang sama?
Clive
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.