Home
Download
About SpiderLoop
Resell SpiderLoop
Support
SpiderLoop WIKI
Test Drive SpiderLoop
Windows Hosting
SpiderLoop BLOG
SpiderLoop SEO Forums
|
Welcome to SpiderLoop web marketing.
You found a page created by the SpiderLoop SEO Control Panel:
web SEM
You can download the SpiderLoop SEO control panel for free for your own web site.
Use the navigation above or click here to find out how.
|
Link Partners 2
Top Page SEO London Search Engine Optimization
Would you like to see your RSS feed here?
Feeds.SpiderLoop.com |
|
Link Partners
|
Web Deployment: Web.Config Transformation
We have earlier discussed about Web Deployment and Web Packaging quite a bit, today I wanted to dive into web.config transformation. If you would like to check out the other topics please read through the earlier blog posts below: Usually web applications go through a chain of server deployments before being finally being deployed to production environment. Some of these environments can be Developer box (Debug), QA Server, Staging/Pre-Production, Production (Release). While transitioning between these environments various settings of the web application residing in web.config file change, some of these settings can be items like application settings, connection strings, debug flags, web services end points etc. VS10’s new web.config transformation model allows you to modify your web.config file in an automated fashion during deployment of your applications to various server environments. To help command line based deployments, Web.Config transformation is implemented as an MSBuild task behind the scene hence you can simply call it even outside of deployment realm. I will try to go through below steps to explain web.config transformation in detail - Creating a “Staging” Configuration on your developer box
- Adding a “Staging” Web.Config Transform file to your project
- Writing simple transforms to change developer box connection string settings into “Staging” environment settings
- Generating a new transformed web.config file for “Staging” environment from command line
- Generating a new transformed web.config file for “Staging” environment from VS UI
- Understanding various available web.config Transforms and Locators
- Using Web.config transformation toolset for config files in sub-folders within the project
Step 1: Creating a “Staging” Configuration on your developer box Debug and Release build configurations are available by default within Visual Studio but if you would like to add more build configurations (for various server environments like “Dev”, “QA”, “Staging”, “Production” etc then you can do so by going to the Project menu Build --> Configuration Manager… Learn more about creating build configurations. Step 2: Adding a “Staging” Web.Config Transform file to your project One of the goals while designing web.config transformation was to make sure that the original runtime web.config file does not need to be modified to ensure that there would be no performance impacts and also to make sure that the design time syntax is not mixed with runtime syntax. To support this goal the concept of Configuration specific web.config files was introduced. These web.config files follow a naming convention of web.configuration.config. For example the web.config files for various Visual Studio + Custom configurations will look as below: Any new Web Application Project (WAP) created in VS10 will by default have Web.Debug.config and Web.Release.config files added to the project. If you add new configurations (e.g. “Staging”) or if you upgrade pre-VS10 projects to VS10 then you will have to issue a command to VS to generate the Configuration specific Transform files as needed. To add configuration specific transform file (e.g. Web.Staging.Config) you can right click the original web.config file and click the context menu command “Add Config Transforms” as shown below: On clicking the “Add Config Transform” command VS10 will detect the configurations that do not have a transform associated with them and will automatically create the missing transform files. It will not overwrite an existing transform file. If you do not want a particular configuration transform file then you can feel free to delete it off. Note: In case of VB Web Application Projects the web.configuration.config transform files will not be visible till you enable the hidden file views as shown below: The transform files are design time files only and will not be deployed or packaged by VS10. If you are going to xCopy deploy your web application it is advised that you should explicitly leave out these files from deployment just like you do with project (.csproj/.vbproj) or user (.user) files… Note: These transform files should not be harmful even if deployed as runtime does not use them in any fashion and additionally ASP.NET makes sure that .config files are not browsable in any way. Step 3: Writing simple transforms to change developer box connection string settings into “Staging” environment settings Web.Config Transformation Engine is a simple XML Transformation Engine which takes a source file (your project’s original web.config file) and a transform file (e.g. web.staging.config) and produces an output file (web.config ready for staging environment). The Transform file (e.g. web.staging.config ) needs to have XML Document Transform namespace registered at the root node as shown below: <?xml version="1.0"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> </configuration> Note: The transform web.config file needs to be a well formed XML. Inside the XML-Document-Transform namespace two new attributes are defined. These attributes are important to understand as they drive the XML Transformation Engine. Transform – This attribute inside the Web.Staging.config informs the Transformation engine the way to modify web.config file for specific configuration (i.e. staging). Some examples of what Transforms can do are: - Replacing a node
- Inserting a node
- Delete a node
- Removing Attributes
- Setting Attributes
Locator – This attribute inside the web.staging.config helps the Transformation engine to exactly pin-point the web.config node that the transform from web.staging.config should be applied to. Some examples of what Locators can do are: - Match on value of a node’s attribute
- Exact XPath of where to find a node
- A condition match to find a node
Based on the above basic understanding let us try to transform connection string from original web.config file to match Staging environment’s connection string Let us examine the original web.config file and identify the items to replace... Let’s assume that the original Web Config file’s connection string section looks as below: <?xml version="1.0" encoding="UTF-8"?> <configuration> <connectionStrings> <add name="personalDB" connectionString="Server=DevBox; Database=personal; User Id=admin; password=P@ssw0rd" providerName="System.Data.SqlClient" /> <add name="professionalDB" connectionString="Server=DevBox; Database=professional; User Id=admin; password=P@ssw0rd" providerName="System.Data.SqlClient" /> </connectionStrings> .... .... </configuration> NOTE: It is not advisable to keep connection string unencrypted in the web.config file, my example is just for demonstration purposes. Let us assume that we would like to make following changes to web.config file when moving to staging environment - For “personalDB” we would like to change the connectionString to reflect Server=StagingBox, UserId=admin, passoword=StagingPersonalPassword”
- For “professionalDB” we would like to change the connectionString to reflect Server=StagingBox, UserId=professional, passoword=StagingProfessionalPassword”
To make the above change happen we will have to open web.Staging.Config file and write the below piece of code <?xml version="1.0"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <connectionStrings> <add name="personalDB" connectionString="Server=StagingBox; Database=personal; User Id=admin; password=StagingPersonalPassword" providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)" /> <add name="professionalDB" connectionString="Server=StagingBox; Database=professional; User Id=professional; password=StagingProfessionalPassword" providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)"/> </connectionStrings> </configuration> The above syntax in web.staging.config has Transform and Locator attributes from the xdt namespace. If we analyze the connection string node syntax we can notice that the Transform used here is “Replace” which is instructing the Transformation Engine to Replace the entire node Further if we notice the Locator used here is “Match” which is informing Transformation engine that among all the “configuration/connectionStrings/add” nodes that are found, pick up the node whose name attribute matches with the name attribute of <add> node in web.Staging.config. Also if you notice web.Staging.config does not contain anything else but the connectionStrings section (i.e. it does not have <system.web> and various other sections that web.config file usually has, this is because of the fact that the Transformation Engine does not require a complete web.config file in web.staging.config. It does the merging for you thus saving you duplication of all the rest of the sections in web.config file. Simplest Approach: If you do not mind replicating the entire web.config file in web.staging.config then you can certainly do so by copying the entire web.config content into web.staging.config and change the relevant nodes inside web.staging.config. In such a situation you will just have to put xdt:Transform="Replace" attribute on the topmost node (i.e. configuration) of web.staging.config. You will not need xdt:Locator attribute at all as you are replacing your entire web.config file with web.staging.config without Matching anything. So far we have seen one Transform (i.e. Replace) and one Locator (i.e. Match), we will see various other Transforms and Locators further in the post but first let us understand how we can produce the Transformed web.config file for the Staging environment after using original web.config and web.staging.config. Step 4: Generating a new transformed web.config file for “Staging” environment from command line Open Visual Studio Command prompt by going to Start --> Program Files –> Visual Studio v10.0 –> Visual Studio tools –> Visual Studio 10.0 Command Prompt Type “MSBuild “Path to Application project file (.csproj/.vbproj) ” /t:TransformWebConfig /p:Configuration=Staging" and hit enter as shown below: Once the transformation is successful the web.config for the “Staging” configuration will be stored under obj -->Staging folder under your project root (In solution explorer you can access this folder by first un-hiding the hidden files) : - In the solution explorer click the button to show hidden files
- Open the Obj folder
- Navigate to your Active configuration (in our current case it is “Staging”)
- You can find the transformed web.config there
You can now verify that the new staging web.config file generated has the changed connection string section. Step 5: Generating a new transformed web.config file for “Staging” environment from VS UI Right Click on your project and click Package –> Create Package The Create Package step already does web.config transformation as one of its intermediate steps before creating a package and hence you should be able to find the transformed web.config file in the same place as described in Step 4 Step 6: Understanding various available web.config Transforms and Locators xdt:Locators The inbuilt xdt:Locators are discussed below. - Match - In the provided syntax sample below the Replace transform will occur only when the name Northwind matches in the list of connection strings in the source web.config.Do note that Match Locator can take multiple attributeNames as parameters e.g. Match(name, providerName) ]
<connectionStrings> <add name="Northwind" connectionString="connectionString goes here" providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)" /> </connectionStrings> · Condition - Condition Locator will create an XPath predicate which will be appended to current element’s XPath. The resultant XPath generated in the below example is “/configuration/connectionStrings/add[@name='Northwind or @providerName=’ System.Data.SqlClient’ ]” This XPath is then used to search for the correct node in the source web.config file <connectionStrings> <add name="Northwind" connectionString="connectionString goes here" providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Condition(@name=’Northwind or @providerName=’System.Data.SqlClient’)" /> </connectionStrings> · XPath- This Locator will support complicated XPath expressions to identify the source web.config nodes. In the syntax example we can see that the XPath provided will allow user to replace system.web section no matter where it is located inside the web.config (i.e. all the system.web sections under any location tag will be removed.)
<location path="c:\MySite\Admin" > <system.web xdt:Transform="RemoveAll" xdt:Locator="XPath(//system.web)"> ... </system.web> </location> xdt:Transform - Replace - Completely replaces the first matching element along with all of its children from the destination web.config (e.g. staging environment’s web.config file). Do note that transforms do not modify your source web.config file.
<assemblies xdt:Transform="Replace"> <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> </assemblies> · Remove - Removes the first matching element along with all of its children <assemblies xdt:Transform="Remove"></assemblies> · RemoveAll - Removes all the matching elements from the destination’s web.config (e.g. staging environment’s web.config file). <connectionStrings> <add xdt:Transform="RemoveAll"/> </connectionStrings> · Insert - Inserts the element defined in web.staging.config at the bottom of the list of all the siblings in the destination web.config (e.g. staging environment’s web.config file). <authorization> <deny users="*" xdt:Transform="Insert"/> </authorization> · SetAttributes - Takes the value of the specified attributes from the web.staging.config and sets the attributes of the matching element in the destination web.config. This Transform takes a comma separated list of attributes which need to be set. If no attributes are given to SetAttributes transform then it assumes that you would like to Set all the attributes present on the corresponding node in web.staging.config <compilation batch="false"xdt:Transform="SetAttributes(batch)"> … </compilation> · RemoveAttributes - Removes the specified attributes from the destination web.config (i.e. staging environment’s web.config file). The syntax example shows how multiple attributes can be removed. <compilation xdt:Transform="RemoveAttributes(debug,batch)"> </compilation> - InsertAfter (XPath) - Inserts the element defined in the web.staging.config exactly after the element defined by the specified XPath passed to “InsertAfter()” transform. In the syntax example the element <deny users="Vishal" />will be exactly inserted after the element <allow roles="Admins" /> in the destinationXML.
<authorization> <deny users="Vishal" xdt:Transform="InsertAfter(/configuration/system.web/authorization/allow[@roles='Admins'])” /> </authorization> - InsertBefore (XPath) - Inserts the element defined in the web.staging.config exactly before the element defined by the specified XPath passed to “InsertBefore()” transform. In the syntax example the element <allow roles="Admins" />will be exactly inserted before the element <deny users="*" />in the destinationXML.
<authorization> <allow roles=" Admins" xdt:Transform="InsertBefore(/configuration/system.web/authorization/ deny[@users='*'])" /> </authorization> Some advanced points to note: - If the Transformation Engine does not find a xdt:Transform attribute specified on a node in web.staging.config file then that node is ignored for Transformation and the Tranformation engine moves ahead traversing the rest of the web.staging.config.
- A xdt:Transform attribute on a parent can very easily impact child elements even if there is no Transform specified for child e.g. If xdt:Transform=”Replace” is put on <system.web> then everything underneath <system.web> node will be replaced with the content from web.staging.config
- It is completely valid to place xdt:Locators attributes on arbitrary nodes inside web.staging.config just for filtering purposes. xdt:Locator does not need to be accompanied with xdt:Transform attribute. (great example here is <location> tag which might just be used for filtering… The example code here would be:
<location path="c:\MySite\Admin" xdt:Locator="Match(path)">> <system.web> ... Bunch of transforms written under here will .... only apply if location path = C:\MySite\Admin </system.web> </location> Step 7: Using Web.config transformation toolset for config files in sub-folders within the project All of the above discussion directly applies to any web.config file present in sub folders of your project (e.g. if you have a separate web.config file for say “Admin” folder then VS 10 will support transforms for them too). You can add transform files within sub-folders and use the same packaging functionality mentioned in all of the above steps to create transformed web.config files for web.config files specific to the sub folders within your project. I think this has become a rather long post; but I hope it helps!! Vishal R. Joshi | Program Manager | Visual Studio Web Developer
Full Article
A Beginners Guide to Web Hosting And Other Web Hosting Tips
What is web hosting? Whenever you visit a website, what you see on your web browser is essentially just a web page that is downloaded from the web server onto your web browser. In general, a web site is made up of many web pages. And a web page is basically composed of texts and graphic images. All these web pages need to be stored on the web servers so that online users can visit your website. Therefore, if you plan to own a new website, you will need to host your website on a web server. When your website goes live on the web server, online users can then browse your website on the Internet. Company that provides the web servers to host your website is called web hosting providers. A well-established web hosting provider sometimes hosts up to thousands of websites. For example, iPowerWeb is a popular web hosting company that hosts more than 300,000 websites. For that reason, a web hosting company need many web servers (essentially, these are computers) to ?store? the website. And all these web servers are connected to the Internet through high speed Internet connection and housed in a physical building called ?data center?. In order to guarantee all the web servers are safe, secure and fully operational all time, a data center is a physically secure 24/7 environment with fire protection, HVAC temperature control, virus detections, computer data backup, redundant power backup and complete disaster recovery capabilities. What are the different types of web hosting? There are different kinds of web hosting companies out there with different characteristics. The main types of web hosts can be organized into the following categories: To continue, go to A Beginners Guide to Web Hosting article.
NB: A lot of other great web hosting services articles are available at http://web-hosting.info-and-tips.com
Full Article
Web Packaging: Installing Web Packages using Command Line
Today I want to advance our discussions around Web Deployment in Visual Studio 10… To catch up on the previous discussions in this series check out: Web Deployment with VS 2010 and IIS Web Packaging: Creating a Web Package using VS 2010 Web Packaging: Creating web packages using MSBuild How does Web Deployment with VS 10 & MSDeploy Work? In this post I will focus on installing the MSDeploy based Web Packages to IIS. You can actually install/deploy web packages using multiple different avenues listed below: - Using IIS Manager UI
- Using command file created by Visual Studio 10
- Using command line using MSDeploy.exe
- Using Power Shell support provided by MS Deploy
- Using managed APIs provided by MS Deploy
VS 10 will create Web Packages for you based on your settings in the “Publish” tab of the Web Application Projects (WAPs) property pages. In the Publish tab you also specify the location where you want the package to be created. In the same “Publish” tab, you also get an option to specify your destination information (i.e. IIS Application Name, Physical Location on the server)… Check out the section of “Publish” tab below which will give you an idea of the same:  After setting all the above information when you right click on your project and click Package –> Create Package then the web package is created at the location specified in “Package Location” setting. To know more read Web Package Creation post. When you create a package VS creates three files of interest in folder specified by “Package Location” in “Publish” tab; those three files are: Web Package : The package itself is produced, which can be either a ZIP file or a folder called “Achieve”. The choice between .zip vs folder is determined based on your settings in “Publish” tab Destination Manifest: This is the file which will allow you to change the destination information at the time of install eg. connection string, IIS Application name etc Deploy Command File: VS creates a .cmd file encapsulating MSDeploy command for you so that you don’t even have to type the MSDeploy command while installing the package.. So on your dev box below is what happens: Now when you want to install the package created all you have to do is to take these three files to the destination server and run the command file. Typically you can hand out these three files to your server administrator and he/she can run the command on the server (as developers will typically not have access to the servers directly). In the earlier post we talked about how to create a web package for BlogEngine.Web solution in staging configuration, let us look at how the solution explorer looks like after the package is created: Notice the package file, destination manifest and the command file in the above image. If you remember our Package settings while creating the web package; in “Publish” tab we provided Destination IIS Application Name as “Default Web Site/VS10-Blog” and Destination IIS Physical Path as “C:\TR8\VS10-Blog”. If we install the package that is where we would expect the install to go (unless I overwrite it using destination manifest and the deploy command file) I am now going to emulate a Server Admin and try to install the web package which was handed to me by the developer by going to Start—>All Programs –> IIS 7.0 Extensions –> MSDeploy Command Console (as Admin) Note: In IIS 5.1 or IIS 6 you can just start regular command prompt and navigate to MSDeploy install location which is typically %Program Files%\IIS\Microsoft Web Deploy Also note that server admins can very easily automate these process by writing simple batch files. In MSdeploy command console I will now try to call “BlogEngine.Web.Deploy.cmd”. I have ensured that the destination manifest, command file and the package are all in the same folder; see the image below: In MSDeploy Command prompt I can run the VS 10 generated .cmd files in two different modes: - /T – This is the Trial run switch. It will allow your server admin to verify whether your package is not going to do something really bad :-)… But in essence this mode invokes msdeploy in –what if mode which allows you to see what all package will do on the server.
- /Y – This switch will actually install the package and get it set up on the server.
Below is how my command propmpt looks after running the BlogEngine.Web.Deploy.cmd file with /T switch Notice the /T switch on the cmd file which in result calls msdeploy in –what if mode… I truncated the overall out put to show you the final set of information which is “Change Count”… Now when you run the command file with /Y switch the installation will succeed with the above change count… Now, let us go and inspect IIS Manager to make sure VS-10 blog application is correctly created with below traits: - Application name is VS10-Blog
- Physical directory for the application is “C:\TR8\VS10-Blog
- Classic .NET App Pool setting that we configured in Step 2: Configure IIS Settings in IIS Manager in the previous blog post is also correctly configured.
If you run this application now, it should be fully functional as well… If you are trying to automate your deployment process then I recommend using the instructions in MSBuild based package creation post to create your web packages in an automated fashion and eventually use the instructions in this post to go ahead and deploy the web package. I hope that the above few posts will help you get your web apps up and running with using the VS 10 Web Packaging support…. Vishal R. Joshi | Program Manager | Visual Studio Web Developer
Full Article
Web Hosting Leader Go Daddy Wins “Best of the Best” Award (TopHosts.com)
Web Host and Domain Registrar Honored as Arizonas Favorite Technology CompanySource: Read more Date: Fri, 03 Apr 2009 14:03:04 GMT
Related Blogs
Related Blogs on Web Hosting
Web Hosting Services | Reseller Hosting | Crazy Crispy's Blog
Tags: Blog, Company Source, Domain Registrar, Favorite Technology, Fri, Gmt, Hosting Reseller, Hosting Web, Reseller Hosting, Services Reseller, Technology Company, Web Domain, [...]
Related posts: - Web Sites Disrupted By Attack on Register.com (Washington Post) Web site host and domain name registrar Register.com has been...
- Web Sites Disrupted By Attack on Register.com (Washington Post) Web site host and domain name registrar Register.com has been...
- Webhosting.uk.com Announces Windows Server 2008 Web Hosting (TopHosts.com) Windows 2008 is offered for its shared and reseller Web...
- pair Networks Celebrates 13th Year in Web Hosting (TopHosts.com) Long-standing Pittsburgh-based Web host has provided hosting for customers in...
- pair Networks Celebrates 13th Year in Web Hosting (TopHosts.com) Long-standing Pittsburgh-based Web host has provided hosting for customers in...
Full Article
The SEM blog is retiring
Dear readers: The Search Engine Marketing blog is retiring. I admit to feeling sentimental about it, because this blog was originally created for me by Jason Calacanis, in the early days of Weblogs, Inc, and although I ended up contributing to several blogs in our lineup, this is where it started for me. I'm grateful to Jason, and thankful for the people I met in the SEM and SEO universes, via this blog. Chris Gilmer, who has been posting here lately, is still with us! You can find Chris writing on Download Squad, our software and online services blog. Although our editorial priorities have changed over the nearly three years of operation, we do not remove retired blogs. the SEM blog will remain available as an archive (and not a badly optimized one!). Thanks to everyone for reading. Permalink | Email this | Linking Blogs | Comments
Full Article
Best Fashion Web Site Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News)
Updated Web Marketing Association’ Internet Standards Assessment Report Includes Historical Data Derived from a Decade of Hosting Internet Award Competition, WebAwards, and Provides Best Practices for Fashion Web DesignSource: Read more Date: Thu, 02 Apr 2009 07:01:00 GMT
Tags: Assessment Report, Association Internet, Award Competition, Best Practices, Decade, Fashion Design, Fashion Trends, Fashion Web, Gmt, Hosting [...]
Related posts: - Best Investment Web Site Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News) Updated Web Marketing Association’ Internet Standards Assessment Report includes historical...
- Best Professional Services Web Site Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News) Updated Web Marketing Association’ Internet Standards Assessment Report Includes Historical...
- Best B2B Website Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News) Updated Web Marketing Association’ Internet Standards Assessment Report Includes Historical...
- Best B2B Website Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News) Updated Web Marketing Association’ Internet Standards Assessment Report Includes Historical...
- Best B2B Website Trends Detailed in New Report from the Web Marketing Association (PRWeb via Yahoo! News) Updated Web Marketing Association’ Internet Standards Assessment Report Includes Historical...
Full Article
Most Reliable Hosting Company Sites in March 2009 (Linux Today)
Netcraft: “Based in New York, Swishmail specialise in email hosting, and offer a variety of email and web hosting solutions. The company’s main website is served by nginx, running on FreeBSD.”Source: Read more Date: Thu, 02 Apr 2009 06:38:21 GMT
Tags: Email Hosting, Email Solutions, Hosting Company, Linux, Swishmail, Web Company, Web Hosting, Web Hosting Solutions, [...]
Related posts: - UK2 - The UK’s Most Reliable Web Hosting Company Site (TopHosts.com) Netcraft names UK2.net top UK and European Web hosting company...
- UK2 - The UK’s Most Reliable Web Hosting Company Site (TopHosts.com) Netcraft names UK2.net top UK and European Web hosting company...
- UK2 - The UK’s Most Reliable Web Hosting Company Site (TopHosts.com) Netcraft names UK2.net top UK and European Web hosting company...
- UK2 - The UK’s Most Reliable Web Hosting Company Site (TopHosts.com) Netcraft names UK2.net top UK and European Web hosting company...
- UK2 - The UK’s Most Reliable Web Hosting Company Site (TopHosts.com) Netcraft names UK2.net top UK and European Web hosting company...
Full Article
Eric Peterson Podcast with Eric Enge
Transcript of Podcast with Eric Peterson
The following is a written transcript of the September 4, 2007 podcast between Eric Enge and Eric Peterson:
Eric Enge: Hello listeners, I am Eric Enge, the President of Stone Temple Consulting. You can see our website at www.stonetemple.com. I am here today with Eric Peterson, the CEO of Web Analytics Demystified, and we plan to talk about what organizations need to do to be successful in web analytics. You can see the Web Analytics Demystified website at www.webanalyticsdemystified.com. Hello, Eric |
 |
