Fejlesztette | Szárítja Buytaert |
---|---|
Az első verzió | 2001. január 15 |
Utolsó verzió | 9.1.5 (2021. március 4) |
Letét | git.drupalcode.org/project/drupal.git |
Beírva | PHP |
Operációs rendszer | Linux , Microsoft Windows , macOS és Unix |
Környezet | Több platformos |
Nyelvek | Többnyelvű |
típus | Tartalomkezelő rendszer |
Engedély | A GNU General Public License 2. vagy újabb verziója ( d ) |
Weboldal | www.drupal.org |
A Drupal egy ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amelyet a GNU General Public License alapján bocsátottak ki és PHP- ben írtak .
Dries Buytaert , a projekt kezdeti fejlesztője 2000-től az Antwerpeni Egyetemen , " gyors weboldal-összeállítóként" határozta meg . Bármilyen LAMP , WAMP , XAMPP vagy MAMP adatbázisban használható , de utólag nagyrészt testreszabható és programozható. Alkotója szerint körülbelül 500 000 webhely használta már 2009 szeptemberében.
Ban ben 2009Ez van rangsorolva 1 -jén a versenyt szervezett a brit cég Packt (in) a kategóriában legjobb nyílt forráskódú PHP CMS majd Wordpress és Joomla! . Elsőként debütál az újonnan létrehozott Hall of Fame Díjban (amelyet a Joomla követ!).
Ban ben 2010, Angela Byron jelentése szerint a Drupal a világ webhelyeinek nagyjából 1% -át szereli fel.
Ban ben 2014. májusaz Acquia vállalat (Drupal, amelyet alapítójának szentelt és létrehozott) 50 millióval több, mint a New Enterprise Associates (NEA) és a Split Rock Partners .
Ban ben 2018, A Drupalt a weboldalak 3,5% -a használja világszerte. Ez a 3 e tartalomkezelő rendszer, amelyet a WordPress és a Joomla mögött használnak a legjobban.
A Drupal négy különböző szinten használható:
A Drupal maga használ egy adatbázist - amely általában 60-300 táblázatot tartalmaz, az aktivált moduloktól függően - és az összes helyettesíthető funkció hierarchiáját, amely lehetővé teszi a tapasztalt alkalmazásfejlesztő számára, hogy átírja az egyetlen módosítani kívánt részt, és csak absztrakció szintjén. érdekli, anélkül, hogy hozzáérne a többihez. A beavatkozás pontos szintjének jó vagy rossz ismerete feloszthatja vagy megszorozhatja a teljesítési időt 10-es vagy annál nagyobb tényezővel.
A Drupal körülbelül 4000 API- funkcióval rendelkezik , de az api.drupal.org webhely lehetővé teszi, hogy a nevük tartalmának bármely részéből közvetlen hozzáféréssel találja meg őket. A gyakorlatban egy egyszerű modul csak tízet vagy még kevesebbet használhat.
A Drupal minden általa kezelt tartalmat "csomópontnak" hív. A cikkoldal például csomópont lesz. Egy könyvoldalt is.
Ennek a csomópontnak egyrészt típusa lesz : fórum, cikk, rövid információk, bemutató, blog, megjegyzés, beviteli űrlap, együttműködési könyv, kép- vagy képgaléria, interaktív felmérés, wiki oldal , online eladó cikkleírás, apróhirdetés stb. : az űrlapra már nem vonatkozik előre meghatározott architektúra, ami a tartalmat könnyen átkonfigurálhatóvá teszi. Ennek a szabadságnak a fejében a tervezőnek meg kell ismerkednie sajátos logikájával.
A csomópontnak a típusleírásoknak megfelelően mezői is lesznek : név, típus, dátum, szerző, lehetséges kép, törzs, a közösség szavazatai a tartalmára stb.
Minden csomópont kívánság szerint egyidejűleg több taxonómiai kifejezéshez is csatolható (így az olimpiai játékok francia aranyérmének rövid leírása mind a "Sport", mind a "France" -hoz csatolható, amint azt az ábra mutatja. Szemben). A tervezőnek vagy a rendszergazdának ezért nem kötelező a tartalmukat egyetlen kezdeti hierarchiába illeszteni. A taxonómiáknak egyszerűen konzisztenseknek kell maradniuk (A nem függhet B-től az egyikben, míg B az A-tól függ egy másikban, aminek egyébként sem lenne értelme).
Létrehozásakor egy csomóponthoz hozzárendelhető egy csomópont-azonosító (NID), amely jellemzi. Ahogy annak módosításait, ha van, a rendszer akkor növeli a verzióazonosítóját (VID) számláló . A tervező kiválaszthatja, hogy megtartja-e a legfrissebb verziókat. Minden csomópontnak van címe is , amely lehetővé teszi a rendszergazdák számára, hogy kényelmesebb módon kezeljék őket.
A cím összetettsége nem számít, mert az adminisztrátornak csak rá kell kattintania egy listára, anélkül, hogy valaha is be kellene írnia.
Az egymást követő változatok rendszere lehetővé teszi a korábbi verzióra való visszatérést, ha szükséges, amint ez a wikiben is megtörténik .
Feldolgozás: modulok (PHP)A kezeléseket modulok biztosítják , függetlenek, egymással szembeállíthatók és kombinálhatók (az egyik modul igénybe veheti a másik által nyújtott szolgáltatásokat, és előfeltétele lehet ezeknek). A helyszín megállítása nélkül tetszés szerint aktiválhatók és inaktiválhatók.
Előzmények: Drupal 6A Drupal 6-ban többféle modul létezett, a legegyszerűbbek a következők:
A Drupal 7-ben csak zónák vannak: a webhely rendszergazdája bármikor áthelyezheti őket, ahogy akarja; a tervező méreteket, betűtípusokat és árnyalatokat rendel hozzájuk. A csomópont tartalma tehát szükség esetén tökéletesen megjeleníthető az oldalsó margókban. Ez a lehetőség jelentős szolgáltatásokat nyújt a fejlesztésben, lehetővé téve például a hibakereséshez szükséges területek elosztását .
A modul funkciói három dolgot adhatnak vissza:
A 2015. november 19-én kiadott Drupal 8 a francia Symfony 2 keretrendszerre épül a szabványosítás érdekében, hogy számos fejlesztő előtt megnyílhasson, és teljes mértékben kihasználhassa a PHP objektív megközelítését, különös tekintettel a névterekre , amelyek megkönnyíti a modulok elkülönítését. Lehetővé teszi ugyanazon - minden esetben megfelelően bemutatott - tartalom megjelenítését PC-ken, táblagépeken és mobiltelefonokon , beleértve a push technológiát is .
Ennek eredményeként a Drupal de facto betartja a REST architektúrát .
Prezentáció: témák (CSS és PHP)Sem a csomópontok, sem a modulok nem gondoskodnak a bemutatásról (még az XHTML címkék sem ). Ezek a betöltött stílusok , például a stíluslapok az (X) HTML-ben . A Drupal webhely rendszergazdája alaposan megváltoztathatja stílusát néhány egérkattintással, például megemlékezés vagy más esemény céljából.
Ezt a rendszert úgy tervezték, hogy elkülönítse a webhelyalkotó alaptevékenységét (az adatok kezelése és artikulálása) az egyetlen vizuális résztől, amely nagyon különféle koncepciókat igényel (többek között ergonómiát), és előnyös lehet, ha egy speciális gyógyszertárban alulkezelik ( webügynökség, független grafikus).
Ahol lehetséges, a CSS stíluslap bemeneteivel kezelhető, és ahol speciális feldolgozásra van szükség (például két háttérszín váltakozása az egymást követő táblázatsorok megjelenítéséhez), a PHP-be írt egyszerű tematikus függvényekkel .
A tematikus függvények karakterláncokat, vektorokat vagy tömböket (vagy tömbtömböket) vesznek inputként, és cserébe egy XHTML formázó karakterláncot hoznak létre, amelyet a programozó az általa választott zónába irányít, amelyet a neve és nem a pozíciója jelöl meg. A tervező és a webhely rendszergazdája végül eldönti, hogy az oldalon hol jelenjenek meg ezek az információk, valamint a szín és a betűtípus, és ezt vagy az irányítópult blokkjainak átszervezésével, vagy az egyes blokkok stílusát meghatározó lapok módosításával.
Ha csak a betűtípusokat, méretüket , súlyukat és színeiket akarja módosítani, akkor a Sweaver modul lehetővé teszi, hogy ezt dinamikusan végezze el az oldalon.
Az adminisztrátor által a modulon kívül definiált és módosítható információk egy blokkmodulhoz vannak társítva:
Ez a készítmény közel van a dobozban stratégia által meghatározott Donald Knuth , hogy a készítmény DTP munkák koherens.
A 6. verzió óta az elsőbbségi információk egyszerűen kezelhetők egy speciális menüben, ami megkönnyíti a gyakori átrendeződést.
A 7-es verziótól kezdve már nincsenek oldalsó blokkok, amelyek ellentétesek egy központi résszel, hanem csak az adminisztrátor által egyenlő alapon kezelt régiók . Így egy oldalsó hibakeresési ablak egy kattintással mozgatható a nagyobb középső részen a fejlesztés során stb.
A Drupal kódvégrehajtásokat társít minden kattintható objektumhoz (visszahívás). A fejlesztésnek tehát nincs szigorúan véve szekvenciája, és bármilyen sorrendben hívható.
A Drupal visszahívási funkciói fogalmilag közel állnak a feladat fogalmához a CICS-ben , azzal a különbséggel, hogy a fordítási szakasznak már nem kell lennie, mivel a PHP értelmezett nyelv .
Az adminisztrátor minden felhasználóhoz (meglévő vagy alapértelmezés szerint minden jövőbeli felhasználóhoz) hozzárendelhet egy vagy több szerepet , amelyek jogosultságokat csoportosítanak. Ezután lehetőség van a szükség szerint annyi engedély pontos meghatározására a rendszergazda - aki mindent meg tud tenni - és a nem regisztrált felhasználó között, akinek például csak joga van megtekinteni a webhelyet anélkül, hogy módosítaná.
Az egyik fő verziótól a másikig (4.x, 5.x, 6.x ...) a Drupal nem garantálja a kifejlesztett kód visszafelé kompatibilitását, másrészt garantálja, hogy soha nem lesz szükség a tartalom, amely gyakran száz-százezerszer képviseli (például az archivált napi sajtó esetében) csak a kód kötetét. Ezért jól alkalmazható a tartósságot igénylő tartalmakhoz: konzultáció a sajtóarchívumokkal, jogi szövegek, az ügyfelek nyomon követése stb.
Ez a meglepő döntés talán az internetes gyakorlatok nagyon gyors fejlődéséhez kapcsolódik: egy tartalomkezelő rendszer, amelyre egy elemzés korlátozásai vonatkoznának, és egy két évvel korábban átgondolt architektúra, már nem lesz szükségszerűen összhangban piaci elvárásokkal, és csak újfajta javításokkal kezelné az új technikai lehetőségeket (videó, földrajzi helymeghatározás , Google Maps , PDA , Flash , RSS , Twitter , telefonok, táblagépek, valós idejű biztonsági rendellenességek észlelése stb.). A CMS megváltoztatása azért, mert a régi halott, sokkal többe kerül, mint egyszerűen egy meglévő CMS frissítése anélkül, hogy a tartalmának exportálásán / importálásán kívül mást tenne.
Emiatt mindig két egymást követő nagyobb verziója van a kódnak, amelyeket külön tartanak fenn a fejlesztői csapatok. Ezért választhatja, ha minden más nagyobb verziót figyelmen kívül akar hagyni. Azt is megteheti, hogy szeretné, ha egy produkciós verzió és egy tesztverzió egyforma tartalommal együtt létezne stb.
A gyakorlatban a módosítások legtöbbször csak a meglévő függvények (API) argumentumainak számához kapcsolódnak, a kiegészítések további funkciókat tesznek lehetővé számukra. Például itt van a book_toc () API továbbfejlesztése , amely létrehozza a könyv típusú tartalom (strukturált csomópontok halmaza) tartalomjegyzékét:
A Drupal bármely információs oldalának URL-je van a következő formában:
http://www.exemple.com/?q=node/83Az URL ezen formája, amelyet a keresőmotorok nem ismernek fel, a CleanURL-nek köszönhetően válhat (a Drupal 8-ban a CleanURL alapértelmezés szerint engedélyezett):
http://www.exemple.com/node/83Ezenkívül az URL egy alias használatával értelmesebbé tehető:
http://www.exemple.com/nos_prestationsA Drupal fejlesztése PHP-ben történik . Sok funkció a JavaScript-be is be van programozva , főleg a JQuery könyvtár segítségével .
A Drupal két különböző típusú összetevővel rendelkezik:
A szív teljesen francia, valamint néhány nem hivatalos modul. Könnyű első képet kapni ezeknek a moduloknak a minőségéről, mert a hivatalos webhely felsorolja őket, és felsorolja az összes jelentett hibát a dátumukkal és a felbontásukkal, ha voltak ilyenek . Kijavításukra soha nem fogunk olyan jól szolgálni, mint önmagunk, ami a nyílt forráskód elve : a modulok rendes PHP-ben vannak megírva.
Ha bizonyos modulok használata hosszan tartó, beépíthetők egy későbbi verzió magjába. A Drupal 7 integrálja például az SimpleTests automatikus tesztkészletét, egy külön modulig.
A modulok kombinálhatók egymással, hogy erősebbek legyenek. Tipikus példa az OG Minutes , amely ötvözi az OG modult ( szerves csoportok kezelik a felhasználók privát vagy nyilvános közösségeit), és a Protokollokat (az értekezleten való részvétel kezelése) stb.
Minden felhasználó megadhat időzónát és nyelvet. Az egyes tartalmak nyelve, a hozzá kapcsolódó nemzetközi és többnyelvű oldalak készítése a Drupal standard funkciója. Például a PHP-GTK webhely az elsők között rendelkezett francia, angol és brazil portugál tartalommal. A görög, a kandzsi, a cirill és az arab - hogy csak néhányat említsünk - már nem jelent problémát.
A brit Packt (in) társaság által szervezett versenyen a Drupal 2008-ban az első helyet szerezte meg a legjobb tartalomkezelő rendszerek versenyében, az Általános Nyílt Forrású Tartalomkezelő Rendszer Díj kategóriában (Award for best content management system free access) is. mint a Legjobb PHP nyílt forráskódú tartalomkezelő rendszer (Legjobb tartalomkezelő rendszer és nyílt hozzáférésű php ) kategóriában a Joomla! mindkét esetben.
2009-ben ő maradt ezen a versenyen a legjobb nyílt forráskódú PHP CMS kategóriában, amelyet a WordPress és a Joomla! . Másrészt eltűnik a WordPress által vezetett Összesen kategória top 3- ból . Első bejegyzését azonban az újonnan létrehozott Hall of Fame Díjban követte, majd a Joomla!
Drupal lehetővé teszi, hogy a XTemplate sablon motor, PHPTemplate (hivatalos sablon motor, mivel 4.7-es verzió), hanem Smarty .
A maximális rugalmasság érdekében az engedélyeket olyan címkék kezelik, amelyeket az adminisztrátorok és a modulírók szabadon választhatnak. Csak arra kell vigyáznia, hogy ugyanazt a megfogalmazást ne két különböző modul használja különböző jogosultságok kijelölésére.
Ezeket a statisztikákat körülbelül 85 000 Drupal telepítéssel hozták létre, amelyek aktiválták a statisztikák visszatérését. A jobb olvashatóság érdekében az adatokat a legközelebbi ezerre kerekítjük.
A közösség több ezer modult hozott létre. A modulok a modern weboldalak számos igényét lefedik, sőt két e-kereskedelmi csomagot is tartalmaznak. A kampók (lehallgatott URL-címek + hagyományosan egységes neveket tartalmazó függvények) és visszahívások rendszere lehetővé teszi, hogy bárhol felhasználhatók legyenek egy kérés feldolgozása során. Ez az oka annak, hogy olyan sok modul kínál ilyen sokféle funkciót.
Ez a két korlátok eltűntek Drupal 8 mely a névterek a PHP 5 keretében a francia keret Symfony 2 ne legyen konfliktus.
Minden információ kivétel nélkül egy theme () függvényen keresztül történhet , különben nem részesülne azokból az előnyökből, amelyeket a tartalom nyers információjának és a webhelyre jellemző választási lehetőségek egyértelmű elkülönítése jelent.
Az alábbi helyek példákat mutatnak be a flash technológia és a PDA formátum integrálásához a Drupal webhelyekbe. Bár még nem túl elterjedt, az ilyen típusú integrációknak el kell terjedniük. Ezeket a példákat arra szeretnénk emlékeztetni, hogy a Drupal nem rögzített keretek között börtönbe zár, hanem egyszerű kiindulási platformot jelent egy webhely számára, amely több technológiát képes integrálni.
A drupal.org webhely kétirányú kommunikációról is beszámol az OpenLaszlóval gazdag internetes alkalmazások létrehozása érdekében .
Az informális tanulási görbe lehetővé teszi mindenki számára, hogy elhelyezkedjen más drupalistákkal szemben, ami segít szintenként csoportosítani a nemzeti vagy nemzetközi találkozókon.
Az api.drupal.org webhely hozzáférést biztosít az összes Drupal API -hoz hipertext formátumban. Kényelmes gyakorlat az, ha tartalmát letölti a HTTrack segítségével, és offline módban szükség szerint konzultálhat vele egy Android tablet vagy más böngészőből , ha a képernyőn vagy a képernyőkön nincs hely.
A kevés forgalmat és / vagy igényt támasztó társulás részeként a Drupalt egy személy telepítheti, mindenről gondoskodva. Nagyon nagy helyszínek, hatalmas nemzeti vagy nemzetközi közönséggel, képzést igényelnek Drupalban:
A Drupal szolgáltatók listáját naprakészen tartják a drupal.fr oldalon. Ezen szolgáltatók közül többen részt vesznek az oldalon meghirdetett, nyilvános találkozókon, ami alkalmat kínál arra, hogy működés közben lássák őket. Közülük sokan részt vesznek a közös edény moduljainak fejlesztésében, karbantartásában és bővítésében is. Az éves európai konferencia lehetővé teszi azok számára, akik egy hétig intenzív csereprogramokra vágynak. Egy másik az Egyesült Államokban szerveződik.
Egy 2008-ban létrehozott vállalat, az Acquia (en) célja, hogy a Drupal-on azonos típusú támogatást nyújtson, mint a Red Hat , a Canonical vagy a Novell Linuxon a GPL alatt . Feladata nem telephelyek építése, hanem csak maga a termék támogatása a szolgáltatókkal vagy ügyfeleikkel előfizetéses alapon. A Drupal validált terjesztését, magát a GPL-t szükségszerűen, szénnek hívják.
A Drupal terjesztés egy olyan csomag, amely a Drupal kernelt, egy sor modult, témát, könyvtárat és telepítési profilt tartalmaz. A Drupal disztribúciók egy adott felhasználási esetre irányulnak, mint például az e-kereskedelem, az intranet, a szociális háló.
Az ingyenesen letölthető Acquia Drupal alapfelszereltségként tartalmazza a Fivestar (1-5 csillagos hozzájárulás értékelése) és Poll (felmérések szervezése grafikus eredményekkel) modulokat . A Drupal verem összes összetevőjének egyetlen vezérlőpultba történő integrálásával elkerülhető a Drupal és a WAMP (vagy a Drupal és a LAMP, mert létezik Ubuntu verzió ) külön telepítése és kezelése , és automatikusan beállítja az interfészt ezek között. Ez egy jó eszköz a kezdeményezésre, és még sok más, főleg, hogy semmilyen módon nem avatkozik bele az Apache vagy a MySQL korábbi telepítésébe (például a Wampserver vagy az XAMPP használatával), köszönhetően a portszámok szabad megválasztásának .
Az Open Atrium nem csomag, hanem terjesztés, és szabványosítást kínál többek között blogok, naptárak, témák, együttműködési dokumentumok, csoportok, wikik és projekt előrehaladás-menedzsment ("követés") számára.
A Drupal Commerce Kickstart egy csomag, egy komplett online értékesítési csomag, illusztrált katalógussal, ingyenesen letölthető és egyben bemutatója is a tervezőinek. Kezeli az európai áfát.
Az Opigno egy Learning Management System (LMS) platform , amely terjesztést, de keretet is biztosít - a testreszabott e-learning megoldás megtervezéséhez csak külön kell letöltenie a különböző modulokat.
A Drupal a Debian GNU / linux csomagokba van integrálva, ezért integrálható a Debianból származó disztribúciókkal.
Az Open Social a Drupal 8 terjesztése közösségek, vállalati közösségi hálózatok és intranetek létrehozására.
A Drupalgardens.com webhely egy óvoda volt, amely Drupal-alapú webhelyek tárolását kínálta, és nyomógombos módban konfigurálható volt. Üzleti modellje a következő volt: az alacsony forgalmú webhelyek ingyenes megoldást kapnak, míg a nagyobb forgalmú helyszíneknek előfizetéssel kell fizetniük, hogy egy bizonyos időn túl továbbra is élvezhessék a szolgáltatást: a sávszélesség, a tagok vagy a tárolókapacitás nagysága. A támogatás Drupalgardens.com án letartóztatták 1 -jén augusztus 2016.
A Drupalról több könyv is foglalkozott: