Bug of the day: Sorting in Windows Server Backup

For me, Windows Server Backup (2012) is actually a huge bug itself. Just have a look at my backup history:

windows-server-backup.png

Best of all: Every failure gives a nice cryptic error message (without any details), like:

  • “There was a failure in creating a directory on the backup storage location.”
  • “None of the items included in backup were backed up.”
  • “The specified component was not reported by the VSS writer.”

So far, I haven’t been able to get a reliable backup via Windows Server Backup.

So, until I get this fixed, let’s start with something light:

sorting.png

Take a good look on how the dates are sorted. Nice, isn’t it?

Konsistenz

Konsistenz im weiteren Sinn bezieht sich auf den logischen, hermeneutischen, funktionalen oder ├â┬Ąsthetischen Bestand eines Gegenstandes (z. B. eines Textes, eines Begriffs, einer Methode oder Technik, eines Werkzeugs oder eines Kunstwerks), der in sich stimmig ist, Sinn ergibt und keine inneren Widerspr├â┬╝che oder Spannungen aufweist, die seine Einheit gef├â┬Ąhrden. (Quelle Wikipedia)

Im Bezug auf Software bedeutet das, dass die Software sich an einer Stelle in einer bestimmten Art und Weise und an anderer (├â┬Ąhnlicher) Stelle analog/├â┬Ąhnlich dazu verh├â┬Ąlt ├óÔéČÔÇť eben konsistent.

Wie wichtig Konsistenz ist, zeigt mal wieder folgendes Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head>
    <title>Meine Test-Seite</title>
    <script type="text/javascript" src="js/jquery-1.2.6.pack.js"/>
    <script type="text/javascript">
    <!--
      $(document).ready(function() {
        alert("Hallo Welt");
      });
    // -->
    </script>
  </head>
  <body>
  </body>
</html>

Diese simple HTML-Seite soll per JavaScript/jQuery “Hallo Welt” ausgeben. Dummerweise tut sie das aber nicht trotz ihrer Validit├â┬Ąt.

Nach stundenlanger Suche bin ich dann auf den Fehler gesto├â┼Şen. Man darf den <script>-Tag (Zeile 4) nicht als Einzel-Tag schreiben, sondern muss ihn mit schlie├â┼Şendem Tag schreiben. Der Quellcode sieht dann also so aus und funktioniert damit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head>
    <title>Meine Test-Seite</title>
    <script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
    <script type="text/javascript">
    <!--
      $(document).ready(function() {
        alert("Hallo Welt");
      });
    // -->
    </script>
  </head>
  <body>
  </body>
</html>

Dieses Verhalten (das im Firefox 3.5 und im Internet Explorer 8, aber nicht im Opera 9 auftritt) ist inkonsistent, denn überall sonst gilt (nur halt bei <script> nicht):

<tag></tag> = <tag/>

Und es ist frustrierend nach so einem Fehler zu suchen, zumal er nirgendwo als Fehler angezeigt wird.