Drupal 7 - 8 Migration - Taşıma Zorluklarını ele alan bir Nasıl Yapılır kılavuzu (önerilerle birlikte)
Yayınlanan: 2020-02-27Drupal 7'den 8'e geçiş aklınızda mı? Web sitenizi hala Drupal 7 (veya 6) üzerinde mi çalıştırıyorsunuz? Drupal 8'e geçme zamanı geldi!
Hala Drupal 7 (veya 6) kullanıyorsanız neden Drupal 8'e geçmeniz gerektiği hakkında kapsamlı bir şekilde yazdık. Her ne kadar Drupal 8'e geçmek için en sevdiğimiz (ve önemli) nedenlerimizden biri… Drupal 9 geliyor! Drupal 9'un avantajlarından yararlanmak istiyorsanız, önce Drupal 7'yi Drupal 8'e taşımanız önerilir. Drupal 9 burada (Haziran 2020) ve Drupal 7'nin EOL'si (Kasım 2021) olduğunda yeterli zaman olmadığı için şimdi Drupal 8'e geçmeniz gerektiğini söyleyebiliriz. Ancak bunun yerine bir LTS'yi (uzun vadeli destek) seçebileceğinizi iddia edebilirsiniz! Yeterince adil. Bunun dışında, bir LTS hizmet sağlayıcısıyla çalışmak için daha fazla para harcamanın yanı sıra, Drupal 8'in sunduğu zengin avantajları da kaybediyorsunuz. Bazı şeyler zor görünebilir, ancak daha güçlü ve daha basit bir gelecek için gereklidir.
Drupal 8'de bir kez, artık "geçiş" yapmanız gerekmez - yalnızca Drupal 8.9'dan 9'a ve ardından 9.9'dan 10'a basit bir "yükseltme" yeterli olacaktır. Drupal 7'den Drupal 8'e geçiş her zaman kolay ve anlaşılır değildir; Kabul ediyorum. Bir süreci takip etmek yardımcı olur, ancak özellikle Drupal 7 web sitenizin içerik modeli oldukça karmaşıksa, geçiş sırasında bazı zorluklarla karşılaşabilirsiniz. Karşılaşabileceğiniz zorluklarla sizi Drupal 7'den Drupal 8'e adım adım geçişe götürelim. Ve bunların üstesinden nasıl geleceğimize dair önerilerimiz.
Drupal 8 Migrate – Varsayımlar ve Hazırlıklar
İspanyol romancı Miguel De Cervantes, “ Hazırlanmak zaferin yarısıdır ” dedi. Drupal 8 geçişi karmaşık olabilir, ancak geçişi planlamak için yeterince zaman harcadıysanız, zorluklar sizi şaşırtmaz. Drupal 8'in Symfony, Twig, PHP 7, vb. gibi birçok modern geliştirme standardını benimsemesi, bu eksiksiz yeniden yapılanmaya yol açtı, ancak aynı zamanda daha güçlü, sağlam ve esnek dijital deneyimler gerektiriyor. Drupal 7'den 8'e geçişe başlamadan önce hatırlamanız gereken birkaç ön koşul listelenmiştir.
- Drupal 7 web sitenizi mevcut en son sürüme güncelleyin. Bu, doğrudan Drupal 8 yükseltme yollarına sahip bazı modüllerin daha temiz otomatik yükseltmelerine yardımcı olacaktır.
- Drupal 7 web sitesinin veritabanına ve dosyalarına (genel ve özel) erişiminiz olduğundan emin olun.
- Drupal 7 web sitesinin bir yedeğini oluşturun ve bu yedeği Drupal 8 geçişi için kullanın. Geçişin kendisi kaynakta herhangi bir değişiklik yapmasa da, canlı işlevsel bir web sitesinin taşınması önerilmez.
- Drupal 8'in yeni kurulumunu buradan indirin ve yukarıda tartıştığımız çekirdek Geçiş modüllerini etkinleştirin. Ve unutmayın, taze olması GEREKİR! Drupal 8 yükseltmesi gerçekleştirildiğinde, yapılan tüm yapılandırmaların veya oluşturulan içeriğin üzerine yazılacaktır.
- Drupal 7'den Drupal 8'e doğrudan yükseltme yolu yoktur (önceki sürüm yükseltmelerinden farklı olarak). Drupal 8'in geçiş sistemi hakkında bilgi edinin. Çekirdekte bulunan üç modül –Drupal 8 Migrate modülü, Drupal 8 Migrate Drupal modülü ve Drupal 8 Migrate Drupal UI modülü.
- Geçiş seçiminizi yapın – Drush'u (size ayrıntılı kontrol sağlar) mı kullanacaksınız yoksa tarayıcı kullanıcı arayüzünü mü (daha kolay ama daha az kontrol) kullanacaksınız?
- Kaynağınızı bilin. Drupal içerik taşıma sisteminin esnekliği, içeriğin Drupal'ın eski sürümlerinden ve CSV, XML, JSON, MYSQL, vb. gibi çeşitli diğer kaynaklardan çıkarılmasına ve yüklenmesine olanak tanır.
- Sorunsuz bir Drupal içerik geçişi için, taşımanız gereken içeriği belirlemek üzere kapsamlı bir içerik denetimi gerçekleştirin. Bunları taşımak için zaman ve çaba harcamaktan kaçınmak için kullanılmayan ve alakasız içeriği atın.
Drupal 7 - 8 Geçiş Süreci (Adım Adım)
Gözlemleyin ve Planlayın
Sorunsuz bir Drupal içerik geçişi, önce mevcut sitenin içerik türlerini ve içerik yapısını belirlemenizi ve gözlemleri belgelemenizi gerektirir. Buna içerik türleri, alan türleri, bloklar, sınıflandırmalar vb. dahildir. Bu gözlemlere dayalı olarak neleri taşımanız ve neleri birleştirmeniz gerektiğine dair bir plan hazırlayın. Görünümleri ve diğer site yapılandırmalarını analiz edin ve bunları Drupal 8'de çoğaltmanın daha kolay olması için kataloglayın.
Drupal 7 web sitenizin modül kontrol listesini oluşturun
Bu kontrol listesiyle, hala ihtiyacınız olan modülleri veya bu modülün bir Drupal 8 sürümü olup olmadığını veya modülün şimdi Drupal 8 Core'a (Medya modülü gibi) taşınıp taşınmadığını belirleyebilmelisiniz. Tüm Drupal 7 modülleri otomatik olarak Drupal 8'e geçirilemez. Bazı Drupal 7 modülleri, işlevlerini tek bir Drupal 8 modülünde birleştirmiş olabilir. Ve bazı Drupal 7 modülleri, özelliklerini iki veya daha fazla Drupal 8 modülüne ayırmış olabilir. Veri kaybı olmadığından emin olmak için bu tür durumları analiz etmek her zaman daha iyidir!
Uzman Tavsiyesi – Drupal 7 modüllerini ve bunlara karşılık gelen Drupal 8 modülünü (varsa veya değilse) tanımlamak için Drupal Migrate UI gibi bir modül kullanın.
Profesyonel İpucu - Drupal 8 için modül sürümü yok mu? Örneğin, Drupal 7'deki ImageField modülü karşılık gelen bir D8 modülüne sahip değildir. Bunun için en uygun alternatifi Drupal 8'de bulmamız gerekebilir. Tabii ki, Drupal 8 çekirdekli Medya modülümüz var. Ancak, görüntü verilerini taşımak için özel komut dosyaları geliştirmemiz gerekecek. görüntü verilerini taşıyın.
Uzman Tavsiyesi – Yeni bir D7 web sitesini devraldıysanız ve modüllerde yapılan özelleştirmeler hakkında hiçbir fikriniz yoksa VEYA özelleştirmeleri kendiniz yaptıysanız ve bunları bulmanız gerekiyorsa, Hacked! modül. Bu modül, sitede bulunan modüllerin listesini ve her modülde yapılan değişiklikleri/özelleştirmeleri gözden geçirecektir.

