WebMatrix címkéhez tartozó bejegyzések

WebMatrix 2 beta

Frissült a WebMatrix 2 bétája, ami most már gond nélkül együttműködik a Visual Studio 11 bétával. Az új verzió a Web Platform Installer pre-release termékeket is listázó változatával tölthető le innen.

A tavalyi WebMatrix Klub előadássorozat alkalmával egészen megkedveltem a WebMatrixot. Nem olyan nehézkes, mint a Studio, de okosabb, mint egy Notepad (++/2). Olyan pont kézreálló fajta, persze csak annak, aki nem riad vissza egy kis kódolástól és tudja nélkülözni a varázslókat.

Image4

Az új verzió újdonságaiból ízelítő megtekinthető itt.

 

Technorati-címkék: ,

Orchard előadássorozat és letöltések

orchard-logoA WebMatrix Klub színeiben az utóbbi hónapban négy előadást készítettem az Orchard testreszabásával kapcsolatban, melyek elérhetőek az alábbi oldalakon:

  1. Az Orchard keretrendszer telepítése
  2. Tartalomkezelési lehetőségek
  3. Webhely navigáció és oldalelrendezések
  4. Webmesteri feladatok

A nagy igazság az Orcharddal kapcsolatban, hogy egy igen modern keretrendszer, jól kitalált modularitással, viszont kevés beépített gyári modullal. Gyakorlatilag a legalapvetőbb feladatokat is csak úgy tudjuk megoldani, ha az arra szolgáló modulokat telepítjük az online galériából. Ez a valóságban nem olyan szörnyű, mint ahogy itt hangzik, mert az Orchard csapat nagyon sok modult publikál, melyeket így a keretrendszertől függetlenül lehet fejleszteni, javítgatni.

Az előadások során nagyon sok modult és kiegészítőt használtunk, ezeket – és még néhányat –  itt most referenciaként csokorba gyűjtöm:

Telepítés

Tartalomkezelés

Mezőtípusok:

Tartalomrészek:

Keresés:

Továbbiak:

Navigáció és oldalelrendezések

Rétegek:

Webmesteri feladatok

Felhasználókezelés:

Levélküldés:

SEO:

Beállítások és tartalom mentése és visszatöltése:

Ez persze nem a teljes lista, hiszen jelenleg a galériában több, mint 500 csomag érhető el, melyek közül az Orchard Team által készítettekre mindenképp érdemes odafigyelni.

Ezeken kívül ti találtatok még hasznos modulokat? Esetleg készített már valaki saját modult?

 

Technorati-címkék: ,

HTML5 audió-videó MIME típusok

Ha WebMatrix (IIS Express) vagy IIS alatt próbálkozunk a HTML5 új <audio> és <video> tag-jeivel, akkor először nagy valószínűséggel azt fogjuk tapasztalni, hogy bár a lejátszó megjelenik, a lejátszás nem indul el. Jobban megnézve a HTTP forgalmat, az alábbi hibaüzenettel szembesülhetünk:

HTTP Error 404.3 – Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

A hibaüzenet és az alatta található részletes leírás eléggé magáért beszél, a hiba oka az, hogy az IIS nem engedélyezi az új audió és videó fájlok letöltését, mert nem ismeri őket. Az IIS kiokosításához persze használható a hibaüzenethez tartozó leírásban található parancssoros appcmd is, de sokkal egyszerűbb, ha beírjuk ezeket a sorokat a web.config fájlba és már készen is vagyunk:

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      <mimeMap fileExtension=".m4v" mimeType="video/m4v" />            
      <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
      <mimeMap fileExtension=".webm" mimeType="video/webm" />
    
      <mimeMap fileExtension=".m4a" mimeType="audio/mp4" />
      <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
      <mimeMap fileExtension=".ogg" mimeType="audio/ogg" />            
      <mimeMap fileExtension=".spx" mimeType="audio/ogg" />
    
      <mimeMap fileExtension=".svg" mimeType="images/svg+xml" />
      <mimeMap fileExtension=".svgz" mimeType="images/svg+xml" />
    
      <remove fileExtension=".eot" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".otf" mimeType="font/otf" />
      <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
            
    </staticContent>    
  </system.webServer>
</configuration>

Forrás: Mads Kristensen

 

Technorati-címkék: ,,,

WebMatrix: Enter the Web

A mai nap különös jelentőségű a Microsoft platformon dolgozó webfejlesztők számára: ma ismerte be a Microsoft, hogy az ASP.NET nem egy bárki által hipp-hopp elsajátítható tákoló környezet, hanem egy bizony elég komplex platform, amibe beletanulni komoly erőfeszítéseket igényel. Szerencsére nem pusztán a tények beismeréséről van szó, hanem megoldást is kapunk a problémákra.

