Sharepoint Farm - Solution deployment. Check if a solution is deployed on all servers

Today, 

 

i deployed a Sharepoint Farm Solution on an Sharepoint 2013 on premises. We had a farm with 6 Frontendservers and get the weird issue, that unregular the functionality of th solution fails.

We discoverd that the solution was not deployed on one of the 6 servers without any error during deployment via powershell. How to find out such issues?

 

Her we go:

$itemFormat = @{Expression={($_.DeployedServers -join "`n")};Label="DeployedServers";width=6}
Get-SPSolution | where {$_.Name.startswith("eon")} | select Name, ID, DeployedServers | Format-Table name,$itemFormat -Wrap -AutoSize

Logcheck in Debian Wheezy

Nach dem Setup von logcheck und der Anpassung der Mailadresse in der /etc/logcheck/logcheck.conf habe ich folgende Anpassungen auf meinem "Universalserver" machen müssen:

 
^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: auth-worker\([-_.[:alnum:]]+\): (pg|my)sql\([-_.[[:alnum:]]+\): Connected to [-_.[:alnum:]]+ \([-_.[:alnum:]]+\)$

Reguläre Ausdrücke zum Splitten von Strings mit Trennzeichen, das im Text doppelt vorkommt

Programmierer kommen auf seltsame Ideen. Zumindest wirken diese auf den erste Blick so. Eine Zeichenkettenausgabe enthält Strings in mehreren Sprachen mit einem Semikolon als Trennzeichen. Kommt im Textein Semikolon vor, wird dies verdoppelt. Zum Abgrenzen der Locale und des eigentlichen Textes kommt ein  @ zum Einsatz, welches ebenso verdoppelt wird, sollte es im Fließtext vorkommen.

Möchte man diese Konstellation nach den Sprachen auftrennen, kommt man mit der normalen String.Split()-Methode nicht weit. Auch einfache reguläre Ausdrücke scheitern, da immer auch ein Semikolon aus dem gedoppelten matcht. Abhilfe schafft eine Kombination aus non-zero negative lookahead und non-zero negative lookbehind:

Format einer Sprachvariante:

String input = "de-DE@Text;";

Format mit mehreren Sprachen

String input = "de-DE@Text;en-EN@text;";


Format mit mehreren Sprachen und ;; bzw @ im Fließtext

String input = "de-DE@Text;;mit Semikolon;en-EN@text;;with semicolon;";

Folgender reguläre Ausdruck splittet die einzelnen Sprachen:

String[] result = Regex.Split("de-DE@Text;;mit Semikolon;en-EN@text;;with semicolon;""(?<![;])(?!(;;))[;]{1}");

Als Ergebnis erhält man:
[0] de-DE@Text;;mit Semikolon
[1]
en-EN@text;;with semicolon
Genauso verfährt man mit det Trennung von Locale und Fließtext:
String[] result2 = Regex.Split("en-US@fdgsdfa@@fagardg""(?<![@])(?!(@@))[@]{1}");

 

InstallShield MergeModules und ActionText für benutzerdefinierte Aktionen

Möchte man in Merge-Modulen für InstallShield eine benutzerdefinierte Aktion (CustomAction) verwenden, wird standardmäßig kein Statustext während des Installers angezeigt. Dem kann man mit einem Eintrag in im "Direct Editor" abhelfen. Der anzuzeigende Text bei der Installation wird in die Tabelle ActionText eingetragen. Diese ist jedoch bei MergeModulen u.U. nicht vorhanden

Im Direct Editor neue Tabelle „ActionText“ anlegen mit folgenden Spalten

  • Action (Primary key, String, Length 72)
  • Description (String, Length 64)
  • Template (nullable, String, Length 128)

Dann den genauen Namen der benutzerdefinierten Aktion mit GUID aus der Tabelle CustomAction holen.

In die Tabelle folgenden Inhalt hinzufügen:

  • ActionText:  <UserDefinedActionWithGuid>
  • Description: <YourText>

 

PlaceSync für Firefox 3.5 und höher

Da der Entwickler von PlaceSync anscheinend keine Zeit mehr hat, das Paket zu pflegen, stelle ich hier ein paar Pakete bereit. Allerdings würde ich diese gern im Firefox-Addon-Bereich auf mozilla.org unterbringen.

placesync 0.2.1 (Firefox 3.5)
placesync 0.2.2 (Firefox 3.6)

Christoph, wenn du möchtest, kannst du mir die Entwicklung übertragen. Ich möchte ungern einen neuen Fork aufmachen!

Zusätzliche Informationen