Nový redakční systém

Kategorie: IT/Security | Zobrazen: 8101x Datum: 23.6.2007

Na Stoyan's Page (SP) proběhly největší změny od začátku jejího založení. Říkáte si, že až na malé kosmetické změny nic nového nevidíte? Zajímá vás, co je tedy nového? Pokračujte ve čtení...

Je pravda, že drtivou většinu změn skutečně nevidíte. Tak tedy k věci. Stoyan's Page běží na novém redakčním systému (RS), na kterém jsem začal pracovat krátce před maturitou a který jsem nedávno dokončil a poté ještě testoval na pokusném webu. Dnes byl poprvé nasazen do ostrého provozu. Postupně projdu nejdůležitější změny, ale předtím...

Trocha historie

První verze webu se datuje do roku 2005. Byla psána v HTML 4.01. Tedy abych byl přesnější, k její tvorbě jsem použil GoLive, což je WYSIWYG editor firmy Adobe. Poté jsem se začal učit samotné HTML a do kódů vytvořených programem (které byly prasácké a nevalidní) jsem často zasahoval. Tehdy ještě SP neměla jasné zaměření. Původní úmysl byl vytvořit si stránky, na kterých bych publikoval své programy. To se povedlo a web se poté ještě rozrostl o Guestbook (pomocí služby Blueboard), fotky, screeny z Google Earth a různé zajímavosti. Tento web sídlil na adrese stoyan.wz.cz a nachází se tam doteď - jakožto svůj úplně první web jsem ho ze sentimentálních důvodů nezrušil a proto si ho můžete i nyní prohlédnout. Koncem jara 2006 jsem začal pronikat do tajů jazyka PHP. Jelikož jsem měl už tehdy základy jazyků Pascal, Delphi a C++, nebyla pro mě práce s PHP vůbec složitá. Ihned jsem zatoužil napsat si v PHP celý nový web. Tak vznikla nová Stoyan's Page na doméně stoyan.ic.cz, kde sídlí doteď. HTML a CSS jsem už vcelku ovládal a v PHP jsem byl nadšený začátečník. Výsledkem byl poněkud chaoticky napsaný ale fungující web. Většinu obsahu starého webu jsem nepřesouval a rozhodl se začít od znovu. Tehdy, díky mé rostoucí zálibě v bezpečnosti IT a IT obecně, jsem rozhodl o zaměření webu. To by se dalo shrnout jakou IT security, programování a další věci kolem počítačů. Tento web se postupně vyvíjel. Z HTML 4.01 jsem přešel do XHTML 1.0, Guestbook od Blueboardu jsem nahradil vlastním. Ten zpočátku nebyl příliš bezpečný, o čemž mě přesvědčil Sysel jeho defacem. Web byl svého času náchylný dokonce k SQL injection, čehož naštěstí nikdo nevyužil. Později byl web přepsán do XHTML 1.1 - byla to pro mě hlavně výzva, zda dokáži dodržovat ty nejpřísnější standardy. Vývoj tedy pokračoval stylem, že na kostru stránek, kterou jsem vytvořil jako začátečník, jsem začal nabalovat další a další skripty. Výsledkem byl rostoucí chaos v PHP skriptech i v celkovém kódu webu. Bylo nevyhnutelně nutné s tím něco udělat. Výsledkem je...

Nový redakční systém

Několikrát padla otázka, proč nepoužiji nějaký hotový open source redakční systém. Nad touto variantou jsem nepřemýšlel ani na chvíli. Mít svůj vlastní redakční systém, jehož každou řádku znáte, jehož každou řádku jste ručně napsali, je výzvou pro snad každého nadšeného webmastera, IT nadšence a kodéra (práci s PHP přeci nebudu nazývat programováním, to by byla urážka skutečných programátorů (C/C++)). Nyní vypíchnu ty nejdůležitější změny oproti předchozí verzi (která se ani nedala považovat za RS).

Větší využití databáze

Minulá verze využívala databázi pouze pro ukládání příspěvků z Názorů a pro ukládání Novinek. Nejproblematičtější byla situace s články. Každý článek byl uložen ve zvláštním souboru, který se poté pomocí funkce include vložil do stránky webu. S přibývajícím množstvím článků rostl počet souborů a přehlednost se snižovala. Nový RS již všechny články ukládá kompletně do databáze. Výpis článků je pak realizován pouze jedním souborem, který načte konkrétní článek z databáze. Díky tomu je možné nyní počítat, kolikrát byl daný článek zobrazen. Článků se týká také jedna velká změna a tou jsou...

Komentáře k článkům

Už několikrát jste se v Názorech dožadovali komentářů pod článkem. V novém RS jsem tedy tuto možnost implementoval. Pro začátek jsem se rozhodl pro nemoderované komentáře. Moderovaná diskuse je podle mě zbytečnost a zbytečná cenzura. I při nemoderované diskusi je možné nevhodné komentáře mazat a ubude starost s jejich schvalováním. Zůstává stále, že urážlivé, vulgární, rasistické a jiné neetické komentáře budou ihned smazány. Jednou z menších novinek je také přidávání smajlíků klikem na jejich obrázek. To je realizováno triviálně pomocí JavaScriptu. Pokaždé když kdokoliv napíše nový komentář, jsem na něj okamžitě upozorněn sms zprávou. Jak toho dosáhnout jsem se zabýval v článku Update Knihy názorů.

BBCode

Pokud nevíte, co ten podivný název znamená, mrkněte sem. Implementoval jsem tagy [i], [b] a [url] a myslím, že ty budou prozatím dostačovat. O jejich použití se dozvíte také při najetí kurzorem nad podržený text o BBCode u přidání nového komentáře.

Nejčtenější články

Díky tomu, že články jsou nyní uloženy v databázi, je lehké je seřadit podle určitého parametru. Ve sloupci vpravo tedy vidíte pět článků, které byly zobrazeny nejvícekrát. Jednoduché, ale užitečné.

Nejnovější komentáře

Naleznete je v pravém sloupci webu a princip zobrazení je prakticky shodný s nejčtenějšími články.

SEO URL

Ano, tak i už můj web je přívětivější pro vyhledávače. Pokud nevíte, oč se jedná, je to změna dynamických adres ve tvaru stoyan.ic.cz/index.php?page=clanky&clanky=maturita na statickou URL ve tvaru stoyan.ic.cz/clanky/maturita/. Druhou variantu URL mají vyhledávače mnohem raději. SEO URL jsem realizoval pomocí souboru .htaccess (Mod_rewrite) a dále pomocí několika pomocných PHP skriptů. Také jsem ošetřil přesměrování při zadání adresy ve starém (dynamickém) tvaru na statickou adresu. To proto, aby mi vyhledávače neindexovaly duplicitní odkazy.

Administrace

Články a Novinky jsem dříve přidával pomocí jednorázových skriptů nebo přímo přes PHP Admina. Nedá se tedy mluvit o nějaké propracované administraci. Tu jsem implementoval až nyní do nového RS. Umožňuje mi přidávat, mazat i editovat všechny informace, které jsou ukládány do databáze. Zcela tedy nahradila pomalý PHP Admin, který již k administraci webu není potřeba. Administrace se nachází zde, takže zájemci se mohou pokusit nabourat. V administraci článků jsem využil javascriptový editor zdrojového kódu Edit Area. Na to, jak v praxi vypadá, se můžete podívat zde. Je to milá pomůcka, která nahrazuje editor zvýrazňující HTML/PHP syntaxi.

Grafika

Změny v grafice jsou sice minimální, ale když už jsem se s nimi drbal, tak je musím alespoň zmínit. K tvorbě grafiky jsem použil kombinaci Zoner Callisto a Adobe Photoshop. Grafika není zrovna můj obor, proto by se nějaký schopný grafik hodil. Na VUT se snad nějaký najde...

A co do budoucna?

Nyní už je Stoyan's Page po technické stránce web na úrovni s moderním redakčním systémem a ne jen chaotická hromádka skriptů, za kterou bych se musel stydět. Samozřejmě že jako vše, nebude ani tento RS dokonalý a jistě se v něm najdou ještě nějaké mušky. Za každý postřeh, nápad či oznámenou chybu na webu vám budu velmi vděčný. Přemýšlel jsem také o placeném hostingu. Jedinou překážkou k realizaci tohoto plánu jsou (překvapivě) peníze. Sice taková .net doména není příliš nákladná, ale koncem září začíná nový vysokoškolský život a bydlení na privátě v Brně. Peníze se tedy budou víc než hodit, proto ještě s placeným hostingem počkám i když pomalost a nedostupnost ic.cz je občas velmi omezující.

