Taksonomi modülü yerine referans tabanlı modüller kullanmanın avantajları ve dezavantajları nelerdir?


9

Temel Taksonomi modülünü veya Varlık Referans modülünü kullanmaya nasıl karar vereceğimi merak ediyorum.

Daha önce Entity Reference modülünü kullanmadım ama sınıflandırma modülünü (ve bazı ilgili modülleri) 10-15 web sitelerinde kullandım.

Taksonomi modülü yerine referans tabanlı modüller kullanmanın avantajları ve dezavantajları nelerdir?


Son zamanlarda bir dergi arşivi web sitesi oluşturmaya başladım.

Çok sayıda dergi var. Bu dergilerin sorunları var. Her sayının makaleleri vardır.


Buradaki en küçük (ve en derin) kısım makalelerdir .

makale

  • Sayfa numarası (aralık):
  • Başlık:
  • Yazar:
  • Makale türü:
  • Anahtar Kelimeler:
  • Magazine:
  • Konu:


Konu

  • Kayıt numarası:
  • Kapak resmi:
  • Tarih (yayınlandı):
  • Magazine:


dergi

  • Açıklama:
  • Kapak resmi:


resim açıklamasını buraya girin

Burada, bu web sitesini uygulamak için (en az) 2 yöntem vardır :

1. Adında bir içerik türü olacak articleve diğerleri (sayı, dergi, yazar) sınıflandırma terimleri (hiyerarşik) olacaktır. Sayı ve dergi vb. Arasında bir hiyerarşi olacaktır.

2. Çok sayıda içerik türü olacaktır: makale, sayı, dergi, yazar. Makale oluştururken; sayı, dergi ve yazar referans verilebilir.

Yani, teorik olarak her iki yol da çok benzer görünüyor.

Benzer bir durumla karşılaşan biri var mı ve lütfen hangi yöntemi tercih ettiğinizi söyleyebilir misiniz, neden?

Yanıtlar:


9

Sorununuzun başka çözümleri de var.

Saha Koleksiyonu

İçeriği depolamak ve düzenlemek için alan koleksiyonu ve alan koleksiyonu görünümleri modüllerini kullanabilirsiniz. Bu yaklaşımı kullanarak Issueve MagazineAlan Koleksiyonu türü olacak Issue, bir alanı Articleve Magazinebir alanıdır Issue. Bu yapıyı uygulama deneyimim var. Benim durumumda Librarykitap (Başlık, Yayıncı ve ... alanları ile) içermesi gereken bir durumdu, Her kitap birden fazla cilt (Sayfa sayısı, çevirmen, ...) içerir ve her cilt de sınırsız sayıda başka öğe içerir (kitaplar arasında aynı olmayan bazı sayfaların taranması gibi).

Bunu Alan Koleksiyonu yaklaşımını kullanarak uyguladım ve çok güzel. Her alan koleksiyonundaki her bir öğeyi düzenlemek için kolayca bir bağlantı oluşturabilir ve ayrıca alan koleksiyonundaki öğelere göre filtre uygulayabilirsiniz. Ben bir cevap yayınlanmıştır Saha Koleksiyonu'nda değerine göre Görüntüleme Grubu öğeleri nasıl Saha Koleksiyon Views ile çalışmak için hangi gösterileri

Varlık Görünümü Eki

EVA modülü olarak da bilinir .

"Eva", "Varlık Görüntüleme Eki;" bir Görünümün çıktısının herhangi bir Drupal varlığının içeriğine eklenmesini sağlayan bir Views görüntüleme eklentisi sağlar. Bir düğüm veya yorumun gövdesi, bir kullanıcı hesabının profili veya Taksonomi terimi için liste sayfası, varlık içeriğinin tüm örnekleridir.

