Domanda

Anche se sto usando drupal dal momento che la serie D4, ho solo iniziato a sviluppare professionalmente con D6, quindi - nonostante ho fatto diversi sito gli aggiornamenti - non sono mai stato affrontato con il compito di dover porto il mio codice per una nuova versione.

So che la comunità Drupal sarà venire con un sacco di supporto tecnico sui cambiato API e modifiche architettoniche (vedi il deadwood modulo per D5-D6 o anche questi tronchetti D6-D7 how-to per i moduli e temi).

Tuttavia quello che sto cercando con la mia domanda è più in linea di strategia di pensiero, o , in altre parole, Sto cercando di input e consigli su come progettare / implementare / rivedere il processo di porting mio codice, alla luce di ciò che collega gli sviluppatori imparato dall'esperienza precedente.Qualche esempio:

  1. Ti consigliamo di iniziare a porta i miei moduli non appena ho il tempo per farlo, e per mantenere un concorrente D7 per qualche tempo (così mi sono "preparato" per il D-day) o ti consigliamo piuttosto di attendere il giorno in cui la porta sarà effettivamente imminente e poi l'aggiornamento dei moduli di D7 e rilasciare il D6 versione?
  2. Solo alcuni dei miei moduli di test completo di copertura.Ti consigliamo di completare la copertura dei test per il D6 versione, in modo da avere tutte le prove di lavoro per verificare il D7 porta, o vuoi consigli per scrivere il mio test di regia presso il porting di tempo, per testare il D7 versione?
  3. Hai trovato che essere un early adopter ti dà un vantaggio in termini di nuove funzionalità e una migliore API, o ti trovi piuttosto che è più conveniente per ritardare la conversione in modo da sfruttare la maggiore quantità di prontamente disponibili contrib moduli?
  4. Hai impostato per voi stessi standard di qualità / criteri di valutazione o hai semplicemente impostato la barra a "se funziona, io sono felice"?Perché?Se si imposta determinati standard o obiettivi, che cosa hanno dove / cosa sarà?Come ti hanno aiutato?
  5. Ci sono errori comuni che si è verificato in passato e che si ritiene applicabile al D6-D7 processo di porting?
  6. È il porting di un buon momento per fare un po di refactoring o è solo andando a rendere il tutto più complesso, per essere messo di nuovo insieme?
  7. ...

A queste domande non è un elenco esaustivo, ma spero possano dare un'idea di che tipo di informazioni che sto cercando.Io direi piuttosto:quello che penso sia rilevante e non ho la lista di cui sopra ottiene un "plus"!:)

Se non sono riuscito ad esprimermi in modo sufficientemente chiaro, si prega di lasciare un commento con le info penso che devo aggiungere in questione.Vi ringrazio in anticipo per il vostro tempo!

PS:Sì, lo so...D7 non è ancora fuori e ci vorranno mesi prima di importanti contrib moduli saranno aggiornati...ma non è mai troppo presto per iniziare a pensare!:)

È stato utile?

Soluzione

