2010-05-13 12 views
5

Sto cercando di scrivere un elenco delle competenze chiave di Drupal, principalmente in modo da poter confermare ciò che so, non so e non lo so non lo so. (Grazie D. Rumsfeld per quella citazione!)Quali sono le competenze di cui uno sviluppatore Drupal ha bisogno?

Penso che alcuni di questi sono davvero ampi, ad esempio c'è una bella differenza tra creare un tema funzionale e creare un tema con una buona SEO, tempi di caricamento e così via, ma io spero che tu possa presumere che uno sviluppatore web mezzo decente si prenderà cura comunque.

Interessato solo a vedere ciò che la gente qui sente è anche importante. Ho modificato i suggerimenti finora in questa lista.

Lingue

  • PHP
  • MYSQL
  • Query

Drupal Skills

  • Re cercare e installare i moduli per soddisfare i requisiti di progetto
  • configurare i moduli base e le impostazioni di base per ottenere un sito in esecuzione
  • strumento a riga di comando Drush
  • creare un tema personalizzato da zero che convalida con un buon HTML/CSS.
  • In grado di personalizzare forme, core, temi senza alterare i file core ma utilizzando template.php o moduli personalizzati.
  • È possibile creare moduli da zero utilizzando l'API - con convalida e registrazione nel DB/e-mail
  • È possibile creare moduli personalizzati da zero utilizzando i ganci principali ei ganci del modulo.
  • Essere coinvolti con la comunità, comprendere le convenzioni di denominazione, il sistema CVS e idealmente hanno inviato codice o revisioni.

Moduli Non è facile fare una lista deve conoscere modulo, in quanto non solo è i moduli che si utilizzano molto dipendente sul sito, ma anche come si utilizzano. Tuttavia i seguenti sono ampiamente utilizzati:

Visualizzazioni

  • sapere come fare una vista di base e blocchi.
  • Sapere come creare visualizzazioni più complesse con relazioni e termini.
  • Sapere come usare hook_views_query_alter, per effettuare query complesse.
  • Sapere come usare hook_views_default_views, per creare viste specifiche.

CCK

  • informazione su come configurare il contenuto - quale campo i tipi da usare.
  • Sapere come creare il proprio field_formatters - la base per i campi CCK tematici.

Ganci I ganci più importante da imparare, per creare un modulo di base sono probabilmente:

  • hook_form_alter() - cambia le forme senza modificare il codice.
  • hook_menu()
  • hook_theme()
  • hook_nodeapi() - quasi nulla per quanto riguarda i nodi
  • hook_schema() - creare tabelle
  • hook_install()/hook_uninstall() - creare tabelle e ripulire.
  • hook_perm() - quando è necessario un controllo di accesso speciale.
  • hook_init() - le cose che devono sempre accadere.
  • hook_user() - se è necessario attingere alle azioni dell'utente o modificare l'oggetto utente.

risposta

3

Ho una buona conoscenza dell'architettura client-server, del funzionamento di server e browser. E conoscenza di php e mysql, motori di template. E, naturalmente, dovresti anche leggere i documenti Drupal.

2

In grado di creare da zero un tema personalizzato che convalida con buona HTML/CSS e presta anche attenzione all'usabilità e all'accessibilità. (Mentre sta ancora guardando il culo).

In genere non si desidera creare temi da zero, ma da un tema iniziale come lo Zen.

Per Drupal è necessario:

  • PHP, è un framework PHP, in modo da capire veramente e utilizzarlo, è necessario capire PHP.
  • SQL, l'elenco di servizi SQL che Drupal può utilizzare è in crescita, ma è necessario comprendere * SQL, database relazionale e come configurare alcune architetture di base.
  • Javascript (e jQuery). Drupal usa la libreria jQuery js, quindi sarà molto più semplice se non solo, saprai come usare javascript, ma anche a capire come usare jQuery e alcuni concetti.
  • Il sistema di aggancio e come è possibile modificare il nucleo e i moduli Drupal che implementano i ganci.
  • La convenzione di denominazione per i ganci, le funzioni a tema ecc

Moduli
Non è facile fare un deve sapere lista dei moduli, in quanto non solo è i moduli che si utilizzano molto dipendente sul sito, ma anche come li usi. I due migliori moduli di Drupal sono.

  • Visualizzazioni
    • sapere come fare una vista di base e blocchi.
    • Sapere come creare visualizzazioni più complesse con relazioni e termini.
    • Sapere come utilizzare hook_views_query_alter, per eseguire query complesse.
    • Sapere come usare hook_views_default_views, per creare viste specifiche.
  • CCK
    • informazione su come configurare il contenuto - quale campo i tipi da usare.
    • Sapere come creare il proprio field_formatters - la base per i campi CCK tematici.

