ProcessWire

Wikipedia
Loikkaa: valikkoon, hakuun
ProcessWire
Kehittäjä Ryan Cramer
Kehityshistoria
Vakaa versio 2.4[1] / 11. helmikuuta 2014
Tiedot
Ohjelmistotyyppi Sisällönhallinta
Alusta Alustariippumaton
Lisenssi GPL
Verkkosivu processwire.com

ProcessWire on avoimeen lähdekoodiin perustuva PHP-kielellä toteutettu sisällönhallintajärjestelmä / Content Management Framework joka on suunniteltu toimimaan Apache-palvelinohjelman päällä ja hyödyntää sisällön säilömiseen MySQL-tietokantaa. ProcessWiren kehityksessä päällimmäisenä ohjenuorana on ollut mahdollisimman joustavan ja helppokäyttöisen alustan tarjoaminen verkkosivustojen kehittäjille ja suunnittelijoille.[2]

Virallisesti ProcessWire tukee alustana Apache + PHP + MySQL-yhdistelmää[3], mutta epävirallisten, kolmannen osapuolen muutosten ja ohjeiden avulla sen on todettu toimivan myös nginx-[4] ja IIS[5] -palvelinohjelmistojen päällä sekä tukevan oletuksena MariaDB-tietokantaa[6].

Historia[muokkaa | muokkaa wikitekstiä]

ProcessWire nykymuodossaan (versio 2.0 ja tätä uudemmat) perustuu löyhästi aiempaan, samaa nimeä kantaneeseen ProcessWire 1.0[7] -järjestelmään (2007) sekä vielä vanhempaan Dictator CMS[8] -järjestelmään (2003.)

Kaikkien kolmen järjestelmän väliltä löytyy samankaltaisia piirteitä niin toimintalogiikasta, arkkitehtuurista kuin käyttökokemuksenkin osalta, minkä lisäksi kaikkien kolmen pääkehittäjänä on toiminut yksi ja sama henkilö, Ryan Cramer. ProcessWiren 2:n edeltäjiä ei kuitenkaan koskaan virallisesti julkaistu avoimena lähdekoodina.[2]

Vuonna 2012 sisällönhallintajärjestelmiä käsittelevä verkkolehti CMS Critic valitsi ProcessWiren "kriitikon valintana" vuoden parhaaksi ilmaiseksi sisällönhallintajärjestelmäksi Critic's Choice CMS Awards -kilpailussaan.[9]

Erikoispiirteitä [10][muokkaa | muokkaa wikitekstiä]

Lähes kaikki tuotetut sisällöt (mukaan lukien käyttäjät ja oikeudet) mielletään ProcessWiren terminologiassa sivuiksi ja siten ne myös hyödyntävät jotakin järjestelmän sisäisistä sivupohjista ("Template".)

Omat sivupohjansa voidaan luoda esimerkiksi etu- ja alasivuille, uutisille, tapahtumille ja blogikirjoituksille, mikäli sivustolla tarvitaan tällaisia sisältötyyppejä ja niille halutaan asettaa omat tietokenttänsä. Ylläpitäjä voi koska tahansa luoda uusia sivupohjia, nimetä vanhoja uudelleen tai poistaa kokonaan tarpeettomaksi jääneitä. Lisäksi kuhunkin sivupohjaan liittyvien tietokenttien hallinnointi onnistuu ProcessWiren tarjoaman graafisen käyttöliittymän avulla.

Sisältörakenne[muokkaa | muokkaa wikitekstiä]

Kaikki sisällöt (sivut) sijaitsevat sivuston puumaisessa sisältörakenteessa ja kaikilla näillä on oletuksena oma, hakukoneystävällinen, sivun nimeen perustuva polkunsa. Tältä osin ProcessWire eroaa esimerkiksi Drupalista, jossa sisältö ("nodet") oletuksena sijaitsevat numeerisen tunnisteen perusteella määräytyvän polun alla[11]. Muutama esimerkki:

  • sivuston etusivu löytyy oletuksena osoitteesta "/" ja sivu nimeltä "About", joka on sijoitettu suoraan etusivun alle, osoitteesta "/about/"
  • hallintaosio löytyy oletuksena osoitteesta "/processwire/", sen käyttäjähallintaosio osoitteesta "/processwire/access/users/"
  • yksittäinen käyttäjä nimeltä "Admin" löytyy oletuksena käyttäjähallinnan alta, osoitteesta "/processwire/access/users/admin/"

Sivupohjat[muokkaa | muokkaa wikitekstiä]

Kuhunkin sivuun liittyy aina jokin sivupohja ja kuhunkin sivupohjaan puolestaan liittyy aina sivuston hallintatyökalujen avulla käsiteltävää metatietoa. Näihin metatietoihin lukeutuu esimerkiksi tieto sivupohjaan liitetyistä kentistä sekä sivupohjakohtaisista oikeusmäärityksistä, jotka kertovat millä rooleilla on esimerkiksi luku- ja kirjoitusoikeudet kyseisen sivupohjan omaaviin sivuihin.

Vaikka kaikki sisällöt sijaitsevatkin sivuston puumaisessa rakenteessa ja niillä on aina oma yksilöllinen osoitteensa, eivät kaikki näistä välttämättä ole (etenkään julkisesti) tarkasteltavissa kyseisessä osoitteessa.

Esitystapa[muokkaa | muokkaa wikitekstiä]

Mikäli tiettyä sivupohjaa hyödyntävien sivujen halutaan myös olevan selaimen avulla tarkasteltavissa, voidaan niihin liittää mallinetiedosto ("Template file"), joka määrittää, miten kyseisen sivupohjan omaavat sivut loppukäyttäjälle näytetään.

