Ce este Joomla?

Aceasta este popularitatea și utilitatea în ultimul deceniu pe care Joomla! este considerat unul dintre CMS-urile de top open source din întreaga lume în acest moment. De la începuturile sale de la Mambo CMS, în ultimii zece ani plus, sa îmbunătățit atât de mult încât nu e de mirare că există deja numeroase premii în pisoiul său și încă numără.

Mai exact, dacă vă aflați în domeniul dezvoltării web, indiferent de tehnologia cu care vă confruntați, este imposibil să scăpați de cuvântul Joomla! Dacă este așa, sunt sigur că aparțineți unei alte planete! S-ar putea suna un pic copleșitor, dar vă pot asigura că este ceva mai mult decât merită să te uiți dacă nu ai făcut încă acest lucru pentru următoarea soluție de gestionare a conținutului. De fapt, este mai mult decât un CMS - vom discuta mai târziu în acest articol ce Joomla! este capabil de.

În acest articol, vom discuta temeinic ce Joomla! este și cum ar putea fi util pentru proiectele dvs. bazate pe web. Începând cu o privire la CMS de bază, vom trece prin caracteristicile Joomla! în tot articolul, iar în ultima secțiune vă voi lăsa câteva resurse utile cu referințe.

Ce este un CMS?

Un sistem de gestionare a conținutului, denumit CMS, este un sistem care vă permite să gestionați cu ușurință și eficient informațiile. Informația ar putea fi orice, fie că este vorba despre un articol simplu sau despre un sistem complex de gestionare a mass-media. Scopul unui CMS este de a oferi un flux de lucru eficient care să descrie starea clară a unei entități în orice moment dat. În termeni simpli, permite ca informațiile să treacă prin diferite state, cum ar fi schița, revizuirea, editarea și publicarea.

Mai exact, utilizatorii non-tehnici care iubesc să aibă un astfel de sistem la dispoziția lor, care le permite să organizeze conținutul cu ușurință și face întregul proces bucuros, mai degrabă decât agitat. În orice aplicație bazată pe web, există trei operațiuni de bază, pe care se întâmplă de cele mai multe ori administratorii, pe orice entitate dată - adăugați, editați și ștergeți. Și pentru asta este proiectat un CMS. Fie că vă permite să faceți acest lucru prin furnizarea unui editor WYSIWYG, editare inline sau alte bunuri de lux, ideea este de a face întregul proces fără efort.

Nu este vorba doar de organizarea și gestionarea conținutului, ci de cât de bun este de a oferi controlul accesului granular la diferite grupuri de utilizatori, care este considerat unul dintre caracteristicile premium ale oricărui CMS. Este evident că doriți să împărțiți responsabilitățile în diferite roluri, cum ar fi autorul, editorul și editorul. Furnizarea de versiuni de conținut este, de asemenea, ceva pe care doriți să vă păstrați ochii, deoarece vă permite să vă întoarceți articole în cazul în care lucrurile nu merg așa cum era de așteptat.

În forma sa cea mai de bază, fluxul de lucru tipic al oricărui CMS ar putea fi ceva de genul:

  • Autorul începe o conversație creând un articol, iar starea implicită a unui articol este proiect în acest moment. De obicei, este nevoie de câteva iterații pentru ca un articol să fie schimbat proiect la revizuire stare.
  • Recenzentului i se acordă permisiunea de a accesa toate articolele cu statutul setat la revizuire. Din nou, este nevoie de un efort conștient din partea recenzorului să treacă prin ele și să le transmită editorilor dacă îndeplinesc anumite orientări care sunt trebuie sa pentru ca un articol să treacă de la revizuire la editare stare. Bineînțeles, recenzentul le-ar putea trimite înapoi proiect statutul, lăsând comentarii adecvate dacă se așteaptă o îmbunătățire din partea autorului.
  • Trecând prin toate articolele din editare statutul și înfrumusețarea lor cu atingeri finale este ceva așteptat de la Editor în rutina lor de zi cu zi. De asemenea, ei sunt responsabili pentru împingerea conținutului editare la publica coadă.
  • În cele din urmă, este de datoria editorului să se asigure că conținutul conținut în publica coada primește tratamentul adecvat prin programarea publicării lor în front-end.

În general, ceea ce am enumerat mai sus este unul dintre cele mai simple încăcazuri eficiente de utilizare ar putea fi aduse. Să nu mai vorbim de faptul că în lumea reală veți vedea fluxuri de lucru mai complexe însoțite de caracteristici bogate precum etichetarea, partajarea socială și comentarea, pentru a numi câteva.