Eric Peterson: Hello, Eric. How are you today?
Eric Enge: I am doing great, how are you doing?
Eric Peterson: Excellent, thanks very much.
Eric Enge: Hey, it looks to me like things are going well for Web Analytics Demystified at least as an external observer. Can you talk about how things are going?
Eric Peterson: Yes, things have been going really, really well. I am tremendously excited about having my own company, about being able to pick and choose my own clients, and can really start to do some of things for the web analytics community that I've wanted to do for years. And, I have just been either time limited or limited by what my employers really wanted me to do and where they wanted me to focus. So, at just about 100 days into it now, the decision to leave Visual Sciences and start Web Analytics Demystified Incorporated has been just great. So, thanks for asking.
Eric Enge: Sure, I noticed since you mentioned the thing that you wanted to be able to do serve community that you didn't do before. One of those things was that free analytic survey that you put out there not too long ago.
Eric Peterson: Yes, and I am about to do a second round of that. I plan on doing those surveys twice a year, one time looking more at attitudes, which was the March survey. And then, in September we are going to look more at tool usage. That's the kind of thing that none of my previous employers, certainly not Jupiter Research, would have said go ahead, spend your own money, conduct research, do the analysis, write this up, get it edited and put it out there for free. Nobody would have ever given me the ability to do something like that, but I have always wanted to do that. At Jupiter Research, I wanted to focus more on web analytics and more of the kinds of problems that people at ground level, like real practitioners, have. But, I had a research program, and not to say anything bad about Jupiter Research, because it was a good research program, but, I can now make those decisions, let's focus on this; let's look at that. And, it's very, very satisfying as I am sure you know at Stone Temple.
Eric Enge: Absolutely. One of the things I saw in that survey is that you came to the conclusion that people who use the free web analytics tool are less likely to dive in and get the deeper value out of the analytics experience. Is that a fair assessment?
Eric Peterson: I have a second piece of free research I put out titled the problem with free analytics.
Eric Enge: Yes.
Eric Peterson: The data suggested that companies who primarily using free web analytics solutions were not really taking advantage of the technology the way they could. More adhoc usage of analytics as opposed to regular programming, a regular program for conducting analysis, employees to manage that or a process streaming approach, certainly companies deploying free solutions were less likely to be paying people to manage those solutions. So, some of the really important things, right, you know this, I know this, Eisenberg and Sterne and Barbie and everybody knows this, that you have to dedicate people. You have to have somebody whose responsibility it is to do web analytics, and that just didn't shine through in the data. So, I speculated that this may result in a very substantial number of companies who are not really getting the benefit; that was the essence of that report.
Eric Enge: Right. And, it doesn't mean that somebody couldn't use a free analytics tool and get the benefit. It just suggests that there is a correlation between those who do use one and don't pursue that level of benefits.
Eric Peterson: Exactly, so not only does it not suggest that you can't be successful with free analytics tools, it doesn't say anything about the value of those free analytics tools. I think of Google Analytics as being the prototypical free tool, and I think Google Analytics is great. I use Google Analytics; I get a lot of value out of Google Analytics. Certainly there are things that I don't like about it, and I fill the gaps there with other web analytics tools. But, it's not about the technology itself, it's not about the tool, and not even really so much about the people.
It's how the people are using the tool, you have to be committed to doing this, you have to be committed, you have to have every intention of using web analytics tools whatever you have, to better understand your audience and better understand your online marketing efforts. It's really that simple. Some people didn't take it that way; some people said that I was bashing free tools. Some people actually said that I was bashing for free tools, but again it comes down to reading the documents and really thinking about what the data says, what the data can tell you about how people are using the tools today.
Eric Enge: Right. Now, I took it the same way that you've just expressed it, but yes you had to dig in a little bit to make sure that you were really reading the whole document. Well, let's dive in a little bit. One of the things I have seen you write about or do presentations on is, it seems like a lot of organizations dive into analytics, and then assume that a continual improvement process will be sufficient. But, I have seen that you made the argument that it's not sufficient, can you explain that?
Eric Peterson: The continual improvement process is sufficient if it is truly a process. What I have seen and I talked about this in San Francisco a little bit at the Emetrics Summit, and I have been talking about it since then. What I have seen is that there are still a fairly substantial number of companies that seem to nod their heads, they bow their heads yes, yes we get it when you talk about continual improvement, but they haven't gone so far as to implement the actual process part of the continual improvement process. One of the most important things to continual improvement is having a testing platform; right is that AB testing or controlled experimentation or multivariate analysis, whatever you want.
Just having the ability to run parallel tests is fundamental to continual improvement done right. And, there are still a lot of companies that haven't deployed those kinds of technologies, maybe they are doing things in serial, but maybe not. I think a lot of times web analytics stops for companies when the reports have been generated, and they don't take it far enough. They don't get to analysis, they don't take analysis to multivariate testing; they don't do the processes behind web analytics. And so, I think that maybe there is not a limitation in understanding, but there is a limitation in use.
Eric Enge: Right. So, what about the management process used that are necessary to take this a step further?
Eric Peterson: Well, the management process used, and I wrote about this fairly extensively in a white paper, again a free white paper that I provide at webanalyticsdemystified.com, talking about the role that management needs to play. It's real common and certainly at Jupiter Research I experienced this and also at Visual Sciences, it's real common to go in to a situation where a company has spent significantly on web analytics tools technology, but don't have a named, assigned senior owner. Right, a Senior Vice President or a Vice President or an EVP or somebody whose responsibility includes web analytics, who includes making web analytics actually successful in the organization and deriving positive return on investment from Omniture or WebTrends or Corematrics or Visual Sciences or whatever they have got, and their people. There are series of management processes that often get forgotten and it's unfortunate, because where you end up is with well-intentioned, well-meaning, right people actually doing web analytics, but nobody is taking advantage of their analysis. Nobody is actually taking it to continual improvement, and taking it to the next logical step of let's do something with this data.
Eric Enge: All reports and no action?
Eric Peterson: Very common, very common: all reports and no action. It's actually, I don't if you attended the Web Analytics Association Webcast that I did last week, but I have just started talking about something called RAMP. I have always been looking for what is the most memorable; what is the most simple way to communicate, how to be successful with web analytics? And, I think it is this, ramp is resources, which is technology and people, ramp is analysis, ramp is multivariate testing, and ramp is process. You take first letter of all those, you get a clever little acronym, because everybody wants a ramp that goes up and to the right.
But, it's all of this, and it's management buying into the RAMP, and it's IT buying into RAMP, and it's analytics and it's everybody saying we can use web analytics and website optimization ecosystem of technologies to be very successful in the online channel as long as we are committed and as long as we have a roadmap, as long as we understand what we are going to do, when we are going to do it, and why we are going to do it. But, the evidence of that, the ability to be successful is everywhere, you know that, it's your clients, it's my clients. It's Jim Sterne's clients, and Semphonic's clients, it's all the vendors' case studies. The evidence for being successful with analytics is absolutely overwhelming, so it's not the technology, and it's not the people that are holding everyone back. It's really I think about the process and about being well-intentioned, and really trying to make this stuff work.
Eric Enge: Right. So, you can think of it as creating a data driven culture?
Eric Peterson: Creating a data driven culture or creating a data driven culture within a larger culture. Talking to Tom Davenport a little while ago and asking him if companies are not data driven from the top-down; are they just doomed, are they not going to be able to compete on analytics? And, what we eventually came to is you can't compete on analytics, but you can compete on web analytics at the microscopic level. So, one department, one group in the organization, will you be more successful if the whole organization is data driven? Probably yes, but it doesn't mean that if you are not data driven from the top-down, you can't be successful with web analytics. It just means you might have to work a little bit harder to not be led by the data, but to use the data to your advantage.
Eric Enge: Right. It's interesting to think about if you are dealing with the person who is currently not particularly sophisticated, and that's probably the wrong word. But, just not knowledgeable in the area of analytics at this point, and they are getting into the RAMP, and thinking about it for the first time. They are looking at a real investment, there is the buying of the tool; there is building up the organization with all the people. It's the cultural thing as it needs to happen and as Avinash Kaushik, famously said that the tool should be 10% of your cost, and the people 90%, and whether you agree with those numbers or not, you are really looking at taking a big step. It's fascinating to me, because you and I are both seeing what the returns are when you do that successfully, but how do you go about educating someone who doesn't have the knowledge and background as to what they can hope to get in return for their investment?
Eric Peterson: That's an excellent question, it's an excellent question. It's something I have been talking about a lot more lately. It really is how you get to it. Web analytics is hard, right. But, I don't know, we should probably have discussed this before we started recording the call, because I don't know how you feel about this. But, I think the web analytics is hard, right. I have a presentation where I go through 20 different examples from the vendors and from authors and even stuff that I have written and stuff that Avinash has written, and stuff that Google; a bunch of stuff from Google that says web analytics is easy, web analytics is easy, Google Analytics makes web analytics easy.
I don't think that's right, I think web analytics is hard, and I think the assumption that web analytics is easy or it is supposed to be easy is actually hurting our industry. Its hurting individual practitioner's ability to communicate to the large organization what has to be done to take advantage of web analytics. When you walk in the door and you say this is easy, we are all going to get it. Then when inevitably people struggle with definitions, when they struggle with data inaccuracies, when they hear about cookie deletion; when they see these new archaic terms, when they look at these interfaces, they think to themselves well this supposed to be easy, but this isn't easy for me.
Eric Enge: Right.
Eric Peterson: I think the recognition that web analytics is hard, and it's something that requires an investment of time and energy and resource is how you get organizations to buying into it. You put together processes, how are we going to educate managements in the organization about what you can and cannot do with web analytics. How are we are going to educate senior managers about the terms, the definitions that they need to know to take advantage of the reports that they are getting, and more importantly to take advantage of the analysis that they should be getting? If so it's easy, and it's going to be a slam dunk for you. I don't think you are going to give it the attention that it deserves. Again, this goes back to the free versus fee conversation we had moments ago. If web analytics is easy, I don't really need to spend Avinash's $90, right it's easy. So, we will just all be able to pick it up, right?
Eric Enge: Right.
Eric Peterson: It's not easy.
Eric Enge: Yes, I agree completely. I mean it's like I could spend a dollar, and maybe I will get $2 back, or I can spend $10 and I am going to get $50 back. Well, getting yourself to spend the $10 might be harder to do or take little more thought upfront, but I really think the web analytics situation is like that. The ROI grows as the expense grows assuming of course that the expense is being spent in a smart way, but I think the ROI grows as you ramp up the effort.
Eric Peterson: Yeah, I agree. But, it's about getting people to ramp up the effort and having the right expectations.
Eric Enge: Alright, did you mean to use your acronym there by the way?
Eric Peterson: That's what I want, RAMP, right let's RAMP it up. It is an important thing; I got some comments back from the WA Webcast which I will be making freely available through webanalyticsdemystified.com. I think towards the end of next week, thanks to the good graces of the folks of the WAA. One of the comments I got back was I saw this in the Yahoo group that Peterson wasn't talking about anything groundbreaking or revolutionary with RAMP. And, I am not, we all know this.
The problem is we are very insolated little circle of individuals, the web analytics blogers, the people that go to Emetrics, and we need ways to take web analytics out to the masses, to everyone in the organization and people outside the organization. So, RAMP is one way to do that, right it's not to simplify it so far that it makes it useless, but to communicate it more effectively. And, multivariate testing, right you don't get to continual improvement done well until you get good at multivariate or AB testing, I mean this is just the reality of it. So, feel free to talk about RAMP all you want.
Eric Enge: Sure. So, another thing I noticed is that you are really into detailed diagramming of every part of the process, and maybe you can talk about why you feel that's so important?
Eric Peterson: Yeah. I don't know that I am a huge proponent of pedantic diagramming of everything. I don't know that I am that big a proponent of getting up the pens and papers or SmartDraw or Vizio or whatever in diagramming everything. But, I am trying to convey with this point that there has to be more attention paid to the detail, because people say we have web analytics integrated into all of our campaigns and page deployment processes, web analytics is the strategy part of our business. And then, I say okay well, so that means that you never forget to tag a campaign and you never forget to tag a new page and you haven't deployed Web 2.0 Applications, such as Ajax or Flash, or a podcast, or an RSS feed, that every time you deploy something new there is always analytics baked into that, right. I say that to companies and I get this funny look back, and then somebody in the back then goes no, actually we forget to tag campaigns all the time, and we just launched a brand new Ajax application and it doesn't have any tracking in it at all.
Eric Enge: Right.
Eric Peterson: And, I say it's because it's not part of the process. You have not diagrammed web analytics into the process; you have not considered the importance of web analytics. And, so then it comes in at the 11th hour, and then you fall behind, you get busy and it just drops out. I mean how frequently does web analytics drop out of sight or campaign or content deployment process, it is still very common. So, this diagramming is simply an exercise, this is something that I go out and do with Web Analytics Demystified clients.
We sit down and we say let's talk about how you deploy a new campaign, let's draw out all the steps and look at where measurement should be, and let's talk about whether or not it's there or not. Simply the act of creating those maps, of creating those checklists gets people to think more carefully about the value of measurement and how measurement has to be in there. So it's, I mean it's not an end, it's a means to an end. This diagramming is something that, you do a couple of diagrams you get the gist of it, you say yeah, yeah, we have to remember to do web analytics, we have to remember to insert measurements into these processes. So, it's not something you have to do forever, you don't need big binders, process binders for your web analytics integration, it's everything else you do. But you just, you have to think about it that way and I found that to be the best tool for getting my clients and my customers and my friends to think about it.
Eric Enge: Right. What I find is in terms of, if somebody rolls out a new section of a site or like you say an Ajax application or something like that, what happens in a lot of companies, is that somebody goes and tries to pull the data, and that's when they find out the analytics is missing.
Eric Peterson: Data is not there, I mean I just stop counting the number of times in sort of the explosion of Web 2.0, which I think is great. I mean I think Ajax and all of this stuff is fascinating, I love my iPhone. I spend more time then is absolutely necessary on the FaceBook application on iPhone, I am really into Web 2.0 and Web 3.0 technologies, but they need to be measured, right. It's not responsible to create these measurement black holes, and I just stopped counting the number of times I would sit down with companies and say hey, this is a great Ajax application, this is really engaging. How do you measure visitor engagement with this? And, they go well, we are not really measuring that much, and I go well, at least you are measuring like the conversion rate, i.e., the people are using this application to complete the critical conversion process, right? Then they go no, we are going to hope to back that in and like the third version of it or something like that. And then, I am just sitting there staring at them. I am like okay, I am the guy who wrote 3 books on analytics, are you just admitting to me that you spent $200,000 building this cool Ajax application, and it's got no measurement in it. I mean it's so uncomfortable conversation there for a couple of seconds, and then we move on.
We start to talk about how do you measure Web 2.0, how do you bake the tagging or the click tracking or whatever you need into it while it's being developed, and test that that works and think about, what do we want to know? You don't need to know everything, you don't need to know every drag and drop and zoom and click and all of that stuff, but you need to know some of it. How do you know what you need to know in advance? And so, in some ways Web Analytics 2.0, which is the subject of my longer talk at Emetrics in Washington this year, Web Analytics 2.0 is a lot like Web Analytics 1.0 was, years ago. We are going to have to relearn a lot of these things, only more money is being spent and more peoples' necks are on the line now.
Eric Enge: Yeah, ultimately you expect that the tracking mechanisms will follow the way that people make money on the application in some fashion. So, that's the thing that absolutely must be measured, right?
Eric Peterson: Yeah. No, I agree. The funny thing is people ask me, the Wall Street guys specifically will ask me who else is out there, like who is going to just do a great job of measuring Web 2.0 stuff, like Ajax. So I just, don't think it's somebody from left field, I think that the Website Optimization ecosystem of technology is right. This is Web Analytics Technologies, Customer Experience Management Technologies, Voice of Customer Measurement Technologies, the forsee Results and Tealeaf's of the world. I think the stuff we need is already out there, it's just about using it the right way. I think it's just about understanding how the technology should be used, what you hope to measure and how you hope to use that data. I think it's really that simple, it's just it's not playing out that way.
Eric Enge: Indeed. So, can you summarize for us then what are the keys to success in Web Analytics today?
Eric Peterson: Yeah, sure. First key to success is to recognize that web analytics is hard, right. It is hard; it is something you are going have to work out. You are going to need people, you are going to need resources; you are going to need time and money. Web analytics is not easy, and when people tell you that web analytics is easy you should question their motivation, are they trying to sell you something? Are they trying to sell you on something, do they want you to buy a book or read a blog or something like that? Web analytics is hard; the second thing is RAMP; resources, analysis, multivariate testing and process. You've got to have all four of these things and you got to have, you got to understand how all four of those outputs or inputs work together to drive your businesses success. Resources' is technology and people, analysis is the desired output, reports are just reports, right. Reports are only good if you know what they are telling you, but analysis and recommendations is the desired output from Web Analytics projects. Multivariate testing we've talked about a fair amount, process we've talked about a fair amount. You have to consider all four of these things to build a ramp that will ultimately increase the success of your online business.
Eric Enge: Well great, thanks for taking the time to talk to us Eric.
Eric Peterson: Absolutely. Thanks for asking me Eric. I wish you all the best at Stone Temple and I got to say man, I am really, really enjoying the podcast and the interviews that you've been conducting up there, just great stuff this global interview. You've really managed to grab onto an idea and talk to some really great people, and then cover some great information. So, I want to just say I very much appreciate that.
Eric Enge: Well, then thank you and I am pleased to have you in the list of those people I've been able to talk to.
Eric Peterson: Excellent.
About the Author
Eric Enge is the President of Stone Temple Consulting. Eric is also a founder in Moving Traffic Incorporated, the publisher of Custom Search Guide, a directory of Google Custom Search Engines, and City Town Info, a site that provides information on 20,000 US Cities and Towns.
Stone Temple Consulting (STC) offers search engine optimization and search engine marketing services, and its web site can be found at: http://www.stonetemple.com.
Full Article
Create a dynamic Web Slice in 5 minutes
Web Slices are a cool new feature in Internet Explorer 8! With Web Slices, users can add little snippets of the web to the favorites bar and monitor their updates. Web Slices were introduced in a previous post here. In this post, I want to walk you through creating a dynamic Web Slice in as little as 5 minutes!
What is a dynamic Web Slice?
Dynamic Web Slices use an Alternative Display Source (not to be confused with Alternative Update Source). As the name suggests, the content displayed in the preview actually comes from a ?live? web page which the Web Slice points to. They are an addition based on feedback from the Beta 1 release of Internet Explorer and facilitate styling and cookie handling for authentication. A key advantage is that the web page is rendered in the preview window without losing any styling elements or active content. Hosting active content was not possible with static slices (Web Slices not using alternative display source). Static slices generate a preview of the sanitized entry-content element cached by the Windows RSS Platform which is stripped of script and other active content. Here is an example of a dynamic Web Slice from Live Search which has the display source pointing to a page on www.live.com rather than displaying cached content from the RSS store.
Web Slices using Alternative Display Source also make it easy for web developers to enable authentication within the preview window itself as well as have their customers protected against common internet security vulnerabilities such as Phishing and identity theft. Later this week we will be posting more details about Web Slice authentication.
Moreover, a dynamic Web Slice is easy (and fun!) to create! So, set the clock for 5 minutes and let?s go right into making one!
Creating a ?live display? Web Slice
Let?s start with this basic template WebSlice.htm ?
<html>
<head>
<title>Web Slice Example</title>
</head>
<body>
<div class="hslice" id="SliceID">
<span class="entry-title">Slice Title</span>
<a rel="entry-content" href="LivePreviewPage.htm" style="display:none;"></a>
<span class="entry-content"> This content will appear on the page from where the user add?s the slice, but not in the preview window</span>
<span class="ttl" style="display:none;">15</span>
<a rel="bookmark" href="LivePreviewPage.htm" style="display:none;"></a>
</div>
</body>
</html>
The class hslice helps Internet Explorer identify this snippet as a Web Slice. Fill in the template with the Web Slice id and title. Both are required properties. The title is displayed on the Favorites bar when the user adds the Web Slice.
The link tag?s entry-content attribute specifies the alternative display web page which is the source of the content displayed in the preview window of the Web Slice. This is where the RSS platform will look to see if anything has changed. The URL of the alternative display page is displayed in the navigation band at the bottom of the preview window.
The ttl property is optional and sets the default sync schedule for the Web Slice. This time can be modified to a higher value by the user. The user can hit the refresh button on the navigation band to refresh the alternative display web page within the preview window.
The optional bookmark property can be used to navigate to the alternative display web page (or any other page) when the user clicks on the Go arrow on the navigation band. The page is then opened in the current tab in the browser.
That?s it! You?re done! Wasn?t that super easy?
Serving ?live? content
A few key things to note here -
As per the sync schedule, the Windows RSS Platform will ping WebSlice.htm, not LivePreviewPage.htm (the display source).
- If there is any change in WebSlice.htm, a fresh copy of WebSlice.htm is fetched. When the user clicks on the Web Slice, the current copy of LivePreviewPage.htm is served and cached.
- If there is no change to the title and entry-content property of WebSlice.htm, when the user clicks on the Web Slice, the previously cached copy of LivePreviewPage.htm is served. In this case, there could be inconsistency between the preview window display and the actual web page.
In both cases, if the user manually hits refresh, the current copy of LivePreviewPage.htm is displayed and cached. Thus, here are a few tips in order to ensure that the content in the preview window is ?live? -
- Update WebSlice.htm for changes to reflect in accordance with the set sync schedule.
- If you want to make sure that the user always sees a ?live? copy of LivePreviewPage.htm every time she clicks on the Web Slice add the no-cache Cache Control header to LivePreviewPage.htm. This will ensure that the display in the preview window is always consistent with the actual LivePreviewPage.htm.
- You can also change the title on WebSlice.htm to update with the sync schedule. This is especially useful if you want to display the updated temperature in the title bar for a weather Web Slice.
- Another optional property you can use is endtime. This specifies the expiration time of a Web Slice. For example, it can be used to indicate an expired item for an auction Web Slice.
<abbr class="endtime" title="25 Jul 2008 17:30:00 PST">expiration time</abbr>
Design a usable dynamic Web Slice
Dynamic Web Slices retain all the styles from the preview web page, including those inherited from external stylesheets and look just like the actual web pages. However, there are a few things to bear in mind ?
- The default size for dynamic Web Slices is 320x240. We strongly recommend that you design your Web Slices to conform to this size. Users do have the option of manually resizing a Web Slice for their convenience, but we wouldn?t like to compel them to do so in order to see all your content.
- Another consideration to bear in mind is performance. We encourage you to leverage the functionality available with dynamic Web Slices, but to make sure that it renders in less than 500ms to keep the preview window usable.
- While users are able to navigate within the preview window itself, it is not encouraged to host navigations to complex pages. The preview window has stricter security restrictions and blocks dialogs, the Information bar, popups etc. Moreover, Web Slices are a great way to attract users to your actual web site and you can explicitly set links in preview windows to open in a new tab in the browser by using the target="_blank" attribute. Note that cross zone navigations from the preview window are blocked.
<a href="http://www.example.com" target="_blank">This link will open in the new tab in the browser</a>
The Web Slice Style Guide has a section on Web Slices using Alternative Display Source containing great tips to make your Web Slices look pretty!
You can see how simple and useful they can be! I hope that you will have fun creating really neat Web Slices for your web pages. The IE 8 Gallery has a ton of great Web Slices along with other IE add-ons.
Ritika Virmani Program Manager Internet Explorer - Web Slices and Navigation
Full Article
How does Web Deployment with VS10 and MSDeploy Work?
Web Deployment has taken a huge stride in Visual Studio 2010. I have started a blog series where I have written about web deployment, you can read more about them below: Web Deployment with VS 2010 and IIS Web Packaging: Creating a Web Package using VS 2010 Web Packaging: Creating web packages using MSBuild In VS 10 we use MSDeploy behind the scenes to deploy your entire web application along with all of its dependencies like IIS Settings, DB, web content etc to any destination server. MSDeploy is a new technology specially designed to serve the purpose of deploying web applications seamlessly across IIS Servers. My hope is to give you a CONCEPTUAL high level overview to understand how web deployment with VS10 & MSDeploy really works. In case of web deployment or replication across server farms what you really require is to take the web and its dependencies from one box to another. To further over simplify there is a source (your dev box) and there is a destination (your web server), the source needs to be replicated on to the destination and that is what we are trying to achieve (with of course a lot more details behind the scene :-)) MSDeploy uses this simple concept of taking the source and applying it on to the destination. Let us try to understand what all are possible sources: Source - If you want to deploy the site you are developing on your dev box then now the site you are developing on the dev box becomes the source.
- If you have your web content stored in the source control and you have a build server which is set up for automatic deployment then the build server becomes the source.
- If you have a MSDeploy web package given to you by someone and you are trying to install it on your dev box then the web package becomes the source.
Destination - If you are deploying a web to a test server then the test server is the destination.
- If you are creating a web package out of your web site using MSDeploy then the web package becomes the destination
- If you are deploying to your own dev box for testing purposes then in this case your dev box itself becomes the destination.
Well the concepts of source and destination are pretty simple but the reason why they are so interesting is because when you set up your deployment settings in Visual Studio then VS creates something that we call as Source Manifest and feeds to MSDeploy. Check out the figure below which gives you an idea of how VS 10 will produce your web package: Source Manifest is a simple XML which instructs MSDeploy on what all Providers to invoke on the source machine. So what is a MSDeploy Provider? A MSDeploy provider is a simple object which MSDeploy engine invokes to do two major CONCEPTUAL tasks: - On Source Machine to GET the right content from its place
e.g. if you had Database attached to your web then at source DB Provider will be called to pull out your data and schema and convert it into SQL Scripts which will then go into the web package. - On Destination Machine to PUT the right content in its place
e.g. if there were SQL scripts in your web package then at destination DB Provider will be called to run the SQL command and the SQL scripts to create and set up the database MSDeploy comes with a lot of pre-built providers like: - IIS Settings providers for IIS 5.1 (for XP), IIS 6.0 (for Win2K3) & IIS 7.0(for Vista & Win2K8)
- DB Provider for MS SQL Server
- GAC
- COM
- Registry
- etc etc
Based on your project settings Visual Studio creates a source manifest which is fed to MSDeploy to create package or deploy your web application. So on the source box below is how MSDeploy works: Along with creating the source manifest, Visual Studio also creates destination manifest for you. Check the below diagram: When you are ready to deploy then on the destination you can feed the web package and the destination manifest to MSDeploy to deploy your web site. In the destination manifest you can change the values like “IIS Application Name”, “DB connection strings” etc  This is how you can use web packages on any machine with MSDeploy and by configuring your deployment options in the destination manifest you can go and and easily recreate your webs. It is not possible for someone to come up with every possible provider that everyone needs so there will be an extensibility model by which you can write your own providers and register it with MSDeploy engine. Visual Studio is also made extensible to allow you to hook into the packaging and publishing process to call your custom MSDeploy providers in the source manifest. The most interesting pieces is that with IIS Manager and Visual Studio 2010 UI, you will not really need to know all these details, things will just work but I thought it is often interesting to know how things work behind the scenes. I hope this conceptual overview helps you get the perspective on how web deployment with VS 2010 and MSDeploy will work!! Vishal R. Joshi | Program Manager | Visual Studio Web Developer
Full Article
Windows SharePoint Services 3.0 and the IIS default web site
So I was visiting with a friend last night, and he indicated that he was having a bit of a problem with his WSS 3.0 installation. Short story is that he has a dedicated Win2k8 box acting as a web server on his domain for internal sites. They have several web-based LOB apps that run on that box, all as virtual directories under the default web site. Even though they are running SBS 2003 with its WSS 2.0 companyweb, they wanted to install WSS 3 to take advantage of the new wiki site template. So, they installed WSS 3 on the web server, which immediately broke their LOB apps.
So what happened?
When you first install WSS 3.0 and run the SharePoint Configuration Wizard, SharePoint creates a new web application (SharePoint – 80) and creates a new web site in IIS that takes over the default site. Dana recognized this, so within IIS he edited the bindings for the SharePoint site to use port 81, allowing him to re-enable the original default website in IIS and get his LOB apps back. The problem? Not only was it a pain having to enter :81 after the servername to access the site, but clicking links on the SharePoint site continued to want to use port 80, resulting in constant 404 errors.
So how did we fix it?
If you’re new to SharePoint, it is worth taking a little time to explain some of the architecture and terminology around SharePoint 3.0 to help put the answer in to context. First, it is important to understand the distinction between a SharePoint web application, and an IIS web site. SharePoint (whether WSS or MOSS) can have multiple web applications. These are created via SharePoint Central Administration. You can think of a SharePoint Web Application as your top-level SharePoint site – but it is distinctly different from a website in IIS. An IIS site that is mapped to a SharePoint web application can be thought of as a gateway to access the SharePoint web application. You can delete the site from IIS without affecting any of the content in the SharePoint application. (Obviously you won’t be able to access the SharePoint web application without an IIS site, but none of the SharePoint web application content or configuration is stored in the IIS site).
There are several benefits to this approach – including the ability to have multiple IIS sites mapped to a single web application, with each site being bound by a different SharePoint security zone. The distinction between the web application and the IIS site in Dana’s situation is that the original IIS site that was bound to port 80 with no host header was separate from the actual SharePoint web application, and even though that was the initial IIS site created to access the SharePoint web application, it isn’t necessary to use that IIS site.
The simplest solution for Dana was to create a new IIS site that used a host header to access his SharePoint web application. This is actually very simple and straight-forward to do from within SharePoint Central Administration:
- Open SharePoint Central Administration (Start | Administrative Tools | SharePoint 3.0 Central Administration) on your SharePoint server.
- Click on the Application Management tab
- Click on the link to Create or Extend an Existing Web Application
- Click the link to Extend an Existing Web Application (we are extending an existing web application to another IIS site)
- Select the web application you want to extend. (The default SharePoint web application on a stand-alone WSS installation is SharePoint – 80. On SBS 2008, the companyweb application is remote.yourdomain.com:987 )
- Select the option to create a new website and enter a description that is meaningful to you (this will display in IIS)
- Change the port to 80
- Enter a value for the host header (in Dana’s case, we used wiki - obviously, you will need to create the necessary DNS records so your host header name can be resolved via your internal DNS. I personally prefer to create a CNAME (alias) that resolves to the host (server) that is running SharePoint. Alternately, you could also create a new A record).
- In a typical small business deployment, you will accept the default security configuration options
- Select the appropriate zone and click OK.
This will create a new site in IIS that is mapped to the web application you selected. After we had created the new site for Dana and created the necessary CNAME record for wiki in his DNS, we were able to browse to http://wiki on his internal systems and access the SharePoint application successfully, and navigate without 404 errors.
Additionally, we were able to delete the original IIS site that Dana had changed the bindings to port 81. Since Dana & co were now accessing the web application via the new site (http://wiki) we didn’t need the original site on port 81 any more. We also did this within SharePoint central administration:
- Go to the Application Management tab
- Click the link to Remove SharePoint from IIS Web Site
- Select the web application
- Select the site
- Optionally select to delete the site from IIS (which we did select in Dana’s case)
So why was Dana getting the 404 errors after he changed the bindings to a new port number in IIS? If you go back to the page where we extended the web application, take note of the description under the Load Balanced URL section:
The description reads: “The load balanced URL is the domain name for all sites users will access in this SharePoint Web application. This URL domain will be used in all links shown on pages within the web application. By default, it is set to the current servername and port.”
When the SharePoint Configuration Wizard created the initial web site in IIS, the SharePoint load balanced URL for that site was http://servername:80 - which will resolve to the default website on that server. When Dana changed the port to 81 and re-enabled the original default website, links in the SharePoint web application (when accessed from the original IIS site) all used the Load Balanced URL, which resolved to the re-enabled default website on port 80 – thus resulting in the 404 errors.
The moral of the story here? Well there are a couple:
- You can have as many IIS sites linked to a single SharePoint web application as you want.
- When administering SharePoint, do as much as you can in SharePoint Central Administration. Chances are you won’t get the results you want if you try to make changes (such as site bindings) via IIS.
One of my personal rules when it comes to IIS is to leave the default website alone. Personally, I always create new websites in IIS and use host headers to access those sites – so everything is accessible on port 80 (assuming http) and users don’t have to remember weird port numbers, etc. Additionally, using host headers gives you the freedom to move websites to different web servers without affecting the end-user experience. Just update your DNS record for the host header value to point to the new server and voila! – users are accessing the same site via the same URL and have no idea it has been moved to a different physical box. And this is true of all web applications I use – DotNetNuke, Community Server, etc.
The only exception to my rule of putting each web application in their own IIS web site is when we need multiple apps all on the same server accessible via SSL. Since SSL traffic is encrypted, IIS is unable to inspect the host headers, meaning it can only direct SSL requests to the correct site based on the IP / port combination. So, to have multiple web apps on a single box accessible via SSL, we either need to have multiple sites all on one IP listening on different ports (443, 444, etc.), or multiple IPs on the box so each site can listen on 443 on a separate IP, OR configure the different web applications as virtual directories under one IIS site that is listening on 443 for the one / all IP addresses. Depending on the number of applications you need accessible via SSL, it can makes more sense to configure those apps as virtual directories under a single site, so you reduce your administrative overhead by not having to administer multiple IP addresses / ports / SSL certificates. But even then, I create a new site in IIS to put everything under instead of using the default site. Yeah, I know – I’m weird like that 
Of course – there is always more than one way to skin a cat, so there is a completely different method we could have taken to fix Dana’s issue as well.
Let’s say there was a business need for Dana’s web applications (that were all virtual directories under the default site) to be accessible as virtual directories under his SharePoint site. This approach was actually recommended to Dana by other individuals telling him to add an Application Exclusion to the SharePoint site. Dana couldn’t find out how to do this – but there is good reason why: Application Exclusions don’t exist in SharePoint 3.0.
Here’s the deal: SharePoint 2.0 and 3.0 have considerable distinctions in their architecture. For example, when you extended SharePoint 2.0 to a website in IIS, SharePoint assumed that the entire IIS site would be devoted to the SharePoint application. As a result, if you wanted to have non-SharePoint virtual directories under the IIS site, you had to tell SharePoint 2.0 to exclude those virtual directories from its management, allowing the web applications in those virtual directories to work as intended.
SharePoint 3.0 uses a different approach. Instead of assuming the entire IIS site is devoted to the SharePoint web application, you have to explicitly tell SharePoint what paths in the IIS site are managed by SharePoint. When we create a new SharePoint Web Application, SharePoint assumes that it will manage the root path as well as everything below the /sites/ path. (Hint: when you create a new web application and are on the Create Site Collection page, this is why you have the to options for the URL: http://hostheader/ or http://hostheader/sites/ )
What this means is that SharePoint 3.0 plays very nicely with other web applications in the same IIS site. So in Dana’s case, when he first installed SharePoint 3.0 and it created a new IIS site that replaced his original default website, he could have simply recreated the virtual directories for each of his web based LOB apps under the IIS site SharePoint created as long as none of them used the sites name, since that was defined as a Managed Path for the SharePoint web application. And even then, if he wanted to use the sites path for a non-SharePoint application instead, he could have removed the sites path from SharePoint management.
You can administer SharePoint’s managed paths from SharePoint Central Administration. Simply navigate to the Application Management tab and click the link for Define Managed Paths. When you add a managed path, you specify what type of inclusion it will be. There are two types of inclusions – an explicit inclusion and a wildcard inclusion. An explicit inclusion means that SharePoint will manage just that path, where as a wildcard inclusion tells SharePoint that every path under the wildcard inclusion path should be managed. This is particularly useful if you are enabling self-site creation for users, so they could effectively create their own site collections (top-level SharePoint site) under a common directory (e.g /sites/). 
Full Article
Web Domain Hosting - Web Domain Hosting - Web Directory - Buying Good Domain Names Is Easy
deals on buying a domain name and web hosting with decent bandwidth, and disk. Posted: Wed Jan 26, 2005 7:57 pm Post subject: Web Domain Hosting. Hi there,... Tagged as: buying, domain, hosting, decent, bandwidth, subject
Full Article
Web Design / Web Designing / Server / Web Hosting / Domain
Web Designing at affordable price. Besides we have Dedicated servers, Web Hosting, Web design, Domain name registration, Online Marketing, Shared Hosting and still more in one place. Please visit.
http://www.jdoqocy.com/click-3484566-10358717
Full Article
Web Designing Ireland, Website Promotion Ireland, Web Design Company Ireland, Web Design Ireland
NiceOne.ie - A Web Design Ireland, Website Design Ireland, Website Designing Company Ireland
Full Article
Website design Ireland, Web Design Ireland , Web Designing Ireland and Web design Services in Ireland
Articles on Website designing Services in Ireland
Full Article
Web design Company in Ireland - Web Design Ireland, Website development Ireland, Web development Ireland
Sitemap - A web Development Ireland, Website Development Company in Ireland.
Full Article
Unix Web Hosting Company in india, Unix Web Hosts, Unix Web Hosting
Unix web hosting company india Offering unix web hosting unix web hosting plans,unix web hosting solutions and cheap web hosting at lowest affordable rates.
Full Article
Web Development India Web Designing India Web Design India
Offers website design,web development,web design services,web designing services and ecommerce website development services.
Full Article
Web Hosting Company India Web Hosts India Web Hosting India
Offers web hosting services,reseller web hosting, shared hosting services,web hosts, website hosting services.
Full Article
Web Hosting Linux Web Hosting Windows Web Hosting Related Links
Web Hosting Linux Web Hosting Windows Web Hosting Related Links..
Full Article
Web Hosting Reseller Plans, Reseller Web Hosting, Web Hosting Resellers
ResellerClub offers a comprehensive Web Hosting Solution to you, your Resellers and your Customers for buying/selling and managing Linux and Windows Hosting.
Full Article
Microsoft Web Platform Installer
One of the cool new releases coming out this year is a small download manager - the Microsoft Web Platform Installer - that makes installing and configuring web server and web development stacks really easy. It is a free tool that you can download from the www.microsoft.com/web site (here is the direct link to the installer ? choose the 2.0 version). It works with Windows XP, Vista, Windows 7, Windows Server 2003 and Windows Server 2008. The Web Platform Installer provides an easy way to quickly install and customize all the software you need to develop or deploy web sites and applications on a Windows machine. The tool automatically analyses what your system currently has installed, allows you to easily mark additional components to be added, and then automates installing them all at once when you click the install button (saving you from having to manually install each one yourself).  For example, you can click the ?Web Server? section above to customize the individual IIS web server modules installed on the box. This includes both the built-in IIS modules that ship with Windows (like the directory browsing module), as well as additional modules available as separate downloads. Below I?ve selected two additional modules ? the Application Request Routing and URL Rewrite modules ? to be installed:  The URL Rewrite module is a free Microsoft module that enables you to publish custom URLs from your sites and optimize them for search engine optimization (SEO). You can enforce SEO rules (consistent casing, embedded keywords, etc) and customize how your site looks from an external perspective however you want (the admin tool will even help guide you to write the regular expression rules):  The Application Request Routing is a free Microsoft module that supports forward-proxy style scenarios, and enables dynamic load-balancing of requests across multiple web-server machines (allowing you to scale out, move machines behind DMZ firewall scenarios, and bring machines in and out of a farm for maintenance without disruption). In addition to URL Rewrite and Application Request Routing, there are dozens of other web server modules you can select that enable WebDAV, Secure FTP, automated deployment, remote database management through the IIS admin tool for hosted scenarios, media server streaming scenarios, and more. You can also install framework additions like ASP.NET MVC, .NET 3.5 SP1, SQL Express and associated SQL administration tools, Visual Web Developer 2008 Express, and more. Windows Web Application Gallery The web platform installer also integrates with the new Windows Web Application Gallery now online: www.microsoft.com/web/gallery This gallery allows you to easily install existing web applications onto your server. The gallery contains a variety of popular .NET open source applications (like DotNetNuke, ScrewTurn Wiki and Umbraco CMS) as well as PHP open source applications (including WordPress and Drupal). You can easily browse and install them using the Web Platform Installer as well (just click the ?Web Applications? tab and check the applications you want to install): ; In addition to downloading the application, the web platform installer will create a new site/application root and configure the appropriate site settings and optionally install the database. Summary If you haven?t downloaded the Web Platform Installer yet I?d recommend taking a look at it. I think you?ll find it makes it much easier to configure and get a box up and running, and makes it much easier to find and install the various components of the Windows web server stack, as well as find and install applications to use on top of it. Overtime you?ll see us ship more and more functionality this way. You can download and start using the Web Platform Installer 2.0 Beta today. We?ll ship the final release of it this summer. Hope this helps, Scott
Full Article
HOME
› website marketing
› web site marketing
› internet marketing
› search engine marketing
› seo marketing
› search engine alt tags
› web site optimization
› web site seo
› search engine postion
› web site search position
› web design marketing
› seo company
› search engine optimization company
› sem company
› internet SEM
› web SEM
› optimize my web site
› optimizing my web site
› web site optimizing
› seo firm
› sem firm
› seo position
› sem postition
› Google SEO
› Yahoo SEO
› Google marketing
› Google search engine marketing
› Google search engine optimization
› optimize my web site for google
› market my web site for google
› web site META tags
› web page marketing
› web page META tags
› META tags
› search engine key words
› key words optimization
› key words generator
› seo key words
› seo key word generation
› key word optimizer
› page ranking
› web page ranking
› trade links
› free back links
› back links for my web site
› back links software
› back links program
› seo affiliate program
› seo backlinks
› buy back links
› trade back links
› seo link trading
› link trading script
› free back links script
› internet marketing strategy
› search engine marketing strategy
› google site map
› google sitemap
› search engine algorithm
› asp net search engine optimization
› asp net web marketing
› asp net internet marketing
› asp net SEO application
› web design meta tags
› asp net programming
› asp net programmer markeing
› asp net marketing tools
› asp net marketing tool
› asp net SEO plug in
› SEO with asp net
› asp net SEO module
› buy my widgets
› search engine optimization
› search engine optimisation
› affiliate internet marketing
› free internet marketing tools
› affiliate marketing
› internet marketing seo
› internet marketing service
› internet marketing solution
› internet marketing tools
› internet marketing advertising company
› internet marketing master
› ecommerce internet marketing
› internet marketing seo search
› internet marketing resell
› seo affiliates
› internet marketing and advertising
› internet marketing plan
› internet marketing search
› local internet marketing
› website affiliate program
› web affiliate programs
› affiliate programs
› webmaster affiliate program
› join affiliate program
› internet marketing affiliate program
› internet affiliate program
› free affiliate program
› new affiliate program
› money affiliate program
› internet marketing resource
› web business
› online marketing business
› increase web traffic
› search marketing
› make money
› residual income
› make money on the internet
› online money
› making money
› affiliate software
› pay per click SEO
› quality SEO
› SEO forum
› Search engine optimization blog
› seo software
› free seo software
› asp net seo software
› SEO prices
› RSS seo marketing
› RSS feeds seo marketing
› seo support
› seo and hosting
› asp net master pages seo
› search engine meta tags
› intenet marketing company
› internet marketing companies
› website marketing companies
› website marketing company
› website marketing secrets
› website marketing services
› internet marketing services
› website marketing tips
› website marketing plan
› website marketing ideas
› internet marketing secrets
› internet marketing tips
› internet marketing ideas
› automated seo
› automated internet marketing
› automated search engine optimization
› automated seo marketing
› automated seo control panel
› seo control panel
› automated seo submissions
› automated meta tags
› automated link trade
› free text links
› free textlinks
› internet marketing online
› internet marketing business
› internet marketing advertising
› marketing advertising
› marketing online
› marketing software
› marketing
› web marketing
› web internet marketing
› internet marketing program
› strategic marketing
› marketing companies
› small business marketing
› marketing promotion
› marketing and advertising
› product marketing
› advertising
› SEO advertising
› online business marketing
› marketing web design
› seo search engine optimization
› search engine optimizing
› search engine optimization marketing
› search engine optimization service
› internet search engine optimization
› search engine optimization services
› search engine optimization consulting
› organic search engine optimization
› site search engine optimization
› search engine optimization specialist
› effective search engine optimization
› search engine optimization seo services
› internet marketing search engine optimization
› search engine optimization search engine
› search engine ranking
› search engine placement
› search engine positioning
› seo service
› seo services
› seo search engine
› website promotion
› keyword optimization
› seo expert
› seo companies
› search engine optimization keywords
|
Buy back linksYour backlink on one of our pages only $50.00 a month 941.751.3550
|
|
Link Partners
|
What is SpiderLoop? A quick Reference:
SpiderLoop is an SEO (Search Engine Optimization) Control Panel, that you install on your web site. Once installed it does several things for your web site.
It will: Have questions? Need help? call now toll free ( 1.888.273.0833 )
- CREATE TARGETED ORGANIC SEARCH ENGINE TRAFFIC TO YOUR WEBSITE download now
- create quality content and articles for your web site that is indexed by search engines.
- allow you to quickly trade links with other SpiderLoop users creating backlinks.
- optimize your web site for the search engines by creating and managing your meta tags
- allow you to purchase one way backlinks
- It has several plugins available
- Create and send your own news letter
- Dynamically generate a sitemap for your site
- Create and publish Google Base Feeds
- Create and publish RSS feeds
- Manage Google Adsense code on your pages
- Manage banners on your pages.
Some Pages you should visit before leaving this site.
Do you own an SEO company SEM company or hosting company? SEO affiliate program
You may be missing an income stream. SEO companies can reach clients that can not afford your regular service. SEM companies can add value to their pay per click efforts, and asp.net hosting companies can generate a whole new revenue from existing clients with the SEO affiliate program
|