Hva er Joomla?

Slike er dens popularitet og nytte i løpet av det siste tiåret at Joomla! regnes som en av de beste rangerte open-source CMSs over hele verden i øyeblikket. Siden starten fra Mambo CMS, har de siste ti pluss årene blitt så mye bedre at det ikke er rart at det allerede er mange priser i kitty og fortsatt teller.

Spesielt, hvis du er innenfor webutvikling, uansett hvilken teknologi du har å gjøre med, er det umulig å komme seg bort fra ordet Joomla! Hvis det er slik, er jeg sikker på at du tilhører en annen planet! Det kan høres litt overveldende, men jeg kan forsikre deg om at det er noe mer enn verdt å se på hvis du ikke har gjort det ennå for din neste innholdsløsningsløsning. Faktisk er det mer enn bare et CMS-vi diskuterer senere i denne artikkelen hva Joomla! er i stand til.

I denne artikkelen drøfter vi grundig hva Joomla! er og hvordan det kan være nyttig for dine web-baserte prosjekter. Fra og med et glimt av det grunnleggende CMS, går vi gjennom funksjonene til Joomla! gjennom hele artikkelen, og i det siste avsnittet gir jeg deg noen nyttige ressurser med referanser.

Hva er et CMS?

Et innholdsstyringssystem, referert til som et CMS, er et system som lar deg håndtere informasjon enkelt og effektivt. Informasjonen kan være noe, enten det er en enkel artikkel eller et komplekst mediahåndteringssystem. Målet med et CMS er å gi en effektiv arbeidsflyt som viser en entydig tilstand av et foretak på et gitt tidspunkt. Enkelt sagt, det tillater informasjon å passere gjennom forskjellige stater som utkast, gjennomgang, redigering og publisering.

Spesielt er det ikke-tekniske brukere som elsker å ha et slikt system til rådighet, slik at de enkelt kan organisere innhold og gjør hele prosessen glad i stedet for hektisk. I en hvilken som helst nettbasert applikasjon er det tre grunnleggende operasjoner, som mesteparten av tiden administratorer finner seg selv, utført på en gitt enhet, legg til, rediger og slett. Og det er det et CMS er designet for. Enten det tillater deg å gjøre det ved å tilby en WYSIWYG-editor, inline redigering eller noen andre fancy godbiter, er ideen å gjøre hele prosessen enkel..

Det er ikke bare organisering og administrasjon av innhold, men hvor bra det er å gi granulær tilgangskontroll til forskjellige grupper av brukere, som regnes som en av premiumfunksjonene til et hvilket som helst CMS. Det er åpenbart at du vil dele opp ansvaret over ulike roller som forfatter, redaktør og utgiver. Levering av innholdsversjonering er også noe du ønsker å holde øynene på, da det gjør at du kan rulle tilbake artikler hvis ting ikke går som forventet.

I sin mest grunnleggende form kan den typiske arbeidsflyten til et hvilket som helst CMS være noe som:

  • Forfatteren starter en samtale ved å opprette en artikkel, og standardstatusen til en artikkel er utkast på dette tidspunktet. Vanligvis tar det et par iterasjoner for en artikkel å bli byttet fra utkast til anmeldelse status.
  • Anmelder er gitt tillatelse til å få tilgang til alle artiklene som har status satt til anmeldelse. Igjen, det tar en bevisst innsats fra anmelderen å gå gjennom dem og videresende dem til redaktører dersom de oppfyller visse retningslinjer som er en  for en artikkel å bytte fra anmeldelse til redigering status. Selvfølgelig kunne anmelderen sende dem tilbake til utkast status ved å forlate passende kommentarer dersom det forventes en forbedring fra forfatteren.
  • Går gjennom alle artiklene i redigering status og beautifying dem med siste berøringer er noe som forventes fra redaktøren i deres daglige rutine. De er også ansvarlige for å skape innhold fra redigering til publisere kø.
  • Endelig er det utgiverens jobb å sørge for at innholdet sitter i publisere køen får riktig behandling ved å planlegge sin publisering i fronten.

Generelt sett er det som er nevnt ovenfor en av de mest enkle ennåEffektive brukssaker man kunne følge med. For ikke å nevne at i den virkelige verden vil du oppleve mer komplekse arbeidsflyter ledsaget av rike funksjoner som tagging, sosial deling og kommentere, for å nevne noen få.

Så det er en rask og forhåpentligvis nyttig introduksjon av hva et CMS-system kan se ut. Fra neste avsnitt og videre fokuserer vi på hovedfeltet i denne artikkelen, Joomla !, som er noe jeg lovte, vil vi utforske gjennom denne artikkelen.

Joomla! -En Award-Winning CMS

Siden starten i 2005, Joomla! har utviklet seg gjennom årene, og sluttresultatet er en av de mest kraftfulle og funksjonsrike CMSene, lastet ned av millioner av brukere. Som de sier, er det virkelig et fellesskapsbasert CMS, drevet av og for samfunnet! For ethvert open-source-prosjekt, som med Joomla!, Er støtten fra samfunnsmedlemmer en viktig faktor i prosjektets utholdenhet og bærekraftighet.

Joomla! er bygget ved hjelp av noen av de mest brukte webteknologiene som PHP, MySQL og Apache. Når det er sagt, er det ikke bare begrenset til de nevnte teknologiene, det støtter også andre populære databaser og webservere. Du kan velge mellom enten SQL Server eller PostgreSQL i stedet for MySQL-databasemotoren hvis du foretrekker å gjøre det. På den annen side er Microsoft IIS og NGINX kandidater for valg av webserver sammen med Apache.

For utviklere, Joomla! er bygget ved hjelp av MVC designmønsteret, et populært mønster som brukes av mange andre rammer allerede. Selv om diskusjonen om MVC-designmønsteret er noe utenfor omfanget av denne opplæringen, gir det en adskillelse av bekymringer, slik at utvikleren kan konsentrere seg mer om utvikling enn å bekymre seg for hvordan det ville se ut i frontenden.

Det er ingen overraskelse at den nyeste store versjonen av Joomla! er lydhør overfor boksen og mobil først, da det er umulig å ignorere det, og det kan være kostbart for alle rammer som gjorde det. Som å skrive dette, Joomla! 3.4.x støtter PHP 5.5 + versjon, men ikke PHP 7. Men utgivelsen av den mye etterlengtede versjonen Joomla! 3,5 er rundt hjørnet, og det hevder å støtte PHP 7, som vil bli et stort ytelsesforbedring nativt, hvis eksperter skal troes.

Så, hvis det var en oversikt over hva Joomla! handler om, følgende liste fremhever noen av de konkrete funksjonene du har ventet på, hvilket skip med Joomla! kjernen selv.

  • Utstyr for innholdshåndtering utenom boksen
  • innholdsorganisasjon ved hjelp av nestet nivå av kategorier
  • innholdsversjonering og merking
  • mediehåndtering
  • brukeradministrasjon
  • kraftig ACL-system (Access Control Lists)
  • smart søkefunksjon for nettsideomfattende gratis tekstsøk
  • RSS-feeder
  • flerspråklige funksjoner
  • responsivt og mobil-vennlig grensesnitt

Selvfølgelig er det umulig å diskutere hver eneste detalj i detalj i en enkelt artikkel, så for de nysgjerrige brukerne vil jeg legge igjen nyttige ressurser på slutten av denne artikkelen.

Joomla! - Behold CMS World

Du er på feil side av bordet hvis du tror at Joomla! er bare nyttig for innholdshåndtering, da du vil bli overrasket over å høre at det er mer enn 7000 utvidelser tilgjengelig på den offisielle JED-siden (Joomla Extensions Directory), og gir funksjoner som spenner fra en enkel bilgalleriløsning til en fullverdig bestilling og reservasjonsstyringssystem. Faktisk er det en stor mulighet for at utvidelsen du ønsker å utvikle på egen hånd, allerede er tilgjengelig på JED!

Den utvidbare arkitekturen til Joomla! gjør tilpasset utvidelsesutvikling en bris. Leter du etter et system som fungerer som en blogg? Kanskje ditt nye venture krever at du bygger et nytt YouTube-system, eller du prøver å bygge neste Facebook! JED gir utvidelser for hver av de nevnte krav.

