<?xml version="1.0" encoding="UTF-8"?><!--RSS generated by Windows SharePoint Services V3 RSS Generator on 5/19/2012 7:58:23 PM--><?xml-stylesheet type="text/xsl" href="/_layouts/RssXslt.aspx?List=12e179bf-35b2-46c4-be22-cb2f5c582589" version="1.0"?><rss version="2.0"><channel><title>AndyGett on SharePoint and Other Business Software</title><link>http://blog.bullseyeconsulting.com</link><description>RSS feed for the Posts list.</description><lastBuildDate>Sat, 19 May 2012 23:58:23 GMT</lastBuildDate><generator>SharePoint CKS:EBE</generator><ttl>60</ttl><image><title>AndyGett on SharePoint and Other Business Software</title><url>http://blog.bullseyeconsulting.com/_layouts/images/homepage.gif</url><link>http://blog.bullseyeconsulting.com</link></image><item><title>Converting a SharePoint Site to Chinese</title><link>http://blog.bullseyeconsulting.com/archive/2012/05/18/converting-a-sharepoint-site-to-chinese.aspx</link><guid>/archive/2012/05/18/converting-a-sharepoint-site-to-chinese.aspx</guid><description><![CDATA[<div class="ExternalClass11F62124BC5248BA8BFE8E79968746B4">
<p><img alt="" align="left" src="http://blog.bullseyeconsulting.com/Lists/Photos/051812_1919_Convertinga1.jpg">
<h2>Veni; vidi; vici (Overview) </h2>
<p>
<p>Working in a new language and character set, our team saw and conquered several surprises. This post looks at conditional CSS, forcing IE 9 to behave like IE 9 and tweaking Notepad++ to display Chinese characters. (Mr. Connelly and Ms. Snider, I hope you are pleased that I snuck some Latin into my blog post.) </p>
<h2>Internet Explorer 8 has no Default Chinese Font </h2>
<p>If you ever tried to view a site with Chinese characters using Internet Explorer 8, you may have witnessed the lack of a default font for Chinese – nearly all characters render as boxes. </p>
<p>Here is the word news in Chinese using the default font: <span style="font-family:Times New Roman">新闻</span>In Internet Explorer, it looks something like <img alt="" src="http://blog.bullseyeconsulting.com/Lists/Photos/051812_1919_Convertinga2.png">. Not good. Chinese is supported in Internet Explorer, but you have to tell it that is what you want to use. So, we could ask all of our Internet Explorer users to click (in IE 8) View &gt; Encoding &gt; More &gt; Chinese Simplified, but there is a better way. </p>
<p><img alt="" src="http://blog.bullseyeconsulting.com/Lists/Photos/051812_1919_Convertinga3.jpg"> </p>
<p> </p>
<p>This is the word &quot;news&quot; in Chinese using the Arial Unicode MS font: <span style="font-family:Arial Unicode MS">新闻. </span>It renders on Internet Explorer. So – we're done with the font issue, right? Not so fast. It turns out that this is one ugly font. We had passionate complaints from Chinese readers about it. </p>
<h2>Conditional CSS Files for IE 8 </h2>
<p>Because all of the other browsers rendered the Chinese characters in the different fonts on our site, we ended up checking for Internet Explorer 8 in our master page: </p>
<p><span style="font-family:Courier New;font-size:9pt">&lt;!--[if IE 8]&gt; &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/style library/CSS/ie8.css&quot; /&gt; &lt;![endif]--&gt; </span></p>
<p>IE8.css contains the font family over and over wherever a font was specified in the main css file. </p>
<p><span style="font-family:Courier New;font-size:9pt">font-family:Arial Unicode MS, Arial, Helvetica, sans-serif; </span></p>
<p>For example: </p>
<p><span style="font-family:Courier New;font-size:9pt">body {font-family:Arial Unicode MS, Arial, Helvetica, sans-serif;} </span></p>
<p>This makes only IE 8 users suffer the hideous font. </p>
<h2>IE 9 </h2>
<p>Internet Explorer 9 renders Chinese characters better than IE 8. However, SharePoint puts IE 9 into IE 8 mode via this line in the master page: </p>
<p><span style="font-family:Courier New;font-size:9pt">&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=8&quot; /&gt; </span></p>
<p>Removing this makes Chinese characters render better, but it also breaks some SharePoint functionality such as people picker assignments (see Matt Oslen's fix <a href="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/90b3835c-6754-4bb6-9fd4-b74f16f236ff/">here</a>) and &quot;Send To&quot; from a document library. </p>
<h2>Traditional and Simplified Chinese Characters </h2>
<p>Most Chinese characters are always drawn pretty much the same way, but some Chinese characters may be represented in traditional or simplified form. Frustratingly, most fonts in most browsers use a mix of traditional and simplified characters making it difficult to settle on one. We wanted to achieve 100% simplified characters, but this proved elusive. Internet Explorer 9 with the Conditional CSS File only for IE 8 (so that Arial Unicode MS is not used) worked the best using Arial and Helvetica: 
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width:66px">
<col style="width:79px">
<col style="width:79px">
<col style="width:79px">
<col style="width:79px">
<col style="width:79px">
<col style="width:74px">
<col style="width:79px">
<col style="width:79px"></colgroup>
<tbody valign="top">
<tr style="height:80px">
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom"> </td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d9d9d9;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Chrome</span></p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d9d9d9;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Safari</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d9d9d9;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Firefox</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d9d9d9;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Excel / Word 2007</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#dce6f1;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">IE 9</span></p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#dce6f1;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">IE 9 Remove AUM</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">IE 7</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Excel 2003</span> </p></td></tr>
<tr style="height:20px">
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black"><span style="font-family:Arial Unicode MS">直</span> (means Straight)</span></p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d8e4bc;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Simplified</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td></tr>
<tr style="height:20px">
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black"><span style="font-family:Arial Unicode MS">曾</span> (means Once) </span></p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d8e4bc;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Simplified</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d8e4bc;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Simplified</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d8e4bc;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Simplified</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Traditional</span> </p></td>
<td style="border-bottom:medium none;border-left:medium none;padding-left:7px;padding-right:7px;background:#d8e4bc;border-top:medium none;border-right:medium none" valign="bottom">
<p><span style="color:black">Simplified</span> </p></td></tr></tbody></table>
<p> </p>
<h2>Text Editor – Notepad++ Tweaks </h2>
<p>Some of this site's content is driven by list items and content editor web parts. Copying and pasting from a robust text editor makes life much easier for changing such content. My choice is <a href="http://notepad-plus-plus.org/">Notepad++</a>, a free source code editor. Out of the box, if you start a new file, the default encoding is ANSI which does not work with Chinese characters. Once again, working on Windows XP, I had a problem with block characters instead of Chinese showing up. Once again, Arial Unicode MS to the rescue. Here are the steps: </p>
<p>1. Set your encoding to UTF-8: Menu &gt; Encoding &gt; Encode in UTF-8.<br>2. Determine or set the language of your current file. For example Menu &gt; Language &gt; XML.<br>3. Use the Style Configurator to set the font to @Arial Unicode MS any place you are using Chinese Characters. E.g., Menu &gt; Settings &gt; Style Configurator … &gt; Language: XML &gt; Style: DEFAULT &gt; Font Style: @Arial Unicode MS.<br><img alt="" src="http://blog.bullseyeconsulting.com/Lists/Photos/051812_1919_Convertinga4.jpg"><br>4. Repeat step 3 for other language types you need, such as HTML. </p>
<p>By setting only the default text to this font, you still get nice spacing from the fixed-width Courier new font, and you will also see any place where Chinese characters are used as attributes because they will show up as blocks on XP. </p>
<p>One weird thing about Arial Unicode MS in Notepad++ is that it rotates the characters counterclockwise by 90 degrees, but they still read left to right. Here is &quot;news&quot; rendered in Notepad++ 6.1.1 <img alt="" src="http://blog.bullseyeconsulting.com/Lists/Photos/051812_1919_Convertinga5.png">. </p>
<p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Fri, 18 May 2012 15:38:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/IT Pro/default.aspx">IT Pro</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Admin/default.aspx">Admin</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint 2010/default.aspx">SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint2010/default.aspx">Pre SharePoint2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint Designer/default.aspx">SharePoint Designer</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Branding/default.aspx">Branding</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Public Facing Site/default.aspx">Public Facing Site</category></item><item><title>Exposing Large Files Like Videos in a SharePoint Document Library Using IIS Virtual Directory</title><link>http://blog.bullseyeconsulting.com/archive/2012/05/01/exposing-large-files-like-videos-in-a-sharepoint-document-library-using-iis-virtual-directory.aspx</link><guid>/archive/2012/05/01/exposing-large-files-like-videos-in-a-sharepoint-document-library-using-iis-virtual-directory.aspx</guid><description><![CDATA[<div class="ExternalClass609927EA11914B6C9BA23CB35ACAEF6D">
<p><img alt="" align="left" src="http://blog.bullseyeconsulting.com/Lists/Photos/050212_0100_ExposingLar1.jpg">I wrote an unpublished post before SharePoint 2010 was released on how to create a feature to store items in a document library on the file system. The benefit of this is that all web front ends have access to the video without any further configuration. The downside is that all web front ends store a copy of the file on the file system. If you have a 500 MB video, this may not be ideal or even possible. Also, each time you want to post new video(s), you must create a new feature. </p>
<p>Another option is to expose the content on IIS via a virtual directory. This works in WSS 3.0, MOSS and all versions of SharePoint 2010. </p>
<h1>Here are the steps </h1>
<ul>
<li>
<div>Preparation: decide which account will impersonate the current user. The SharePoint search crawl account will suffice, but whichever account you use, you will need to know the password. </div>
<ul style="margin-left:49pt">
<li>If you are using (or are ok with) anonymous access, consider uploading your videos to a public host like Youtube or Vimeo to ease the burden on the SharePoint Farm's network. </li></ul></li>
<li>If you have not done so, create a directory that IIS can see. If you have multiple web front ends, a single shared directory for all of them is desirable. </li>
<li>Give the account from Step 1 read permissions to the directory on the file system. </li>
<li>Set up a virtual directory called video (or whatever) under the SharePoint IIs site pointing to where the videos and other files are. </li>
<li>In IIS, right click on the virtual directory &gt; manage &gt; permissions. Impersonate the account chosen in step 1. </li>
<li>Repeat the steps for all web front ends in the farm. </li></ul>
<h1>Notes and Considerations </h1>
<p>This is not a &quot;no brainer&quot; for all situations; it's a brainer – you may need to consider some things. </p>
<h3>Security </h3>
<ul>
<li>The above process allows authenticated users access all the files in the virtual directory. </li>
<li>You may modify web.config file(s) to allow and deny to files and folders. </li>
<li>Permissions may not be set using SharePoint groups, only AD and local users. is available </li></ul>
<h3>Remote blob storage (RBS) </h3>
<ul>
<li>Remote blob storage (RBS) is for specific content databases. </li>
<li>This means that if you want to go this route, it will be for <strong>all</strong> documents in the site collection. </li>
<li>RBS is not backed up in your regular SQL Server backup which means that a common primary goal of backing up documents is broken. This could be mitigated by dedicating a site collection with its own content database set up for RBS to host the videos. </li></ul>
<h3>Advantages of using a feature </h3>
<ul>
<li>If you have multiple web front ends, the virtual directory must be configured for each of them manually whereas the feature will do this for you. </li>
<li>The feature allows finely tuning permissions using the OOTB SharePoint UI. </li></ul></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Tue, 01 May 2012 21:00:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/IT Pro/default.aspx">IT Pro</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Admin/default.aspx">Admin</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint Designer/default.aspx">SharePoint Designer</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint 2010/default.aspx">SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint2010/default.aspx">Pre SharePoint2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Security/default.aspx">Security</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SQL Server/default.aspx">SQL Server</category></item><item><title>Gigantic SharePoint SQL Server LDF Files</title><link>http://blog.bullseyeconsulting.com/archive/2012/02/27/gigantic-sharepoint-sql-server-ldf-files.aspx</link><guid>/archive/2012/02/27/gigantic-sharepoint-sql-server-ldf-files.aspx</guid><description><![CDATA[<div class="ExternalClass969499B62A9441B6B8FCFE420D4F80DC">
<p> </p>
<p><img alt="" align="left" src="http://blog.bullseyeconsulting.com/Lists/Photos/022712_0524_GiganticSha1.jpg">
<h1>Does This Ring a Bell? </h1>
<p>
<p>SharePoint 2010 was set up months ago, and now the database LDF files are huge. Server hard disk is full or nearly so. Symptoms can be </p>
<ol>
<li>Can no longer upload (sometimes just larger) files to the SharePoint document libraries </li>
<li>Other updates in SharePoint do not work properly or at all </li>
<li>Hard disk is full </li></ol>
<h1>You Can't Get There from Here </h1>
<p>It seems like every blog and forum post dive into topics that a true database administrator (DBA) would know or care about. And even when you do understand what they are saying, the solutions provided are not trivial or possible. Fear not. Here is… </p>
<h1>A Quick Fix: </h1>
<p>If you are not a DBA, here are some steps you can take to get your SharePoint site working again. For each database where the log files are big (say, over 10 GB) </p>
<p>1. Put your database into simple recovery mode<br>2. Shrink your LDF file(s). </p>
<h3>Method 1: SQL GUI Steps via Server Management Studio </h3>
<ul>
<li>Right-click the database &gt; Properties &gt; Options &gt; Recovery Model </li>
<li>Change from Full to Simple </li>
<li>Ok </li>
<li>Right-click the same database again &gt; Tasks &gt; Shrink &gt; Files </li>
<li>Change the File Type dropdown from Data to Log </li>
<li>Ok </li></ul>
<h3>Method 2: Scripting </h3>
<p><pre><code>USE &lt;databaseName&gt;
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p><pre><code>ALTER DATABASE SharePoint_Config SET RECOVERY SIMPLE
</code></pre>
<p>
<p><pre><code>DBCC SHRINKFILE(N'&lt;databaseName&gt;', 1)
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p> </p>
<p>For example, </p>
<p><pre><code>USE SharePoint_Config
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p><pre><code>ALTER DATABASE SharePoint_Config SET RECOVERY SIMPLE
</code></pre>
<p>
<p><pre><code>DBCC SHRINKFILE(N'SharePoint_Config_log', 1)
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p> </p>
<p>For items with dashes like those with a GUID, surround the database name with []. I use 100 (MB) here for the target file size in case I want to go back to full recovery for this database. </p>
<p><pre><code>USE [WebAnalyticsServiceApplication_ReportingDB_cd98775b-b19e-4376-b782-c8d7045a79e4]
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p><pre><code>ALTER DATABASE [WebAnalyticsServiceApplication_ReportingDB_cd98775b-b19e-4376-b782-c8d7045a79e4] SET RECOVERY SIMPLE
</code></pre>
<p>
<p><pre><code>DBCC SHRINKFILE(N'WebAnalyticsServiceApplication_ReportingDB_cd98775b-b19e-4376-b782-c8d7045a79e4_log', 100)
</code></pre>
<p>
<p><pre><code>GO
</code></pre>
<p>
<p> </p>
<p>The first parameter in SHRINKFILE() is the logical file name, not the physical filename that you see on the file system. Sometimes the logical log file is not &lt;databaseName_log&gt;. You can determine the logical file name of the log via Right-click on database &gt; Properties &gt; Files </p>
<p>After clicking pressing F5 or clicking Execute to run the script, click on the Messages tab to see if there were any issues. </p>
<p>Note that this removes the ability to restore to a point in time which means that you may restore to the last full backup. </p>
<h1>What to do long-term </h1>
<p>Consider recovery model. There are two options:<br>1. Simple means you can restore to the last time you made a backup which is what most people think of when they think &quot;backup and restore&quot;. The above process puts the database into Simple recovery model.<br>2. Full allows doing the restore like in the Simple model. But is also allows one to do a a point in time to restore using both the last backup and the log files since the last backup. Follow the links below in the References section to learn more. </p>
<p> </p>
<h1>References </h1>
<p><a href="http://msdn.microsoft.com/en-us/library/ms345382.aspx">http://msdn.microsoft.com/en-us/library/ms345382.aspx</a><br><a href="http://technet.microsoft.com/en-us/magazine/2009.07.sqlbackup.aspx">http://technet.microsoft.com/en-us/magazine/2009.07.sqlbackup.aspx</a> </p>
<p><a href="http://sqlblog.com/blogs/tibor_karaszi/archive/2007/02/25/leaking-roof-and-file-shrinking.aspx">http://sqlblog.com/blogs/tibor_karaszi/archive/2007/02/25/leaking-roof-and-file-shrinking.aspx</a><br><a href="http://www.karaszi.com/SQLServer/info_dont_shrink.asp">http://www.karaszi.com/SQLServer/info_dont_shrink.asp</a> </p>
<p> </p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Mon, 27 Feb 2012 09:14:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/IT Pro/default.aspx">IT Pro</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SQL Server/default.aspx">SQL Server</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint 2010/default.aspx">SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category></item><item><title>Enabling CKS EBE Comments Alerts</title><link>http://blog.bullseyeconsulting.com/archive/2009/04/28/enabling-cks-ebe-comments-alerts.aspx</link><guid>/archive/2009/04/28/enabling-cks-ebe-comments-alerts.aspx</guid><description><![CDATA[<div class="ExternalClass0407E56FE0D54C158F6177A74440B3B6">
<p>One of my production blogs (this one, actually) was not sending alerts about comments. I have set up several blogs using <a href="http://cks.codeplex.com/">CKS EBE</a>, and fortunately I was able to use another blog to debug it. The Contact Email value in Blog Settings is not enough, and in fact has nothing to do with it. You just set up a normal SharePoint alert for the Comments list. </p>
<ul>
<li>Navigate to the Comments list &gt; Actions – Alert me </li>
<li>Change Type - New items are added </li>
<li>Send Alerts for These Changes - Someone else changes an item </li></ul>
<p>If you have not done so, SharePoint prompt you to set the email address for your login account. Easy enough, but I'll probably forget this the next time it happens if I don't note it now.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Tue, 28 Apr 2009 06:57:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Blog/default.aspx">Blog</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Social/default.aspx">Social</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category></item><item><title>Twitter on SharePoint</title><link>http://blog.bullseyeconsulting.com/archive/2009/01/04/twitter-on-sharepoint.aspx</link><guid>/archive/2009/01/04/twitter-on-sharepoint.aspx</guid><description><![CDATA[<div class="ExternalClass88F65FD0AB354B53BF76B710ED9CF011">
<p>Showing a list of Twitter.com tweets from a Twitterer on SharePoint is as easy as pasting some HTML and Javascript into a Content Web Part, available in WSS. I created a family Twitter account because sometimes blog entries are just too much to say, the baby now weighs 10 pounds. I had initially considered making a simple SharePoint list and presenting items that way, but then settled leveraging Twitter and all its extra functionality. The one drawback is if Twitter is down or goes away completely. </p>
<p>I first tried consuming the Twitter RSS feed using a Dataview web part and SharePoint Designer, but fortunately (sic), I had some trouble figuring out how to display the tweet times in my local time zone, EST or GMT -0500. The RSS delivers the tweet times in GMT +0000, e.g., Tue, 18 Nov 2008 23:13:20 +0000. I found some XSLT to deal with it (<a href="http://ftrain.com/xslt_001.html">http://ftrain.com/xslt_001.html</a> is overkill), but it was messier than I cared to deal with. </p>
<p>Then I found <a href="http://twitter.com/badges/which_badge">http://twitter.com/badges/which_badge</a> where you can choose Flash, or HTML + Javascript, which is what I chose (<a href="http://twitter.com/badges/html">http://twitter.com/badges/html</a>). As the Twitter badge page suggests, I broke the code apart, putting the </p>
<p><pre><code>&lt;ul id=&quot;twitter_update_list&quot;&gt;&lt;/ul&gt;</code></pre>
<p>
<p>into one content web part, and putting the two Javascript lines </p>
<p><pre><code>&lt;script type=&quot;text/javascript&quot; src=&quot;http://twitter.com/javascripts/blogger.js&quot;&gt;&lt;/script&gt;
</code></pre>
<p>
<p><pre><code>&lt;script type=&quot;text/javascript&quot; src=&quot;http://twitter.com/statuses/user_timeline/FamilySite.json?callback=twitterCallback2&amp;amp;count=5&quot;&gt;&lt;/script&gt;
</code></pre>
<p>
<p> </p>
<p>into the very bottom, right-most zone so that it would load last, and not prevent the rest of the page from loading if Twitter is slow or absent. I kind of liked the &quot;follow me on Twitter&quot; link that they show in the preview on the badge page. For whatever reason, this link is missing from the HTML code, but this line </p>
<p><pre><code>&lt;a href=&quot;http://twitter.com/FamilySite&quot; id=&quot;twitter-link&quot;&gt;follow us on Twitter&lt;/a&gt;</code></pre>
<p>
<p>fixes the problem. </p>
<p>On the home page, at my wife's request, our tweets are now front and center at the top of the page. It shows a maximum of seven tweets. However, the code snippet has count as a parameter. I used a different account which already had lots of tweets, and was able to get 45 at once. So from the home page's content, I linked to a new web part page that shows up to 150 of our tweets. I figure beyond that, the page is going to be too long. This is one big advantage over RSS which appears to support a maximum of just 20. </p>
<p>A peek under the hood of the Javascript reveals Javascript + JSON fetching and presenting the data. It appears that one could easily customize the strangely named blogger.js. You could present some different looks like actual date &amp; time (beware the time zone offset mentioned in the 2<sup>nd</sup> paragraph) and add in some of the non-presented AJAX content such as the Twitter image and number of followers.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Sun, 04 Jan 2009 05:31:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Social/default.aspx">Social</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint Designer/default.aspx">SharePoint Designer</category></item><item><title>Web.config Changes for Debugging ASPX Page’s Codebehind in SharePoint</title><link>http://blog.bullseyeconsulting.com/archive/2009/01/04/web-config-changes-for-debugging-aspx-pages-codebehind-in-sharepoint.aspx</link><guid>/archive/2009/01/04/web-config-changes-for-debugging-aspx-pages-codebehind-in-sharepoint.aspx</guid><description><![CDATA[<div class="ExternalClass4B2EDCAEF5F2489C81383A3151358D16">
<p>Instead of getting the &quot;user-friendly&quot;, but frustrating-to-a-developer message &quot;An error has occurred&quot;, use these two steps to receive the actual error when developing in SharePoint. Works for both MOSS and WSS. </p>
<ol>
<li>Show the call stack<br>Change<br><span style="font-family:Courier New;font-size:10pt"><span style="color:blue">&lt;</span><span style="color:#a31515">SafeMode</span><span style="color:blue"> </span><span style="color:red">MaxControls</span><span style="color:blue">=</span>&quot;<span style="color:blue">200</span>&quot;<span style="color:blue"> </span><span style="color:red">CallStack</span><span style="color:blue">=</span>&quot;<span style="background-color:yellow;color:blue">false</span>&quot;<span style="color:blue"> </span><span style="color:red">DirectFileDependencies</span><span style="color:blue">=</span>&quot;<span style="color:blue">10</span>&quot;<span style="color:blue"> </span><span style="color:red">TotalFileDependencies</span><span style="color:blue">=</span>&quot;<span style="color:blue">50</span>&quot;<span style="color:blue"> </span><span style="color:red">AllowPageLevelTrace</span><span style="color:blue">=</span>&quot;<span style="color:blue">false</span>&quot;<span style="color:blue">&gt;</span></span><br>to<br><span style="font-family:Courier New;font-size:10pt"><span style="color:blue">&lt;</span><span style="color:#a31515">SafeMode</span><span style="color:blue"> </span><span style="color:red">MaxControls</span><span style="color:blue">=</span>&quot;<span style="color:blue">200</span>&quot;<span style="color:blue"> </span><span style="color:red">CallStack</span><span style="color:blue">=</span>&quot;<span style="background-color:yellow;color:blue">true</span>&quot;<span style="color:blue"> </span><span style="color:red">DirectFileDependencies</span><span style="color:blue">=</span>&quot;<span style="color:blue">10</span>&quot;<span style="color:blue"> </span><span style="color:red">TotalFileDependencies</span><span style="color:blue">=</span>&quot;<span style="color:blue">50</span>&quot;<span style="color:blue"> </span><span style="color:red">AllowPageLevelTrace</span><span style="color:blue">=</span>&quot;<span style="color:blue">false</span>&quot;<span style="color:blue">&gt;<br></span></span></li>
<li>
<div>Set custom errors to False<br>Change </div>
<p><span style="font-family:Courier New;font-size:10pt"><span style="color:blue">&lt;</span><span style="color:#a31515">customErrors</span><span style="color:blue"> </span><span style="color:red">mode</span><span style="color:blue">=</span>&quot;<span style="color:blue">On</span>&quot;<span style="color:blue"> /&gt;</span></span><br>to <br><span style="font-family:Courier New;font-size:10pt"><span style="color:blue">&lt;</span><span style="color:#a31515">customErrors</span><span style="color:blue"> </span><span style="color:red">mode</span><span style="color:blue">=</span>&quot;<span style="color:blue">Off</span>&quot;<span style="color:blue"> /&gt;</span></span></p></li></ol></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Sun, 04 Jan 2009 05:27:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/IT Pro/default.aspx">IT Pro</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/How To/default.aspx">How To</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Dev/default.aspx">Dev</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint 2010/default.aspx">SharePoint 2010</category></item><item><title>Hiding a List Item from Anonymous Users</title><link>http://blog.bullseyeconsulting.com/archive/2008/10/26/hiding-a-list-item-from-anonymous-users.aspx</link><guid>/archive/2008/10/26/hiding-a-list-item-from-anonymous-users.aspx</guid><description><![CDATA[<div class="ExternalClassEA33E9BDE933458FBFBEB81FE9A7CB11">
<p>Karen asked that I remove one of the links from the gift registry on the internet WSS family site. Instead of removing it, I decided to hide it from anonymous users. Note that during this process, we are warned that &quot;You are about to create unique permissions for this item. Changes made to the parent folder or list permissions will no longer effect this list item&quot;. This is an important concept to understand before proceeding. </p>
<ol>
<li>Navigate to the list. </li>
<li>In the context menu available when you hover over the link, click &quot;Manage Permissions&quot; &gt; Actions &gt; Edit Permissions </li>
<li>Click Ok in response to the warning </li>
<li>Click the check box next to Visitors </li>
<li>Actions &gt; Remove User Permissions &gt; Ok </li></ol>
<p>Now anonymous users can't see this one link, and if Karen ever asks to undo this action so that we can see the link again, I can navigate to the link item, click Actions &gt; Inherit Permissions.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Sun, 26 Oct 2008 12:02:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/Admin/default.aspx">Admin</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Public Facing Site/default.aspx">Public Facing Site</category></item><item><title>Date Formulas in SharePoint Calculated Fields</title><link>http://blog.bullseyeconsulting.com/archive/2008/10/16/date-formulas-in-sharepoint-calculated-fields.aspx</link><guid>/archive/2008/10/16/date-formulas-in-sharepoint-calculated-fields.aspx</guid><description><![CDATA[<div class="ExternalClass0485497F675F49D880FE5864FB22FF48">
<p>Microsoft provides a nice compilation of <a href="http://office.microsoft.com/en-us/sharepointtechnology/HA011609471033.aspx">Examples of common formulas</a>, but it does not work as advertised with WSS. I have not tried it in MOSS. Let's say there is a date column named ExpirationDate and an integer named NotificationMonths which represents the number of months before the expiration date that we want the notification in our calculated field NotificationDate. </p>
<p>Simple arithmetic using a date and an integer adds the number of days. If ExpirationDate is 10/31/2009, and NotificationMonths is 6, the formula <pre><code>=ExpirationDate- NotificationMonths</code></pre>yields 10/26/2009, but what we really want is 5/1/2009 (4/31 does not exist). The link from the first sentence of this post implies that <pre><code>=DATE(YEAR(ExpirationDate),MONTH(ExpirationDate)-NotificationMonths,DAY(ExpirationDate)) </code></pre>ought to do exactly this, but instead it gives the error <em>&quot;The formula refers to a column that does not exist. Check the formula for spelling mistakes or change the non-existing column to an existing column.&quot;</em> 
<p>
<p>The solution is to use braces around the field names: <pre><code>=DATE(YEAR([ExpirationDate]), MONTH([ExpirationDate])-[NotificationMonths], DAY([ExpirationDate]))</code></pre>
<p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Thu, 16 Oct 2008 17:53:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/Admin/default.aspx">Admin</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category></item><item><title>Link to Slide Show from Pictures DVWP Rollup</title><link>http://blog.bullseyeconsulting.com/archive/2008/09/30/link-to-slide-show-from-pictures-dvwp-rollup.aspx</link><guid>/archive/2008/09/30/link-to-slide-show-from-pictures-dvwp-rollup.aspx</guid><description><![CDATA[<div class="ExternalClass4F2C047D956F44FEB1E1D7031F5903FB">
<p style="margin:0in 0in 10pt" class="MsoNormal"><font size="3" face="Calibri">In addition to the blog rollup’s (see previous post), I am rolling up my top-level picture folders in a picture library called Pictures.<span>  </span>We thought the best user experience would be viewing the slide shows of a particular library.<span>  </span>I was adding a label of “</font><i><span style="font-family:'Verdana','sans-serif';color:black;font-size:8pt">In the Photo Album menu, click Actions &gt; View Slide Show</span></i><font size="3" face="Calibri">”, but the menu is hard to find, and jeez, Andy, can’t you just make the link go straight to the slide show instead of linking to the thumbnails?<span>  </span>Well, the answer is “yes”. </font></p>
<p style="margin:0in 0in 10pt" class="MsoNormal"><font size="3" face="Calibri">There is a slideshow.aspx page in the Forms subfolder of picture libraries.<span>  </span>It takes a query-string parameter named RootFolder to know where to start.<span>  </span>Since all my “albums” are one level deep (no nesting of folders), the items returned by the data source are all we need.<span>  </span>@FileRef field contains the “URL Path” of the item.<span>  </span>So the link of our &lt;a&gt; tag generated by the DataForm WebPart’s XSL needs to look something line /Pictures/Forms/slideshow.aspx&amp;RootFolder={@FileRef}.<span>  </span><span>  </span>After some playing around, this does the trick:</font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>  </span>&lt;a target=&quot;_blank&quot; title=&quot;View slide show in new window&quot;&gt;</font></font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>    </span>&lt;xsl:attribute name=&quot;href&quot;&gt;</font></font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>      </span>&lt;xsl:value-of select=&quot;concat('/Pictures/Forms/slidshow.aspx?ViewStyle=slideshow&amp;amp;RootFolder=',@FileRef)&quot; /&gt;</font></font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>    </span>&lt;/xsl:attribute&gt;</font></font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>    </span>&lt;xsl:value-of select=&quot;@Title&quot; /&gt;</font></font></p>
<p style="margin:0in 0in 0pt" class="Code"><font size="2"><font face="Consolas"><span>  </span>&lt;/a&gt;</font></font></p>
<p style="margin:0in 0in 10pt" class="MsoNormal"><br><font size="3" face="Calibri">I still like the idea of having the thumbnail, so I added </font></p><pre><font size="2" face="Consolas">&lt;a href=&quot;{@FileRef}&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;/_layouts/images/DETAIL.GIF&quot; title=&quot;View Thumbnails&quot;/&gt;&lt;/a&gt;&amp;#160;</font></pre>
<p style="margin:0in 0in 10pt" class="MsoNormal"><br><font size="3" face="Calibri">before the slideshow link within the same column.<span>  </span>Note that &amp;nbps; must be explicitly defined in XSL.<span>  </span>Using &amp;#160; instead is easier.<span>  </span>Detail.gif is OOTB SharePoint graphic that seemed to capture the idea of a grid of thumbnails.</font></p>
<p style="margin:0in 0in 10pt" class="MsoNormal"><font size="3" face="Calibri">To round it all out, I show the created date sans time stamp of the album, right justified in the second column:</font></p><pre><font size="2" face="Consolas">&lt;xsl:value-of select=&quot;ddwrt:FormatDate(string(@Created), 1033, 1)&quot;/&gt;</font></pre></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Tue, 30 Sep 2008 18:28:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint Designer/default.aspx">SharePoint Designer</category></item><item><title>SharePoint Object Names – No Spaces</title><link>http://blog.bullseyeconsulting.com/archive/2008/08/09/sharepoint-object-names-no-spaces.aspx</link><guid>/archive/2008/08/09/sharepoint-object-names-no-spaces.aspx</guid><description><![CDATA[<div class="ExternalClassDDF65551B39B45AE8B894FC2838C1CEC">
<p>I have always avoided using spaces in object names, even in my file names and directory names. This stems from a programmer's background and a general dislike of seeing things like <a href="http://somedomain.com/home page.htm">http://somedomain.com/home%20page.htm</a>. It also makes DOS commands and batch files easier. </p>
<p>It's similar with SharePoint. It allows Content Types and site column names to contain spaces, but when you want to use them in CAML, XML or XLS via a Data Form Web Part, a column named &quot;Expiration Date&quot; turns into &quot;Expiration_x0020_Date&quot;. However, you can initially name such a field using the &quot;camel back&quot; format, i.e., ExpirationDate, and then rename the field to &quot;Expiration Date&quot;. The internal field name remains ExpirationDate, but end users see it with the space. The few extra seconds it takes to rename such fields is worth it.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AndyGett</dc:creator><pubDate>Sat, 09 Aug 2008 23:15:00 GMT</pubDate><category domain="http://blog.bullseyeconsulting.com/archive/tags/Admin/default.aspx">Admin</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/Pre SharePoint 2010/default.aspx">Pre SharePoint 2010</category><category domain="http://blog.bullseyeconsulting.com/archive/tags/SharePoint 2010/default.aspx">SharePoint 2010</category></item></channel></rss>
