1. Sorunun yeniden düzenlenmesi
Örneğiniz, verilerin yalnızca Drupal tarafından okunduğunu ve yalnızca tek yönlü senkronizasyonla önerildiğini göstermektedir. Burada düşünülmesi gereken en önemli faktör olduğunu düşünüyorum, çünkü gerçekte uyguladığınız her çözüm uzaktan depolama, senkronizasyon ve yerel önbelleklemenin bir çeşidi olacaktır - yerel önbellekleme Drupal veritabanında varlık olsa bile.
Yani soru, "yerel depolama ile uzak depolama" yerine, şöyle olacaktır:
- Verileri yerel olarak önbelleğe alırsanız;
- Verileri gerçek varlıklar olarak önbelleğe alır ve verileri düzenli olarak senkronize etmek için Yayınlar (veya benzeri) kullanırsanız; VEYA
- Senkronizasyonu ve önbelleğe almayı sağlayan özel yapılmış bir modül kullanmanız gerekir.
İlginizi çekebilecek bir makale " Drupal 7'deki Uzak Varlıklar " ile ilgilidir.
2. Verilerin önbelleğe alınması
Genel olarak, verilerin önbelleğe alınması iyi bir fikirdir:
Diğer hizmetlerin kesintilerine veya bağlantıdaki zaman aşımlarına karşı korunursunuz;
Verilerinizin Drupal veritabanınızda bulunması, işlemleri hızlandıracaktır;
Verilerinizin Drupal veritabanınızda bulunması, Views gibi diğer modüllerle entegrasyon sağlama olasılığınızın daha yüksek olduğu anlamına gelecektir (bu garanti edilmese de).
Verileri önbelleğe almamanın tek avantajı, bazı durumlarda tercih edilen eski verileri asla almamanızdır - bazen eski veriler yerine veri gösterilmemesi tercih edilir. Bunu verdiğiniz örnekte bir fayda olarak görmüyorum, bu yüzden bu yanıtı yerel önbelleğe almayı içeren bir çözüme odaklayacağım.
3. Yerel varlıklar + Senkronizasyon
Yerel varlıklara sahip olma ve bunları kendiniz senkronize etme seçeneğini tercih ederseniz, orijinal sorularınıza geri döneriz:
3.1 Düğümler ve Özel varlıklar
Bir düğümün tam olarak ne olduğunun tanımı oldukça açık olan düğümdür. Düğümlerde dokümantasyon sayfasından düğümleri "saklı" Sitenizde olan "gönderme" olduğunu göstermektedir - Verilerinizi uygulamak ikisi de;
Bir Drupal geliştiricisi olarak, eğer bir şey bir düğümse, o zaman sitenin kendisinde manipüle edebilmem gerektiğini beklerdim;
Drupal kullanıcısı olarak, benzer şekilde düğümlerin düzenlenmesini beklerdim;
Bu Drupal 8 sayısı https://drupal.org/node/2019031 , "salt okunur" kavramının, paket düzeyi yerine varlık düzeyinde uygulanacak bir kavram olduğunu göstermektedir. Eğer bu uygulanırsa, bu rotadan aşağı inerek bundan faydalanırsınız.
Özetlemek gerekirse: verileriniz salt okunur ve uzaktan saklanırken verilerinizi temsil etmek için özel bir varlık türü kullanmak daha mantıklıdır.
3.2 Senkronizasyon
İkinci kısımda, bunun için iki ana modül, önerdiğiniz gibi Feeds ve Migrate .
Feed'ler ve Migrate arasındaki fark, Feeds'in içeriğin düzenli olarak içe aktarılması için oluşturulmuş olması, Migrate ise içeriğin bir yerden diğerine bir kerelik taşınması için oluşturulmuş olmasıdır. Migrate, mevcut verilerin güncellenmesini destekliyor, ancak her iki modülün de iyi bir şekilde desteklendiği göz önüne alındığında, eldeki görev için oluşturulmuş modülü kullanmak daha mantıklı - Feed'ler daha iyi bir eşleşmedir.
Her iki modülü de kendim kullandıktan sonra (Senkronizasyon için feed'ler, Taşıma için migrasyon) Feed'leri Migrate'dan daha dağınık bulmuyorum. Tüm sitelerin taşınması tek içerik türlerini içe aktarmaktan daha karmaşık olmasına rağmen, taşıma deneyimimde daha fazla özel kod gerektiriyor, bu yüzden karşılaştırmak zor.
4. Uzaktan depolama için özel modül, senkronizasyon + önbellekleme
Bu görevde yardımcı olabilecek bir dizi modül var.
Sen söz Web Hizmetleri Veri modülü ve diğerleri de söylediğim Veri modülü . Dikkate alınacak diğer bir seçenek Remote Entity API modülüdür . Tecrübelerimden sadece birinin Veri modülü olduğunu unutmayın.
Web Hizmetleri Veri modülünün henüz bir sürümü yoktur - bu kodun henüz kararlı olmadığını gösterebilir, API değişebilir vb. Varlık Alanı Sorgularını desteklemez (proje sayfasına göre) ve kod deposuna hızlı bir göz atmak, Views desteğine sahip olduğuna dair hiçbir kanıt göstermez - bu nedenle varlıkları görüntülemek için Görünümleri kullanamazsınız;
Veri modülü, tecrübelerime göre, bir tabloda verileri olan ve görünümlere göstermek isteyen geliştirici olmayanlara daha yöneliktir. Drupal 6 sürümünü kullanmak oldukça sinir bozucu buldum - o zamandan beri değişmiş olsa da;
Remote Entity API modülü oldukça umut verici geliyor - uzak varlıkların getirilmesini ve önbelleğe alınmasını destekliyor ve Views desteğine sahip. Yalnızca alfa sürümünde - API hala değişebilir. İlk bakışta Entity Field Query desteğine sahip görünmüyor ve yalnızca bir tür uzaktan hizmeti destekliyor, böylece kendi uygulamanızı uygulamak zorunda kalacaksınız.
Sonuç
Uzak depolama modüllerinden hiçbirinin Varlık Alanı Sorgularını desteklemediği göz önüne alındığında, gerçek varlıkları + feed'leri kullanmak size Drupal sitenizle en iyi entegrasyonu sağlayacak çözümdür.
Views desteği yeterliyse ve Varlık Alanı Sorguları aracılığıyla diğer modüllerle potansiyel entegrasyon konusunda endişelenmiyorsanız, Remote Entity API'sını kullanmanın bir yolu olabilir - ancak kendi uzak arayüzünüzü uygulamanız gerekir.