| John's profileJohn West Blogs about Si...PhotosBlogLists | Help |
|
5/31/2009 Configuring a Sitecore Workstation Part 2: Machine Specification and OrderingThis blog post is the first in a series of blog posts about Configuring a Sitecore Workstation. The previous post describes Things to Consider throughout the Build. Try to get some information about the user before ordering the machine:
For new staff:
For all staff, obtain the domain username and password. When selecting and ordering the machine, consider the following:
Once you have the machine, note the order number, the model number, the vendor identifiers (Dell service tag and express service code), and the owner’s username. On to the next post in this series of blog posts about Configuring a Sitecore Workstation: First Boot and Preparation. Configuring a Sitecore Workstation Part 1: Things to Consider throughout the BuildThis blog post is the first in a series of blog posts about Configuring a Sitecore Workstation. Consider the following whenever specifying, ordering, or building a Sitecore workstation:
When prompted:
On to the next post in this series of blog posts about Configuring a Sitecore Workstation: Machine Specification and Ordering. Configuring a Sitecore Workstation Part 0: Index of Blog PostsEven though I’ve installed so many editions of Windows and the applications that make it useful so many times that I probably deserve some kind of award, I still can’t remember all of the steps involved. I’ve tried to write a few documents about how to configure Windows (including my first post on this blog), but they all somehow end up being both too specific and too general. Windows 2008 finally lost my profile, meaning it’s time to rebuild this machine again, and this time I will try to describe the process in a series of blog posts about the various topics. These will be works in progress eternally; I’ll try to keep them updated as I learn more Windows trivia by installing more editions and applications on more hardware platforms. Such a resource can never be complete. For example, always check for additional components available from vendors – in one case a storage driver resolved an audio issue, and Dell sometimes provides a download containing recommended Vista power settings. I hope to use these notes when building machines in the future, but there could be some useful information in here for anyone. For security I’ll have to keep some implementation specifics to myself. Of course, all of this has little to do with Sitecore, except that installation issues often result from underlying configuration issues. Here are the major subjects of this topic as I see them (I will add links as I complete the posts):
Start with the first post in the series: Things to Consider throughout the Build. 5/28/2009 Skype Internet Explorer Add-On Sitecore AnnoyancesFor some time, Sitecore users including myself have experienced an issue where one suddenly can't type into simple Single-Line and Multi-Line Text fields. Refreshing the browser window would resolve the issue, but then one has to restore one’s context (location in content tree, desktop applications, etc.). Everyone had assumed that it was an Internet Explorer bug, but a recent Sitecore Developer Network forum thread indicates that it might be an issue with Skype add-on for Internet Explorer. Skype has caused problems in the past, for instance inserting JavaScript links around phone numbers (some “security” software products can also manipulate data transmitted over HTTP). This issue has been frustrating enough for me that I thought it might be worth posting here, even though I’m not sure this is truly the problem or even provides the correct instructions (especially for IE7). So please comment on this post according to your experience, and Sitecore will update the Internet Explorer Configuration reference accordingly. One procedure to disable the Skype add-on for Internet Explorer 8 is to:
I firmly believe that Windows is more stable with less software. I recommend disabling as many add-ons as you can (including gotomeeting and other Outlook add-ons), disabling services you don’t need, and using a tool such as SysInternals AutoRuns to disable startup programs you don’t use constantly (especially anything that tries to update itself). Thanks to Ariel for posting this solution to this very annoying problem! 5/20/2009 Install Microsoft SQL Server 2008 Express Edition for Use with SitecoreI captured some screen shots while configuring Microsoft SQL Server 2008 Express edition for use with Sitecore, both running on a single 32-bit Microsoft Windows Vista host. This configuration may not be appropriate for production. First I had to download the Microsoft Windows Installer 4.5 Redistributable. You may have to install Microsoft Visual Studio 2008 Service Pack 1. If you don’t have Visual Studio 2008, you may need to install .NET 3.5 Service Pack 1. I haven’t hear from anyone still using Visual Studio 2005 or upgrading from SQL 2005. Then I ran SQL Server 2008 Express with Tools (SQLEXPRWT_x86_ENU.exe). The process was relatively straightforward: I must have clicked Installation: I clicked New SQL Server stand-alone installation or add features to an existing installation: I clicked OK:
I clicked Next:
I selected the checkbox, and then clicked Next: I clicked Install: I investigated the Windows Firewall warning, which was irrelevant because only localhost will access the databases, and then clicked Next: I selected Database Engine Services and Management Tools – Basic, and then clicked Next: I clicked Next: I clicked Next: I selected the NETWORK SERVICE user for the SQL Server Database Engine service, and then clicked Next: I selected Mixed Mode, entered a password for the default sa user, clicked Add Current User, and then clicked Next: As a developer, I would select both checkboxes, but for most users I would leave them blank, and then click Next: I clicked Next: I clicked Install: I clicked Next: I clicked Close. I rebooted. I visited http://www.windowsupdate.com to get patches, and then rebooted again. I thought the SQL Server 2008 Express installation process was relatively simple and painless, but I am familiar with Sitecore and SQL 2005 (and even 2000). I hope I didn’t miss any important steps, but if I did it was most likely an option to enable or disable advanced configuration options in the installation user interface. 4/28/2009 How Important is the Sitecore Remote Database Installer?I'm blogging about another poll on the Sitecore Developer Network in the hopes of getting more votes and comments. Please vote: 4/23/2009 Internet Explorer Optimization for Sitecore Documentation PublishedSitecore published an Internet Explorer Configuration reference, which covers some new IE8 features. Most of the configuration is optional. I have updated my post that provides links to the best Sitecore documentation. Sitecore Developer Network Poll: What Primary Source Code Management Tool Do You Use with Sitecore?One of my students this week asked which source code management tools developers most often use with Sitecore, or which works best with Sitecore. I created a corresponding poll on the Sitecore Developer Network, but these polls are not very visible so I'm posting a link here in the hope of getting more responses: 4/16/2009 Sitecore Intranet Portal DocumentationI have updated my post linking to the best Sitecore documentation to reflect the Sitecore Intranet Portal (SIP) Installation, AD Integration, Core Concepts, Main Settings, Skin Settings, Content Features, Cookbook, and User guides. Sitecore (Microsoft) CRM Membership Provider and Documentation PublishedSitecore published (Microsoft) CRM Security Provider documentation and compiled code. I have updated my post that provides links to the best Sitecore documentation. 4/9/2009 Three Factors to Sitecore’s SuccessI was thinking about Alex de Groot's blog post Thank you, Sitecore community. It’s somewhat self-congratulatory to say, but my experience watching Sitecore USA grow from a carful to a multinational group with offices in numerous states has made it clear that the most important aspect of the company is its people, especially those hired in the early days that set the company's direction and culture. Sitecore has managed growth successfully by waiting for the right people to fill strategic positions. For Sitecore, this most important aspect (people) developed the second most important aspect, product (the Sitecore Web Content Management System). Sitecore is really an amazing platform, and could not be as successful, extensible, and capable of increasing productivity as it is without this solid and well-considered architecture. This may indicate that a young software company should invest in it's product, possibly in favor of marketing (often the primary factor in the success of a software company). But to be clear, Sitecore couldn’t possibly be as powerful without Microsoft and ASP.NET – Sitecore’s engineers don’t think they could have built Sitecore with Java (I haven’t asked about LAMP, Haskell, etc.). For Sitecore, the third most important driver of success may be the community, which is really an extension of Sitecore’s people, and a result of Sitecore’s focus on the partner channel and adapting that business model as it expands into new markets. So thanks to all of the partners, customers, independent consultants, and Sitecore employees working around the world, on and off the clock, to improve the product, deliver optional components, develop custom solutions, teach training, educate prospective customers, write documentation, white papers, case studies, blog posts, and assist the community through the Sitecore Support Portal and on the Sitecore Developer Network Forums! Sitecore has been fortunate to see its success continue as the market becomes more challenging. Web solution developers find common patterns, and Sitecore addresses the majority of those patterns with relative ease. I think it says a lot that people can sift and decipher the chaotic realm of CMS software literature including obsolete and misinformation to pick what I continue to think is the best Web CMS available. Great minds think alike! 4/4/2009 Windows Live (Blog) WriterI have to say that as an owner, I've been pretty disappointed with Windows Live Spaces. The overall usability of the management Web site is pretty bad, which may be one reason I don't use many of its features. It seemed like it supported 32-bit Firefox for a while, which was great because Firefox didn’t support the WYSIWYG and I could just edit HTML, but this stopped, maybe due to my move to 64-bit Minefield. Anyway, now I have to use IE, which means copying the source view from the WYSIWYG (which IE has conveniently turned into one long line of markup) between the browser and a real editor. I can't tell you how much time I've spent deleting spam comments – I have to go through the frustrating process of figuring out how every few months when I get a chance to maintain the blog. It’s one of the worst user interfaces in the whole system, possibly in the entire universe (trust me, I’ve been using computers for 20 years – since the basic interpreter and command line days, and I’m not the only person to complain about). I guess I should spend the time to figure out how to require that I approve the posts, but that seems like a major challenge. It could be so much better if they just fixed a few things…but I digress. You may have noticed that Windows Update has been suggesting some optional Windows Live components lately. I generally like to install everything available from Windows update (except the Vista Ultimate language updates) so I can get an idea of what new problems they may cause for my users. So I grabbed these things and quickly ignored them. So I was pretty excited when I right-clicked something and it prompted me to blog about it with Windows Live. It then prompted me to create a blog or connect to an existing one. I can’t remember exactly what blogs were supported. So far, so good – just the spelling check is probably good enough to keep me using it, and the interface is light years ahead of the browser-based interface. This is definitely something I prefer to use, and also something my dad could (probably) figure out. Let’s see how it manages comments…I will try to update this post as I find more features. As I think about how to make this post relate to Sitecore somehow, it seems like if this Windows client can access the blog, then so could Sitecore. There may be some way to capitalize on the Windows live Writer interface for blogs, and possibly even other content. But I doubt Microsoft has publicly documented whatever protocols it uses, which may be proprietary and could change. Bugs:
Updates:
For example, here’s Remove Formatting not working: Created by: Douglas Stockwell Downloads:7149 Posted:11/1/2006 Free Easily transfer syntax highlighted source code from Visual Studio to elegant HTML in Windows Live Writer. With any mode, Microsoft fails the “pasting a nested list from Word” test worse than I’ve seen recently, giving me an <h4>, <h5>, and <h6>: 1 A1.1 B1.1.1 COr worse, just some <p>’s: 1. A a. B i. C Worst is “Keep Formatting”: <p style="text-indent: -0.25in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpFirst"><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore">1.<span style="font: 7pt 'Times New Roman'"> </span></span></span>A</p> It does seem to nicely translate all those <’s, >’s, &’s, and other characters to HTML or XML entities. Screen Shots: Microsoft Internet Explorer 8 (WYSIWYG): Google Chrome 1 (plain text): Windows Live Writer version 14! (a capture of a capture of a capture): Clear View > Use editing theme (where’s the ribbon? ;-) and the editor resizes with the window, unlike the browsers that waste most of my monitor’s space: I can crop and apply other effects, and there are right-click options to make images clickable, etc.: If you click on any of the images above, depending on your user agent, you might have access to image manipulation features. 3/31/2009 Handling HTTP 404 Page Not Found with Sitecore Guide PublishedSitecore published a document that describes how to handle the HTTP 404 Page Not Found condition. I have updated my post that provides links to the best Sitecore documentation. 3/27/2009 Sitecore Membership Providers Documentation PublishedSitecore published a document that describes how to implement ASP.NET Membership Providers. I have updated my post that provides links to the best Sitecore documentation. Sitecore Dynamic Links Documentation PublishedSitecore published a document that describes how to work with Dynamic Links. I have updated my post that provides links to the best Sitecore documentation. 3/4/2009 Contributing to Sitecore Shared Source Projects Part II: Contribution SuggestionsHere are the Sitecore Shared Source projects to which I have recently contributed:
Here are some suggestions for Sitecore shared source contributions:
Also, I learned that to nest lists in the wiki, you indent with spacing. So: 1. Item One. * Item One Bullet One. This post has some other Wiki formatting and shared source contribution suggestions. 2/26/2009 Manipulating Sitecore Links Part II: The LinkProvider Shared Source ModuleThe http://trac.sitecore.net/LinkProvider/ Sitecore Shared Source project provides many of the features described in this post. 2/23/2009 Sitecore MemoryMonitorHook ThresholdI spent February 18 through 20 with a customer experiencing performance issues with a Sitecore 5.3.1 solution. We identified a configuration problem within the first few hours, but I stayed on the project for a little while to monitor the solution. As most Sitecore developers are aware, Sitecore is thoroughly optimized for performance, relying heavily on caching. Caching consumes memory, and caching requirements for a solution with significant data or load can exceed available memory. Out of memory conditions can cause exceptions and can cause ASP.NET to crash or restart, resulting in errors, delays, and outages. Sitecore provides a memory monitor hook to flush caches when memory exceeds a given threshold. You configure the memory monitor hook using the /configuration/sitecore/hooks section of web.config: <hooks>
<hook type="Sitecore.Diagnostics.HealthMonitorHook, Sitecore.Kernel" />
<hook type="Sitecore.Diagnostics.MemoryMonitorHook, Sitecore.Kernel">
<param desc="Threshold">500MB</param>
<param desc="Check interval">00:00:05</param>
<param desc="Minimum time between log entries">00:01:00</param>
<ClearCaches>true</ClearCaches>
<GarbageCollect>true</GarbageCollect>
<AdjustLoadFactor>true</AdjustLoadFactor>
</hook>
</hooks>
The first parameter (the first <param> element) to the constructor for the Sitecore.Diagnostics.MemoryMonitorHook class specifies the threshold for the memory monitor hook, which is 500MB by default in Sitecore 5.3.1. Sitecore frequently checks the amount of memory consumed by ASP.NET and if it exceeds this limit, then Sitecore will flush caches. The following message repeated frequently in the logs should have made this pretty obvious: WARN Memory usage exceeded the MemoryMonitor threshold. All caches have been cleared and a forced GC has been induced. WARN Memory used before/after GC: 554,590,208 / 554,590,208 If you see a message like this, your cache may be too small. If you see it constantly, your cache may be way too small, especially if the before/after values are the same. The problem for this customer was that the amount of memory consumed by ASP.NET was always greater than 500MB. Therefore, Sitecore was flushing caches constantly. It's somewhat amazing that this didn't completely overwhelm the content delivery and the database servers. The solution is quite simple: either set the memory monitor threshold to an appropriate value, or set the ClearCaches property to false. In this case, we set the size of the cache to 1792MB and afterwards were unable to reproduce the issue. Note that in Sitecore 6, the default value for the memory monitor threshold is higher (800MB), but it shouldn't matter anyway because cache clearing is disabled by default: <hooks>
<hook type="Sitecore.Diagnostics.HealthMonitorHook, Sitecore.Kernel" />
<hook type="Sitecore.Diagnostics.MemoryMonitorHook, Sitecore.Kernel">
<param desc="Threshold">800MB</param>
<param desc="Check interval">00:00:05</param>
<param desc="Minimum time between log entries">00:01:00</param>
<ClearCaches>false</ClearCaches>
<GarbageCollect>false</GarbageCollect>
<AdjustLoadFactor>false</AdjustLoadFactor>
</hook>
</hooks>
I would like to thank Alexey Romaniuha of the Sitecore Support team for his identification of the issue. 2/17/2009 Sitecore Ribbon Command to Debug Any Item in Any DatabaseThe Sitecore browser-based debugger by default opens the home page of the published Web site using the publishing target database (Web). If you want to debug another page, you can navigate to that page, or enter its URL. If you want to debug in another database, you can add the sc_database query string parameter. Or you can add a command to the Content Editor ribbon to debug the selected item in the selected database:
After step 2, the default Debug command on the Sitecore menu will take you to the Master database instead of the publishing target database (Web). You can download the code from http://resources.thedotnetcms.com/sitecorejohn/debug.zip. 1/28/2009 Contributing to Sitecore Shared Source ProjectsThe following tips for working with Sitecore shared source are based on my recent experience contributing the FieldValueComparer (based on to the comparer in this post) to the Sitecore Shared Source project.
I will try to maintain this list and the FieldValueComparer project room as a template for cutting and pasting when creating new projects. Update: Shared source projects use the Sitecore.Sharedsource top-level namespace. The Sitecore Shared Source Coordinator provided me with the URL of a Wiki formatting cheat sheet: http://trac.edgewall.org/wiki/WikiFormatting. |
|
|