Neues Jahr, neues Theme

Jep, mein bisheriges Theme hat nicht manchen Post überstanden. Mir gefallen grafisch sehr schlichte Themes. Aber das Miniml-Theme von Nuvio Templates war mir einfach etwas zu steril. Ich habe mir schon seit ein paar Wochen Gedanken zu Anpassungen gemacht. Ich wusste, dass ich einfach nur mehr Bilder zu den Posts einfügen wollte. Auch stimmte ich nach einer gewissen Zeit mit der Kritik überein, dass man neue Posts, welche aber nicht als Featured markiert worden sind, eher schlecht auf der Startseite finden konnte. 

Ich wollte zuerst auf Basis von Miniml einfach Anpassungen machen. Auf meiner Ideensuche stiess ich aber auf dieses Theme hier: Equilibrium von MadeByOn. Ich schaute mir die Demo an und musste dann feststellen, dass dieses Theme so ziemlich das war, was ich suchte. Also lud ich es herunter. Nach einem ersten Live-Tests musste ich aber ebenfalls feststellen, dass es noch gewisse Dinge gab, welche ich nicht so ideal empfand.

Einerseits verwendete ich in Posts H3-Tags für Zwischentitel. Das Theme aber verwendete H3 bereits für andere Elemente. Also musste ich H5 CSS-mässig erstellen, welcher fortan für meine Zwischentitel verwendet wird. Was ich aber als gravierenderes Problem emfpand, war die Tatsache dass auf Archive-Pages nur die ersten 5 Posts angezeigt werden. Die “older Entries” Links waren nicht existent. Die drei Featured-Posts sind einer Kategorie zugeordnet. Es war mir aber nicht ganz verständlich, warum ich diese Kategorie auch in der Sidebar anzeigen soll. Also entfernte ich diese dort. Aber sonst war das Theme ok.

Ich nehme mir nun mal vor, dass ich das Theme für mindestens ein Jahr nicht mehr ändere. toi toi toi

MOSS Kalender nach Start- oder End-Datum filtern

Gestern kontaktierte mich ein Kunde, weil er es nicht schaffte, in einem SharePoint 2007 Kalender ein View einzurichten, welcher basierend auf dem Startdatum oder dem Enddatum gefiltert Einträge anzeigt. Die Site arbeitete bis vor ein paar Tagen noch mit dem SharePoint Portal Server 2003, wo er dies bisher ohne Probleme definieren konnte.

Ich habe dann das mal auf einem meiner SharePoint’s ohne Migrationshintergrund angeschaut. Völlig irritiert musste ich feststellen, dass sich so ein Filter wirklich nicht setzten lies. Damit starb meine anfängliche Vermutung, dass die SPS03-to-MOSS07 Migration das Problem war. Diverse Beiträge im Internet haben mir das nun auch bestätigt: In SharePoint 2007 Kalender kann man in einem View keinen Filter auf Start- oder/und End-Datum setzten. Eigentlich bin ich überrascht, dass ich über dieses Problem nicht schon eher angetroffen habe, ist dies ja nun wirklich nicht mein erstes SharePoint 2007 Projekt.

Variante 1: Calculated Fields

Nun gut, dem Kunde nützt kein Feedback, dass es nicht geht. Er will eine Lösung dafür – zumal es ja in der Vorgängerversion funktioniert hat. Im Internet findet man hierzu häufig die Lösung, dass man nun zwei weitere Felder hinzufügt. Beides sind calculated Fields, welche jeweils einfach die Werte der Originalfelder übernehmen (=[EndDate]). Diese berechneten Felder lassen sich dann bei der Filterdefinition verwenden.

Bei dieser Lösung berichten Andere aber davon, dass es Probleme mit der genauen Filterung von ganztägigen Ereignissen gibt. 

Variante 2: SharePoint Designer

Ich habe aber nun einen anderen Weg verfolgt: Da die gefragten Views in meinem Fall vom Setup her eher statisch sind (Filter und Feldauswahl ändern sich nicht), hab ich den View im SharePoint Designer 2007 editiert. Hier mein Vorgehen dazu:

  1. Im besagten Kalender einen neuen View erstellen (oder sich den Namen des zu bearbeitenden Views merken). 
  2. In diesem View einen Filter auf ein verfügbares Feld vom Typ DateTime setzen (z.B. “Erstellt”). 
  3. Den Vergleichsoperator und den Vergleichswert setzt man schon analog dem Endergebnis. Da ich alle Ereignisse anzeigen will, welche in der Vergangenheit liegen, lautet meine Filterdefinition “Erstellt ist kleiner als [Heute]“.
  4. Nun öffnet man den SharePoint Designer 2007, öffnet die entsprechende Site, geht zum Kalender und findet dort seinen View (ie. “Done.aspx”). Diesen öffent man nun in der Code- oder Split-Ansicht.
  5. Beim KalenderwebPart findet man nun den View-HTML-Code (all das, was mit < und > grosszügig vermischt ist)
  6. Jetzt sucht man am einfachsten nach “Where”. Der erste Treffer solle zu etwa diesem Abschnitt führen:
  7. <Query><Where><Lt><FieldRef Name="Created"/><Value
    Type="DateTime"><Today/></Value></Lt></Where></Query>
  8. Wenn man nun einfach den FieldRef Name auf “EndDate” (oder “EventDate”) ändert und speichert, ist es das auch schon gewesen.

WICHTIG: Wenn man diesen View nun via SharePoint wieder ansehen geht, erscheint dort etwa folgendes:

Sprich, wenn ich den View irgendwie dort nun verändere, wird die Anpassung in der Filter-Field Selektion überschrieben und das Ergebnis ist wieder filterlos.

Bewertung der Varianten

Beide Varianten haben ihre Vor- und Nachteile. Bei der ersten Variante gibt es über die Contenttypes natürlich die Möglichkeit, dass man nicht jeden Kalender nachpflegen muss, sondern die neuen Felder einmal definiert und diese dann auf alle Kalender angewendet werden. Wenn Kalendereinträge bearbeitet werden, erscheinen diese berechneten Felder auch nicht. Aber es gibt einfach 2 Felder, welche nur zu Filterzwecken existieren und sonst keine Daseins-Berechtigung haben und die Probleme mit ganztägigen Ereignissen gilt es auch zu berücksichtigen.

Die SharePoint Designer-Variante ist dazu genau das Gegenteil: Es gibt keine weiteren Felder. Es kann aber auch nicht mit Contenttypes eine Vorlage editiert werden. Diese Anpassung muss für jeden Kalender gemacht werden. Auch ist hier die Gefahr gross, dass Benutzer diese Anpassung durch ein Bearbeiten des Views überschreiben.

Schlussendlich muss jeder situativ entscheiden, welche diese (mir bis heute bekannten) Varianten sich besser eignet.

AirTunes mit iTunes 8 Probleme

Heute hab ich mir bevor ich zur Arbeit ging noch schnell iTunes auf die Version 8 installiert. Als das durch war und auch Genius prima funktionierte, freute ich mich über den problemlosen Update, was ich eigentlich so auch von Apple (und eigentlich auch von allen Anderen) erwartete.

Während dem Tag hab ich dann aber bei Engadget gelesen, dass iTunes 8 Probleme mit der AirPort Express mache. Der verlinkte Apple Forums Thread lies mich Böses ahnen. Meine Feierabend-Arbeiten waren damit definiert. Continue reading