by Andreas

Sharepoint – use XSLT to define first element in CQWP

In a recent project I had the need for two Content Query Web Parts where one displayed the first 3 items from a list in a specific format, while the other had to display the remaining rows (from 4 and onwards) from the same list in a different format. Strangely enough I couldn’t find much useful information about this, but the solution was easy enough.

PS: For reasons not worth explaining, I solved this using two web parts but this could quickly be altered to be handled in a single CQWP.

The approach is to get the current row number, compare it to a value and decide whether or not to display the result. This was all done with XSLT in Sharepoint Designer.

1. Get the current row number

<xsl:variable name="RowNum" select="count(./preceding-sibling::*)" />

2. Add a simple IF statement to check if row number is higher than 3

<xsl:if test="$RowNum &gt; 3">
    <!-- whatever is in here will be rendered -->
</xsl:if>

I chose to use this to remove the first 3 elements of the result, but it can also be used to apply one style to the first X elements of a result and another style for the remaining elements.

There you have it, conditional filtering solved in Sharepoint Designer with OOTB functionality.

by Njål

Upgrading Umbraco from 4.5.1 to 4.5.2

Umbraco is a Content Management System (CMS) developed in Microsoft .NET.

Some of its advantages is that it offers full design freedom, it’s free to use, and perhaps most importantly – you can write your own user controls using the allmighty .NET Framework. A disadvantage with Umbraco (and a lof of other open-source solutions) is the hassle with upgrading to newer versions.


When attempting to upgrade a Umbraco 4.5.1 to 4.5.2 I followed this generic upgrade guide – which basically told me to overwrite some files and folder.The first thing I did was to do a full backup of the site (files + MS SQL database). Then, I copied the files, and opened the site in my browser.


A upgrade page was displayed – so far so good. I finished the different steps in the guide – it told me the upgrade had gone perfect!I tried to enter the site again to make sure the content was being displayed ok. But I was redirected to the Upgrade page again…where I tried to log in..



Problem: Admin can not log in after upgrading Umbraco
Possible Cause:  Earlier versions of Umbraco handled password in clear text, current version uses hashing.
Possible Solution: Open web.config file – remove the passwordFormat=”Hashed”

<add name=”UsersMembershipProvider” type=”umbraco.providers.UsersMembershipProvider” enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”false” passwordFormat=”Hashed” />

Problem: Site is not displayed at all after upgrade
Possible Cause:  Upgrade bug?
Possible Solution: Log into Admin and republish entire site




Problem: XSLT is not working at all/behaving weird after upgrade
Possible Cause:  New XSLT Schema! Data elements with Alias Attributes are no longer used!
Possible Solution 1: Set <UseLegacyXmlSchema>true</UseLegacyXmlSchema> in config/umbracoSettings.config
Possible Solution 2 (better): Replace XSLT code looking like this
$currentPage/descendant-or-self::node[string(data[@alias='umbracoNaviHide']) != '1']
with this
$currentPage/descendant-or-self::*[umbracoNaviHide != '1']

Tip:
If you are unsure what the data(document/node) that you are trying to process with XSLT looks like – then insert this:
<textbox><xsl:copy-of select=”$currentPage”/></textbox>



Problem: Umbraco installation contains different sites (hostnames), but only one of them works after upgrade
Possible Cause:  Wrong setting in config/umbraco.config which got owerwritten during upgrade
Possible Solution: Set <ensureUniqueNaming>True</ensureUniqueNaming> in config/umbracoSettings.config



Thats about it I think – good luck upgrading! 

by Stian

Umbraco – The Friendly CMS?

Umbraco er et open source CMS (content management system) utviklet av dansken Niels Hartvig. Det er basert på Microsofts .NET Framework, Microsoft SQL Server og XSLT, skrevet i C# og har støtter for flere typer databaser og språk,

Umbraco er designet for å være en verktøykasse for bygging av websider og fokuserer på det å integrere allerede eksisterende teknologier i stedet for å introdusere nye! Med støtte for Custom og Web User Controls tillater Umbraco at du kan jobbe akkurat slik du er vant til, med et hvilket som helst .NET språk.

Umbraco Love

En av de fantastiske tingene med Umbraco er hvordan prosjektet ditt allerede er delt inn i forskjellige deler for:

  1. Utvikler
  2. Designer
  3. Webredaktøren


Utvikleren har valget mellom å sitte og jobbe rett i Visual Studio med User Controls og Master Pages eller jobbe med XSLT, JavaScript og templates rett i Admin GUI.

Designeren har en egen fane i dette kontrollpanelet hvor han eller hun kan jobbe med HTML og CSS, enten i ren html kode eller i en visuell editor.

Akkurat denne innedelingen mellom en utvikler og en designer er jo for så vidt ikke noe nytt, den har etter hvert eksistert en stund, selv i Visual Studio. Det geniale kommer først når vi introduserer webredaktøren til det hele. Den menige mannen i gaten som setter kaffen i halsen når han ser en html tag! Det er nemlig slik at når utvikleren har gjort sin jobb, er det stort sett bare pek og klikk for redaktøren som skal vedlikeholde innholdet på websiden. Den enkle måten Umbraco gir oss dette rett ut av boksen er det som gjør produktet verdt å bruke. Det sparer utvikleren mye tid i forhold til å sitte selv og skrive et admin grensesnitt. Dette får du selvfølgelig også med Joomla eller WordPress, men ikke glem at web applikasjonen har du  skrevet i .NET og XSLT.

Vi i Degree har etterhvert utviklet en del websider med Umbraco, inkludert vår egen webside på degree.no. Den første tiden var litt forvirrende og Umbraco kan oppfattes å ha en del begrensninger (spesielt for oss som ikke var så god på XSLT), men når du har blitt bedre kjent med verktøyet ser du at her har du store muligheter og får mye gratis!

Umbraco 4.0.4 som er den siste versjonen i skrivende stund er langt fra perfekt. Det finnes ting som ikke er så logisk lagt opp som det kunne vært, men ut i fra hva jeg har lest har vi mye godt å se frem til i kommende større releases.

Se www.umbraco.org for mer informasjon.

Tags: , ,