Most kezdődik az online is streaming adás formájában követhető Enter the Web esemény, ahol a Microsoft számos új technológiát jelent be, melyek jelentősen meg fogják változtatni az ASP.NET fejlesztők életét. Ma lesz elérhető az ASP.NET MVC 3, az IIS Express, az SQL Compact 4.0 és a WebMatrix, na meg a Web Platform Installer 3.0, ami mindezeket és a rakás külső gyártó által készített bővítményeket összefogja és teszi egyszerűen telepíthetővé.

Ez a számos remek termék egy nagyon hosszú fejlesztési folyamat eredménye (először több, mint 1,5 éve hallottam róluk), aminek a nulladik lépése az volt, hogy Redmondban végre felfogták, hogy a Microsoftos web platformra fejleszteni egyszerűen túl bonyolult. Önmagában minden technológia nagyon szép és nagyon érett, de ha valaki ezeket egyszerre és hatékonyan akarja használni, akkor nagyon sok alapismeretre van szüksége. Ezek a problémák sajnos nem csak a kezdőket (Microsoftos terminológiában “hobbistákat”) érinti, hanem konkrétan a profi fejlesztőket is. Ma elmondhatjuk, hogy a legfájóbb pontokra kapunk megoldást:

A fejlesztői keretrendszer

Az ASP.NET WebForms a megjelenésekor azzal tudott hódítani, hogy a webes fejlesztést közel hozta a desktop fejlesztéshez, méghozzá két nagyon fontos tulajdonságával: a vezérlők (controls) használatával és az eseményvezérelt programozás bevezetésével. Az üzenet az volt, hogy úgy lehet webalkalmazást készíteni, hogy szinte azt sem kell tudnod, mi az a HTTP, és ez gyakorlatilag igaz is. Azóta azonban nagyon sokat változott a világ, előtérbe kerültek olyan szempontok, amik a generált HTML kód teljes kézbentarthatóságát igénylik. Ha ASP.NET WebForms környezetben teljesen szabályozni szeretnénk a generált kódot, akkor ahhoz nagyon kell ismerni a WebForms technológia részleteit. Ezt a problémát akarta megoldani az ASP.NET MVC azzal, hogy a kimenet teljes vezérlését a programozó kezébe adta (és persze ezek mellett még sok egyebet is).

Az ASP.NET MVC egy kiválóan működő és gyorsan bővülő technológia, azonban van egy közös tulajdonsága a WebForms-szal: az MVC is meglehetősen bonyolult, ráadásul több szinten:

1. Bonyolult az MVC koncepció

Az MVC (és a WebForms) elvei bonyolultak, hosszú időbe telik, míg az ember megtanulja őket. Persze utána nagyon szép, strukturált, tesztelhető és karbantartható kódot írhatunk vele, de valóban szükség van erre a szofisztikáltságra minden szinten? A sarki kisállatkereskedés honlapjához tényleg kell modell, view és controller? Nyilvánvalóan nem. Megvan a helye tehát a kevésbé strukturált felépítésnek is, mert bizonyos esetekben az lesz az egyszerűbb. Ezt a megközelítést pedig úgy hívják, hogy ASP.NET WebPages.

2. Bonyolult a markup

A fejlesztőnek végeredményül egyfajta markup kódot kell írnia, ami azonban tele lesz olyan értékekkel, amik szerver oldalon generálódnak. Lássuk be, az ASP.NET WebForms és az MVC markupja valójában éppúgy spagetti kód, mint anno az ASP kód volt. Sőt, ugyanúgy spagetti kód, mint a PHP kód. A PHP sikere azonban bebizonyította, hogy ez a kevert kód nem is olyan rossz, mert nagyon gyorsan meg lehet tanulni és utána nagyon gyorsan el lehet készíteni. Ez tehát a jó irány, amit még azzal lehetne megfejelni, hogy az írandó kódot egyszerűbbé, rövidebbé, átláthatóbbá tesszük. Erre megoldás az ASP.NET MVC-vel és a WebPages-zel használható új Razor szintaktika.

3. Bonyolult a fejlesztőeszköz

A Visual Studio egy kiváló fejlesztőeszköz, tud mindent, amire egy .NET-es fejlesztőnek szüksége lehet. Azonban annak, aki először látja, hihetetlenül bonyolult. Sőt, aki már használja egy ideje, az is simán találhat minden héten egy új menüpontot, amire korábban még nem figyelt fel. Nem megoldás a Visual Studio Web Developer Express sem, mert bár kevesebbet tud, még mindig nagyon komplex fejlesztőeszköz. Kellene valami sokkal, úgy értem sokkal egyszerűbb, ami illeszkedik az előző gyors-és-egyszerű koncepcióhoz. Itt jön a képbe a ma megjelenő WebMatrix, aminek az elsajátítását ráadásul egy rövid és könnyen követhető, az alapoktól induló gyakorlatsorozat is segíti.

