{"id":541,"date":"2008-08-25T11:09:00","date_gmt":"2008-08-25T20:09:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2008\/08\/25\/visual-studio-web-project-template-for-zermatt-and-your-cardspace-rp-asp-net-web-site-is-upamprunning-in-just-37-1-seconds\/"},"modified":"2013-03-14T22:25:17","modified_gmt":"2013-03-15T07:25:17","slug":"visual-studio-web-project-template-for-zermatt-and-your-cardspace-rp-asp-net-web-site-is-up-running-in-just-37-1-seconds","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2008\/08\/25\/visual-studio-web-project-template-for-zermatt-and-your-cardspace-rp-asp-net-web-site-is-up-running-in-just-37-1-seconds\/","title":{"rendered":"Visual Studio web project template for Zermatt&#8230; and your CardSpace RP ASP.NET web site is up&amp;amp;running in just 37.1 seconds"},"content":{"rendered":"<p><P>You would not believe how often I have to set up identity enabled web sites: for verifying a theory, for proving a point with colleagues, for demos and events&#8230; really really often. Vast majority of cases those are barely proofs of concept, nothing elaborated, so I&#8217;ve been working for reducing the overhead that every project entails.<\/P><br \/>\n<P>Needless to say, <A href=\"http:\/\/blogs.msdn.com\/vbertocci\/archive\/2008\/07\/09\/announcing-the-beta-release-of-zermatt-developer-identity-framework.aspx\">Zermatt<\/A> has been a miracle balm for this: instead of cut&amp;paste reuse, I finally have a tool with most of the capabilities I need few intellisense steps away. However my laziness knows no boundaries, so I came out with something that&#8217;s even faster: a <A class=\"\" href=\"http:\/\/blogs.msdn.com\/vbertocci\/attachment\/8894062.ashx\">Visual Studio template<\/A> for web sites, which sets up the few knobs that Zermatt needs directly at project creation time. Oh, don&#8217;t expect anything fancy: this is basically <A href=\"http:\/\/blogs.msdn.com\/vbertocci\/archive\/2008\/08\/18\/setting-up-a-basic-cardspace-rp-website-using-zermatt.aspx\">the RP project I walked you through few posts ago<\/A>. The only difference is that instead of adding references, creating pages, dragging controls and working with the web.config the template itself takes care of that. <A class=\"\" href=\"http:\/\/blogs.msdn.com\/vbertocci\/attachment\/8894062.ashx\">I am providing the template as attachment to this post<\/A>: you can just drop the ZIP it in <FONT face=\"Courier\">C:Users&lt;your user&gt;DocumentsVisual Studio 2008TemplatesProjectTemplatesVisual Web Developer<\/FONT> (or equivalent, if you use another disk\/OS) and next time you&#8217;ll create a new web site with Visual Studio you&#8217;ll find it under &#8220;My Templates&#8221; as shown below.<\/P><br \/>\n<P><A href=\"http:\/\/blogs.msdn.com\/blogfiles\/vbertocci\/WindowsLiveWriter\/AVisualStudiowebtemplateforZerm.1seconds_145FB\/image_2.png\"><IMG height=\"437\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2008\/08\/image_2.png\" width=\"644\" border=\"0\"><\/A> <\/P><br \/>\n<P>Now. ALL possible disclaimers apply for this template, the web site produced is just an example and lacks A LOT of key capabilities that should instead be implemented in an RP; furthermore, it assumes that you&#8217;ll run the web site on the local IIS and that your SSL binding is using the selfsigned cert that gets installed with Zermatt&#8217;s samples. <\/P><br \/>\n<P>That said: using templates r o c k s. If all you need is creating a PoC, you can have your base RP site up&amp;running REAL fast. How fast? Well, I decided to verify beforehand how long it would take to go from nothing (visual studio not running, no virtual directories, <EM>nothing<\/EM>) to being signed in in a newly created CardSpace RP web site. I <A href=\"http:\/\/gallery.live.com\/LiveItemDetail.aspx?li=a7ca6bd4-15f1-44a5-b6ba-31b2daf75e47\">downloaded a stopwatch gadget<\/A>, reduced the screen resolution, fired up Camtasia&#8230; and timed myself while creating the project &amp; running it. The results are pretty staggering&#8230; <STRONG><U><EM>37.1 seconds at the first attempt<\/EM><\/U><\/STRONG>! And I blabbered the entire time, didn&#8217;t optimize mouse paths, didn&#8217;t use a monstrously powerful machine&#8230; in other words, this is a record you can smash any time if you just try. If you are into exotic accents, or if you don&#8217;t believe me, you can see the above in action in the 3-minutes video below. Fun! <\/P><br \/>\n<DIV class=\"wlWriterSmartContent\" id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:20d661ce-fda7-4088-a200-b5af0ac3c0e8\"><br \/>\n<DIV id=\"90774377-b094-49ba-af8a-1616a1ecc588\"><br \/>\n<DIV><A href=\"http:\/\/video.msn.com\/video.aspx?vid=86a2c85f-f973-40c5-aba1-096b5a72fd15&amp;from=writer\" target=\"_new\">&lt;IMG alt=&quot;&quot; src=&quot;http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2008\/08\/videof1b798cc8e75.jpg&quot; onload=&quot;var downlevelDiv = document.getElementById(&#039;90774377-b094-49ba-af8a-1616a1ecc588&#039;); downlevelDiv.innerHTML = &quot;<\/p>\n<div><\/div>\n<p>&quot;;&#8221; galleryimg=&#8221;no&#8221; mce_src=&#8221;http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2008\/08\/videof1b798cc8e75.jpg&#8221;&gt;<\/A><\/DIV><\/DIV><\/DIV><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You would not believe how often I have to set up identity enabled web sites: for verifying a theory, for proving a point with colleagues, for demos and events&#8230; really really often. Vast majority of cases those are barely proofs of concept, nothing elaborated, so I&#8217;ve been working for reducing the overhead that&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[39,9,86,60,55,79],"tags":[],"class_list":["post-541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cardspace","category-identity","category-infocard","category-wild-ideas","category-windows-cardspace","category-zermatt"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=541"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/541\/revisions"}],"predecessor-version":[{"id":1717,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/541\/revisions\/1717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media\/1455"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}