Další pokračování seriálu recenzí redakčních systémů. Tentokrát si představíme projekt Nemesis, první recenzovaný systém založený na technologiích společnosti Microsoft – ASP.NET a MS SQL.
Open source redakčních systému psaných na platformě Microsoft – ASP.NET a MS SQL není příliš mnoho. Je to logické, do nedávné doby byl vývoj a následné nasazení podmíněn značnými finančními vklady, díky čemuž se valná většina, která v Internetu a věcech s ním spojených vidí pouze zábavu a sebevzdělávání, raději učila PHP a MySQL, případně jinou databázi. ASP.NET vývojáři byli profesně zaměstnáni v odpovídajících pozicích a většinou neměli chuť se pouštět do vývoje něčeho pro ostatní zdarma. Dnes je k dispozici většina vývojových produktů v Express verzi, což samozřejmě vede k rozšíření těchto technologií mezi studenty a podobně na internetové služby nahlížející lidi. V tak krátkém čase samozřejmě není možné, aby se technologie více rozšířily, navíc když je jen několik málo osob, které jsou ochotné s něčím poradit.
Jedním je i MVP Michal Altair Valášek, který vytvořil redakční systém Nemesis (aktuální verze 6) pod licencí BSD. Existují 3 různé verze odlišené svými schopnostmi a také cenou. První, nejzákladnější a také distribuována zadarmo jako starter kit, pod příhodným názvem Nemesis publishing express. Pro nasazení si můžeme vybrat z C# nebo Visual Basicu dle vlastních sympatií, ve staženém souboru systému totiž nalezneme obě verze. Kód je možné dle podmínek open source jakkoli dále upravovat. Další verze jsou již zpoplatněné. Standard stojí 3 000 Kč bez DPH za jednu licenci bez možnosti úprav, pokud požadujete i zdrojové kódy, bude Vás to stát dvojnásobek. Poslední verze, Professional, poskytuje nejvyspělejší funkce, nicméně její cena není stálá a na webových stránkách projektu je označena jako smluvní. Mezi příklady užití patří e-zine autora s jeho weblogem, server Neopagan, případně ukázkový web systému Nemsis publishing express. V dalším textu se budeme nadále zabývat pouze verzí Express.
Vvývoj systému Nemesis je jakýmsi obrazem nabývaní nových znalostí autora. První verze byla pouze generátorem statických HTML stránek na základě datových souborů a šablon, které se následně nahrávaly na server pomocí FTP. Další verze již používaly skriptovací jazyk ASP na straně serveru. V pořadí pátá verze byla již napsaná v platformě .NET. Poslední, čili šestá. verze, je první poskytovanou pod značkou express zdarma, což je de facto pokračování blokovacího nástroje Cheetah. Šestá verze je tady jakýmsi milníkem, kdy se dvě řeky spojí a pokračují pak dále společně. Krokem je ale i použití nové verze .NET – 2.0 (pod starší verzí 1.0 a 1.1 produkt nebude fungovat) a MS SQL 2005 i Express verze, nicméně z důvodu zpětné komptability (především finanční náročnosti nákupu nové licence) je možné stále používat databázový server verze 2000. Chybou by bylo přiznávat autorovi zásluhu za obě jazykové verze, Valášek totiž vytvořil pouze VB verzi, do C# projekt přeložil Miloslav Beňo.
Nemesis publishing express se hodí spíše jako základ vlastními silami naprogramovaného redakčního systému pro svůj projekt, případně jako řešení pro malý weblog.
Nemesis se zřejmě řídí heslem „v jednoduchosti je síla“. Funkce jako registraci čtenářů, vyhledávání ani publikování článků v předem nastavený čas nehledejte. Naopak velkou výhodou je jednoduchost a přehlednost systému, kdy téměř okamžitě pochopíte, jak systém funguje. Složka je přehledně strukturovaná, a systém tak plně splňuje podmínky kladené na starter kits. Bohužel z toho všeho vyplývá fakt, že předním určením systému jsou hlavně menší blogy, kde autor nepožaduje příliš velkou funkcionalitu, případně na Nemesis hodlá vystavět redakční systém pro projekt svými silami a s vlastními požadavky. Nicméně dokumentace poskytuje všechny důležité okolnosti ke snadnému nasazení a správě systému, při jakýchkoli potížích jistě rád autor poradí v diskuzním fóru. Ve složce Documentation tedy najdete stručný popis instalace systému, kontakt, licenci a technické požadavky. Bohužel jen velmi stručně jsou podány informace o možnosti změny vzhledu, autor poukazuje na snadnost nalezení informací v jiném starter kitu –ASP.NET Master Pages Template Set, kde je v dokumentaci vše podrobně vysvětleno. Nicméně tato část již vyžaduje podrobné prohlédnutí všech souborů a uvědomění si struktury aplikace.
Pozor na bezpečnou správu
Složitější situace nastává u zabezpečení. Jediným přihlašovacím formulářem je vstup do administračního rozhraní. I přesto, že systém podporuje více autorů, je přístup do administrace řešen přes jednotné přihlašovací jméno a heslo. Přístupové údaje jsou uloženy v souboru web.config, po instalaci v plaintext tvaru jméno = admin a heslo = password. Nicméně tento stav není doporučován, daleko lepší je heslo uvést v MD5 nebo SHA-1 hash tvaru. Změna se provede jednoduchou změnou řádku <credentials passwordFormat="Clear"> ve web.config, kde Clear zaměníte za MD5 či SHA1. Pro spočítání hashe hesla je nutné vytvořit utilitku a pomocí ní pak na serveru nechat převést heslo na jeho hash. Nicméně už samotné použití jednotného hesla právě značně znesnadňuje, při větším počtu autorů je totiž nutné, aby všechny články byly zasílány na adresu šéfredaktora a až ten je vkládal do administrace, kde je také možnost zvolit autora, pod jehož hlavičkou text vyjde.
Po vstupu do administračního rozhraní se nám zobrazí strohý, ale přehledný seznam funkčních částí webu. Mezi položkami však chybí možnost odhlášení, to je možné přidat vytvořením další položky v administračním menu s odkazem na ~/Administration/Login.aspx?Logout=1. Hlavní funkcí nicméně zůstává publikování článků. To se děje přes jednoduchý formulář, jehož součástí je WYSIWYG editor textu. Bohužel vlastními zkušenostmi jsem došel k závěru, že hlavně kvůli přidávání vlastních inline stylů do kódu je jeho služba kontroverzní a příliš jej nedoporučuji používat. Další vstupní pole jsou vyhrazena nadpisu, abstraktu a volbě autora. Po kliknutí na odesílací tlačítko je ihned daný text publikován, což není příliš vhodné řešení, vždy je totiž lepší si nejprve článek prohlédnout a opravit možné chyby, také psaní z více pracovišť není možné.
Zajímavou možností je funkce „statické stránky“, pomocí níž můžeme velmi rychle vytvořit aspx stránku mající stejný vzhled jako zbytek webu, ale veškerý obsah vytvoříme pomocí klasických HTML značek. Adresa této stránky pak bude /Static/jmeno.aspx, první příklad hned po instalaci vidíme ve spodní části webu – odkaz na kontakt a právní doložky. Podobných využití samozřejmě můžeme nalézt více, nicméně lepší demonstraci užití budeme hledat asi jen těžko. Ještě větší zajímavostí je funkce „příchozíRSS“, kdy se ve speciálním boxu zobrazují novinky z předem určených webů pomocí RSS. Kanály jsou hlídány v časovém intervalu určeném v souboru web.config. Tato služba asi bude mít jen velmi málo možností využití, spíš ji nechají zobrazovat bloggeři, kteří tak budou upozorňovat na své kamarády. V běžném provozu e-zinu jsem nenašel důvod, proč bych měl box s touto službou i nadále ponechat zobrazený.
Změna vzhledu
Úprava vzhledu webového projektu se provádí třemi způsoby: pomocí Master Pages ve složce App_Shared, Themes ve složce App_Themes a změnou XSLT šablon ve složce App_data. Trochu mě zklamalo využití Master Pages, jelikož jsem nabyl dojmu, že by celá struktura vzhledu systému šla ještě více zjednodušit přidáním dalších Master Pages pod hlavní MP. Tím by se tvorba nového vzhledu ještě více zefektivnila. Nicméně už samotný kód nás často donutí si danou skupinku stránek přepsat do námi snáze pochopitelné struktury HTML prvků, samozřejmě serverové ovládací prvky ponecháme na pokoji. Některé části vzhledu se nám můžou zdát pochybně umístěny, například informace o autorovi a abstrakt v pravém sloupci, celková změna tohoto rozpoložení do obvyklejšího formátu s sebou přinese ještě nutnost mazání nelogických prvků touto akcí vzniklých. Nepřekonatelným problémem také pro někoho může být občasné použití tabulek, namísto plně validního CSS zápisu. Nicméně vše jde díky přehledné struktuře aplikace zvládnou upravit za jedno dopoledne a práce podle vlastních zvyklostí pak bude hračkou.
Cool URL a podobné vychytávky – zapovězeno
Čekáte-li podporu pěkných URL pro lepší indexaci vyhledávači, tak si pěkně rychle nechte zajít chuť. Skoro všechny adresy jsou totiž tvořeny číslem, pod nímž je daný obsah zanesen v databázi. Pro představu – například na autory vede odkaz následovně: Authors/cisloautora.aspx, obdobně je tomu i u článků, poze se nacházejí ve složce Articles. Jedinou výhodou je, že systém začíná číslovat od cifry 1, takže ve většině případů je velká šance na zapamatování adresy zajímavého textu čtenářem. Ne jako u systémů, jejichž ID článku musí mít předepsaný počet míst. Velmi efektně je řešeno zobrazení komentářů, kdy je využito klasického „průzkumáckého“ skrývácího podsekší. Při zobrazení všech komentářů sice tato funkce již není užita, ale i tak splňuje velice dobře svůj účel. Bohužel však již není obsažena žádná ochrana proti spamu. Jednoduše jak již bylo psáno výše, vše, co nutně potřebujeme k webovému životu, si prostě musíme napsat sami.