Deci, aceasta este o introducere rapidă și, sperăm, utilă a ceea ce ar putea arăta un sistem CMS. Din următoarea secțiune, ne vom concentra pe subiectul principal al acestui articol, Joomla !, ceea ce am promis că vom explora pe parcursul acestui articol.

Joomla! - un CMS câștigător de premii

De la înființarea sa în 2005, Joomla! a evoluat de-a lungul anilor, iar rezultatul final este unul dintre cele mai puternice și bogate în funcții CMS, descărcate de milioane de utilizatori. După cum se spune, este cu adevărat un CMS bazat pe comunitate, condus de și pentru comunitate! Pentru orice proiect open-source, ca și în cazul Joomla !, sprijinul acordat de membrii comunității este un factor important în persistența și sustenabilitatea proiectului.

Joomla! este construit folosind unele dintre cele mai utilizate tehnologii web, cum ar fi PHP, MySQL și Apache. Acestea fiind spuse, nu se limitează exclusiv la tehnologiile menționate mai sus - suportă și alte baze de date populare și servere web. Aveți posibilitatea să alegeți dintre SQL Server sau PostgreSQL în locul motorului bazei de date MySQL dacă preferați să faceți acest lucru. Pe de altă parte, Microsoft IIS și NGINX sunt candidați pentru alegerea serverului web împreună cu Apache.

Pentru dezvoltatori, Joomla! este construit folosind modelul de design MVC, un model popular folosit deja de o mulțime de alte cadre. Deși discuția despre modelul de proiectare MVC este ceva ce nu face parte din acest tutorial, acesta oferă o separare a preocupărilor, permițând astfel dezvoltatorului să se concentreze mai mult asupra dezvoltării decât să se îngrijoreze cum ar arăta în front-end.

Nu este o surpriză faptul că cea mai recentă versiune majoră a Joomla! este receptiv în afara casetei și mobil, mai întâi, fiind imposibil de ignorat în zilele noastre și ar putea fi costisitoare pentru orice cadru care a făcut acest lucru. De la scris acest lucru, Joomla! 3.4.x suportă versiunea PHP 5.5+, dar nu și PHP 7. Cu toate acestea, lansarea versiunii mult așteptate Joomla! 3.5 este la colț și susține că sprijină PHP 7, care va reprezenta un imens stimulent de performanță nativ, dacă se crede experți.

Deci, dacă aceasta a fost o prezentare generală la nivel înalt a ceea ce Joomla! este vorba despre, următoarea listă evidențiază unele dintre caracteristicile concrete pe care le-ați așteptat, care se livrează împreună cu Joomla! în sine.

  • out-of-the-box caracteristici de gestionare a conținutului
  • organizație de conținut utilizând un nivel imbricat de categorii
  • conținutul și etichetarea conținutului
  • gestionarea media
  • managementul utilizatorilor
  • un sistem ACL puternic (liste de control al accesului)
  • funcția de căutare inteligentă pentru căutarea la nivel de site liber
  • Feed-uri RSS
  • facilități multilingve
  • interfață responsabilă și mobilă

Desigur, este imposibil să discutăm fiecare detaliu într-un singur articol, astfel încât pentru acei utilizatori curioși voi lăsa câteva resurse utile la sfârșitul acestui articol.

Joomla! - Depășiți lumea CMS

Ești în partea greșită a mesei dacă crezi că Joomla! este utilă doar pentru gestionarea conținutului, deoarece veți fi surprins să auziți că există peste 7 000 de extensii disponibile pe site-ul oficial JED (Joomla Extensions Directory), oferind caracteristici care variază de la o simplă soluție de galerie de imagini la o rezervare completă și sistemul de gestionare a rezervelor. De fapt, există o mare posibilitate ca extinderea pe care doriți să o dezvoltați pe cont propriu este deja disponibilă pe JED!

Arhitectura extensibilă a Joomla! face dezvoltarea extensiilor personalizate o briză. Căutați un sistem care să servească drept blog? Poate că noul tău venture necesită construirea unui nou tip de sistem YouTube sau încerci să construiești următorul Facebook! JED oferă extensii pentru fiecare dintre cerințele menționate mai sus.

Să aruncăm o privire asupra luxului pe care îl puteți avea dacă alegeți Joomla! ca soluție:

  • un sistem de management media cu drepturi depline
  • soluții de comerț electronic
  • portaluri cu caracteristici ale comunității, cum ar fi partajarea socială, comentarea, etichetarea și altele asemenea
  • sisteme de rezervare și rezervare online
  • soluții clasificate
  • calendarul evenimentelor și sistemele RSVP
  • directoare de afaceri
  • site-uri educaționale și guvernamentale
  • portofoliu