Un altro modulo che trovo molto potente, una volta padroneggiato è pannelli. Ti permette di fare un sacco di cose complesse e difficili con un codice molto piccolo e semplice. Ci sono molti ganci che devi imparare e non molta documentazione. Ma una volta compresi i pannelli, si scopre che il tempo è stato ben speso.

Ganci
I ganci più importante da imparare, per creare un modulo di base è probabilmente:

  • hook_form_alter() - cambia le forme senza modificare il codice.
  • hook_menu()
  • hook_theme()
  • hook_nodeapi() - quasi nulla per quanto riguarda i nodi
  • hook_schema() - creare tabelle
  • hook_install()/hook_uninstall() - creare tabelle e ripulire.
  • hook_perm() - quando è necessario un controllo di accesso speciale.
  • hook_init() - le cose che devono sempre accadere.
  • hook_user() - se è necessario attingere alle azioni dell'utente o modificare l'oggetto utente.

Non è necessario utilizzare tutti questi ganci tutto il tempo, ma sono alcuni dei più usati.

+0

Alcuni buoni punti! Riesci a pensare ad altre cose correlate al CMS come specifici hook o moduli che ritieni sia necessario padroneggiare? – MrFidge

1

Ottima lista finora! Alcuni altri a titolo oneroso:

  • Possibilità di utilizzare Drush di aggiornare o configurare un sito
  • Forte comprensione buona configurazione migliori pratiche per le prestazioni, la sicurezza e la SEO di un sito Drupal (si pensi liste di controllo di lancio)
  • aver presentato un modulo per Drupal.org (per quanto semplice) o inviate una patch (il processo di ottenere un account CVS e ottenere il vostro primo codice è istruttiva per la comunità e per gli standard)
+0

Non ho ancora incontrato Drush - l'ho solo cercato e sembra interessante! Tendo a passare attraverso il front end, ma l'accesso alla riga di comando sarebbe molto utile. Penso che sapere come funziona il sistema CVS con tutta la terminologia e le best practice per i nomi dei file è probabilmente un ostacolo che molti sviluppatori di drupal non riescono mai a superare. – MrFidge

1

Non hai bisogno di competenze SEO per i modelli, drupal di solito aiuta molto con SEO. Ovviamente uno sviluppatore che tratterà un design deve sapere che tutte le intestazioni devono essere eseguite con i tag h1, h2, h3, h4. questo è davvero di base. tutto sta a drupal ..

Per quanto mi riguarda essere uno "sviluppatore" drupal, hai bisogno di alcune competenze di base in PHP.Perché drupal è davvero scritto senza programmazione orientata agli oggetti, e senza DESIGN PATTERN, quindi queste sono due cose che ti rendono davvero un programmatore .. senza di loro è solo [mi dispiace per questa parola] stronzate non una programmazione.

Penso che chiunque possa installare drupal o wordpress o alcuni sistemi cms-made-simple, se si è almeno una volta connessi a ftp nella propria vita ... sviluppare plugin per loro richiede le competenze di base di php. Ovviamente se troverai uno sviluppatore abile allora saprà di base, e scriverà i plugin con OOP e quel codice sarà davvero NiCE! =)

1

Essere in grado di modificare la funzionalità esistente (core o modulo) senza toccare il core o il modulo e sapere se inserirlo nel modello o in un modulo personalizzato.

1

Dato che oggigiorno qualcosa è collegato al Web, è necessario avere una buona conoscenza del protocollo HTTP. Hai anche bisogno di una buona comprensione di JavaScript, DOM, CSS e HTML5. Conoscere un po 'di jQuery non è sufficiente per uno sviluppatore, devi capire cosa stai facendo con DOM, HTML5 e CSS per creare funzionalità e comportamenti nel browser. È inoltre necessario comprendere le API JavaScript Drupal, sia sul lato server (hook_library(), #attached, ecc) e il lato client (Drupal.behaviors, etc.)

È inoltre necessario conoscere le varie API di Drupal. L'API Form non è l'unica. È necessario comprendere il sistema di menu (pagina, accesso, titolo e callback di consegna, come passare parametri ad essi, ecc.), L'API code per operazioni asincrone, l'API batch per operazioni a esecuzione prolungata, entità e API campo per utente modificabile strutturato data, API Theme e Render Array per qualsiasi presentazione, API Cache, API Schema e Database, API file, API cache e API di localizzazione.

Problemi correlati