Praktischer Link: Silent installation/uninstallation of OfficeScan clients via AutoPCC

- Veröffentlicht unter Software - Windows von

Silent installation/uninstallation of OfficeScan clients via AutoPCC

Es scheint allerdings keine gute Idee zu sein, beide Vorschläge gleichzeitig umsetzen zu wollen. Als ich den Wert für Uninstall von 0 auf 1 umgestellt hatte, konnte ich OfficeScan 10.6 nicht mehr installieren und in der Datei %TEMP%\OFCNTINST.log stand:

[InstallResult]
StartTime=2013/08/15 13:36:59
Status=0
Error=-13
FinishTime=2013/08/15 13:37:00

Ich tippe mal darauf, dass durch den Wert 1 nur eine Deinstallation angestoßen wurde und -13, analog zum Artikel What ActiveUpdate error codes appear in OfficeScan?, bedeuten könnte: insufficient product information.

Wie Trend Micro das offenbar wirklich meint (neuer Ordner/neue Freigabe mit angepasster Kopie von AutoPcc), steht in Automatically installing/uninstalling OfficeScan or Worry-Free Business Security (WFBS) using a login script.

Aufgabe Nr. 14: <pre> "steht über"

- Veröffentlicht unter Software - Web von

Bei überlangen Zeilen innerhalb des <pre>-Tags ragen diese derzeit über den rechten Rand der Blog-Einträge hinaus:

Could not execute query

Nicht gerade schön, oder? Die Lösung ist einfach: Man muss lediglich innerhalb der Datei /style.css für den Selektor div.post-content pre eine neue Deklaration overflow: auto; einfügen. Mit dem Wert auto zeigen Desktop-Browser, wie z. B. Firefox oder Internet Explorer, Scrollbalken für den <pre>-Abschnitt an, falls diese wegen überlanger Zeilen notwendig sein sollten.

Aufgabe Nr. 13: Stylesheet-Angaben auslagern

- Veröffentlicht unter Software - Web von

Update 2017-02-12: URL der Google CSS Style Rules aktualisiert.


Bevor ich weitere kleine Anpassungen am Aussehen des Blogs vornehme, möchte die vorhandenen Angaben in eine separate Datei auslagern. Ich schneide daher aus der Datei /index.php alle Zeilen von <style type="text/css"> bis </style> aus und speichere sie in die Datei /style.css.

Bei dieser Gelegenheit lasse ich der neuen Datei auch die meisten von Googles CSS Style Rules angedeihen und komme zu folgendem Ergebnis:

*,
html {
  margin: 0;
  padding: 0;
}

body {
  background-color: #ddd;
  color: #333;
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', verdana, sans-serif;
  font-size: .9em;
  margin: 0 auto;
  padding: 0;
}

a {
  color: #069;
}

h2 {
  color: #666;
  font-size: 1.4em;
  font-weight: normal;
}

p {
  line-height: 1.6em;
  margin-bottom: 10px;
}

div.wrapper {
  margin: 50px auto 10px;
  padding: 5px;
  width: 80%;
}

div.post {
  background-color: #fff;
  border: 1px solid #ccc;
  margin: 10px 0;
  padding: 7px;
}

span.date {
  color: #666;
  font-size: .7em;
  text-transform: uppercase;
}

div.navigation p a {
  font-size: 1.2em;
}

div.navigation p.previous-link {
  float: left;
  text-align: left;
  width: 48%;
}

div.navigation p.next-link {
  float: right;
  text-align: right;
  width: 48%;
}

div.post-content {
  padding-top: 4px;
}

div.post-content ol,
div.post-content ul {
  line-height: 1.6em;
  margin: 1em 0 .6em;
  padding: 0 0 0 2em;
}

div.post-content li {
  margin-bottom: .4em;
}

div.post-content pre {
  margin: 1em 0;
  overflow: auto;
}

div.clear { 
  clear: both;
}

div.footer p {
  color: #999;
  font-size: .9em;
  padding-top: 10px;
  text-align: center;
}