Numai câteva, pentru că este foarte dificil să enumerăm fiecare posibilitate. Așa cum se spune, limitarea este imaginația ta - atât de adevărată pentru Joomla!

Joomla! ca Web Framework

În fiecare zi Joomla! dezvoltare, există momente când simțiți că ați fi vrut să trageți o anumită parte a cadrului, de exemplu, API-ul de rutare, mai degrabă decât o grămadă de caracteristici CMS care sunt depășite pentru acel proiect. Pentru o aplicație bazată pe PHP simplu, ar fi bine să aveți acele caracteristici selectate din cadrul care este cel mai potrivit pentru aplicația dvs., mai degrabă decât un întreg CMS.

De exemplu, spuneți că doriți să construiți un serviciu care expune Joomla! datele către o aplicație mobilă terță parte. Pentru a realiza acest lucru, este bine să faceți o extensie personalizată care să îndeplinească funcționalitatea dorită, dar cu bagajul suplimentar al acelor funcții CMS nedorite în cazul dumneavoastră. În schimb, ceea ce ați fi plăcut să faceți este să selectați API-urile nevoilor dvs., evitând restul caracteristicilor, iar produsul final este o aplicație web super-ușoară.

Acesta este scopul lui Joomla! Framework, cunoscut mai devreme ca Joomla! Platformă. Acesta vă permite să construiți o aplicație utilizând un set familiar de API-uri, dacă veniți din Joomla! CMS fundal. Acesta oferă un set comun de API-uri, la fel ca și celelalte cadre PHP, permițându-vă să vă concentrați mai mult pe caracteristicile specifice aplicației, decât pe reinventarea roții pentru caracteristici cum ar fi manipularea intrărilor, stratul de abstractizare a bazei de date, rutarea și altele.

În nici un caz nu trebuie să fii confundat cu Joomla! CMS, deoarece există o linie separată de dezvoltare pentru ambele tipuri de software. Ideea principală este decuplarea pachetelor software în module separate, în loc să le legăm într-un singur pachet, permițându-le să evolueze singure. De fapt, te-ai putea gândi la Joomla! CMS ca o combinație a Joomla! Cadru și module CMS.

Un exemplu promițător de Joomla! Cadrul este Detector de probleme aplicarea Joomla! CMS în sine. În același mod, puteți construi orice aplicație web pe care ați fi construit-o cu orice alt cadru bazat pe PHP. Explorați-o și sunt sigur că este ceva de oferit pentru toată lumea.

Joomla! - o privire rapidă la elementele majore

În această secțiune, vom discuta despre elementele importante ale Joomla! arhitectură care servesc drept elemente de bază în orice aplicație.

Componente

Acesta este unul dintre cele mai importante și trebuie să aibă un element în stivă care oferă funcționalitatea completă a oricărei secțiuni specifice. Acesta vă permite să creați o bază care să se ocupe de logica de afaceri a unei aplicații. De asemenea, este unul dintre elementele care extind Joomla !, dacă doriți să introduceți noi caracteristici.

De exemplu, dacă doriți să creați o aplicație de director de afaceri, ar trebui să puteți adăuga, edita și șterge înregistrările din back-end. Pe de altă parte, în front-end ar trebui să afișeze o listă frumoasă împreună cu funcții de căutare avansată, pager și sortare. Deci, este componenta pe care doriți să o construiți pentru a înfășura funcționalitatea menționată mai sus.

De regulă, ori de câte ori doriți să construiți noi funcții în Joomla !, este componenta care vine la salvare.

module

Înainte de a merge mai departe și de a explica modul în care un modul este în Joomla !, aș vrea să vă dau câteva exemple pentru a face lucrurile mai ușoare. Dacă ați vizitat vreodată Joomla! front-end, veți vedea o mulțime de blocuri, cum ar fi Login, Ultimele articole, Ultimele postări, etc. Spre surprinderea dvs., acestea sunt Joomla! modulele atribuite diferitelor poziții din șablon! Un Joomla! modulul este un bloc mobil care construiește ieșirea prin preluarea datelor din componentă, de cele mai multe ori, și afișează ieșirea.

Plugin-uri

De cele mai multe ori, va trebui să schimbați comportamentul cadrului de bază pentru a-ți îndeplini nevoile personalizate, și asta este locul în care plugurile intră în imagine. Un Joomla! plugin-ul vă permite să capturați anumite evenimente definite de sistem, deschizând ușa pentru personalizarea unor fluxuri de lucru importante.