A webszerver

Az Internet Information Services mint webszerver, nagyon jól megállja a helyét a szervereken, sajnos azonban a fejlesztőknek napi problémákat tud okozni. A legnagyobb gond, hogy a Visual Studioba épített fejlesztői webszerver (Cassini) nem azonos az IIS-sel, sokkal kevesebbet tud. A másik nagy probléma, hogy a nagy IIS konfigurálásához admin jogok kellenek és ismerni kell hozzá az IIS gazdag funkciókészletét. Ez inkább üzemeltetői ismereteket és gyakorlatot igényel, ami a fejlesztőknek egyszerűen nincs meg és lássuk be, nem is nagyon vágynak rá. A megoldás az IIS Express, ami felváltja a Cassinit egy olyan webszerverrel, ami teljesen kompatibilis az IIS-sel, tudja futtatni az IIS modulokat, tudja az SSL-t, sőt még admin jog sem kell hozzá. Ez gyakorlatilag egy mini IIS motor, ami leveszi a fejlesztő válláról az IIS konfigurálásának nehézségeit és lehetővé teszi, hogy a fejlesztőkörnyezet közel 100%-osan kompatibilis legyen az éles futtatókörnyezettel.

Az adatbázisszerver

A TechEden beszélgettem egy open source CMS vezető fejlesztőjével, aki azt mondta, hogy a support kérdéseik 80%-a az SQL Server komplexitására vezethető vissza. Egyáltalán nem triviális a telepítése, aminél már csak a megfelelő jogosultságok beállítása nagyobb kihívás. Nem véletlen, hogy egy csomó webhosting környezetben egyáltalán nincs SQL Server, hiszen nem csak a telepítése, hanem az alkalmazások elszigetelése is nagyon komoly feladat. Helyette sok helyen még mindig az Access dívik, mert ott még az adatbázist sem kell telepíteni. A most elérhetővé vált SQL Server Compact Edition 4.0 ezeket a fejlesztői és üzemeltetői problémákat oldja meg azzal, hogy az SQL Server legfontosabb funkcióit telepítés nélkül is elérhetővé teszi. Az SQL Compact mindössze pár DLL, amit elég bemásolnunk az alkalmazásunk bin könyvtárába és máris működik. Ugyanígy az adatbázist is elég csak felmásolnunk a szerverre. Nincs telepítés, nincs adatbázis attach-olás, de tud SQL-ül, sőt még megy vele a LINQ to SQL és az Entity Framework is. Az SQL Compact korábbi verzióit nem lehetett többszálú környezetben használni, mostanra azonban ezt is megoldották, így tökéletes relációs adatbázis motorrá vált ASP.NET alkalmazások alá.

Újrafelhasználás

A komponens alapú fejlesztés egyik alapelve az elkészült modulok, komponensek újrafelhasználása. Ez egy ASP.NET projektnél tipikusan eddig azt jelentette, hogy a gyártó oldaláról le kell töltenünk egy csomagot, amiből a DLL-eket és a markup fájlokat be kell másolnunk a megfelelő könyvtárakba, majd módosítanunk kell a web.config megfelelő részeit. Sajnos ez minden egyes bővítmény esetén garantálhatóan teljesen máshogy történik, és általában több idő kideríteni, hogy mit kell csinálni, mint elvégezni ezt a néhány apró módosítást a forráskódunkon. Ezen az összevisszaságon az új NuGet Package Manager fog segíteni, ami egy PowerShell alapú, jól szkriptelhető motor a bővítmények kezelésére. Természetesen nem kell mindenképpen parancssorból kezelnünk a csomagokat, a NuGet beépül a WebMatrixba és a Visual Studioba is. Kell némi Facebook funkció a weboldaladra? Van hozzá NuGet package. Vagy PayPal? Ahhoz is van helper, sőt még nagyon sok mindenhez, elég csak körülnézni a most épp 376 csomagot tartalmazó galériában, merthogy persze van egy közös gyűjtemény ezekből a bővítményekből.

Indulás nem nulláról

