ProcessWire on avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), Content Management Framework (CMF) ja web-sovelluskehys (WAF), joka on toteutettu PHP-ohjelmointikielellä. Se on jaettu Mozilla Public License 2.0 -lisenssillä. ProcessWire on rakennettu sellaisen API:n ympärille, jonka käyttö- ja nimeämiskäytännöt ovat samankaltaiset kuin JavaScript-kehyksessä jQuery. API:n tavoitteena on tarjota verkkosivuston sivuille samanlainen saavutettavuus ja hallinta kuin jQuery tarjoaa DOM:lle. Sisältöä hallitaan joko API:n tai verkkopohjaisen hallintapaneelin kautta. ProcessWirea käytetään pääasiassa verkkosivustojen, web-sovellusten, palveluiden, sisältösyötteiden ja niihin liittyvien sovellusten kehittämiseen.
Ominaisuuksia
jQuery-tyylinen API kattavalla dokumentaatiolla Graafinen verkkopohjainen asennusohjelma Kaikki kentät ovat mukautettuja kenttiä, indeksoitu API:n hakutoimintoja varten Voidaan käynnistää muista PHP-sovelluksista tai komentorivi-skripteistä Interaktiiviset ja API-pohjaiset kuvankäsittelytoiminnot Raahaa ja pudota -pohjainen puutyyppinen sivulista Raahaa ja pudota -tiedostotoiminnot sekä kuvien lataus- ja muokkaustoiminnot Tuki suuremmille (yli 100 000 sivua) asennuksille Merkkijonopohjaisten valitsimien käyttö API-kutsuissa Roolipohjainen pääsynhallintajärjestelmä Ydinkehityksen painotus tietoturvassa Merkkauksesta riippumaton tuloste, jättää kaiken tulosteen kehittäjälle Mallipohjatiedostot ovat PHP-pohjaisia, mallinemoottoria ei käytetä oletuksena Kokonaisten sivujen tai yksittäisten osien välimuistitus Monikielinen tuki monikielisillä tekstikentillä ja URL-osoitteilla Modulaarinen lisäosa-arkkitehtuuri ja saatavilla olevat kolmannen osapuolen moduulit Kenttä- ja syötetyypit ovat itsessään lisäosamoduuleja Koukkujärjestelmä, joka mahdollistaa useimpien ydintoimintojen koukuttamisen ja muuttamisen Kentät ja kenttäryhmät ovat toistettavissa sisäänrakennettuja Repeater-kenttätyyppejä käyttäen Tuki rikkaalle tekstin muokkaukselle käyttäen CKEditoria Useita hallintateeman suunnitteluvaihtoehtoja, mukaan lukien moderni "Konkat Default" -teema Etupään muokkaustoiminnot sisäänrakennettuina ytimeen PHP-nimiavaruuksien tuki
Moduulit ja laajennettavuus
ProcessWiressa on modulaarinen lisäosa-arkkitehtuuri, jossa moduulit toimivat ensisijaisena menetelmänä toiminnallisuuden laajentamiseen. Ytimessään ProcessWire itsessään on suurelta osin kokoelma moduuleja, ja hallintasovellus koostuu kokonaan moduuleista. ProcessWiren moduuleja on useita eri lajeja:
Ydinmoduulit - Sisältyvät ProcessWire-ytimeen `/wire/modules/` -hakemistossa. Monet ovat esiasennettuina, kun taas toiset ovat saatavilla yhdellä napsautuksella asennettaviksi Sivustomoduulit - Kolmannen osapuolen tai mukautetut moduulit, jotka on asennettu `/site/modules/` -hakemistoon Pro-moduulit - Pääkehittäjän kehittämät kaupalliset moduulit, jotka tarjoavat edistynyttä toiminnallisuutta
Vuodesta 2026 lähtien ProcessWiren moduulihakemistossa on saatavilla yli 637 moduulia. Suhteellisen pienempi moduulien määrä verrattuna muihin CMS-alustoihin, kuten WordPressiin, johtuu ProcessWiren ominaisuusrikkaasta ytimestä, joka sisältää sisäänrakennettua toiminnallisuutta, joka muuten vaatisi erilliset lisäosat.
Moduulityypit
ProcessWire tukee useita ennalta määriteltyjä moduulityyppejä:
Fieldtype-moduulit - Määrittelevät mukautettuja kenttätyyppejä erilaisten tietojen tallentamiseen Inputfield-moduulit - Tarjoavat syöttöliittymiä kentille hallinnassa Process-moduulit - Luovat hallintasivuja ja -prosesseja Textformatter-moduulit - Muotoilevat ja muuntavat tekstitulosteita Markup-moduulit - Generoivat merkkausta ja HTML:ää Autoload-moduulit - Latautuvat automaattisesti ProcessWiren käynnistyessä, hyödyllisiä koukuille
Moduulien asennus on yksinkertaistettu useiden menetelmien kautta: ZIP-tiedostojen lataaminen hallinnon kautta, lataus-URL-osoitteiden antaminen tai tiedostojen manuaalinen sijoittaminen moduulihakemistoon.
Kaupalliset Pro-moduulit
ProcessWire tarjoaa useita kaupallisia Pro-moduuleja, jotka pääkehittäjä Ryan Cramer on kehittänyt:
FormBuilder - Kattava lomakkeen rakennustyökalu lomakkeiden luomiseen ja hallintaan ilman koodausta ProFields - Kokoelma tehokkaita kenttätyyppejä, mukaan lukien Repeater Matrix, Table, Combo ja Custom Fields -moduulit ProCache - Edistynyt välimuistimoduuli suorituskyvyn optimointiin ProMailer - Sähköpostin hallintatyökalut ProDrafts - Luonnos- ja versiohallinta ListerPro - Edistynyt sivujen listaus ja hallinta LoginRegisterPro - Täydellinen käyttäjärekisteröinti- ja kirjautumisjärjestelmä
Pro-moduulien tuotot tukevat ilmaisen ProcessWire-ytimen jatkokehitystä.
Kohderyhmä
Ennen verkkosivuston tai sovelluksen kehitystä ja sen aikana ProcessWiren kohderyhmä koostuu suurelta osin web-kehittäjistä ja web-suunnittelijoista. Tässä kohderyhmässä ProcessWirea käytetään sekä kehitystyökaluna että CMS:nä.
Kehityksen jälkeen kohderyhmä muuttuu henkilöiksi, jotka hallinnoivat verkkosivustojen ja sovellusten sisältöä ja jotka eivät tyypillisesti ole web-suunnittelijoita/-kehittäjiä. Tämä kohderyhmä käyttää ProcessWirea ensisijaisesti CMS:nä sisällön hallintaan.
Yhteisö
ProcessWirella on aktiivinen globaali kehittäjien ja käyttäjien yhteisö. Yhteisön ensisijainen keskus on tukifoorumi osoitteessa processwire.com/talk, joka sisältää osiot:
Yleinen tuki ja API-kehityskysymykset Moduulikehitys ja -tuki ProcessWirellä rakennettujen verkkosivustojen esittely Monikieliset tukikeskustelut Tietoturvakeskustelut Työpaikkailmoitustaulu ProcessWire-kehittäjien palkkaamiseen
Yhteisö tunnetaan ystävällisestä ja avuliaasta ilmapiiristään, jossa sekä käyttäjät että pääkehittäjä osallistuvat aktiivisesti. ProcessWire ylläpitää viikoittaista uutiskirjettä ja ProcessWire Weeklyä, Teppo Koivulan itsenäistä julkaisua, joka käsittelee ProcessWire-uutisia ja web-kehitysaiheita.
Yhteisö on kehittänyt lukuisia kolmannen osapuolen moduuleja, sivustoprofiileja ja oppaita. Virallisen verkkosivuston esittelyosio esittelee ProcessWirellä rakennettuja verkkosivustoja pienistä yritysten sivustoista suuriin institutionaalisiin verkkosivustoihin.
Historia
ProcessWirea on kehitetty aktiivisesti vuodesta 2003. Vuosina 2003–2007 sitä kehitettiin nimellä Dictator CMS. Vuosina 2007–2010 sitä kehitettiin nimellä ProcessWire 1.x. ProcessWirestä tuli avoimen lähdekoodin yhteisöprojekti vuonna 2010, ja sitä kehitetään tällä hetkellä versioina ProcessWire 2.x ja 3.x.
ProcessWirellä on ollut useita merkittäviä versiojulkaisuja ensimmäisen avoimen lähdekoodin julkaisun jälkeen. Versio 3.0, joka julkaistiin syyskuussa 2016, merkitsi toista pääversiojulkaisua ja esitteli PHP-nimiavaruudet, etupään muokkaustoiminnot ja tuen käännetyille moduuleille.
Versio 3.0.255, joka julkaistiin 16. tammikuuta 2026, esitteli useita merkittäviä parannuksia: Uuden modernin hallintasuunnitteluteeman nimeltä "Konkat Default", jonka Konkat Studio (Jan Ploch ja Diogo Oliveira) loi, tarjoten nykyaikaisemman ulkonäön, jota voidaan vaihtaa alkuperäisen "Core Original" -suunnittelun kanssa Parannettu Markup Regions -toiminnallisuus, joka mahdollistaa merkkausalueiden muokkaamisen tiedostoista, jotka aiemmin vain määrittelivät ne Laajennettu API-dokumentaatio noin 50 ydinmoduulille Päivitykset ydin-JavaScript-API-toimintoihin Uikit-modaalien käyttämiseksi Vex-modaalien sijaan Uudet JavaScript-API-menetelmät entiteettien koodaukseen/dekoodaukseen ZipFileValidator-moduulin käyttöönotto parannetun tietoturvan vuoksi
Järjestelmä on säilyttänyt johdonmukaisuuden ja taaksepäin yhteensopivuuden koko kehityksensä ajan jatkuvilla päivityksillä säilyttäen samalla alkuperäiset API-konseptit ja nimeämiskäytännöt.
Käännökset ja yhteisö
ProcessWirella on aktiiviset, globaalit loppukäyttäjä- ja kehittäjäyhteisöt. Nämä yhteisöt ovat kääntäneet ProcessWiren englannista omille äidinkielilleen, mukaan lukien: kiina, kroatia, tšekki, hollanti, ranska, saksa, kreikka, heprea, unkari, italia, japani, portugali, venäjä, slovakki, espanja, ruotsi, turkki, ukraina ja vietnam. ProcessWire-yhteisöjen keskeisin keskus löytyy kehittäjien tukifoorumeilta.
Vertailu muihin alustoihin
ProcessWirea verrataan usein muihin sisällönhallintajärjestelmiin, erityisesti WordPressiin. Virallinen vertailu korostaa useita keskeisiä eroja:
ProcessWire on rakennettu ensisijaisesti kehyksenä, jossa CMS on sovellus sen päällä, kun taas WordPress sai alkunsa bloggausalustana Kaikki ProcessWiren kentät ovat oletuksena mukautettuja kenttiä, kun taas WordPress erottaa vakio- ja mukautetut kentät ProcessWire käyttää hierarkkista sivupuurakennetta kaikelle sisällölle, kun taas WordPress käyttää erillisiä julkaisutyyppejä ja taksonomioita ProcessWire korostaa kehittäjän hallintaa tulosteen merkkauksessa ollen merkkauksesta riippumaton, kun taas WordPress käyttää teemajärjestelmiä ProcessWirella on pienempi moduuliekosysteemi (yli 600 moduulia) verrattuna WordPressiin (yli 40 000 lisäosaa), suurelta osin siksi, että ydintoiminnallisuus on kattavampi
Palkinnot ja julkaisut
Marraskuussa 2016 ProcessWire palkittiin CMS Criticin parhaana pienyritysten CMS:nä.
Heinäkuussa 2016 Smashing Magazine julkaisi artikkelin A Beginners Guide to ProcessWire.
Tammikuusta 2016 lähtien Envato Tuts+ on julkaissut useita artikkeleita ja oppaita ProcessWirestä.
Tammikuussa 2015 ProcessWire palkittiin CMS Criticin parhaana ilmaisena PHP-CMS:nä.
Joulukuussa 2014 PHP Architect julkaisi artikkelin ProcessWire: Flexibility, Power, and a Generous Dose of Pure Fun.
Joulukuussa 2012 ProcessWire palkittiin CMS Criticin parhaana ilmaisena CMS:nä.
Arkkitehtuuri
ProcessWire on rakennettu sivujen sisältöpuun ympärille (toisin kuin säiliöjärjestelmä). Jokaisen sivun URL tai polku heijastaa aina sen paikkaa hierarkiassa. Samaa polkua käytetään sivun viittaamiseen API:ssa. Tämän seurauksena polun yhteys sisäiseen puuhierarkiaan määrittää ProcessWiren arkkitehtuurin. Sisältöpuun merkitsemän vanhempi-lapsi-suhteen lisäksi ProcessWire tukee relaatio yhden-suhde-yhteen ja yhden-suhde-moneen -viittauksia puun sivujen välillä.
Mallipohja-arkkitehtuuri
Mallipohjat ProcessWiressa ovat sisältötyyppi, joka sisältää yhden tai useamman mukautetun kentän, jotka edustavat sisältötyypin määritelmää. Jokainen ProcessWiren sivu on määritetty mallipohjaksi, joka sitten edustaa sivun tyyppiä. Mallipohja jaetaan tyypillisesti useiden sivujen kesken. Mallipohjat määrittelevät myös pääsynvalvonnan, välimuistituksen ja muut asetukset, jotka jaetaan mallipohjaa käyttävien sivujen kesken.
Mallipohilla on valinnaisesti liittyvä PHP-tiedosto, johon viitataan mallipohjan tiedostona. Tämä tiedosto suoritetaan aina, kun mallipohjaa käyttävän sivun URL-osoitteeseen pääsee. Tämän seurauksena mallipohjan tiedostoja käytetään tyypillisesti tulostustarkoituksiin. Mallipohjan tiedostolle tarjotaan useita API-muuttujia, joista huomattavin on $page API-muuttuja, joka sisältää kaikki tarkasteltavan nykyisen sivun kentät ja sisällön.
Mallipohjan tiedostot palvelevat useita konteksteja sovelluksesta riippuen. ProcessWiren oletusverkkosivustoprofiilit käyttävät mallipohjan tiedostoja ensisijaisesti suoran ja dynaamisesti generoidun HTML-merkkauksen tulosteeseen. Mallipohjan tiedostoja voidaan käyttää myös välisenä ohjaimena mallin ja erillisen näkymän välillä. Koska mallipohjan tiedostot ovat tavallisia PHP-tiedostoja, ne voivat tarvittaessa käyttää muita verkkopalveluita tai PHP-sovelluksia ilman erillistä jäsennystasoista.
Kenttä-arkkitehtuuri