Unable to create a Team Foundation Service Account

TFS_Cloud

A few days ago I wanted to create a new Team Foundation Service (tfs in the cloud) account. Unfortunatly I got the following message:

Sorry, we were unable to create the ‘XXX’ account. Our records indicate that you already own an account in the service and currently Team Foundation Service only allows one account per user.

OK! I might already have created an account a long time ago! But I can’t remember and I definitively lost the URL. In cases like that you can send an email to TFServiceSupport@microsoft.com. I got the following great support from Microsoft:

Please log in to https://tfs.visualstudio.com/en-us/account/subscriptions using your Windows Live account. The TF Service collection you own will be listed there.

That solved my problem!

Advertisements

SharePoint 2010 Feature Comparison

Insights  Composites  Search

A detailed SharePoint 2010 feature comparison can be found here:

http://www.fpweb.net/sharepoint-hosting/2010/compare-sharepoint-foundation-server/

The main differences between standard and enterprise edition are:

  • standard edition contains no insight features
  • the following composite features are not available in standard edition: External Data Web Parts, Office Client Integration, Access Services and InfoPath Forms Services (incl. customized view and edit forms)
  • a lot of advanced search features are missing in standard edition

Schaltfläche “Neues Element hinzufügen” entfernen

In SharePoint hat man per Default in Listenansichten die Möglichkeit “Neues Element hinzufügen”. Diese Schaltfläche kann man folgendermaßen entfernen:

Auf “Webpart bearbeiten” klicken. Dann unter Symbolleistentyp “Keine Symbolleiste” auswählen und anschließend mit “OK” bestätigen.

Symbolleisten

Persönliche Ansichten deaktivieren

Per Default sind in SharePoint 2010 persönliche Ansichten aktiviert. Um diese zu deaktivieren kann man folgendermaßen vorgehen:

Auf der Websitesammlungsebene  unter “Websiteaktionen->Websiteberechtigungen” auf Berechtigungsstufen klicken:

Berechtigungsstufen

Dann die entsprechende Berechtigungsstufe auswählen, z.B. “Mitwirken”. Dann im Bereich unten rechts den Punkt “Persönliche Ansichten verwalten …” deaktivieren und anschließend auf “Absenden” klicken.

PersönlicheAnsichten

Test Kiebel KCS 184710 – Silent PC – AMD A10 5800K

Ich habe auf dem Kiebel KCS 184710 – Silent PC – AMD A10 5800K Windows 8 Pro mit Media Center installiert. Das System bootet sehr schnell und läuft flüssig.  Bin soweit zufrieden. Alle Komponenten wurden direkt erkannt. Es war keine zusätzliche Treiber Installation erforderlich. Alle Anschlüsse funktionieren. Richtig silent ist der PC leider nicht. Aber doch deutlich leiser als mein altes System. Probleme gibt es aktuell nur, da der PC sich manchmal weigert aus dem Ruhemodus aufzuwachen. Habe dann die mitgelieferten Treiber für Windows 8 installiert. Das hat aber bislang leider auch noch keine Besserung gebracht. Langsamste Komponente in diesem System ist die Festplatte. Insgesamt ergibt sich eine Bewertung von 5,9. Siehe auch Screenshot “Leistungsinformationen”. Abzüge gibt es für den Service der Fa. Kiebel. Bei Amazon wurde ursprünglich ein anderes Gehäuse angeboten. Nach knapp einer Woche ist Kiebel aufgefallen, dass dieses Gehäuse nicht mehr verfügbar ist. Dafür wurden mir dann 2 Alternativen angeboten. Das hat dazu geführt, dass das Produkt erst nach insgesamt 10 Tagen geliefert wurde.

Leistungsinformationen

Custom SharePoint Workflow Action “CalculateSum”

SharePoint offers the possibilty to create different list views, calculate and display totals grouped by one or more columns. Unfortunatly building totals (column sums) and use them in other lists or in the chart webpart seems to be a very difficult task with SharePoint 2010. With this article I’ll present a custom workflow action for building column sums. The workflow action enables Sharepoint to calculate totals, store them in a different list and e.g. bind that list to the chart webpart. If you are experienced in using workflow actions you’ll notice that “CalculateSum” is almost self explanatory.

Feel free to use and adopt my source code. If you need guidence in developing custom sandboxed workflow actions visit the following webpages: http://msdn.microsoft.com/en-us/library/gg615449.aspx and http://msdn.microsoft.com/en-us/office365trainingcourse_3v_3.aspx. If you’ve read these articles it will be very easy for you to apply the following source code:

