Vad är Joomla?

Sådan är dess popularitet och användbarhet under det senaste decenniet att Joomla! anses vara en av de mest rankade open-source CMSs över hela världen för närvarande. Sedan starten av Mambo CMS, har de under de senaste tio plus åren förbättrats så mycket att det inte är konstigt att det finns gott om utmärkelser i sin kitty redan och räknar fortfarande med.

Specifikt, om du är inom webbutveckling, oavsett vilken teknik du har att göra med, är det omöjligt att komma ifrån ordet Joomla! Om det är så är jag säker på att du tillhör någon annan planet! Det kan låta lite överväldigande, men jag kan försäkra dig om att det är något mer än värt att titta på om du inte har gjort det ännu för din nästa innehållshanteringslösning. Det är faktiskt mer än bara ett CMS-vi diskuterar senare i den här artikeln, vilken Joomla! är kapabel till.

I den här artikeln diskuterar vi grundligt vad Joomla! är och hur det kan vara användbart för dina webbaserade projekt. Börja med en glimt av det grundläggande CMS, vi går igenom funktionerna i Joomla! genom hela artikeln, och i det sista avsnittet lämnar du dig med några användbara resurser med referenser.

Vad är en CMS?

Ett innehållshanteringssystem, kallat ett CMS, är ett system som låter dig hantera information enkelt och effektivt. Informationen kan vara något, oavsett om det är en enkel artikel eller ett komplext mediahanteringssystem. Målet med ett CMS är att tillhandahålla ett effektivt arbetsflöde som visar ett företags tydliga tillstånd vid vilken tidpunkt som helst. Enkelt uttryckt tillåter det information att passera genom olika stater som utkast, granskning, redigering och publicering.

Speciellt är det icke-tekniska användare som älskar att ha ett sådant system till sitt förfogande, så att de enkelt organiserar innehåll och gör hela processen glatt snarare än hektisk. I alla webbaserade applikationer finns tre grundläggande operationer, som det mesta administratören befinner sig i, utförs på vilken som helst enhet, lägg till, redigera och ta bort. Och det är vad ett CMS är utformat för. Oavsett om det tillåter dig att göra det genom att tillhandahålla en WYSIWYG-redigerare, inline redigering eller några andra snygga godsaker, är tanken att göra hela processen oanvändbar.

Det är inte bara organisation och hantering av innehåll, men hur bra är det att tillhandahålla granulär åtkomstkontroll till olika användargrupper, som anses vara en av de bästa egenskaperna hos ett CMS. Det är uppenbart att du vill dela upp ansvaret i olika roller som författare, redaktör och utgivare. Tillhandahållandet av innehållsversionering är också något du vill hålla ögonen på eftersom det låter dig rulla tillbaka artiklar om saker inte går som förväntat.

I sin mest grundläggande form kan det typiska arbetsflödet för något CMS vara något som:

  • Författaren startar en konversation genom att skapa en artikel och standardstatus för en artikel är förslag vid denna tidpunkt. Vanligtvis tar det ett par iterationer för att en artikel ska komma över från förslag till recension status.
  • Anmälan beviljas tillstånd att få tillgång till alla artiklar som har status som inställd recension. Igen tar det en medveten insats från granskaren att gå igenom dem och vidarebefordra dem till redaktörer om de uppfyller vissa riktlinjer som är a måste för en artikel att byta från recension till redigering status. Självklart kan granskaren skicka dem tillbaka till förslag status genom att lämna lämpliga kommentarer om en förhoppning förväntas av författaren.
  • Går igenom alla artiklar i redigering status och försköna dem med sista handen är något som förväntas av redaktören i sin dagliga rutin. De är också ansvariga för att driva innehåll från redigering till publicera kö.
  • Slutligen är det utgivarens jobb att se till att innehållet sitter i publicera kö får rätt behandling genom att schemalägga sin publicering i fronten.