Mikäli sivupohjaan ei liity tiedostoa (oletuksena näin on esimerkiksi käyttäjien ja oikeuksien osalta), sen omaavat sivut eivät ole suoraan selaimen kautta tarkasteltavissa. Tällöin niihin liittyvään osoitteeseen siirtyminen palauttaa joko 404-virhesivun, ohjaa kirjautumisnäkymään tai ohjaa käyttäjän ylläpitäjän määrittämään osoitteeseen (tämä on täysin ylläpitäjän hallittavissa.)

Sivujen esitystavan osalta ProcessWire eroaakin olennaisesti esimerkiksi WordPress-järjestelmästä: lähtökohtaisesti se ei tuota minkäänlaista merkkausta, vaan sivuston toteuttajan tehtävänä on määritellä, miten sillä tuotetut sisällöt esitetään.[2] Tämä mahdollistaa tarvittaessa sisältösivujen esittämisen tavanomaisten web-sivujen sijaan esimerkiksi RSS-syötteinä tai XML-dokumentteina.

Tyypillisten web-sivuston osioiden tai elementtien, kuten valikoiden ja lomakkeiden, luontiin voidaan kuitenkin hyödyntää erikseen asennettavia Markup- eli merkkausmoduuleita[12].

Ominaisuuksia[muokkaa | muokkaa wikitekstiä]

  • jQuery-vaikutteinen[13] helppokäyttöinen API mahdollistaa järjestelmään syötettyjen sivujen ja muiden sisältöjen noutamisen, käsittelyn, tallentamisen sekä poistamisen[14][15][16]
  • Ylläpitonäkymän kautta (tai vaihtoehtoisesti ohjelmallisesti API:n avulla) luotavat tietokentät, joiden määrää ei ole rajoitettu ja joista jokainen kenttä voi liittyä yhteen tai useampaan sivuun tarpeen mukaan (kenttien uudelleenkäyttäminen)
  • Modulaarinen rakenne[2], jonka ansiosta jopa sisäänrakennetun sisällönhallintajärjestelmän toiminnot on itse asiassa toteutettu ProcessWire-ohjelmistokehyksen päälle asennettujen sovellusmoduulien avulla
  • Sivupohjien toteuttamisessa hyödynnetään PHP-kieltä oman mallinejärjestelmän sijaan (kolmannen osapuolen moduulien avulla tarjolla on kuitenkin tuki Twig-[17] ja Smarty[18] -mallinejärjestelmille)
  • Sivuston oikeuksien hallinnointi on toteutettu sivupohjien tasolla, minkä lisäksi oikeudet periytyvät puurakenteessa alaspäin, ellei seuraaviin sivuihin liittyvillä sivupohjilla ole omia oikeusasetuksia
  • Mahdollisuus ylläpitää useita sivustoja ja/tai verkkotunnuksia yhden julkaisujärjestelmäasennuksen avulla[19]
  • Hallintaosion osoitteen vaihtaminen ja koko hallintaosion ulkoasun sekä rakenteen muokkaaminen tai korvaaminen jollain valmiista vaihtoehdoista
  • Mahdollisuus sivujen välisten relaatioiden eli liitosten luomiseen Sivu-tyyppisiä tietokenttiä hyödyntäen
  • Sisäänrakennettu tuki monikielisille sivustoille [19][15]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Introducing ProcessWire 2.4 (Version 2.3 julkaisutiedote) processwire.com. 11.2.2014. Viitattu 11.2.2014. (englanniksi)
  2. a b c d Josette Rigsby: ProcessWire Aims to Simplify Web CMS CMSWire. 22.02.2011. Josette Rigsby. Viitattu 09.12.2011. (englanniksi)
  3. ProcessWire Software Requirements processwire.com. Viitattu 16.6.2013. (englanniksi)
  4. ProcessWire on NGINX ProcessWire Support Forums. 26.6.2011. Viitattu 16.6.2013. (englanniksi)
  5. ProcessWire on Windows7/2008 Server with IIS WebServer ProcessWire Support Forums. 18.5.2013. Viitattu 16.6.2013. (englanniksi)
  6. MariaDB ProcessWire Support Forums. 1.5.2013. Viitattu 16.6.2013. (englanniksi)
  7. Ryan Cramer: ProcessWire - Introduction ryancramer.com. Ryan Cramer. Viitattu 09.12.2011. (englanniksi)
  8. Dictator CMS - Total Content Management Control dictatorcms.com. Viitattu 09.12.2011. (englanniksi)
  9. Critic's Choice for Best Free CMS goes to... Mike Johnston. (englanniksi)
  10. What Differentiates ProcessWire? processwire.com. Viitattu 08.12.2011. (englanniksi)
  11. About nodes drupal.org. 26.9.2012. Viitattu 16.6.2013. (englanniksi)
  12. Markup Generation processwire.com. Viitattu 16.6.2013. (englanniksi)
  13. @smashingmag (Smashing Magazine Twitter-palvelussa). 20.10.2011. Viitattu 09.12.2011. (englanniksi)
  14. The concept behind the API processwire.com. Viitattu 08.12.2011. (englanniksi)
  15. a b Introducing ProcessWire 2.3 (Version 2.3 julkaisutiedote) processwire.com. 26.4.2013. Viitattu 16.6.2013. (englanniksi)
  16. Marc Carson: Processwire post-launch notes friendlyskies.net. 27.10.2011. Marc Carson. Viitattu 09.12.2011. (englanniksi)
  17. Twig Template Engine Output modules.processwire.com. Viitattu 16.6.2013. (englanniksi)
  18. Smarty Templating modules.processwire.com. Viitattu 16.6.2013. (englanniksi)
  19. a b ProcessWire 2.2 [soft launch] (Version 2.2 julkaisutiedote) processwire.com. 17.1.2012. Viitattu 11.2.2011. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]