Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla
Ennen tallennusta suositellaan ottamaan kopio muokkausruudusta (ctrl-a -> ctrl-c)
Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.
CMS Made Simple
Johdanto[muokkaa]
Kotisivujen julkaisujärjestelmä. Kirjoitettu php-kielellä ja käyttää MySQL(i) tietokantaa.
Suomenkielinen käännös[muokkaa]
- Epävirallisia käännöksiä voi ladata täältä: CMSMS.
- Useat viralliset käännökset ovat vajaita ja niistä puuttuu US-versiossa olevia rivejä. Näissä käännöstyötä on viety eteenpäin samalla muuttaen käännöstä omasta mielestä luettavammaksi ja muuttamalla joitakin ehkä vakiintuneita sanoja. Huom! Kyseessä ei siis ole virallinen CMSMS käännös!
- Ei ole vielä selvillä miten nämä käännökset voisi saada mukaan viralliseen cmsms käännöksiin tai voitaisiinko niitä hyväksyä sinne.
- Muutoksia voi tehdä suoraan esimerkiksi Cyberduck -ohjelman kautta Xcode -editorilla. Muutokset tulevat voimaan kun kirjaudut uudestaan sisään.
- Moduuleista löytyy kustakin oma hakemisto lang/ext/fi_FI.php
- Yleinen on admin/lang/ext/fi_FI
- Käännöksissä ä korvataan & auml; ja ö & ouml; Huom & ja auml kirjoitetaan yhteen
- Vaihtoehtoinen tapa http://docs.cmsmadesimple.org/customizing/customizing-language-strings
- Käännöstekstin paikallistaminen:
- Eräs tapa löytää helposti on ladata cmsms omalle koneelle, ja hakea kyseistä cmsms -kansiosta tietokoneen omalla hakutoiminnolla "haluttua tekstiä" ja näin paikallistaa missä tiedostossa se sijaitsee.
IRC ja neuvojen saanti[muokkaa]
Sivuston kehittäjät löytyvät oheisesta IRC kanavasta. Muista että kyseessä on yhteisö, joka on ylpeä työstään ja käyttäydy tämän mukaan. Erityisesti sinun on huomattava että kanavalla EI SAA lähettää yksityisviestejä eli PM, Private Message ilman lupaa. Seurauksena on potkut kanavalta. Saat neuvoja esittämällä ongelmasi ja mitä olet mahdollisesti tehnyt itse sen ratkaisemiseksi. Juttelu säätilasta ja oluesta on yleistä ja suotavaa kanavalla. Ohjelmiston projektipäällikkö Calguy1000 on hierarkiassa korkeimmalla ja hänen tavoittamisensa saattaa olla vaikeaa. Hän ei välttämättä vastaa sähköpostiin ja IRC-keskusteluihisi, mutta älä hämmenny. Tiimin jäsenet ovat ammattitaitoisia ja neuvovat ja vinkkaavat hyvin. Kanavalla ei kuitenkaan välttämättä ole juuri kysymyksesi hetkellä ketään asiantuntijaa vastaamassa, joten kysymyksesi voi jopa mennä hukkaan.
SVN[muokkaa]
GitHub[muokkaa]
https://github.com/svn2github/cmsms.git
Asennus[muokkaa]
Seuraava ohje on 28.5.2014 versiolle 1.11.10
- Kirjaudu ssh-yhteydellä palvelimelle: ssh käyttäjätunnus@palvelinosoite ja kun pääteruudussa kysytään salasanaa, syötä se.
- Siirry public:html hakemistoon ja luo juureen kansio komennolla: mkdir cmsmadesimple
- Kopioi lataussivulta latausosoite wget komennon jatkoksi. Esim.: wget http://s3.amazonaws.com/cmsms/downloads/11729/cmsmadesimple-1.11.10-full.tar.gz
- Pura komennolla: tar -zxf cmsmadesimple-1.11.10-full.tar.gz
- Anna komento: touch config.php; chmod 666 config.php
- Perusta tietokanta jos sellaista ei jo ole olemassa
- Siirry selaimessa osoitteeseen: http://www.osoite.fi/cmsmadesimple/index.php
- Anna tarvittavat tiedot ja valmis.
- Jos saat virheilmoituksen FATAL ERROR: Could not find database connection key dbms in the config file lataa ensin /cmsmadesimple ja sitten /cmsmadesimple/admin -sivu. Eli käy asennuksen jälkeen ensin etusivulla ja sitten vasta pääset hallintapaneeliin. Kyseessä on ilmeisesti jokin bugi, joka ei päästä asennuksen hallintapaneelilinkistä suoraan hallintapaneeliin.
- Muuta config.php tiedoston oikeudeksi 444
- Asennuksen jälkeen muuta tai kopioi vanhalta sivustolta .htaccess tiedosto tarpeen mukaan.
Vanhojen cms-taulujen käyttäminen (esim. siirto, päivitys)[muokkaa]
- Anna komento: touch config.php; chmod 666 config.php
- Siirry selaimessa osoitteeseen: http://www.osoite.fi/cmsmadesimple/index.php
- Anna tarvittavat tiedot mutta POISTA RASTI kohdasta jossa luodaan taulut.
- Avaa tiedostojärjestelmästä tiedosto config.php ja syötä siihen vanhan tietokannan etuliite
- Tuo /uploads kansio, tuo tarvittaessa /Modules/MenuManager/templates/räätälöimäsivanhatpohjat. Myös jos moduuleita on räätälöity, niistä tarvitsee siirtää mahdollisesti näitä tiedostoja kuten myös kielitiedostoja, jotka ovat moduulikohtaisia.
- Anna selaimessa päivityskomento http://www.osoite.fi/install/upgrade.php
Sivuston siirtäminen uudelle palvelimelle[muokkaa]
- Tyhjennä välimuisti
- Kopioi ja siirrä tiedostojärjestelmä ja tietokanta
- Tee muutokset config.php -tiedostoon.
- Jos asennat alihakemistoon, kts. kohta .htaccess eli tee muutos tarvittaessa .htaccess -tiedostoon.
- Tee tarvittaessa public_html -hakemistoon .htaccess ohjaus cmsmadesimpleen jos cmsmadesimple sijaitsee public_html tms. hakemiston alihakemistossa. Katso sivu .htaccess
Sivuston siirtäminen localhost:iin[muokkaa]
- Tuotannossa olevan sivuston siirto OSX Yosemiteen.
- Siirto onnistui muutoin hyvin, mutta osa sivuista ei aukea ja se liittyy ilmeisesti polkuun. Joko config.php tai .htaccess -ongelma...
- Tyhjennä välimuisti ylläpidon puolelta ja myös tiedostojärjestelmästä.
- Ota pois MetaMax Google -tunnus
- Virhekoodi 500: poista .htaccess tiedosto
- Fatal error: Class 'Smarty_CMS' not found in /yourpath/lib/classes/class.CmsApp.php on line 394
Testisivuston rakentaminen[muokkaa]
Tuotannossa olevaan sivustoon ei kannata asentaa moduulipäivityksiä tai uusia moduuleita koskaan ilman varmuuskopiota tietokannasta ja tiedostojärjestelmästä. Vielä parempi vaihtoehto on pitää sivustosta testiversiota jossa kokeilee asennuksia yms.
- Turvallista olisi asentaa testisivusto omaan tietokantaan. Kuitenkin palvelinpakettiin saattaa sisältyä vain yksi tietokanta, joten tällöin on erotettava tuotannossa olevan ja testiversion tietokannan taulut eri etuliitteellä.
- Oletetaan että etuliite tuotannossa olevassa on jokuetuliite_taulunnimi ja halutaan testi_taulunnimi
- Tyhjennä välimuisti
- Kopioi tiedostojärjestelmä uuteen hakemistoon palvelimella
- Pääte-ohjelmassa SSH-yhteydellä: cp -r tuotantohakemistonimi/ hakemistonimitähän
- Vie taulut esm. phpMyAdmin-ohjelmalla
- Kopioi viedyt taulut -tiedosto varmuuden vuoksi vielä toiseksi, jota alat muokkaamaan.
- Avaa taulut-tiedosto yksinkertaisesti vain tekstiä käsittelevässä ohjelmassa kuten TextEdit tai Muistio-ohjelmassa eli jossain muussa kuin Wordissa tms.
- Hae hakutoiminnolla tekstistä jokuetuliite_ ja korvaa ne testi_ -liitteellä. Korvaa kaikki yhdellä kertaa.
- Tuo muokattu tiedosto esm. phpMyAdmin-ohjelmalla tietokantaan
- Tee muutos testisivuston config.php -tiedostoon.
- $config['db_prefix'] = 'testi_';
- $config['root_url'] = 'http://www.osoite.fi/hakemistonimitähän';
- $config['root_path'] = '/var/www/customers/osoitefi/public_html/hakemistonimitähän';
- Tee muutos tarvittaessa testisivuston hakemiston .htaccess -tiedostoon eli lisää RewriteBase /hakemistonnimitähän
config.php[muokkaa]
Seuraavilla asetuksilla asetat osoiterivin näkymään www.domain.fi/uutiset eli ei tulostu alihakemistoa jossa cmsmadesimple sijaitsee.
$config['root_url'] = 'http://www.domain.fi'; $config['root_path'] = '/var/www/customers/kayttajatunnus/public_html/cmsmadesimple'; $config['url_rewriting'] = 'mod_rewrite'; $config['internal_pretty_urls'] = true; $config['assume_mod_rewrite'] = true;
.htaccess[muokkaa]
Esimerkiksi seuraavanlainen päähakemistossa:
# BEGIN Optional settings # Turns off directory browsing # not absolutely essential, but keeps people from snooping around without # needing empty index.html files everywhere Options -Indexes # Deny access to config.php # This can be useful if php ever breaks or dies # Use with caution, this may break other functions of CMSms that use a config.php # file. This may also break other programs you have running under your CMSms # install that use config.php. You may need to add another .htaccess file to those # directories to specifically allow config.php. <Files "config.php"> order allow,deny deny from all </Files> # Sets your 403 error document # not absolutely essential to have, # or you may already have error pages defined elsewhere ErrorDocument 403 /forbidden403.shtml # No sense advertising what we are running ServerSignature Off # END Optional Settings # BEGIN CMSMS and Rewrite Rules # Make sure you have Options FollowSymLinks # and Allow on RewriteEngine On # Might be needed in a subdirectory #RewriteBase / # CMSMS Rewriting # Set assume mod_rewrite to true in config.php and clear CMSMS cache RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA] # END CMSMS # END Rewrite rules
- Jos esm. etusivu aukeaa, mutta muuta sivut eivät vaan tulee virheilmoitus: "The requested URL /index.php was not found on this server." saattaa auttaa kun .htaccess tiedostoon lisää RewriteBase /alihakemistonnimi
- eli jos cmsmadesimple sijaitsee esimerkiksi hakemistossa /public_html/cmsmadesimple niin silloin alihakemiston nimi on cmsmadesimple
Moduulit[muokkaa]
Moduulit ovat laajennusosia, joilla voi räätälöidä sivustoa erilaisiin toimintoihin. CMS Made Simple:ssä on erinomainen asennustoiminto, jolla kohdasta Moduulien hallinta voi suoraan asentaa moduuleita. Kannattaa tarkistaa ennen asennusta riippuvuudet, tarvitaanko muita moduuleita asentaa ennen sitä varsinaista. Joskus kun riippuvaisuuksien asennuksen antaa mennä samalla moduulin asennuksen yhteydessä, saa virheilmoituksen.
- Moduulien päivitys tapahtuu kohdasta Laajennokset > Moduulien hallinta
- Moduuleista löytyy tarkimpia ohjeita kohdasta Moduulit ja painamalla moduulin nimeä.
- Moduulin sijainti valikossa määräytyy moduulinnimi.module.php tiedostossa olevan function GetAdminSection() -arvon mukaan. Esim. main, content, layout, usergroups, extensions, siteadmin, myprefs, ecommerce jne. Muutos tulee voimaan Sivuston hallinta / Järjestelmän huolto / Päivitä reitit ja sen jälkeen tyhjennä välimuisti.
Moduulien asennusongelmia[muokkaa]
- Valkoinen sivu tai muuten epämääräisesti käyttäytyvä sivusto moduulin asennuksen jälkeen.
- Poista moduuli tiedostojärjestelmästä/nimeä moduulihakemiston nimi yleensä auttaa.
- Syynä saattaa olla esimerkiksi että palvelimen php-versio on vanha moduulille. Palvelin pyörii php 5.2:lla kun moduuli tarvitsisi 5.3 vaikka CMS Made Simple toimiikin 5.2:lla.
- Kytke debug päälle lisäämällä config.php tiedostoon rivi $config['debug'] = true; vaikkakin tämän tulkitseminen saattaa olla haastavaa.
- Moduulin ohjeet löytyvät Laajennokset > Moduulit > Moduulin nimeä klikkaamalla
- Moduulit vaativat esimerkiksi php 5.4 -version toimiakseen. Palvelimilla (esim. Nebula) voi asettaa hakemistokohtaisesti tietyn php-version käyttöön. Katso ohje Nebulan sivuiilta.
- Aseta cms-päähakemistoon .htaccess -tiedostoon sen ALKUUN seuraavat kaksi riviä, jos kytket php 5.4:n
suPHP_ConfigPath /opt/php54/etc/ AddHandler x-httpd-php54 .php
- Database Connection Failed Error: The server requested authentication method unknown to the client (2054) Function Performed: CONNECT
- Oletko siirtynyt käyttämään php 5.4 versioa, koska moduulin uudemmat versiot saattavat vaatia niin. Esimerkiksi CGExtensions, FEU, SelfRegistration jne.
- Avaa PhpMyAdmin > Valitse tietokanta > SQL > kirjoita komento: PASSWORD = PASSWORD('tietokannan salasana') > paina Siirry
Moduuli häviää yllättäen valikosta[muokkaa]
- Tyhjennä cmsms välimuisti ja päivitä hierarkia ja reitit sivuston hallinnasta.
- Jos kuitenkaan jokin valikko ei näy ja olet käyttäjällä on käyttöoikeus siihen, katso sivun URL-osoite ja käytä samaa osoitetta kyseisellä käyttäjällä jolla valikko ei näy muuttaen kuitenkin _sx_=numerosarja tämän käyttäjän mukaan. URL-koostuu valikon nimestä ja moduulista.
- Jotkin käyttäjän käyttöoikeuden eivät tuo näkyviin Sivuston hallinta -valikkoa. Tällöin jokin moduuli ei välttämättä näy. Siirrä moduuli tällöin näkyviin johonkin toiseen valikkoon, joka käyttäjällä näkyy. Katso ohje kohdasta Moduulit.
Omia moduuleita[muokkaa]
Moduuleita löytyy useita vapaasti käytettäväksi, mutta ne eivät aina palvele omaa tarkoitusta tai saattavat sisältää kehittäjien virheitä (bug), joiden korjaamiseen ei välttämättä reagoida. Osa kehittäjistä pyytää suoraan rahallista korvausta (sponsorship). Moduuleita voi tietysti itse ohjelmoida php-kielellä tarvitsemakseen, ostaa palvelun joltain suomalaiselta tai ulkomaalaiselta ohjelmointiyritykseltä tai suoraan yksityishenkilöltä (palkkion sivukulut voi maksaa esm. http://www.palkka.fi -palvelun avulla). Cmsms sivuston foorumissa on myös palsta, jossa voi hakea maksullista tekijää. Jos toimintoa tai muutosta on aikaa odotella, siitä voi tehdä moduulin Bug trackeriin virheilmoituksen tai Feature request kohtaan kehistyspyynnön.
Frontend Users (FEU)[muokkaa]
Sivustolla on oletuksena käyttäjäjärjestelmä, jolla voi luoda tunnuksia erilaisilla käyttöoikeuksilla sivuston ylläpitoon. FEU lisää mahdollisuuden toiseen käyttäjärekisteriin, joka on irrallinen em. järjestelmästä. FEU on tarkoitettu sivuston käyttäjille ja siihen on olemassa oma moduuli SelfRegistration, jolla sivuston käyttäjät voivat itse rekisteröityä. Tällä voi esimerkiksi luoda yhdistykselle vain käyttäjille tarkoitetun osion salasanan taakse, jossa he voivat ylläpitää omia tietojaan itse ja katsoa vain jäsenille tarkoitettuja sivuja.
Uuden toiminnon lisääminen hallintapuolelle[muokkaa]
Ylläpitäjille voidaan luoda toimintoja käyttäjärekisterin hallintaan. Useampaa tiedostoa täytyy päivittää, jotta toiminto saadaan käyttöön hallinnoi -välilehteen:
- function.admin_admintab.php Tässä tiedostossa määritellään erityisesti mitä tietoja käyttäjältä pyydetään toiminnon suorittamiseen. Esimerkiksi alasvetovalikko ja mitkä arvot siihen.
- action.do_admintasks.php Tässä tiedostossa määritellään mikä tiedosto suoritetaan kun toimintoa pyydetään.
- /templates/admintasks.tpl Tässä tiedostossa tuodaan toiminto näkyviin halllintasivulle.
- function.admin_suoritettavantoiminnonkoodi.php Tässä on varsinainen koodi php-kielellä kirjoitettuna joka suoritetaan.
- Jos toimintoja halutaan käyttäjät -välilehteen, on muokattava userlist.tpl -tiedostoa ja function.admin_userstab.php -tiedostoa.
- Jos käyttäjät -välilehdessä createdtext ja expiretext ovat turhia, poista /templates/userlist.tpl -tiedostosta kahdesta kohtaa {$createdtext} ja {$expirestext}
Calguys User Directory (CGUserDirectory)[muokkaa]
FrontEndUser Listing moduulin kehitys on loppunut ja sen voi korvata tällä moduulilla. Tämä tulostaa esmierkiksi FrontEndUsers moduulilla käsiteltyä käyttäjätietoa.
Ohjeita[muokkaa]
Toiminto aktivoidaan {} -sulkeiden sisällä välilyönnillä erotetuilla komennoilla. Tässä joitain esimerkkejä:
- Rekisteristä voi tulostaa esimerkiksi satunnaiseen järjestykseen, mitä tulostusmallipohjassa on ohjelmoitu koodilla: {CGUserDirectory pagelimit="150" sortby="random" summarytemplate="tulostusmallipohja"}
- Haun saa päälle: {CGUserDirectory action="search" searchproperty="province,city" resultpage="hakutulokset"}
- Pohjia ohjelmoidaan mm. Smartyä apuna käyttäen. TÄHÄN ESIMERKKEJÄ MALLIPOHJIEN KOODEISTA.
- Vapaasanahaku rekisteristä ilmeisesti puuttuu?
Toimimattomat valintaruudut[muokkaa]
Jos valintaruudut (checkbox) eivät toimi, lisää tarvittaessa Search Form Template seuraava koodi:
{elseif $data.fieldtype == 'checkbox'} <input type="checkbox" name="{$actionid}ud_propvalue[{$propname}]" value="1"/>
Newsletter[muokkaa]
Uutiskirjeiden lähetys CMS käyttäjille, FEU-moduulin käyttäjille tai yksittäin annettuihin sähköpostiosoitteisiin.
Notifications[muokkaa]
Kyseessä ei ole ilmeisesti sähköpostilistaohjelma, jolla voisi lähettää FEU moduulin käyttäjille viestejä.
MysqlDump[muokkaa]
Näppärä ylläpidon kautta suoritettava tietokannan varmuuskopiointi. Tämä on erityisen tärkeää varsinkin isoa käytössä olevaa sivustoa huollettaessa, jolloin varmuuskopion voi parilla klikkauksella ottaa ennen toimenpidettä. Moduuli neuvoo (5/2014) asettamaan tallennusarvoksi -compatible=mysql40. Tämän ongelma saattaa olla että sitä ei voi uudempii tietokantoihin tuoda vaan vaatii pientä kikkailua. Kannattanee jättää siis pois. Tietokannan voi tarvittaessa tuoda myös manuaalisesti pääteohjelmlla alla kerrotulla tavalla.
- Moduulin eräs käännös löytyy tästä.
Sivupohjat[muokkaa]
Katso sivu Smarty
Tagit[muokkaa]
Virhetilanteita[muokkaa]
Näitä on mainittu myös muissa kohdin tätä sivua.
- Usein kun julkisen puolen sivulla (frontend) syntyy virhetilanne, cms ilmoittaa siitä selkeästi ruudulla. Tällöin kannattaa tutkiminen aloittaa erityisesti tästä virheilmoituksesta.
- Sivuston hallinta > Hallintaloki kannattaa ajoittain vilkuilla ja katsoa syntyykö joitain virhetilainteita, jotka olisi hyvä korjata.
Favicon[muokkaa]
- Sijoita ikoni kooltaan 16 x 16 pikseliä cmsms juurihakemistoon
- Lisää sivupohjaan <link rel="icon" href="favicon_ikoninnimi.ico" type="image/x-icon" />
Päivitys[muokkaa]
Kun tietokanta kopioidaan[muokkaa]
- Kopioi taulut/tietokanta uuteen paikkaan
- Asenna uusi CMS Made Simple ohjelmisto
- Tuo /uploads kansio, tuo /Modules/MenuManager/templates/räätälöimäsivanhatpohjat
- Vaihda config.php tiedostoon pääsytiedot tietokantaan
- Anna selaimessa päivityskomento www.osoite.fi/install/upgrade.php
- Tuo moduulit
Tietokannan merkistöongelma (ääkköset)[muokkaa]
Saattaa ilmetä että vanhojen phpmyadmin tms. johdosta merkistö sekoilee latin1 / utf8 suhteen. Latin1 on historiaa ja utf8 nykyaikaa. Nyt kun tietokantaa siirretään saattaa käydä niin että ääkköset sekoilee.
- Kirjaudu palvelimelle ssh:lla pääteohjelmalla ja anna seuraava komento, joka ottaa nimeämäastäsi tietokannasta kopion. Tietokannan salasana annetaan kysyttäessä. Katso tarvittaessa config.php tiedostosta tiedot.
mysqldump -h tietokannanosoite -u tietokantakäyttäjätunnus -p --opt --quote-names --no-create-db=true --skip-set-charset --default-character-set=latin1 tietokannannimi > kopiotietokannasta.sql
- Avaa tiedosto jollain ohjelmalla (esm. Xcode, TeXturi tms.) ja katso että ääkköset ovat kohdallaan (pitäisi olla).
- Avaa phpMyAdmin ja perusta sinne tyhjä tietokanta tai käytä esm. test -tietokantaa. Vaihda merkistökoodaus kohdasta tietokannannimi > Toiminnot > Aakkosjärjestys > utf8_general_ci (tai utf8_unicode_ci) > Siirry
- Anna päätteessä seuraava komento, joka
mysql -h tietokannanosoite -u tietokantakäyttäjätunnus -p --default-character-set=utf8 test < kopiotietokannasta.sql
- Valmis.
Vällimuistin tyhjennys[muokkaa]
- /tmpcache ja /tmp/templates_c hakemistot tyhjiksi. Niiden sisältö luodaan uudestaan ladattaessa sivu. Voi aiheuttaa epämääräisiä virheitä jos näitä ei tyhjätä.
Sarakkeiden aakkostus[muokkaa]
Aikaisemmissa cmsms versioissa joitain sarakkeita ylläpidon puolella pystyi aakkostamaan painamalla sarakkeen otsikkoa. Tämä perustuu javascriptiin, joka ei enää uudemmassa cmsms versioissa sisälly pakettiin.
- Tallenna javascript jquery.tablesorter.min.js esimerkiksi käyttämäsi teeman hakemistoon themes/NCleanGrey/includes/jquery.tablesorter.min.js Tässä kyseinen hakemisto sijaitsee /admin hakemistossa.
- Lisää teeman oletustemplateen:
- NCleanGreyTheme.php rivi joka hakee tablesorter javascriptin selaimeen: echo '<script type="text/javascript" src="themes/NCleanGrey/includes/jquery.tablesorter.min.js"></script>'."\n";
- OneEleven /templates/pagetemplate.tpl lisää seuraavat rivit standard.js jälkeen (noin rivillä 23). Huomaa että jos et käytä if-lauseketta, FileManager moduulin painikkeiden tekstit eivät tulostu tässä teemassa:
{if $actionmodule != "FileManager"} {cms_jquery append="`$config.admin_url`/themes/OneEleven/includes/jquery.cookie.min.js,`$config.admin_url`/themes/OneEleven/includes/jquery.tablesorter.min.js"} {/if}