Hiding the “Workspace” checkbox when creating a calendar event

If you would like to use the calendar list for creating events and don’t want to give your users the option to create a “Meeting Workspace”, hide the field.

There are a lot of possibilities to hide fields from the newform.aspx and dispform.aspx pages, for instance:

    1. Powershell script to show/hide columns when a user chooses to create, edit or view an item. It does not work for system fields.
    2. Javascript to search for a field on the page that machtes a searchquery.

    Powershell
    This you can use for hiding SharePoint fields you have created. Not for SharePoint system fields….

function Hide-SPField([string]$url, [string]$List, [string]$Field) {
  [System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)

  $SPSite = New-Object Microsoft.SharePoint.SPSite($url)
  $OpenWeb = $SPSite.OpenWeb()

  $OpenList = $OpenWeb.Lists[$List]

  $OpenField = $OpenList.Fields[$Field]
  $OpenField.ShowInNewForm = $True
  $OpenField.ShowInEditForm = $False
  $OpenField.ShowInDisplayForm = $False
  $OpenField.Update()

  $SPSite.Dispose()
  $OpenWeb.Dispose()
}

Hide-SPField -url http://YourURL/ -List “List Name” -Field “Field name”

Javascript
This you can use to hide any field on the page you want it to. Create a “script.txt” file in the list folder with SharePoint designer and copy paste the code below.

image

Then just put a content editor WebPart on for instance the “newform.aspx” and enter the link to your script file.

image

<script type=”text/javascript”>
var theRows = document.getElementsByTagName(“TR”);
var r = 0;
var strTitle = “”;
while (r < theRows.length)
{ try
{ strTitle = theRows[r].innerText || theRows[r].textContent;
strTitle = strTitle.replace(/\n|\r|\t|\^ /g,””);
if (strTitle.search(“Workspace”) == 0)
{ theRows[r].style.display = “none”; }
}
catch(err){}
r+=1;
}
</script>

image

Display RSS feed with a XML Viewer WebPart in SharePoint Foundation

If you are working with SharePoint foundation and you would like to display an rss feed, for SharePoint Server you would choose to use the rss-viewer WebPart. In SharePoint Foundation there is no RSS-Viewer WebPart so you have to come up with an alternative.

From a customer I received the following request: They wanted newsfeeds from branch organizations all over the world combined into one rss feed and display that one on their corporate marketing portal. For the combine functionality I used “yahoo pipes”. It is an easy interface, with all options you need such as filtering, sorting etc. Once you created a pipe there is also a combined rss feed available that will show you all separate feeds into one.

To display that newly created rss feed, just put a XML-Viewer WebPart on your page in SharePoint 2010, add the url to the combined rss feed at yahoo. If you would hit enter now, the WebPart will display all properties the rss feed outputs. That is unreadable!

To make it readable you need to add some XSL formatting, for example enter the next code at your “XSL Editor”.

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" indent="yes"/> <xsl:param name="TITLE"/> <xsl:template match="rss"> <div style="background:#ffffff; padding:0; font-size:10px;"> <xsl:for-each select="channel/item"> <a href="{link}" target="_new"><xsl:value-of select="title"/></a><br/> <xsl:value-of disable-output-escaping="yes" select="description"/><br/> </xsl:for-each> </div> </xsl:template> <xsl:template match="description"><xsl:value-of select="."/><br/></xsl:template> </xsl:stylesheet>

Voilà, you have an alternative RSS-Viewer WebPart!