Stoyan's signature

Předcházející článek: Maturita - zkouška dospělosti

Následující článek: (Ne)bezpečné ankety Blueboard.cz

Libí se vám tento článek? Zalinkujte ho: Linkuj tento článek

Přidej svůj komentář

martasko
1sdf(zavinac)sd
a screeny z administrace nebudu? . hmm tak y maly detail. super bohovy new RS a hlavne pocitadlo z bluebordu .a ta detekcia prehliadaca ti myslim tiez nejde perfektne. tiez som cakal vlastny vyhladavaci system namiesto toho google .
23.6.2007 20:49:38
 
84.47.24.*
martasko
(zavinac)hahah
podmienka if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)* @[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$ ", $_POST['email'])) vyriesi email problem
23.6.2007 20:52:49
 
84.47.24.*
Stoyan
Screeny s administrace nejsou potreba Ohledne toho pocitadla... Uz tisikrat jsem si rikal, ze si udelam vlastni (php skript na par radku), ale vzdy mi pak do toho neco vlezlo, tak jsem si nakonec na Blueboardovske zvyknul a nechal jsem ho. Ten vyhledavaci system je dobry napad, zapracuju na tom
23.6.2007 20:54:42
 
195.47.46.*
Stoyan
Tak opraveno... odted jde zadat emailova adresa pouze v platnem tvaru.
23.6.2007 21:34:54
 
195.47.46.*
MzK
Tak jsi se konečně dokopal k databázím , testoval jsi důkladně bezpečnost všech skriptů? Aby se neopakovalo to co v minulosti? Bral jsi si inspiraci u nějakých redakčních systémů, aby jsi věděl co a jak se řeší?
23.6.2007 22:59:43
 
85.132.154.*
Stoyan
Na databáze jsem se chystal dlouho, byla to pekna piplacka prepsat ty clanky ze souboru do db. Jinak jestli sis nevsiml, tak se tematice bezpecnosti celkem venuji, takze "testoval jsi důkladně bezpečnost všech skriptů? Aby se neopakovalo to co v minulosti" pis na web nejake lame, co si udela sve prvni derave stranky. Inspiraci z jinych RS jsem nebral, proste jsem to udelal "po svem". Martasko mel ohledne noveho RS nekolik dobrych napadu, takze casem bude update.
23.6.2007 23:08:22
 
195.47.46.*
Orin
OrinOrin(zavinac)seznam.cz
Já využívám jak databáze, tak i souborů, ale soubory používám v zastaralých částech RS a tam kde je škoda psát sql table Ještě mě napadlo abys napsal podmínku že když budeš psát ty, tak se nebude zobrazovat tvoje IP. SEO url je dobrá věc, musim si na ní taky někdy najít čas...
24.6.2007 22:08:14
 
82.100.62.*
Stoyan
Tak paranoicky, abych skryval svoji IP, nejsem. Kdo ji chce zjistit, stejne ji zjisti Jinak ted uz jen cekam, jak se s novymi SEO adresami popere Google. Vcera jsem zacal znovu hrat svoji nejoblibenejsi hru Fallout 2, proto planovane updaty RS prijdou trochu pozdeji
25.6.2007 12:35:08
 
195.47.46.*
SG11
A co registrace nicku? Registrace a ženy zadarmo! Žádné bonzáctví IP adres! (~hvězná pěchota)

Musím uzna, je to skvělý. Taky jsem při tvorbě RS šel vlastní cestou. Byla omnoho těžší než ta "těch ostatních", ale stojí to za to. Je to krásný pocit, když můžeš říct, žes na to nepoužila ni jeden řádek cizího koodu.
Fallout 2. No vidíš. Taky sem na sebe nadával, když sem si domů přinesl pařbu. Věděl sem, že když hraji, jde koodění stranou BTW: nemáš něco na chudáčky, co mají blbý kecy na guestbookách, a nejde je vykopnout? Kromě banu, (Torpark, etc.)
26.6.2007 14:58:03
 
82.100.45.*
SG11
Ehm, mám tam^ chyby. Samozřejmě Stoyan nikdy "nepoužila" a já "musím uznat...".
26.6.2007 14:59:57
 
82.100.45.*
Stoyan
Registraci nicku neplanuji. Dnes jsem komentare vylepsil o zapamatovani si udaju (nick, web ,email) a znovuneopisovani antispamoveho kodu. Ohledne tech chudacku... pokud na ne nebudes reagovat, casem je to omrzi a prestanou... snad
26.6.2007 23:49:48
 
195.47.46.*
MzK
Tak si jdu uložit nové cookie. BTW co jsi to zkoušel na mne na webu psaním slova test? Teda myslím že jsi to ty právě podle IP adresy ([odkaz]) Objevil jsem ti další chybku. Co když chce někdo odeslat koment bez emailu a smaže i zavináč
27.6.2007 6:16:33
 
85.132.154.*
Stoyan
Nenazyval bych to chybou, ale spise vlastnosti RS. Nakonec jsem to tedy ale upravil.
Ten test jsem na tvuj web psal opravdu ja. Zkoumal jsem presmerovani po odeslani komentare (zalozka #pridano).
27.6.2007 12:50:47
 
195.47.46.*
MzK
Stoyan: Ještě jedna vlastnost RS. Ten regulární výraz bych trochu upravil, aby nebral do odkazu i tu závorku v předchozím komentu.
Tak jsem se také dokopal k přepsání mého RS, začínám víc používat třídy a OOP. Používáš také?
28.6.2007 7:03:11
 
85.132.154.*
kamil
kamik2(zavinac)azet.sk
...velmi pekny web so vsetkym co k tomu patri ja nechcem kritizovat ale by so,m chcel poradit co s mojou strankou [odkaz] ..... dakujem.
28.6.2007 14:47:48
 
91.127.241.*
Tomi
mna by este zaujimalo, ze ci bude tvoj RS open source usetril by pracu inym a (mozno) by sa aj dalej vyvyjal, keby bol dobry ;)
29.6.2007 11:49:43
 
88.212.21.*
MzK
Tomi: Dovolím si tipnout, že nebude Open source. Je plno kvalitních redakčních systémů zdarma. I českých, stačí hledat
29.6.2007 13:05:52
 
85.132.154.*
Martasko
to MzK. OOP tu urcite nie je pouzite pretoze to Stoyan neumi
29.6.2007 13:47:52
 
195.91.54.*
Stoyan
MzK: Regularni vyraz opraven. OOP v PHP nepouzivam.

Kamil: Nepouzivat Frontpage a psat web "rucne" (doporucuji PSPad) v (X)HTML, CSS, pripadne PHP.

Tomi: Muj RS open source neni a jak pise MzK, staci hledat a najdes spousty kvalitnich.

Martasko: A co jako?
30.6.2007 18:13:38
 
195.47.46.*
Stoyan
stoyan(zavinac)tiscali.cz
test
2.7.2007 17:39:15
 
195.47.46.*
thomm
thomm(zavinac)thomm.sk
pohodicka, taka jednoduchost
2.7.2007 21:39:53
 
84.16.37.*
Stoyan
stoyan(zavinac)tiscali.cz
Jednoduchy se muze zdat na pohled, ale stoji za tim spousta prace a driny
2.7.2007 21:44:18
 
195.47.46.*
Vistar
vistar(zavinac)azet.sk
Cau , posim ta a ako si davas na uvodnu stranku clanky aby niektore isly zobrazit a niektore len taky uvod a ako to mas ze si to das len na urcity text ?
4.3.2008 20:22:44
 
91.127.28.*
Nový komentář
Nick: 136" />

Smajlíci:

:-D :-) :-/ :-( ;-) :-P 8-) [b][/b] [i][/i] [url][/url]
Web:
Email:
Komentář:
Opište prosím číslo 136 (ochrana proti SPAMu)
 
       * Pole Komentář podporuje BBCode tagy
© Stoyan, 2006 - 2012