Elements.xml:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <WorkflowActions>
    <Action Name="CalculateSum"
            SandboxedFunction="true"
            Assembly="$SharePoint.Project.AssemblyFullName$"
            ClassName="CalculateWorkflowActions.CalculateActions"
            FunctionName="CalculateSum"
            AppliesTo="all"
            UsesCurrentItem="true"
            Category="Calculate WorkFlow Actions">
      <RuleDesigner Sentence="calculate sum of column %1; filter by column %2 with value %3 and filter by column %4 with value %5; result in %6 (execptions logged to %7)">
        <FieldBind Field="totalColumn" Text="column to sum" Id="1" DesignerType="FieldNames"/>
        <FieldBind Field="filterColumn" Text="filter by this column" Id="2" DesignerType="FieldNames"/>
        <FieldBind Field="filterValue" Text="filter value" Id="3" DesignerType="TextBox"/>
        <FieldBind Field="filterColumn2" Text="filter by this column" Id="4" DesignerType="FieldNames"/>
        <FieldBind Field="filterValue2" Text="filter value" Id="5" DesignerType="TextBox"/>
        <FieldBind Field="result" Text="result" Id="6" DesignerType="ParameterNames"/>
        <FieldBind Field="exception" Text="exception" Id="7" DesignerType="ParameterNames"/>
      </RuleDesigner>
      <Parameters>
        <Parameter Name="__Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext, Microsoft.SharePoint.WorkflowActions"
                   Direction="In"
                   DesignerType="Hide"/>
        <Parameter Name="totalColumn"
                   Type="System.String, mscorlib"
                   Direction="In"
                   DesignerType="FieldNames"
                   InitialValue=""
                   Description="column to build total"/>
        <Parameter Name="filterColumn"
                   Type="System.String, mscorlib"
                   Direction="Optional"
                   DesignerType="FieldNames"
                   InitialValue=""
                   Description="filter by this column element"/>
        <Parameter Name="filterValue"
                   Type="System.String, mscorlib"
                   Direction="Optional"
                   DesignerType="TextBox"
                   InitialValue=""
                   Description="filter value"/>
        <Parameter Name="filterColumn2"
                   Type="System.String, mscorlib"
                   Direction="Optional"
                   DesignerType="FieldNames"
                   InitialValue=""
                   Description="filter by this column"/>
        <Parameter Name="filterValue2"
                   Type="System.String, mscorlib"
                   Direction="Optional"
                   DesignerType="TextBox"
                   InitialValue=""
                   Description="filter value"/>
        <Parameter Name="result"
                   Type="System.String, mscorlib"
                   Direction="Out"
                   InitialValue=""
                   DesignerType="ParameterNames"
                   Description="result"/>
        <Parameter Name="exception"
                   Type="System.String, mscorlib"
                   Direction="Out"
                   InitialValue=""
                   DesignerType="ParameterNames"
                   Description="Exception encountered"/>
      </Parameters>
    </Action>
  </WorkflowActions>
</Elements>

CalculateActions.cs:

using System;
using System.Collections;
using Microsoft.SharePoint;
using Microsoft.SharePoint.UserCode;

namespace CalculateWorkflowActions
{
  public class CalculateActions
  {
    public Hashtable CalculateSum(SPUserCodeWorkflowContext context, string totalColumn, string filterColumn, string filterValue, string filterColumn2, string filterValue2)
    {
      Hashtable results = new Hashtable();

      decimal sum = 0;
      bool addValue = true;

      try
      {
        using (SPSite site = new SPSite(context.CurrentWebUrl))
        {
          using (SPWeb web = site.OpenWeb())
          {
            SPListItemCollection items = web.Lists[context.ListId].GetItems();

            foreach (SPListItem item in items)
            {
              addValue = true;

              if (IsNumeric(item.GetFormattedValue(totalColumn)))
              {
                if ((string.IsNullOrEmpty(filterColumn)) ||
                   ((!string.IsNullOrEmpty(filterColumn) && (item[filterColumn].ToString() == filterValue))))
                {
                }
                else
                {
                  addValue = false;
                }

                if ((string.IsNullOrEmpty(filterColumn2)) ||
                   ((!string.IsNullOrEmpty(filterColumn2) && (item[filterColumn2].ToString() == filterValue2))))
                {
                }
                else
                {
                  addValue = false;
                }

                if (addValue)
                {
                  sum += Convert.ToDecimal(item.GetFormattedValue(totalColumn));
                }
              }
            }
          }
        }

        results["result"] = sum;
        results["exception"] = "Success";
      }
      catch (Exception e)
      {
        results["result"] = 0;
        results["exception"] = e.ToString();
      }

      return results;
    }