EVA'yı yalnızca belirli bir içerik parçası için alan değerlerini görüntülemek üzere kullanabilirsiniz, böylece alanların görüntülenmesi ve biçimlendirme esnekliği üzerinde inanılmaz bir kontrol sağlar. Örneğin, iki alanın özel bir şekilde birleştirilmesini isteyebilirsiniz. Alanlarınızı EVA ekranınıza ekleyebilir, bağlamsal filtreyi NID olarak ayarlayabilir, Genel: Metin Alanı ekleyebilir ve jetonları kullanarak alanlarınızı HTML ile biçimlendirebilirsiniz. Genel: Metin Alanında birlikte kullanacaksanız, alanlarınızın görüntülenmesini hariç tutmayı unutmayın. Örnek: Şehir, eyalet ve posta alanlarınız olabilir. Bunları Genel: Metin Alanında birleştirerek "Şehir, Eyalet Posta Kodu" olarak görüntüleyin. İçerik türünüz için ekranı yönettiğinizde, yeni oluşturulan EVA'yı ekrana ekleyin ve tür her görüntülendiğinde, EVID'ye nid değerini iletir ve EVA seçtiğiniz alanları döndürür, istediğiniz gibi biçimlendirilmiş. (kaynak :EVA ve Varlık Referansı Kullanım Örneği Nasıl Yapılır )

Bu modül mükemmeldir, bir içerik türünün düğümlerine bir alan olarak bir Görünüm ekler. Bu modülü bir Album. Albümde singer(her biri hakkında bazı bilgiler bulunur) ve songsbir Dosya, Başlık, Oran ve ... bulunur. Böylece EVA türünde bir Görünüm oluşturdum ve onu bir düğüme ekledim. Bu yüzden her Şarkıcı'nın düğüm sayfasında, düğümden uygun bilgileri alan bu Görünümü görüntüledim. Varlık Referans ile Görünümler bu modülü nasıl kullanılacağına dair mükemmel bir öğretici olduğunu.

Taksonomi Koşulları VS Varlık Referansı

Varlık referansını taksonomiye karşı okumanızı ve Terim Referansı üzerinden Varlık Referansını kullanmanın herhangi bir faydası / uyarısı var mı? Dediği gibi Taksonomi en iyi benzer öğeleri hiyerarşik bir şekilde düzenlerken kullanılır. Etiketler gibi .

Taksonomi , yeni etiketlerin anında oluşturulmasını sağlayan ücretsiz etiketlemeyi ( İçerik Taksonomisi modülü kullanılarak devre dışı bırakılabilir) kullanmanızı sağlar. İçeriğin iskeletini değiştirmek çok kolaydır. Bu yaklaşımı kullanarak, (programlama bilgisi olmayan) düzenli veya en azından bazı kimliği doğrulanmış kullanıcılar bu iskeleti değiştirebilir. Hiyerarşik Select modülü bu yaklaşımın mükemmel bir örneğidir.

Taksonominin kullanımı kolay olsa da, kendim Varlık Referansını tercih etsem de, birçok olasılık ve ölçeklenebilirlik açıyor ve çok karmaşık yapılar yaratmaya izin veriyor. Bu bağlamda varlık kavramı içerikle sınırlı değildir. Yorumlar, kullanıcılar, sınıflandırmalar ve ... olabilir. Çok daha ölçeklenebilir olduğundan, içerik türlerini özelleştirme veya gelecekte değiştirme konusunda endişelenmeyeceksiniz ( Varlık referansına karşı sınıflandırmada belirtildiği gibi ). Varlık yaklaşımının Taksonomiden daha güçlü olduğuna inanıyorum.

Bunlardan bahsetmek gereksiz olan bu yaklaşımların başka kombinasyonları da vardır.

Her neyse, Varlık yaklaşımını ve bununla ilgili modülleri tam olarak anlamanızı öneririm. Birden fazla projede kullanırsanız, karmaşıklığına rağmen, onu kullanmanız çok kolay olacaktır. Sadece sizin mevcut gereksiniminizde değil, gelecekte de sizin için çok güvenilir bir araç olacaktır.