De exemplu, spuneți că doriți să notificați o aplicație terță parte în cazul în care pe site-ul dvs. este înregistrată o nouă înregistrare. Desigur, există o prevedere pentru a modifica datele care tranzitează înainte și înapoi între apelurile la eveniment.

Template-uri

După cum sugerează și numele, se ocupă de stratul de prezentare al site-ului dvs. și vă ajută să structurați aspectul site-ului dvs. web. Uneori este denumit și Joomla! temă, deoarece vă permite să modificați aspectul site-ului dvs. Pentru a schimba aspectul implicit al Joomla! core, trebuie să faceți o temă personalizată ca pe Joomla! tema structura, și că este ceva pe care veți întâlni frecvent dacă sunteți un Joomla! dezvoltator.

Să nu mai vorbim că cea mai recentă versiune de Joomla! vine cu o temă receptivă în front-end și back-end. De asemenea, este ceva de așteptat de la designeri temă, precum și în cursul dezvoltării temelor personalizate.

Ce este Joomla! Directory Extensions (JED)?

JED este ceva de care ar trebui să vă familiarizați, pentru că, probabil, veți petrece destul de puțin timp acolo căutând o extensie pentru scopul dvs. Este un oficial Joomla! site care oferă o mulțime de extensii pentru a alege sub forma de componente, module și pluginuri.

Extensiile la JED sunt lansate sub două tipuri de licențe și comerciale. După cum probabil ați ghicit, extensiile comerciale sunt bunuri plătite, disponibile fie pe baza unui model de abonament, fie prin plata unei taxe unice. În calitate de dezvoltator, este o zonă în care doriți să beneficiați, dezvoltând extensii de calitate și eliberându-i pe cei care beneficiază de licență comercială.

De fapt, de cele mai multe ori funcționează în acest fel: versiunea gratuită a unei extensii este disponibilă cu caracteristici de bază, iar versiunea plătită a aceleiași extensii este susținută cu funcții de alimentare, în unele cazuri, sub formă de add-on-uri. Să nu mai vorbim că luxul de suport tehnic de la furnizorul de servicii de extindere vine cu versiunea comercială. Prin urmare, este un model de afaceri de succes și dovedit pentru mulți furnizori de extensii comerciale.

Acestea fiind spuse, nu voi lua nici un credit de la acele prelungiri gratuite care servesc scopului, precum și orice prelungire plătită. De fapt, este vorba de un set de standarde și reguli stricte pe care fiecare extindere trebuie să treacă prin aceea că asigură că extensiile listate pe JED respectă standardele de calitate dorite.

Deci, asta e JED la dispoziția ta - te simți confortabil cu asta și vei fi bucuros că ai făcut asta.

Unde ar trebui să încep?

Pentru utilizatorii pentru prima dată, este recomandat întotdeauna să instalați Joomla! pe sistemul dvs. local și explorați caracteristicile din partea frontală și din spate pentru a vă obișnuiți cu sistemul. Iată câteva resurse importante pentru începători:

  • Ghidul începătorilor pentru Joomla!
  • Noțiuni de bază cu Joomla!
  • Joomla! pentru administratori
  • Joomla! Cum să

Pentru dezvoltatorii PHP experimentați:

  • Configurați-vă Joomla! Stație de lucru
  • Joomla! pentru dezvoltatori
  • Joomla! Cele mai bune practici

Este un subiect atât de larg încât veți găsi o mulțime de tutoriale online și clipuri video la dispoziția dumneavoastră. De asemenea, membrii Joomla! forumul comunității este suficient de prietenos pentru a vă ajuta să rezolvați orice problemă.

Concluzie

A fost plăcerea mea să introduc unul dintre cele mai populare CMS-uri open source în domeniul dezvoltării web-Joomla! Deși am zgâriat abia suprafața Joomlei! lume, sper că am reușit să fac dreptate subiectului.

Începând cu o introducere în CMS, am trecut prin diferitele aspecte ale lui Joomla !, urmate de o discuție despre elementele arhitecturale importante. De asemenea, ne-am uitat la JED și am furnizat câteva resurse utile în ultima parte a acestui articol.

Nu ezitați să vedeți ce avem la dispoziție pentru vânzare și pentru a studia pe piață și nu ezitați să întrebați întrebări și să oferiți feedback-ul dvs. valoros utilizând feedul de mai jos.

Cod