La oss få et glimt av luksusen du kan ha hvis du velger Joomla! som din løsning:

  • et komplett mediehåndteringssystem
  • e-handelsløsninger
  • portaler med fellesskapsfunksjoner som sosial deling, kommentering, tagging og lignende
  • online reservasjon og bestillingssystemer
  • Classifieds løsninger
  • arrangementskalender og RSVP type systemer
  • forretningskataloger
  • pedagogiske og offentlige nettsteder
  • porteføljesystemer

Det er bare for å nevne noen, da det er veldig vanskelig å liste hver mulighet. Som de sier, er begrensningen din fantasi - så sant for Joomla!

Joomla! som en webramme

I den daglige Joomla! utvikling, det er tider når du føler at du ville ha ønsket å trekke en viss del av rammen, for eksempel ruting-API, i stedet for en hel masse CMS-funksjoner som er foreldet for det aktuelle prosjektet. For en enkel PHP-basert applikasjon, ville det være fint å ha de utvalgte funksjonene fra rammen som passer best til din søknad, i stedet for en hel CMS.

For eksempel, si at du vil bygge en tjeneste som avslører Joomla! data til en tredjeparts mobilapplikasjon. For å oppnå det er det helt greit å lage en tilpasset utvidelse som oppfyller ønsket funksjonalitet, men med ekstra bagasje av de uønskede CMS-funksjonene i ditt tilfelle. I stedet, det du ville elsket å gjøre, er å velge APIene for ditt behov ved å unngå resten av funksjonene, og sluttproduktet er et super lett webprogram.

Det er formålet med Joomla! Framework, tidligere kjent som Joomla! Plattform. Det lar deg bygge et program ved hjelp av et kjent sett med APIer, hvis du kommer fra Joomla! CMS bakgrunn. Den gir et felles sett med APIer, som med de andre PHP-rammene, slik at du kan konsentrere deg mer om applikasjonsspesifikke funksjoner enn å gjenoppfinne hjulet for funksjoner som inngangshåndtering, databaseabstraksjonslag, ruting og lignende.

Det er på ingen måte å forveksle med Joomla! CMS, da det er en egen utviklinglinje for begge deler av programvaren. Hovedidéen er å avkoble programvarepakkerne i separate moduler, i stedet for å knytte dem til en enkelt pakke, slik at de kan utvikle seg selv. Faktisk kan du tenke på Joomla! CMS som en kombinasjon av Joomla! Ramme- og CMS-moduler.

Et lovende eksempel på Joomla! Ramme er Issue Tracker bruk av Joomla! CMS selv. På samme måte kan du bygge et hvilket som helst webprogram med det du ville ha bygget med andre PHP-baserte rammer. Utforsk det og jeg er sikker på at det er noe det har å tilby for alle.

Joomla! -En rask blikk på de store elementene

I denne delen diskuterer vi de viktige elementene i Joomla! arkitektur som fungerer som grunnleggende byggesteiner i enhver applikasjon.

komponenter

Dette er et av de viktigste og et must-have-element i stabelen som gir den komplette funksjonaliteten til en bestemt seksjon. Det gir deg mulighet til å lage en base som omhandler forretningslogikken til et program. Det er også et av elementene som utvider Joomla!, Vil du gjerne introdusere nye funksjoner.

Hvis du for eksempel vil bygge et firmakatalogapplikasjon, bør man kunne legge til, redigere og slette oppføringene fra back-end. På den annen side, i fronten skal den vise en fin liste sammen med avansert søk, personsøker og sorteringsfunksjoner. Så det er komponenten du vil bygge for å pakke inn nevnte funksjonalitet.

Som en tommelfingerregel, når du vil bygge ny funksjonalitet i Joomla!, Er det komponenten som kommer til redning.

moduler

Før jeg går videre og forklar hva en modul er i Joomla!, Vil jeg gjerne gi deg et par eksempler for å gjøre det enklere. Hvis du noen gang har besøkt Joomla! front-end, vil du se mange blokker som Logg inn, Siste artikler, Siste feeder, etc. Til din overraskelse er de Joomla! moduler tilordnet forskjellige stillinger i malen! En Joomla! Modulen er en flyttbar blokk som bygger utdataene ved å hente dataene fra komponenten, mesteparten av tiden, og viser utdataene.

plugins

Oftere enn ikke, du må endre kjernerammeadferdigheten for å oppfylle dine egendefinerte behov, og det er der plugins kommer inn i bildet. En Joomla! plugin lar deg fange visse systemdefinerte hendelser, åpner døren for tilpasning av noen av de viktige arbeidsflytene.