Generellt sett är det som vi har listat ovan en av de enklaste änEffektiva användningsfall som man kunde följa. För att inte nämna att i den verkliga världen kommer du att vara medveten om mer komplexa arbetsflöden tillsammans med rika funktioner som taggning, social delning och kommentering, för att nämna några.

Så det är en snabb och förhoppningsvis användbar introduktion av vad ett CMS-system skulle kunna se ut. Från nästa avsnitt framåt fokuserar vi på huvudämnet i den här artikeln, Joomla !, som är något jag lovade vi kommer att undersöka i hela denna artikel.

Joomla! -En Award-Winning CMS

Sedan starten 2005 återvände Joomla! har utvecklats under åren, och slutresultatet är en av de mest kraftfulla och funktionsrika CMS-er, som hämtas av miljontals användare. Som de säger är det verkligen ett community-baserat CMS, drivs av och för samhället! För alla open source-projekt, som med Joomla!, Är stöd från medlemmar i samhället en viktig faktor i projektets uthållighet och hållbarhet.

Joomla! är byggt med hjälp av några av de mest använda webbteknikerna som PHP, MySQL och Apache. Med detta sagt är det inte bara begränsat till ovannämnda teknologier, det stöder också andra populära databaser och webbservrar. Du kan välja mellan SQL Server eller PostgreSQL istället för MySQL-databasmotorn om du föredrar att göra det. Å andra sidan är Microsoft IIS och NGINX kandidater för valet av webbserver tillsammans med Apache.

För utvecklare, Joomla! är byggt med MVC designmönster, ett populärt mönster som används av många andra ramverk redan. Även om diskussion av MVC-designmönstret är något utanför ramen för denna handledning, ger det en uppdelning av problem, vilket gör det möjligt för utvecklaren att koncentrera sig mer på utveckling än att oroa sig för hur det skulle se ut i fronten.

Det är ingen överraskning att den senaste stora versionen av Joomla! är lyhörd utifrån lådan och mobilen först, eftersom det idag är omöjligt att ignorera det, och det kan vara dyrt för alla ramar som gjorde det. När du skriver detta, Joomla! 3.4.x stöder PHP 5.5 + version men inte PHP 7. Men frisläppandet av den mycket efterlängtade versionen Joomla! 3,5 är runt hörnet, och det hävdar att stödja PHP 7, vilket kommer att bli en enorm prestationsökning nationellt, om experter ska tros.

Så, om det var en överblick över vad Joomla! handlar om, följande lista belyser några av de konkreta funktionerna du har väntat på, vilket skepp med Joomla! själva kärnan.

  • Utanför innehållet hanteringsfunktioner
  • innehållsorganisation med nestad nivå av kategorier
  • innehållsversion och märkning
  • mediahantering
  • Användarhantering
  • kraftfulla ACL-system (Access Control Lists)
  • smart sökfunktion för webbplatsbredd gratis text sökning
  • RSS-flöden
  • flerspråkiga funktioner
  • responsivt och mobilvänligt gränssnitt

Naturligtvis är det omöjligt att diskutera varje enskild funktion i detalj i en enda artikel, så för de nyfikna användarna lämnar jag några användbara resurser i slutet av denna artikel.

Joomla! -Bara CMS World

Du är på fel sida om du tror att Joomla! är bara användbar för innehållshantering, eftersom du kommer bli förvånad att höra att det finns mer än 7000 tillägg tillgängligt på den officiella JED-webbplatsen (Joomla Extensions Directory), som erbjuder funktioner som sträcker sig från en enkel bildgalleri till en fulländad bokning och reservation management system. I själva verket finns det en stark möjlighet att förlängningen du vill utveckla på egen hand redan finns tillgänglig på JED!

Joomla! gör anpassad förlängningsutveckling en vind. Letar du efter ett system som fungerar som en blogg? Kanske kräver ditt nya företag att du bygger ett nytt YouTube-system, eller du försöker bygga nästa Facebook! JED tillhandahåller förlängningar för var och en av de ovan nämnda kraven.