Ayrıntılı cevabınız için çok teşekkürler. Taksonomik olmayan modüllerin kullanımı hakkında bana iyi bir bakış açısı verdi. Bu tür çözümleri kullanmadan önce anlamanız gereken 2 şey var: 1. Sınıflandırma otomatik tamamlama özelliğine sahiptir, bu modüllerde bu özellik var mı? Düğüm ekleme sayfasında otomatik tamamlama özelliği olmadan bir web sitesi oluşturmak neredeyse imkansızdır. 2. Çekirdek sınıflandırma modülünün kendisini başka modüller olmadan kullanabilirim, ancak bahsettiğiniz çözümlerin fazladan ekstra modüllere ihtiyacı vardır ve "hangi diğer modüllerin iyi olacağını kullanmak" zordur . Tekrar teşekkürler.
herci

2
Hoşgeldin. Soru numarası 1 hakkında, Varlık modülü ve varlık referans alanı kullanıyorsanız, evet otomatik tamamlanır. Alan Koleksiyonu'nu kullanırsanız, hiçbir ilişki yaratmadığı için otomatik tamamlanması gerekmez, düğüm ve alt öğeleri tek bir paket olarak kapsüllenir. Soru 2 hakkında, Birçok modül Entity modülüne bağlıdır, bu nedenle hangi yaklaşımı kullanırsanız kullanın, bu modülü yüklemeniz ve etkinleştirmeniz gerekecektir. Dahası, size sağladığı gücün birkaç modül takmayı hak ettiğini düşünüyorum
M ama D

Alan Koleksiyonlarından uzak durmanızı tavsiye ederken, varlık referans alanlarına sahip Varlık harika ve çok güçlü bir araçtır. CER (Muhabir Tüzel Kişi Referansları) gibi bir şeyle birleştiğinde, 2 yönlü ilişkiler elde edersiniz, bu durumda makaleniz, makalenin bilinmesi ile birlikte, hangi konuya ve dergiye ait olduğunu bilecektir. Görünümlerin zaten varlık ilişkileri için geriye doğru aramaya sahip olduğunu, ancak bu daha hızlı olduğunu ve yeni olasılıklar açtığını unutmamalıyım.
mediaashley

1
@mediaashley CER yüklemeniz gerekmeyen 2 yollu ilişki elde etmek için. İlişkileri kullanarak bunu kolayca başarabilirsiniz. Drupal.stackexchange.com/questions/124893/... bu açıklar
M ama, D

2
Basit kullanım durumlarından başka bir şey için saha koleksiyonlarından uzak durmanızı tavsiye ederim. Daha karmaşık gereksinimlerle uğraşırken, uzun vadede alan koleksiyonlarının diğer modüllerde zayıf bir şekilde desteklendiğini göreceksiniz. Diğer bir sorun ise, alışkın olduğunuz verilere erişmek ve bunları işlemek için kullanılan tüm tekniklerin alan koleksiyonlarında depolanan veriler için geçerli olmamasıdır. Elbette, tüm veri manipülasyonunu yapmak hala mümkündür, ancak uygulama oldukça kafa karıştırıcıdır. Varlık referansıyla gidin.
gbyte.co

8

Makaleler ve konular düğümler gibi dergilerin taksonomiler gibi başka kombinasyonları da olabilir.

Bunun için doğru veya yanlış bir cevap yoktur, kişisel tercih, belirli proje gereksinimleri vb.

İçerik için düğümler ve bu içeriğin sınıflandırılması için taksonomiler kullanmak en iyisidir, ancak bazen bir şeyin sadece kategorizasyon veya kendi içeriği olup olmadığı konusunda biraz bulanık olabilir.

Örneğin, makale türü ve anahtar kelime alanlarınız daha açık bir şekilde taksonomiler gibi görünebilir, ancak sorun ve dergiler her iki şekilde de gidebilir.

