PHP5'in Drupal'a çekilmesi için geçiş planı


8

Arka fon

Bir yıl sonra müşterilerim Drupal'a nispeten karmaşık bir intranet portal hizmeti (zamanlama, gerçek takip ve raporlama ve daha fazlası) taşıyacak çünkü merkez ofis öyle diyor. Bunun doğru teknik seçim olup olmadığını ve müvekkilimin ve hatta patronlarının kontrolünün ötesinde olup olmadığını belirlemek için çok az çaba sarf edilmiştir.

Mevcut portal yeniden faktoring sürecindeki bir iğrenç ve en uygun maliyetli planın Doktrin 2 aracılığıyla bir alan modeli katmanı getirmek ve tüm iş ve girdi doğrulama mantığının% 99,9'unu modellere koymak olacağına inanıyorum , iskelet görünümü ve kimlik doğrulama mantık katmanı olana kadar iğrençliği dışarı atar.

Soru

Dışarıdaki herhangi bir Drupal uzmanı için bu uygulanabilir bir yaklaşım gibi görünüyor mu? Doctrine2 Drupal ile iyi oynayabilir mi veya Drupal üst düzey mantığının verilere çok daha sıkı bir entegrasyona ihtiyacı var mı?

Yanıtlar:


9

Veri nereye Drupal dışarıdan sistemlerini bağladıktan birkaç site yapmış vardı dışarıda sisteminde tutulacak. Zamanımın çoğunu bununla harcıyorum.

Bunu yaptığımızda, genellikle diğer sistemdeki içeriği "saplamak" için bir içerik türü oluştururuz. İçerik türü yalnızca düğüm başlığını ve diğer sistemdeki benzersiz tanımlayıcı için CCK alanını içerir. Bununla birlikte birçok hook_nodeapi işlevi vardır. Örneğin, loadkanca uzaktaki sistemi çağırır ve verileri düğüme ekler. Ayrıca, dış verileri arama sonuçlarına almak için bir yöntem tasarlamanız gerekir. Bunun için birkaç yöntem var, ama bunlar buraya girmek için çok uzun.

Bazı dezavantajlar olsa da, bunun iyi çalıştığını ve yorumlar, etiketler vb.Gibi normal Drupal öğelerine izin veriyoruz.


Dışsal olması gerekiyorsa, bu iyi bir yaklaşımdır.
Jeremy French

4

Zaman çizgisi göz önüne alındığında yapılacak tek mantıklı şey, bunu Drupal 7'de inşa etmektir. Drupal 7'nin en önemli özelliklerinden biri varlıklar, DBNTG ve alanlar.

Hızlı bir genel bakış

  • Varlıklar, bir veri yapısı tanımlamanın bir yoludur. Drupal ile yerleşik varlıklara örnek olarak düğümler (ana içerik), kullanıcılar, sınıflandırma terimleri verilebilir.
  • Alanlar, bir varlığa eklenebilen ve ayrıca veri tutan bir şeydir. Alanların kullanılması, verileri işlemek için yalnızca bir yere sahip olma avantajına sahiptir ve çeşitli şekillerde genişletilebilir. Bir alan örneği dosya eki veya başka bir varlığa başvuru olabilir.
  • DBTNG (Yeni nesil veritabanı), Drupal topluluğunun yeni veritabanı soyutlama katmanını kodladığı şeydir. Bundan önce, yer tutucularla (hala desteklenmektedir) sorgular yapıyorduk, ancak şimdi çoğu sorgu sınıfla oluşturuldu. Bunun bir nedeni, alanların veritabanı tablolarını ayarlara göre oluşturmalarıdır. Bu, alanlar farklı ayarlarla oluşturulsa bile çalışacak kod oluşturulmasına yardımcı olur.

Bu sadece özelliklerden bazılarıdır, ancak bu, Drupal iğrençliği yaratmak istemiyorsanız, Drupal'ın nasıl çalıştığını düşünmeye başlamalı ve Drupal'ı tasarlanmadığı bir şekilde yapmaya çalışmak yerine bunu kullanmalısınız.

Drupal PHP olduğu için özel modüller oluşturabilir ve istediğinizi yapmak için Doctrine2'yi kullanabilirsiniz. Ama benim tahminim, çoğu Drupal sitesi ile çok az ortak noktası olan bir siteyle sonuçlanacaksınız.


Maalesef müşterimi yaklaşık bir ay içinde bırakıyorum, bu yüzden ondan sonra kendi başlarına oluyorlar. Abomination, konuştuğumuzda yeni "Özellikler" eklenerek oldukça büyük bir yük / kullanım altında. Bütün durum kısmen daha iyi bir yöne yönlendiremediğim bir karmaşa. Kendi savunmamda, kefaletle suya yardım etmek için işe alınmadan bir hafta önce yayınlandı.
David

4

Bu oldukça geniş bir soru, bu yüzden üst düzey bir cevap vereceğim, daha spesifik sorularınız varsa lütfen bunları ayrı sorular olarak sorun.

Mevcut sitenin yapısını mümkün olduğunca haritalamanızı öneririm. Ne tür şeyler yapıyor, hangi iş akışları var. İçerik nedir kullanıcılar nelerdir.

İçerik türleri, içeriği bölmenin kullanışlı bir yoludur. Hatta iğrençlik, URL'lere eşlenen (umduğum) tip I şeylere sahip olurdu.

İçerik türlerini belirledikten sonra, içeriği yeni sitenize taşımayı görebilirsiniz. Ardından iş akışları, zamanlamalar, kullanıcılar vb. Şeylere bakabilirsiniz.

Toptan satış yapmayı tercih ederim. İçeriğin birden fazla sistem tarafından yönetilmesi büyük bir teknik baş ağrısıdır. Ve bakım çabanızı iki katına çıkarır.

Söyleyeceğim bir şey, bunu yapmak için birini işe almaya değebilir. Büyük veri kümeleri ile bazı çok başarılı Drupal geçişleri oldu. Ancak Drupal'da deneyimli değilseniz, birkaç yanlış adım atabilir ve kendinize çok zaman harcayabilirsiniz. (Ben şahsen cyrve tavsiye edebilirim , onlarla güncel bir bağlantım yok)


Cyrve'yi müşterime aktaracağım; müşterimin departmanında veya Drupal'ı iten ajacent departmanında hiç kimse durmadığından, Drupal'da gelişmekle ilgili herhangi bir uzmanlığa sahip olduğundan, bundan bir yıl sonra nasıl oynandığını görmek eğlenceli olmalı.
David
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.