Låt oss få en glimt av den lyx du kan ha om du väljer Joomla! som din lösning:

  • ett komplett mediehanteringssystem
  • e-handelslösningar
  • portaler med gemenskapsfunktioner som social delning, kommentering, taggning och liknande
  • online boknings- och bokningssystem
  • classifieds lösningar
  • händelsekalender och RSVP-typ av system
  • företagskataloger
  • pedagogiska och offentliga webbplatser
  • portföljsystem

Det är bara för att nämna några, eftersom det är mycket svårt att lista varje möjlighet. Som de säger är begränsningen din fantasi - så sant för Joomla!

Joomla! som en webbram

I den dagliga Joomla! utveckling, det finns tillfällen då du känner att du skulle ha velat dra en viss del av ramen, exempelvis routing API, i stället för en hel massa CMS-funktioner som är föråldrade för det aktuella projektet. För en enkel PHP-baserad applikation skulle det vara trevligt att ha de valda funktionerna från det ramverk som passar din ansökan snarare än en hel CMS.

Till exempel, säg att du vill bygga en tjänst som exponerar Joomla! data till en tredje parts mobilapplikation. För att uppnå det är det helt bra att göra en anpassad tillägg som uppfyller önskad funktionalitet, men med extra bagage av de oönskade CMS-funktionerna i ditt fall. I stället skulle du ha älskat att välja API: erna för ditt behov genom att undvika resten av funktionerna och slutprodukten är ett superlätt webbprogram.

Det är Joomla! Framework, tidigare känd som Joomla! Plattform. Det låter dig bygga en applikation med en välkänd uppsättning API, om du kommer från Joomla! CMS bakgrund. Det ger en gemensam uppsättning API, som med de andra PHP-ramarna, så att du kan koncentrera mer på de applikationsspecifika funktionerna istället för att återuppfinna hjulet för funktioner som ingångshantering, databasabstraktionslager, routing och liknande.

Det är inte på något sätt att förväxla med Joomla! CMS, eftersom det finns en separat utvecklingslinje för båda programvarorna. Huvudsidan är att avkalla programvarupaketet i separata moduler, snarare än att binda dem i ett enda paket, så att de kan utvecklas på egen hand. Faktum är att du kan tänka på Joomla! CMS som en kombination av Joomla! Ram- och CMS-moduler.

Ett lovande exempel på Joomla! Ramverket är Issue Tracker tillämpning av Joomla! CMS själv. På samma sätt kan du bygga alla webbapplikationer med det som du skulle ha byggt med någon annan PHP-baserad ram. Utforska det och jag är säker på att det finns något det har att erbjuda för alla.

Joomla! -En snabb blick på de viktigaste elementen

I det här avsnittet diskuterar vi de viktiga delarna av Joomla! Arkitektur som fungerar som grundläggande byggstenar i alla tillämpningar.

Komponenter

Detta är ett av de viktigaste och ett måste-elementet i stapeln som ger fullständig funktionalitet för en viss sektion. Det låter dig skapa en bas som handlar om en företags logik. Det är också ett av de element som utökar Joomla!, Om du vill presentera några nya funktioner.

Om du till exempel vill bygga en företagskatalogapplikation bör man kunna lägga till, redigera och ta bort posterna från back-end. Å andra sidan, i fronten ska den visa en fin lista tillsammans med avancerad sökning, personsökare och sorteringsfunktioner. Så det är den komponent du vill bygga för att pakka in den ovannämnda funktionaliteten.

Som en tumregel, när du vill bygga någon ny funktionalitet i Joomla!, Är det den komponent som kommer till räddningen.

moduler

Innan jag går vidare och förklarar vad en modul är i Joomla!, Skulle jag vilja ge dig några exempel för att göra det enklare. Om du någonsin har besökt Joomla! front-end ser du många block som Login, Senaste artiklar, Senaste flöden etc. Till din förvåning är de Joomla! moduler tilldelade olika positioner i mallen! En Joomla! modulen är ett rörligt block som bygger utmatningen genom att hämta data från komponenten, mestadels och visar utdata.

plugins