Bella domanda, vediamo:

  1. (quando iniziare il porting)
    Questo sicuramente dipende dalla complessità dei moduli a porta.Se ci sono davvero complessi, di grandi dimensioni, potrebbe essere utile per avviare anticipo, in modo da trovare difficile punti, pur non essendo sotto pressione.Per i più piccoli/di quelli standard, mi piacerebbe provare a trovare una grande slot di tempo in seguito dove posso porta molti di loro in fila per ottenere la routine memorizzate in fretta (e beneficiare probabilmente il migliore documentazione).

  2. (test di copertura)
    Normalmente direi che avere una buona copertura di test prima di iniziare il refactoring/porting sicuramente consigliabile.Ma dato che Drupal-7 introduce un importante cambiamento che riguarda il framework di test spostando il core, mi sarei aspettato la necessità di riscrivere una notevole quantità di prove comunque.Quindi, se non vi è alcuna necessità di mantenere Drupal-6 versioni dopo la migrazione, mi piacerebbe risparmiare il tempo/difficoltà e obiettivo per una maggiore copertura dopo il porting.

  3. (early adopter vsaspettare e vedere)
    Utilizzando Drupal dal momento che la versione 4.7, abbiamo sempre aspettato almeno per il primo rilascio ufficiale di una nuova versione principale prima ancora di pensare di porting.Con Drupal 6, abbiamo aspettato per il punto di vista del modulo prima di porting nostro primo sito, e abbiamo ancora alcuni piccoli progetti su Drupal-5, mentre i ragazzi stanno lavorando bene e sarebbe difficile giustificare l'extra bill per i nostri clienti finchè ci sono ancora manutenzione/sicurezza correzioni).C'è solo così tanto tempo in un giorno, e c'è sempre il backlog di bug fix, funzionalità da aggiungere, ecc.... quindi non utilizzare giocando con incompiuto della tecnologia, mentre ci sono più imminente che avrebbe subito un beneficio per i nostri clienti.Ora, questo sarebbe certamente diverso se avremmo dovuto mantenere uno o più 'ufficiale' ha contribuito moduli, come l'offerta di un antico porto sarebbe una buona cosa.
    Io sono un po 'in un vicolo cieco, qui - essere i primi ad adottare certamente benefici per la comunità, come qualcuno ha trovare che i bug sono risolti, ma d'altra parte, non ha molto senso per gli affari e per la lotta per ore e ore con gli insetti, altri potrebbero aver trovato/fisso se avessi aspettato un po' di più.Fintanto che devo fare questo per vivere, ho bisogno di guardare le mie risorse, cercando di trovare un equilibrio accettabile tra servire la comunità e ne possono beneficiare :-/

  4. (standard di qualità)
    "Se funziona, io sono felice" non basta, come non voglio essere felice momentaneamente solo, ma domani pure.Quindi uno dei miei standard di qualità è che ho bisogno di essere (un po') certo che mi e 'grokked' nuovi concetti abbastanza bene per non solo rende le cose funzionano, ma funzionano come dovrebbero.Ora, questo è difficile da definire in modo più preciso, in quanto è ovviamente impossibile sapere se uno e 'arrivato e' prima di 'ottenere', in modo che si riduce a una sensazione/distinzione di "sì, è un pò opere' vs'yup, che guarda a destra', e si deve accettare che lui sarà abbastanza regolarmente essere sbagliato su questo.
    Detto questo, un punto particolare sto cercando di intervenire il più presto possibile".Come un principiante, ho spesso modificato roba 'dopo il fatto e' durante la fase di temi, mentre sarebbe stato molto più facile applicare il fix precedenti nella catena di trasformazione, per mezzo di un gancio o l'altro.Così adesso, ogni volta che sto per 'regolare' qualcosa in tema strato, ho volutamente prendere un piccolo tempo per controllare se questo non può essere fatto in modo più netto/compatibile all'interno di un gancio in precedenza.Come mi aspetto Drupal 7 per aggiungere ancora più opzioni di aggancio, questo è qualcosa che mi farà pagare di più attenzione, come è di solito di ridurre i conflitti e improvvisa rottura di roba' quando l'aggiunta di nuovi moduli.

  5. (i trabocchetti)
    Prevalentemente il porting per primi, trovando poi in/tra uno o più moduli necessari non sono disponibili per la nuova versione a tutti, o solo in dev/alpha/beta precoce di stato.Quindi mi piacerebbe assicurarsi di compilare un completa l'elenco dei/moduli necessari prima, elencando i loro porting di stato, insieme con una rapida ispezione del loro problema delle code.
    Oltre a questo, io finora ho sempre molto soddisfatti con le nuove versioni e il loro miglioramento, e non vedo l'ora per Drupal-7 di nuovo.

  6. (refactoring, mentre il porting)
    Si potrebbe dire che il porting è una piuttosto grande refactoring in sé, quindi non c'è bisogno di aggiungere alla complessità di ristrutturazione non porting di cose affini.D'altra parte, se si dispone già di per distruggere i moduli a pezzi in ogni caso, perché non sfruttare l'occasione per fare una revisione?Mi piacerebbe provare a disegnare una linea basata sulla complessità - per grandi e complessi moduli, io non porto il più diritta possibile, e il refactoring di più in seguito, se necessario.Per i moduli più piccoli, non dovrebbe davvero importa, come la probabilità che subentrino i bug dovrebbero essere piuttosto piccola.

  7. (altre cose)
    ...bisogno di pensare ...


Ok, altra roba:

  • La necessità di risorse, dato che alcuni di Drupal-7 thread, sembra che essi sono suscettibili di salire, in modo che questo dovrebbe essere valutato prima il porting di siti di piccole dimensioni che si siedono su un condiviso/limitato di account di hosting.

  • Le ultime versioni di prima Questo è piuttosto evidente e sempre sottolineato nelle guide di aggiornamento, ma comunque vale la pena di menzionare:Aggiornamento core e tutti i moduli alla loro ultima versione corrente prima di fare un aggiornamento importante, come il codice di aggiornamento è molto probabile che dipendono l'ultima tabella/strutture di dati per funzionare correttamente.Dato Drupals 'fasi', un passo alla volta la strategia di aggiornamento, sarebbe molto difficile da implementare codice di aggiornamento che consente di individuare diversi pre-aggiornamento uniti, e ha agito di conseguenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top