    private static bool IsNumeric(object Expression)
    {
      bool isNum;
      double retNum;

      isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum);

      return isNum;
    }
  }
}

If you have succeeded in building and uploading the .wsp-file you can create and configure the custom workflow with SharePoint designer.

Add “CalculateSum” workflow action to your workflow:

CalculateSum1

Then enter parameters in workflow action (all filter parameters are optionally):

CalculateSum2

That’s it! In case you need the complete visual studio 2010 source code and/or the compiled solution (.wsp-file) please let me know.

 

Downloads:

WSP: https://skydrive.live.com/redir?resid=A72444E9DFA299A1!804

SourceCode: https://skydrive.live.com/redir?resid=A72444E9DFA299A1!805

 

Addendum:

In case you are unable to activate the solution check if Microsoft SharePoint Foundation Sandboxed Code Service is running!

SharePoint 2010: Ausblenden von “Gefällt mir” und “Kategorien und Notizen”

Standardmäßig sind die beiden Schaltflächen “Gefällt mir” und “Kategorien und Notizen” in einem SharePoint 2010 Portal aktiviert.

GefälltMir

Man kann diese folgendermaßen komplett ausblenden: In der SharePoint Zentraladministration den Menüpunkt “Systemeinstellungen->Farmfeatures verwalten” aufrufen. Dann das Feature “Steuerelemente des Menübands für thematische Kategorien und die Pinnwand” deaktivieren:

Deaktivieren

SharePoint bzw. Infopath Problem mit Tabbed Views

In SharePoint 2010 kann man die Eingabeformulare für benutzerdefinierte Listen mit Hilfe von Infopath gemäß den jeweiligen Wünschen und Bedürfnissen anpassen. In einem Kundenprojekt wurde gewünscht, die Eingabefelder auf zwei verschiedene „Karteikarten“ zu verteilen. Dies kann man im Infopath-Formular durch das Anlegen von 2 verschiedenen Ansichten lösen. Über Schaltflächen und entsprechend hinterlegte Regeln kann man dann zwischen den Ansichten wechseln (siehe z.B. “Adding a button to switch between views”  oder “InfoPath 2010 switch views with tabs“). Dies funktioniert einwandfrei, wenn das Formular im “Edit”-Modus geöffnet wird. Manche Benutzer haben jedoch nur Leseberechtigungen und sehen das Formular daher nur im “Read-Only”-Modus. Dann wird man feststellen, dass auch die Schaltflächen nicht mehr sichtbar sind und man lediglich die Standardansicht sehen kann. Dies ist übrigens auch dann ein Problem, wenn man in der zugehörigen Liste die Versionierung aktiviert hat und eine alte Version des Listeneintrags öffnet.

Glücklicherweise lässt sich das folgendermaßen lösen: Man verwendet einfach anstelle der Standard-Schaltflächen sogenannte Bildschaltflächen. Unter den Eigenschaften einer Bildschaltfläche gibt es die Option „Bildschaltfläche in schreibgeschützten Ansichten ausblenden“. Diese ist standardmäßig aktiviert und muss deaktiviert werden. Dann bleiben die Schaftflächen in den oben genannten Fällen sichtbar und man kann auch im “Read-Only”-Modus zwischen den jeweiligen Ansichten wechseln.

Bildschaltfläche

Auf diese Lösung bin ich in folgendem Thread gestoßen: “Infopath: tabbed views with buttons – buttons don’t show in display mode

Open XML Package Editor Power Tool for Visual Studio 2010

It’s often very useful to examine the XML structure of an Office document in Visual Studio directly. For this purpose you can use the Open XML package editor power tool for Visual Studio 2010 (I don’t know if it’s also compatible with VS 2012! Please let me know in case you have better information!) In contrast to the OpenXML SDK productivity tool this tool provides in particular the possibility to modify XML nodes and to save it.

PackageEditor_Bild1

Häufig ist es auch sehr nützlich, wenn man sich die XML-Strukur eines Office-Dokuments direkt in Visual Studio anschauen kann. Für diese Zwecke gibt es das Open XML Package Editor Power Tool for Visual Studio 2010. (Wie es mit VS 2012 aussieht, kann ich momentan nicht sagen! Ich bitte um Feedback!) Das Tool bietet gegenüber dem OpenXML SDK Productivity Tool insbesondere die Möglichkeit direkt Änderungen an der XML-Struktur vorzunehmen und diese auch zu speichern.