div.footer p a {
  color: #999;
}

Zum Schluss füge ich der Datei /index.php eine Zeile <link rel="stylesheet" type="text/css" href="style.css" /> direkt über </head> hinzu, um die Stylesheet-Angaben dem Browser bekannt zu machen.

Aufgabe Nr. 12: Noch ein wenig mehr Deutsch bitte

- Veröffentlicht unter Software - Web von

An drei Stellen benutzt das miniblog-Front-End die englische Sprache.
Ich ändere daher in der Datei index.php von &laquo; return to posts nach &laquo; zurück zur Übersicht und in der Datei includes/miniblog.php von &laquo; Older posts nach &laquo; Ältere Beiträge sowie Recent posts &raquo; nach Neuere Beiträge &raquo;.

Aufgabe Nr. 11: Blog-Name soll Link zum Blog sein

- Veröffentlicht unter Software - Web von

Update 2013-12-26: blog.bttr-software.de in www.robertriebisch.de geändert.


Ich möchte erreichen, dass der Blog-Name "Notepad" ein klickbarer Link nach http://www.robertriebisch.de/ ist.
Mit der Konfigurationsoption "miniblog-baseurl", die ich in Aufgabe Nr. 10: Einen RSS-Feed anbieten eingeführt habe, ist das nun ein Kinderspiel.

In der Datei index.php ändern von <h1><?=$config['miniblog-title']?></h1> nach <h1><a href="<?=$config['miniblog-baseurl']?>"><?=$config['miniblog-title']?></a></h1> und fertig ist der Lack!

Aufgabe Nr. 10: Einen RSS-Feed anbieten

- Veröffentlicht unter Software - Web von

Update 2013-12-26: blog.bttr-software.de in www.robertriebisch.de geändert.


Bereits am 23. Juli hatte ich angefangen, mich mit diesem Thema zu beschäftigen. Noch einiger Recherche zu den Grundlagen und viel "Probiererei" in den letzten Tagen kann ich nun endlich ein Ergebnis präsentieren.

Dem KISS-Prinzip folgend, habe ich auf jeglichen Firlefanz verzichtet und den Quellcode sehr einfach aufgebaut.

Zunächst muss die Datenbanktabelle miniblog_config mittels phpMyAdmin um eine neue Zeile "miniblog-baseurl", "http://www.robertriebisch.de/", "Base URL to your blog, e.g., http://blog.yourdomain.tld/" ergänzt werden.
Da es sich um eine recht wichtige Einstellung handelt, möchte ich sie an dritter Stelle angezeigt bekommen. Ich korrigiere daher wieder die Reihenfolge mit dem SQL-Befehl ALTER TABLE miniblog_config ORDER BY FIELD(config_name, 'miniblog-title', 'miniblog-description', 'miniblog-baseurl', 'posts-per-page', 'date-format', 'password', 'miniblog-filename', 'use-modrewrite').

Im Wurzelverzeichnis erstelle ich eine neue Datei feed.php mit folgendem Inhalt:

<?php
define('IN_BLOG', TRUE);
define('PATH', '');
include('includes/config.php');
include('includes/functions.php');

$link = mb_connect($sqlconfig);
unset($sqlconfig);

if (!$link) {
die("Could not connect to MySQL database, check the settings in config.php");
}

$config = mb_config();

$baseurl = rtrim($config['miniblog-baseurl'], '/') . '/';

$output = "<?xml version="1.0" encoding="iso-8859-1"?>n";
$output .= "<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">n";
$output .= " <channel>n";
$output .= ' <description>' . $config['miniblog-description'] . "</description>n";
$output .= ' <link>' . $baseurl . "</link>n";
$output .= ' <title>' . $config['miniblog-title'] . "</title>n";

if ((int)$config['use-modrewrite'] === 0) {
$baseurl .= $config['miniblog-filename'] . '?post=';
}

$result = mysql_query('SELECT * FROM `miniblog` WHERE `published` = 1 ORDER BY `date` DESC LIMIT 20') or die ("Could not execute query");