Ofta behöver du inte ändra det grundläggande rambeteendet för att uppfylla dina anpassade behov, och det är där plugins kommer in i bilden. En Joomla! plugin kan du fånga vissa systemdefinierade händelser och öppna dörren för anpassning av några viktiga arbetsflöden.

Till exempel, säg att du skulle vilja meddela ett program från tredje part om ny användarregistrering finns på din webbplats. Självklart finns det en bestämmelse för att ändra de data som övergår fram och tillbaka mellan händelsekallarna.

mallar

Som namnet antyder handlar det om presentationsskiktet på din webbplats och hjälper till att strukturera din webbplatslayout. Ibland kallas det också som en Joomla! tema eftersom det gör att du kan ändra utseendet på din webbplats. För att ändra standardutseendet på Joomla! kärna måste du göra ett anpassat tema enligt Joomla! tematrukturen, och det är något som du kommer att stöta på ofta om du är en Joomla! utvecklare.

För att inte nämna att den senaste versionen av Joomla! kommer med ett lyhörd tema i front-end och back-end. Det är också något som förväntas av tematekniker också under utveckling av anpassade teman.

Vad är Joomla! Extensions Directory (JED)?

JED är något som du bör göra dig bekant med, eftersom du förmodligen kommer att spendera ganska lite tid där du letar efter en förlängning för ditt syfte. Det är en officiell Joomla! webbplats som erbjuder massor av tillägg att välja mellan i form av komponenter, moduler och plugins.

Utvidgningar vid JED frigörs under två typer av licensfria och kommersiella. Som du kanske har gissat betalas de kommersiella tilläggen godisar, tillgängliga antingen på en prenumerationsmodell eller genom att betala en engångsavgift. Som utvecklare är det ett område du vill dra nytta av, genom att utveckla kvalitetsförlängningar och släppa dem under kommersiell licens.

Faktum är att det oftast fungerar så här: den fria versionen av en förlängning är tillgänglig med grundläggande funktioner, och den betalda versionen av samma tillägg ökar med kraftfunktioner i form av tillägg i vissa fall. För att inte tala om att lyxen av teknisk support från tjänsteleverantören kommer med den kommersiella versionen. Det är därför en framgångsrik och beprövad affärsmodell för många kommersiella leverantörer.

Med detta sagt kommer jag inte ta någon kredit bort från de kvalitetsfria tillägg som tjänar ändamålet såväl som någon betald förlängning. Faktum är att det är en uppsättning strikta normer och regler som varje förlängning måste gå igenom som gör att de tillägg som anges på JED uppfyller de önskade kvalitetsstandarderna.

Så, det är JED till ditt förfogande-gör dig bekväm med det och du kommer att vara glad att du gjorde det.

Var ska jag börja?

För första gången är det alltid rekommenderat att installera Joomla! på ditt lokala system och utforska funktionerna i front-end och back-end för att du ska vara van vid systemet. Här är några viktiga resurser för nybörjare:

  • Nybörjarguide till Joomla!
  • Komma igång med Joomla!
  • Joomla! för administratörer
  • Joomla! Hur är det?

För erfarna PHP-utvecklare:

  • Ställ in din Joomla! Arbetsstation
  • Joomla! för utvecklare
  • Joomla! Bästa praxis

Det är så stort ämne att du hittar massor av online handledning och videor till ditt förfogande. Även medlemmarna i Joomla! community forum är vänliga nog att hjälpa dig att sortera ut några problem.

Slutsats

Det var nöjet att introducera en av de mest populära open source-CMS-erna inom webbutveckling-Joomla! Även om vi knappt har repat Joomla! världen hoppas jag att jag kunde göra rättvisa till ämnet.

Från och med en introduktion till CMS, har vi gått igenom de olika aspekterna av Joomla !, följt av en diskussion om viktiga arkitektoniska element. Vi tittade också på JED, och jag gav några användbara resurser i den senare delen av denna artikel.

Tveka inte att se vad vi har till salu och studera på marknaden, och tveka inte att fråga några frågor och ge din värdefulla feedback genom att använda foderet nedan.