Çoğaltın ve Oluşturun
D8 bulut sunucunuzda gerekli olan içerik türlerini, sınıflandırmaları ve tüm varlıkları çoğaltın. İçerikler oluşturulduktan ve çoğaltıldıktan sonra görünümler manuel olarak oluşturulmalıdır.
Uzman Tavsiyeleri –
- Drupal 7'deki şablon dosyaları (.tpl), symphony 2 çerçevesinin bir parçası olan twig dosyaları kullanılarak yeniden yazılmalıdır.
- Senfoni standartlarına uyan özel modüllerinizi yeniden yazdığınızdan emin olun.
Drupal 7'den 8'e Geçişi Uygulamak
En çok beklenen ve önemli adım geldi. Daha önce tartışıldığı gibi, Drupal 7 verilerinizi Drupal 8'e taşımanın iki yolu vardır -
- Drupal UI ile taşıma çalıştırma
- Drush ile taşıma çalıştırma
İkincisi, daha verimli olduğu, kabuk komut dosyalarına dahil edilebileceği ve daha net hata mesajlarına sahip olduğu için önerilir.
Drupal Kullanıcı Arayüzü Yöntemi
Migrate UI Drupal 8 modülünden yararlanarak, Drupal 8 web sitesinin /upgrade yolunu ziyaret ederek başlayabilirsiniz. Drupal 8 yükseltme inceleme sayfası, Drupal 7 sitenizdeki, otomatik olarak Drupal 8'e taşınabilen ve taşınamayan modüllerin bir listesini gösterecektir. D7 şimdi D8'deki Adres modülüdür, ilgili D8 modülünü kurmanız ve etkinleştirmeniz ve Drupal 7 - 8 geçiş sürecini yeniden başlatmanız gerekir. İçeriğin kataloğuna ve çıkarılan verilere dayanarak, Drupal 7'nin içerik türü özniteliklerini Drupal 8'in yeni oluşturulmuş içerik türü öznitelikleri ile eşlediğiniz geçiş komut dosyalarını oluşturmanız gerekir. veri kaynağı.
Drush Yöntemi
Terminali kullanmaktan rahat mısınız? Öyleyse, Drupal 7 - 8 geçişi için Drush yöntemini seçmelisiniz. Daha iyi durum mesajlarıyla veri taşıma işlemi için bir dizi komut sağlar. Drush komutlarını kullanarak adım adım prosedür geçişi arıyorsanız bu eğiticiye göz atın. Daha önce hiç Drush kullanmadın mı? Bu kılavuz, geçiş için yararlı komutların bir listesiyle Drush'ın temellerini anlamanıza yardımcı olacaktır.
Şimdi bazı çatışmalarla karşılaşabilirsiniz. Drupal'da bilinen sorunları kontrol ettiğinizden emin olun. org ve nasıl düzeltileceği. Düzeltildikten sonra, artık gerçekleştirilen eylemlerin sürekli günlüklerini/geri bildirimini veren Taşıma işlemini çalıştırabilirsiniz. Son olarak, günlüklerde herhangi bir hata olup olmadığını kontrol edin, düzeltin ve hazırsınız!
Uzman Tavsiyesi – Bekleyin! İçeriği oluşturduktan sonra, SEO/sayfa görüntülemelerini asla gözden kaçırmayın. Aynı URL yollarına sahip olmak için içeriğe ihtiyacımız var. URL takma adlarını, içeriğin meta etiket bilgilerini eski Drupal 7 sitesinden taşımaya özen göstermeyi unutmayın.
Test yapmak
Drupal 7'den Drupal 8'e geçiş sırasında sıfır sorunla karşılaşacağınız çok nadir zamanlar vardır. Geçiş tamamlandıktan sonra, olası hataları veya sorunları belirlemek için yeni içe aktarılan yapılandırmanın ve içeriğin regresyon testi kesinlikle gereklidir.
Zorluklar ve (daha fazla Uzman) Öneriler
- Drupal 7'ye katkıda bulunan birçok modül, Drupal 8'de kendilerinin daha iyi sürümlerine sahiptir ve bazıları kullanımdan kaldırılmıştır. Örneğin, Drupal 7'deki alanları gruplamak için kullanılan Field Collection modülü yakında kullanımdan kaldırılacaktır. Bu modülün işlevselliği, Drupal 8'deki Paragraflar modülüne ve Varlık Referans Revizyonu modülüne eklenmiştir. Drupal 8 Paragraflar modülü, sorunsuz formlar ve yapılar oluşturmak için İçerik editörlerine/yazarlarına muazzam esneklik sağlar. Alan Koleksiyonu modülünü taşımanız ve onu Paragraflar modülüne (D8) eşlemeniz gerekiyorsa, içeriği Alan Koleksiyonu alanları ile Paragraf alanları arasında eşlemek için özel eklentiler yazmanız gerekecektir. Veya Drupal 8'de bile Field Collection modülünü taşımaya devam etmek istiyorsanız, bu alan eşlemesi mevcut Core taşıma eklentileri tarafından gerçekleştirilebilir.
- Ana sayfa, Gösterge Tablosu vb. gibi açılış sayfalarınızı oluşturmak için Panelleri kullanıyor musunuz? Ana sayfaya yalnızca bir blok yerleştirmeniz gerekse bile mi? Kurtarma için düzen oluşturucu! Drupal 8'deki Layout Builder, bir içerik düzenleyicinin bir açılış sayfasını özelleştirmesini kolaylaştırır. Drupal 8'in özelliklerinden en iyi şekilde yararlanalım. Panellerden Düzen oluşturucuya geçiş yapmak için bazı özel geçiş eklentileri yazmanız gerekecek.
- Kullanıcıları taşırken, kullanıcının yeni sitede parolayı yeniden oluşturmasına gerek kalmaması için parolaları da korumamız gerekecek. Şifreler karma içeriktir. Bu yüzden kaynak sitede kullanılan hash tipi algoritmayı bulmalısınız. Sonraki. aynı algoritmayı kullanarak yeniden karmalanmış parolayla taşınan parolayı doğrulamak için bir işlem yazın.
- Drupal 7 - 8 geçişi çalıştırırken, sistem kaynaklarınızı tüketerek geçişinizin durmasına neden olabilirsiniz. Yüksek su işaretleri sayesinde geçişi tekrar çalıştırabilirsiniz ve kaldığı yerden devam etmesi gerekir.
- Drupal 7'de yaygın olarak kullanılan Özellikler modülü, Yapılandırma Yönetiminin Drupal 8'deki tüm Özellikler işlevselliğini ve daha fazlasını devralmasından sonra neredeyse kullanılmaz hale geldi. Yönetim Sistemi. Çalışması daha basit olmakla kalmaz, ortamlar arasında dışa aktarmak da kolaydır, daha okunabilir ve uygun bir veri formatı olan PHP yerine YAML dosya formatlarını kullanır.
- Çok dilli bir Drupal 7 (veya 6) web siteniz varsa, Migrate Drupal Çok Dilli modülünden yararlanabilirsiniz. Migrate Drupal çok dilli modülü hala deneysel bir aşamada olmasına rağmen, tüm çok dilli Drupal siteleri için sahip olunması gereken bir modüldür.
- Drupal 7'den Drupal 8'e geçişinizle ilgili sorunlar mı yaşıyorsunuz? Hataları bildirmenin ve yardım almanın birkaç yolu vardır -
- Drupal 8 Yükseltme Sorun Sırası
- Çekirdek/katkıda bulunulan modülle ilgili bir hata veya istisna bulursanız modül sorun sırası
- Freenode'daki #drupal-migrate IRC kanalı
- Drupal Slack'teki #migration kanalı
- Bir Drupal Uzmanı İşe Alın