while ($row = mysql_fetch_array($result)) {
extract($row);

$output .= " <item>n";
$output .= ' <title>' . htmlspecialchars(stripslashes($post_title)) . "</title>n";
$output .= ' <link>' . $baseurl . $post_slug . "</link>n";
$output .= ' <pubDate>' . gmdate("r", $date) . "</pubDate>n";
$output .= ' <content:encoded><![CDATA[' . stripslashes($post_content) . "]]></content:encoded>n";
$output .= " </item>n";
}

$output .= " </channel>n";
$output .= "</rss>n";

header("Content-Type: text/xml; charset=iso-8859-1");
echo $output;
?>

Damit kann der Feed über http://www.robertriebisch.de/feed.php bereits angezeigt werden. Was jetzt noch fehlt, ist, dass der Webbrowser beim Aufrufen der Seite http://www.robertriebisch.de/ dem Besucher über das Feed-Symbol optisch signalisiert, dass ein Feed angeboten wird.

Dazu füge ich in der Datei index.php unter der Zeile <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> eine neue Zeile <link rel="alternate" type="application/rss+xml" title="<?=$config['miniblog-title']?>" href="feed.php" /> ein.

Das war's bereits!

Ich möchte allerdings darauf hinweisen, dass ihr den hier vorgestellten Quellcode auf eigene Gefahr benutzt. Verbesserungsvorschläge sind mir jederzeit herzlich willkommen.

Abschließend möchte ich noch ein paar Links zu Webseiten auflisten, die mir bei dieser Aufgabenstellung von großem Nutzen waren:

  1. RSS
  2. Create an RSS feed with PHP
  3. PHP and RSS: Getting it together
  4. Tutorial: RSS Feed erstellen
  5. Why RSS Content Module is Popular - Including HTML Contents - RSS
  6. RSS Best Practices Profile
  7. Feed Validator for Atom and RSS

Aufgabe Nr. 9: Erscheinungsbild von Listen ändern

- Veröffentlicht unter Software - Web von

Durch meinen zuletzt veröffentlichten Artikel ist mir klar geworden, dass ich nicht darum herumkomme, mich mit Cascading Style Sheets (CSS) auseinanderzusetzen.
Wenn das Bullet-Zeichen links aus dem Artikel herausragt, sieht das einfach nicht schön aus.

Als Lösung habe ich in der Datei index.php über der Zeile div.clear { folgenden kurzen Abschnitt notiert:

div.post-content ol, ul {
  line-height: 1.6em;
  margin: 1em 0 0.6em;
  padding: 0 0 0 2em;
}

div.post-content li {
  margin-bottom: 0.4em;
}

Kurze Erläuterung (natürlich in Form einer Liste):

  1. Für nummerierte Listen (<ul>...</ul>) und Aufzählungslisten (<ol>...</ol>) lege ich wie für <p>...</p> die Zeilenhöhe auf das 1,6-fache der Schriftgröße des Elements fest.
  2. Weiterhin bekommen diese Listen von mir einen Außenrand/Abstand (margin:...) verpasst, der oben der Schriftgröße des Elements entspricht. Rechts und links soll es keinen Abstand geben. Unten soll der Abstand das 0,6-fache betragen.
  3. Die Innenabstände (padding:...) definiere ich so, dass nur links ein Abstand des 2-fachen der Schriftgröße des Elements entsteht.
  4. Zuletzt sollen Listeneinträge (<li>...</li>) unten den 0,4-fachen Abstand besitzen, damit mehrzeilige Einträge deutlicher zusammenstehen.

Beim Verfassen dieses Artikels habe ich dann bemerkt, dass auch bei <pre>...</pre> zumindest der Abstand unten nicht stimmt. Daher notierte ich direkt darunter noch:

div.post-content pre {
  margin: 1em 0;
}

Beide Änderungen sind allerdings mit Vorsicht zu genießen, da ich kein CSS-Profi bin und deswegen unerwünschte Nebenwirkungen nicht ausschließen kann.

Seite 3 von 5