Kararınızı etkileyebilecek bir şey, kutudan çıkar çıkmaz işlevselliktir. Örneğin, düğümler için sınıflandırmalardan çok daha fazla eklenti modülü vardır, ancak sınıflandırmalar için kutu listeleme sayfalarından çıkabilirsiniz (isterseniz). Bir çözüm veya diğeri ile kutudan çıkması daha kolay olan hiyerarşiyle ilgili işlevler de olabilir.

İçerik türü tanımları resmin yalnızca bir parçasıdır. İçeriğin kullanıcıya nasıl sunulmasını istediğinizi, kullanıcının içerik hiyerarşisinde nasıl gezinmesini istediğinizi, bu içeriğin sitedeki diğer içerikle nasıl ilişkili olduğunu, yöneticilerin bunu nasıl yönetmesini istediğinizi kesinlikle düşünmelisiniz. Örneğin, bir çeşit hiyerarşik menü sistemi istiyor musunuz, insanların dergi veya sayı sayfalarına gidebilmelerini mi yoksa yalnızca makale sayfalarında görünen içeriklerle ilgili içerik mi olmasını istiyorsunuz? 3 içerik türünün tümünü listeleyen tek bir arama yapmak istiyor musunuz (bazıları düğüm ve bazıları sınıflandırma terimleri ise bu daha az önemsiz olabilir).

Tüm bunları planlayın ve ardından bunu başarmanıza yardımcı olacak hangi modüllerin mevcut olduğunu görün. İstediğiniz şeyi elde etmeyi kolaylaştıracak bir yol bulabilirsiniz. Değilse, herhangi bir sebepten dolayı en iyi olduğunu düşündüğünüzle gitmek zorundasınız.

Bazen bir yöne gidebilir ve daha sonra gereksinimlerinize ulaşmanızı zorlaştıran bir şey bulabilirsiniz. Mümkün olduğunca ön plan yaparsanız bu riski azaltırsınız.


Evet, başka bir kombinasyon olabileceğini söylemiştim. Referans tabanlı modülleri deneyeceğim çünkü taksonomiye dayalı çözümleri birçok projede kullandım. Bu dava için sonuçları paylaşacağım. Teşekkürler.
herci

5

"Dergi" gibi şeyler için sınıflandırma terimlerini kullanırken göz önünde bulundurulması gereken bir diğer husus, bu öğeler üzerinde düzeltme ve yorum yapma gibi işlevlerden vazgeçmenizdir. Verilen revizyonlar Taksonomi revizyonu gibi bir modülle eklenebilir, ancak bu çok düşük kurulum tabanına sahip bir modüldür. Şahsen ben bu konuda düğümler üzerinde revizyon işleme konusunda çekirdek güveniyorum.

Gereksinimlerdeki değişiklikler nedeniyle bir proje hayata geçtikten sonra taksonomi teriminden bir düğüme bir şey değiştirmek zorunda kaldığımda en az bir kez düşünebilirim ve bu da yeniden yapılandırma ve göçü biraz gerektirir.

Muhtemelen entity_reference olan düğümler gibi diğer varlık türlerini kullanmaya başlarsanız, her şey aynı şekilde çalıştığından değişikliği yapmakta herhangi bir sorun yaşamayacağınızı, ancak size daha fazla esneklik sağlayacağını göreceksiniz.


Teşekkürler, revizyon kısmı iyi bir nokta. Dediğiniz gibi taksonomiden düğüme geçmek zordur. Büyük olasılıkla bir düğüm + entity_reference tabanlı çözüm kullanacağım . Cevabınız için tekrar teşekkürler.
herci

3

Bunun en doğru cevap olduğunu söylemeyeceğim, ama ben böyle düşünüyorum. Bazı örneklerle açıklayacağım.

Genellikle düğümleri bir soyutlamaya göre sınıflandırmak için kullanırım. Örneğin, haberler spor, politik vb. Kategorilere ayrılabilir.