For eksempel, si at du vil varsle et tredjepartsprogram i tilfelle ny brukerregistrering på nettstedet ditt. Selvfølgelig er det en bestemmelse om å endre dataene som går frem og tilbake mellom hendelsesanropene.

maler

Som navnet antyder, handler det om presentasjonslaget på nettstedet ditt og hjelper deg med å strukturere nettstedet ditt. Noen ganger er det også referert til som en Joomla! tema som det gjør at du kan endre utseendet på nettstedet ditt. For å endre standardlooken til Joomla! kjerne, må du lage et tilpasset tema i henhold til Joomla! tema struktur, og det er noe du vil komme over ofte hvis du er en Joomla! utvikleren.

For ikke å nevne at den nyeste versjonen av Joomla! kommer med et responsivt tema i front-end og back-end. Det er også noe som forventes fra temadesignere også i løpet av tilpasset temautvikling.

Hva er joomla! Extensions Directory (JED)?

JED er noe du bør gjøre deg kjent med, ettersom du nok vil tilbringe litt tid der du søker etter en forlengelse for ditt formål. Det er en offisiell Joomla! nettsted som tilbyr mange utvidelser å velge mellom i form av komponenter, moduler og plugins.

Utvidelser på JED er utgitt under to typer lisensfrie og kommersielle. Som du kanskje har gjettet, blir de kommersielle utvidelsene betalt goodies, tilgjengelig enten på en abonnementsmodell eller ved å betale en engangsavgift. Som utvikler er det et område du vil ha nytte av, ved å utvikle kvalitetsutvidelser og frigjøre dem under kommersiell lisens.

Faktisk fungerer det mesteparten av tiden på den måten: Den gratis versjonen av en utvidelse er tilgjengelig med grunnleggende funksjoner, og den betalte versjonen av den samme utvidelsen forsterkes med strømfunksjoner, i form av tilleggsprogrammer i noen tilfeller. For ikke å nevne at luksusen av teknisk støtte fra utvidelsesleverandøren kommer med den kommersielle versjonen. Derfor er det en vellykket og bevist forretningsmodell for mange kommersielle tilbydere.

Når det er sagt, vil jeg ikke ta noen kreditt bort fra de kvalitetsfrie utvidelsene som tjener formålet, så vel som noen betalt utvidelse. Faktisk er det et sett av strenge standarder og regler som hver utvidelse må gå gjennom som sørger for at utvidelsene som er oppført på JED, oppfyller de ønskede kvalitetsstandardene.

Så, det er JED til din disposisjon-gjør deg komfortabel med det, og du vil være glad du gjorde det.

Hvor skal jeg begynne??

For førstegangsbrukere anbefales det alltid å installere Joomla! på ditt lokale system og undersøk funksjonene i front-end og back-end for å bli deg vant til systemet. Her er noen viktige ressurser for nybegynnere:

  • Nybegynnere Guide til Joomla!
  • Komme i gang med Joomla!
  • Joomla! for administratorer
  • Joomla! Hvordan er det

For erfarne PHP-utviklere:

  • Sett opp Joomla! arbeidsstasjon
  • Joomla! for utviklere
  • Joomla! Beste praksis

Det er et så bredt emne at du finner mange online opplæringsprogrammer og videoer til din disposisjon. Også medlemmene av Joomla! community forum er vennlig nok til å hjelpe deg med å sortere ut noen problemer.

Konklusjon

Det var gledelig å introdusere en av de mest populære open-source CMS-er innen webutvikling-Joomla! Selv om vi har knapt riper overflaten av Joomla! verden, håper jeg at jeg var i stand til å gjøre rettferdighet til emnet.

Fra en introduksjon til CMSs har vi gått gjennom de ulike aspektene av Joomla !, etterfulgt av en diskusjon av viktige arkitektoniske elementer. Vi så også på JED, og ​​jeg ga noen nyttige ressurser i den senere delen av denne artikkelen.

Ikke nøl med å se hva vi har tilgjengelig for salg og for å studere på markedet, og ikke nøl med å stille spørsmål og gi din verdifulle tilbakemelding ved hjelp av feedet under.