<h2>Czech.NET Forum - diskusnφ f≤rum v ASP.NET</h2>
<p id='prepend'>Kdy₧ se objevil nßpad pou₧φt na Intervalu diskusnφ f≤rum z Microsoft ASP.net, zajßsal jsem v p°edtuÜe snadnΘ a pohodlnΘ instalace. Bohu₧el zßhy mΘ nadÜenφ vyst°φdalo zklamßnφ. Jak²mi peripetiemi f≤rum proÜlo a co vÜechno jsem musel ud∞lat, aby diskuze "b∞haly" v ΦeskΘm prost°edφ, to se dozvφte z tohoto Φlßnku.</p>
<p>Zcela naivn∞ jsem z <a href='http://www.asp.net'>www.asp.net</a> stßhl instalaΦnφ program a spustil instalaci, kterß se m∞la o vÜe postarat - vÜechny systΘmovΘ po₧adavky jsem p°eci spl≥oval s rezervou:</p>
<div class='list'>
<ul>
<li>Windows 2000, XP nebo Windows 2003</li>
<li>MSDE 2000 nebo MS SQL 7.0 a vyÜÜφ</li>
<li>nainstalovan² .NET Framework 1.0. nebo vyÜÜφ</li>
</ul>
</div>
<p>Z p°edstavy, ₧e f≤rum nainstaluji a bude hotovo, jsem byl vylΘΦen ihned po spuÜt∞nφ prohlφ₧eΦe. To, co jsem vid∞l, mi doslova vyrazilo dech:</p>
<p>Podle dokumentace k MS SQL nastßvß tato chyba v p°φpad∞, kdy se porovnßvajφ dva °et∞zce, kterΘ majφ r∙znΘ nastavenφ <em>kolace</em>. Podot²kßm, ₧e mßm nastavenu kolaci na Czech_CI_AS, nepou₧φvßm defaultnφ SQL_Latin1_General_CP1_CI_AS. Tu vÜak ASP.NET Forums naprosto nekompromisn∞ vy₧adujφ a p°i pou₧itφ jinΘ kolace jednoduÜe havarujφ. (Pokud se vßm tedy poda°ilo f≤rum nainstalovat a bez problΘm∙ spustit, m∙₧ete si b²t jisti, ₧e pou₧φvßte MS SQL v zßkladnφm nastavenφ vΦetn∞ kolace SQL_Latin1_General_CP1_CI_AS, kterß ovÜem nenφ pro naÜe prost°edφ vhodnß).</p>
<p>Aplikace zßvislß na nastavenφ serveru se pravd∞podobn∞ nejen mn∞ v∙bec nelφbφ, proto jsem se rozhodl najφt °eÜenφ, kterΘ by tuto zßvislost odstranilo. Po zdlouhavΘm hledßnφ jsem zjistil, ₧e jsou v ulo₧en²ch procedurßch databßzovΘ aplikace pou₧φvßny doΦasnΘ tabulky, kterΘ nemajφ specifikovßnu kolaci u pou₧it²ch objekt∙. A to je prßv∞ kßmen ·razu. V p°φpad∞, ₧e nenφ specifikovßna kolace, SQL server toti₧ pou₧ije kolaci podle databßze, v nφ₧ je objekt ulo₧en. Pokud vÜak pou₧φvßte doΦasnΘ objekty, nedojde k pou₧itφ kolace databßze, s nφ₧ pracujete (AspNetForums), ale kolace databßze tempdb, kterß b²vß v∞tÜinou nastavena stejn∞ jako SQL server.</p>
<p>Abych nechodil kolem horkΘ kaÜe - naÜel jsem <strong>chyby v nastavenφ kolace</strong> pro sloupce doΦasn²ch tabulek, kterΘ jsou pou₧φvßny v ulo₧en²ch procedurßch. Jednß se o <samp>Statistics_ResetTopPosters</samp> a <samp>forums_FindUsersByName</samp>. ProhlΘdnout si je m∙₧ete p°φmo v SQL skriptu AspNetForum.sql, kter² najdete v adresß°i, do n∞j₧ jste f≤rum nainstalovali (standardn∞ c:\AspNetForums). Proto₧e si myslφm, ₧e kolace SQL_Latin1_General_CP1_CI_AS nenφ zrovna nejvhodn∞jÜφ pro ΦeskΘ prost°edφ, upravil jsem SQL skript pro vytvo°enφ databßze, tabulek a ulo₧en²ch procedur pro kolaci Czech_CI_AS, staΦila chvilka s Notepadem.</p>
<p>DalÜφm problΘmem je, ₧e ka₧dΘmu nov∞ vytvo°enΘmu u₧ivateli je nastaveno <strong>ΦasovΘ pßsmo GMT-5</strong>. Proto₧e jsme vÜak ve st°ednφ Evrop∞, dovolil jsem si tuto hodnotu v tabulce user upravit na GMT+1, kterß odpovφdß naÜemu ΦasovΘmu pßsmu.</p>
<p>V tΘto fßzi jsme zaΦali uva₧ovat o specißlnφ mutaci ASP.NET Forums, kterß by zahrnovala vÜechny pot°ebnΘ opravy a ·pravy pro naÜe podmφnky, a dalÜφ problΘmy s f≤rem na Intervalu nßs nakonec p°esv∞dΦily o nutnosti tohoto kroku. V²sledkem je tedy <a href='podklady/kopp/676/czech-net-forum-b001.exe' title='Czech.NET Forum, cca 650 kB'>instalaΦnφ balφk</a> <strong>Czech.NET Forum</strong>. InstalaΦnφ program nenφ jeÜt∞ zcela poΦeÜt∞n, stejn∞ tak jako nemß Φeskou lokalizaci f≤rum, co₧ je ovÜem pouze otßzkou Φasu. (Na p°ekladu ji₧ pracuje jedna ze Φtenß°ek Intervalu.)</p>
<p>Zp∞t k instalaci. Pokud vÜe prob∞hne bez chyb, m∞li byste ve svΘm prohlφ₧eΦi spat°it obrazovku podobnou tΘto:</p>
<p>Po v²Üe popsan²ch ·pravßch mßte sice funkΦnφ f≤rum, bylo by vÜak vhodnΘ jej alespo≥ trochu nakonfigurovat. ╪ada polo₧ek je ulo₧ena v souboru web.config, ale jak se nßsledn∞ p°esv∞dΦφte, p°inejmenÜφm stejnΘ mno₧stvφ parametr∙ je zak≤dovßno napevno p°φmo v enginu. Cφlem dalÜφho buildu Czech.Net Forum proto bude mimo jinΘ i p°esun veÜker²ch konfigurovateln²ch polo₧ek prßv∞ do souboru web.config, prozatφm ovÜem budete muset postupovat podle nßsledujφcφho nßvodu.</p>
<p>Jako prvnφ byste m∞li <strong>zm∞nit heslo sprßvce konference</strong> (standardn∞ mß jmΘno Admin/admin), i kdy₧ daleko lepÜφ by asi bylo vytvo°it zcela jinΘho u₧ivatele se stejn²mi prßvy.</p>
<p>Zcela jist∞ budete chtφt, aby se vaÜe f≤rum jinak jmenovalo a b∞halo na ·pln∞ jinΘ adrese. Toho dosßhnete pomocφ parametr∙ <samp>siteName</samp> a <samp>urlWebSite</samp>. A pokud p°edpoklßdßte, ₧e se v∞tÜina vaÜich u₧ivatel∙ fyzicky vyskytuje ve st°ednφ Evrop∞, m∙₧ete rovnou zm∞nit nastavenφ <samp>dbTimeZoneOffset</samp> na hodnotou +1, mφsto p°eddefinovanΘ -5, kterß odpovφdß v²chodnφmu pob°e₧φ USA (v instalaci Czech.NET Forum ji₧ tato ·prava zanesena je).</p>
<p>V souboru web.config m∙₧ete sice nastavovat formßt data a Φasu, ale bohu₧el vßm to na °ad∞ mφst nebude moc platnΘ, jeliko₧ auto°i ASP.NET v∞tÜinou formßt natvrdo zadali p°φmo v enginu f≤ra. Pokud tedy budete chtφt pln∞ modifikovat formßty zobrazenφ pomocφ nφ₧e uveden²ch parametr∙, nezb²vß vßm nic jinΘho, ne₧ si engine p°epsat nebo si poΦkat na dalÜφ build z dφlny redakce Intervalu. (Mimochodem, do enginu je zcela nesmysln∞ zak≤dovßna takΘ °ada text∙!!!)</p>
<p>CelΘ ASP.NET Forums zkrßtka obsahuje °adu chyb a nedod∞lk∙, kterΘ se vßm budeme sna₧it nejen ukßzat, ale i nabφdnout jejich °eÜenφ. Samoz°ejm∞ nejsme vÜev∞doucφ a nenφ v naÜich silßch odhalit vÜechny problΘmy Φi dokonce je um∞t vÜechny hned vy°eÜit. Pokud n∞kdo z vßs objevφ chybu a bude ji um∞t opravit, uÜet°φ nßm mno₧stvφ prßce, zv²Üφ kvalitu naÜeho <a href='http://interforum.interval.cz' title='Interforum Interval.cz'>Interfora</a> a zßrove≥ prosp∞je ostatnφm Φtenß°∙m, kte°φ se rozhodnou vyu₧φt naÜe Czech.NET Forum v rßmci sv²ch www-projekt∙.</p>
<p>Zßkladnφ zm∞ny provedenΘ v prvnφm buildu Czech.Net Forum oproti ASP.NET Forums, aby jej bylo v∙bec mo₧no nainstalovat:</p>
<div class='list'>
<ul>
<li>adresß° s aplikacφ p°ejmenovßn na CzechNetForum</li>
<li>pou₧itß databßze p°ejmenovßna na CzechNetForum</li>
<li>v databßzi zm∞n∞na kolace na Czech_CI_AS</li>
<li>ΦasovΘ pßsmo nastaveno na st°ednφ Evropu (GMT+1)</li>
</ul>
</div>
<p>Nakonec jeÜt∞ jedna maliΦkost. UrΦit∞ bude °adu z vßs zajφmat, zda lze zprovoznit Czech.NET Forum na hostingu, kdy₧ instalaΦnφ program neumo₧≥uje nainstalovat aplikaci jinam ne₧ na lokßlnφ stroj. F≤rum na hostingu samoz°ejm∞ pou₧φt lze, budete ale muset provΘst celou konfiguraci ruΦn∞ a mφt p°itom na pam∞ti, ₧e se databßze bude muset jmenovat ·pln∞ jinak (zcela jist∞ ji budete mφt ji₧ od provozovatele vytvo°enu). Pokud bude o detailnφ postup zprovozn∞nφ f≤ra na hostingu vΦetn∞ upraven²ch SQL skript∙ zßjem, budu o Φlßnku na toto tΘma vß₧n∞ uva₧ovat.</p>
<h4><a href='http://interval.cz/redirect/redirect.asp?what=interval_booknews&url=http://interval.inshop.cz/inshop/scripts/detail.asp?ItemID=226'>Hacking bez tajemstvφ: Java a J2EE</a></h4>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2752'>Java a 3D grafika</a></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2694'>Czech.NET Forum - diskusnφ f≤rum v ASP.NET</a></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2767'>Zprßvy z Proffesional Developers Conference (PDC 2003)</a></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2702'>KonfiguraΦnφ soubor v PHP, tentokrßt ve formßtu .ini</a></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2561'>Internet Explorer 7 se jmenuje MyIE2</a><div>143 komentß°∙ </div></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=1328'>XHTML v praxi</a><div>124 komentß°∙ </div></li>
<li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2714'>Prvnφ Dobr² web v ╚echßch</a><div>87 komentß°∙ </div></li>