Akik nem szenvednek not invented here szindrómában, azok már rég belátták, hogy az open source világban nagyon komoly eredmények vannak. Már egyáltalán nem ciki fogni egy nyílt forráskódú alkalmazást és annak a kódjából kiindulva, némi testreszabással elkészíteni a saját megoldásunkat. A WebMatrix, az új Web Platform Installer 3.0 és a hozzá kapcsolódó Web Application Gallery ezt nagyon komolyan támogatja. Alig néhány kattintással le tudunk tölteni és be tudunk üzemelni a saját gépünkön egy nyílt forráskódú CMS, blog vagy galéria webhelyet az összes függőségével együtt! Ez utóbbi nagyon nagy szó ám, gondoljunk csak az adatbázis szerver és az adatbázis séma telepítésének és konfigurálásának kínjaira! Sőt, maga a Microsoft is belépett a nyílt forráskódú CMS alkalmazások “piacára” az Orchard projekttel.

Hoszting

Mi lesz az elkészült alkalmazások sorsa, hol tudjuk hosztolni? Sajnos Windowsos hoszterből messze nincs annyi, mint PHP-sból, tehát az egyik probléma, hogy nem egyszerű megfelelőt találni. Azután ha sikerült választani, akkor még mindig adott a fejlesztőkörnyezet és a futtatókörnyezet konfigurálásának feladata. A fejlesztőnek tudnia kell a szerver paramétereit, az üzemeltetőnek pedig ismernie kell az alkalmazás tulajdonságait és az egyedi telepítési igényeket. Ne felejtsük el, hogy a fejlesztők és az üzemeltetők teljesen más világban élnek, más nyelvet beszélnek, itt viszont könyörtelenül egymásra vannak utalva. Itt lép be a képbe a Web Deployment Tool 2.0, és az új Web Hosting Gallery, ami ezt a folyamatot nagyban tudja egyszerűsíteni és automatizálni.

A fenti felsorolásból egyértelműen látszik, hogy ma egy új világba léptünk a Microsoft web platform területén, a fenti eszközök és technológiák már letölthetőek az új Web Platform Installer 3.0-val. A Microsoft az alapoktól újragondolta a platform minden egyes részét és kiegészítette ott, ahol a legkomolyabb nehézségekkel találkoztak a profi fejlesztők és a platformmal most ismerkedők. Az új jelszó az egyszerűség, mert ahogy Leonardo da Vinci mondta, “az egyszerűség a kifinomultság csúcsa”.

ps. A teljes képhez még egyetlen apróság hiányzik, ez pedig a VS IDE támogatás az IIS Expresshez és az SQL CE-hez, de az sincs már messze, a most épp bétában lévő VS 2010 SP1 hozza el őket hamarosan.

Tetszenek az újdonságok, mit gondoltok, jó ez az egyszerűség irány?

Karácsonyi és újévi programajánló

A karácsonyi ingerszegény időszak kitöltésére ideális mozi program lehet a december 2-án rendezett Silverlight Firestarter 2010 esemény anyagainak végignézése, amit a Microsoft nemrég tett elérhetővé a http://www.silverlight.net/news/events/firestarter/ címen. Nyolc érdekes előadás Scott Guthrie csapatával, melyekből a Silverlight 5 újdonságairól is képet kaphatunk.

A jövő év elején pedig a web és a WebMatrix kedvelőknek nyújt lehetőséget a technológia megismerésére a január 13-án Ohio-ban rendezett CodeMash esemény, melynek előadásait online is követhetjük a http://web.ms/enter címen.

Jó tévézést!

Technorati-címkék: ,,,

Razor Syntax Highlighter

Aki elkezdte már nézegetni az ASP.NET MVC 3 bétáit, biztosan találkozott már az új view engine-nel a Razor-ral. A tervezésekor a fő szempont az egyszerűség volt, éppen ezért esett erre a választás, amikor eldöntötték, hogy a WebMatrix és az ASP.NET Web Pages milyen szintaktikát kövessen. Mindenképp érdemes megismerkedni vele, mert az MVC következő verziójában hangsúlyosabb szerepet fog kapni. A WebMatrix oldalain található egy bevezető a Razor szintaktikájába, bár a hamarosan megjelenő következő bétában ez egy kicsit változni fog (a szintaktika és az API is).

Bár az MVC béta telepítése után a Razor már választható a Visual Studio Add View dialógus ablakában, sajnos egyelőre nincs syntax highlighting. Aki már most beleásná magát az új szintaktikába és nem akar addig várni, amíg kijön a hivatalos bővítmény, annak praktikus feltelepíteni a Ben által készített ingyenes Razor Syntax Highlighter kiegészítést a Visual Studio 2010-hez. Az ő blogjában számos további hasznos tipp található a Razor használatával kapcsolatban, illetve aki rákattant a témára, annak tudom ajánlani még Andrew Nurse írásait is.