Ama dergi gibi bir referans almak istediğimde geleceği düşünüyorum. Kullanıcının hangi makaleyi seçeceğine karar vermesine ne zaman yardım etmek istediğinizi düşünün. Dergi sıralaması (belki de Etki Faktörü) bir olasılıktır. Ya da belki o dergiye ulaşmak istiyorum. Bir terim, bir düğüm veya varlık olsaydı, bu durumda bana yardımcı olmazdı.

Öte yandan, kendiniz bir şeyler yapmanız gerekir. Örneğin, bir sınıflandırma terimini tıkladığınızda o terimin kategorize edilmiş düğümleriyle dolu bir sayfaya yönlendirilirsiniz. Şimdi bir görünüme ve bağlamsal bir filtreye ihtiyaç var, vb.


3

Birisi neden alan koleksiyonlarından uzak kalmak istediğini sordum, ama yorum kaldırıldı görünüyor. Her iki şekilde de benim 2 sent:

Sınıflandırma ve sınıflandırma için taksonomiler kullanılmalıdır. İçerik ilişkileri için değil. 2 içerik parçasını bir sınıflandırma terimiyle bağlayarak, yalnızca 2'ye ihtiyacınız olan 3 varlık kullanıyorsunuz.

Benim tecrübelerime göre, taksonomiler artık yapılabilir olsa da, bunlar tam teşekküllü varlıklar değildir ve bu nedenle "içerik" olarak kullanılmamalıdır.

Bu özel durumda, derginizde içerik (ne olduğu hakkında bir açıklama, sipariş verme ayrıntıları vb.) Veya kendi "sayfası" varsa, içerik olduğu için içerik türü olmalıdır.

Sorunlar biraz belirsiz, ancak olasılıklar bir genel bakış vb. Var, bu yüzden muhtemelen bir sayfası var ve muhtemelen de içerik. Başka bir içerik türü.

Makaleler açıkça içerik türleridir.

Bunun için yöneticiyi oluştururken, bu içerik parçalarını bağlamak için Varlık Referansını kullanabilirsiniz, ancak bir tane daha gidebilirsiniz.

@Drupalist'in Alan Koleksiyonlarını kullanmanızı önerdiği gibi, satır içi varlık formlarını da kullanabilirsiniz (Sanırım Varlık Referansının bir parçası). Saha Koleksiyonları, çok iyi uygulanmayan harika bir fikrin ve diğer modüllerle birçok çarpışmanın olduğu bu eski modüllerden biridir. Artık varlık olmasına rağmen, hala sorunları var ve yazarlar vb. Şeyler için tam teşekküllü varlıkları (hatta içerik türleri) kullanmanız daha iyi olur.

Satır içi varlık formları, başvurmak istediğiniz varlığın içinden referans alınan varlıklar oluşturmanıza ve düzenlemenize olanak tanır ... bu nedenle, bir makalenin içinden yazar oluşturup düzenleyin veya yalnızca önceden oluşturulmuş olana referans verin.

CER'e ekleyin ve otomatik olarak yazardan makaleye, makaleye, makaleye ve dergiye geri ya da hangi yöne giderseniz gidin referans alacaksınız. Bu, görünümlerinizin nasıl performans gösterdiği konusunda avantajlara sahiptir, ancak yazar sayfasındaki makalelerin bir listesini ve makale sayfasındaki yazar bilgisini görüntülemeden görüntülemenizi sağlar.

Tam taksonomiye geri dönersek, daha sonra bunları "etiketlemek" için ... "balık tutma", "araba", "bilgisayarlar" vb. veya söz konusu etiketle ilgili içerik / yazılı yazar.

Bu özeti yapmaya çalıştım, umarım yardımcı olur ve mantıklıdır. Bunu düzinelerce sitede yaptım. Küresel spor etkinlikleri, seyahat / tatil rezervasyon siteleri, uluslararası yayıncılar, içecekler, hayır kurumları vb. Sağlam güçlüdür ve öngörülemeyen gereksinimler için sizi kapsar.


Cevabınız için teşekkürler. Gerçekten mantıklı ve okuma deneyimi benim için çok önemli.
herci
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.