You had one job ...
To add UI controls to the host application in an Office COM add-in,
you implement a callback function that returns an XML document
describing your modifications. You can add tabs, groups, controls,
remove existing ones, etc.
Writing this ribbon XML can be a bit difficult because the existing
documentation is useless. It is spread over multiple (many!) MSDN and
Docs pages, as well as MSDN blogs, few of which are consistent with
each other. Additionally, most of them describe the Office 2007
situation, but it has changed since.
Luckily, there is one reliable reference for what is allowed, and
where: The Office Fluent User Interface XML
Schema.
You can validate your XML against this schema, and if that works,
there is a good chance that the Office applications will accept your
extensions.
Except that Microsoft somehow managed to make the schema itself
invalid. No idea how they produced such an astounding result; it must
have cost extra effort to get it just slightly wrong.
The problem is “attribute multiple inheritance”, where an element’s
type gets attribute declarations through multiple extension paths,
such as one direct declaration and one in an <attributeGroup> it
uses. It is a bit unfortunate that this is not allowed – IMO it should
be possible to have multiple identical declarations of the same
attribute (or child element, etc.).
It is possible, of course, that whatever Microsoft used to validate
the schema does not implement the restriction on multiple inheritance
of attributes. Anyway, removing one instance of the problematic
attribute declarations makes the schema valid without – I think –
causing validation errors in too many existing ribbon extensions.
Comparisons
The Guardian explains the mass of massive amounts of money.

Would it also weigh as much as 2.6 bags of 1kg flour? Or gold nuggets?
Wartung
So zogen wir also heute von Manderscheid aus auf Wartung aus. Unser
Weg führte uns zuerst zu GC75HPD An der Rulandhütte, der gerade
in letzter Zeit verhältnismäßig oft nicht gefunden wird. Wir haben die
Koordinaten neu eingemessen und keine wesentliche Abweichung gefunden,
stattdessen aber ein Spoilerbild hinzugefügt. D1,5 ist für das
gewählte Versteck auf jeden Fall angemessen.
Danach war GC76PY8 Urpferdchenbrücke 2.0 an der Reihe. Die
letzten Logs ließen vermuten, daß hier wohl ein (gemäßigter)
Besserverstecker am Werk gewesen sein muß, und der Petling war auch
wirklich nicht (genau) da, wo er hätte sein sollen. In diesem Fall ist
zwar das Besserversteck eigentlich wirklich besser, denn es reduziert
die Wahrscheinlichkeit eines Zufallsfunds durch unberufene Wanderer,
aber wir haben die Dose dennoch wieder an ihren angestammten Platz
zurückgebracht.
Dieser Cache hat eine gewisse Geschichte. Hier lag viele Jahre lang
ein Cache, den wir schon 2011 gefunden hatten. Der wurde dann von
seinen Ownern 2014 archiviert, weil er mehrfach beschädigt bzw.
verschwunden war. 2017 haben wir dann beschlossen, daß der cachelose
Zustand an der Stelle einfach nicht so bleiben kann und haben einen
neuen gelegt. Bei der Gelegenheit haben wir dann auch die Dose des
früheren Caches an Ort und Stelle gefunden. Sehr merkwürdig.
Auf dem Rückweg nach Manderscheid erreichte uns dann die Nachricht,
daß GC2A67Z Wind und Stille, immerhin unser erster
selbstgelegter Cache, nicht zu finden sei. Wir schauten also nach dem
Rechten, und tatsächlich, die Dose war weg. Die Plastiktüte, in die
sie eingewickelt war, lag dagegen noch im Wald herum, woraus wir
schließen, daß entweder ein zweibeiniger Vandale oder ein vierbeiniger
Waldbewohner für das Verschwinden verantwortlich sein muß, und nicht
etwa ein Förster, denn der hätte kaum die Tüte liegengelassen.
Wieder zu Hause stellten wir schnell eine Ersatzdose her, denn
glücklicherweise waren alle nötigen Zutaten noch vorrätig. Gerade mal
vier Stunden nach der ersten Verlustmeldung war der Cache
wiederhergestellt. Falls noch jemandem das Logbuch in die Hände fallen
sollte, würden wir uns sehr freuen, es zurückzubekommen.
Fast Internet
You know, like Fast Ethernet, only not.
It is not clear what, if anything ...
Mehrwert(ig)
Problem:
Eine FRITZ!Box soll dynamische DNS-Updates sowohl für die IPv4- als
auch die IPv6-Adresse durchführen, bei einem Anbieter, der nicht
vorkonfiguriert ist.
Lösung:
Das Feld »Update-URL« in der Weboberfläche der FRITZ!Box kann mehrere
URLs aufnehmen, die alle für Updates verwendet werden.

Quelle: https://www.platzeck.net/2016/04/16/fritzbox-ddns-aktualisierung-ipv4-und-ipv6-all-inkl-com/
Kraut und Rüben II
Nachtrag: Das Inhaltsverzeichnis ist
zwar jetzt insofern richtig, als alle Seitenzahlen stimmen, aber es
enthält eine Menge Einträge, die im Text lediglich Verweise auf andere
Kapitel sind, und einige wesentliche Abschnitte stehen nicht im
Verzeichnis drin.
Es ist, als wäre selbst das Inhaltsverzeichnis von irgendwoher
kopiert. Alle Überschriften kommen – in derselben Reihenfolge – im
Text vor, aber in der Originalquelle war entweder weniger Text, oder
eine kleinere Schrift oder so was.
In Kapitel 2 liegen die richtigen Seitenzahlen nur um 1 oder 2 über denen im
unkorrigierten Inhaltsverzeichnis, 750 Seiten weiter am Ende des Buches
steigt der Abstand auf ca. 150 Seiten.
Kraut und Rüben
Das
Handbuch
für die aktuelle Firmwareversion 2.4 von Ciscos SG550X-Switches ist
ein völliges Chaos. Ich empfehle, es einfach mal daumenkinomäßig
schnell durchzublättern und dabei aus dem Augenwinkel auf die
Kapitelnummern zu schauen.
Wem das noch nicht reicht, der sollte sich auch noch daran versuchen,
anhand des Inhaltsverzeichnisses eine bestimmte Stelle zu finden. Als
nächstes empfiehlt es sich dann, sich mal die Seitenzahlen an
Kapitelgrenzen anzusehen.
Auf der Titelseite des Buches ist eine etwas unmotiviert erscheinende
»Version 0.4« angegeben; es mag sein, daß auch Cisco das Buch noch
nicht für fertig hält. Brauchbar ist es jedenfalls ohne größere
Aufräumarbeiten nicht.
Ich war gezwungen, einige spannende Stunden mit Acrobat zu verbringen
(der dabei nur einmal abgestürzt ist und dabei nur etwa fünf Minuten
Arbeit mitgerissen hat!). Jetzt habe ich eine Fassung, die zwar etwas
unschön ist, weil die Kapitel teilweise auf geraden (also linken)
Seiten anfangen, dafür hat es jetzt aber:
- fortlaufende Kapitelnummern
- fortlaufende Seitenzahlen
- alle ungeraden Seiten rechts
- alle geraden Seiten links
- ein korrektes Inhaltsverzeichnis
Jetzt muß bloß noch der Inhalt halbwegs tauglich sein.
Wie kommt eine solche Situation eigentlich zustande? Ich kenne
FrameMaker nicht aus eigener Anschauung, aber es ist doch damit
bestimmt einfacher, es richtig zu machen, als so, oder?
(Die Fassung des Buches für die vorherige Firmwareversion 2.3 ist
übrigens auf den ersten und zweiten Blick fehlerfrei.)
Basteln!
Tip für unterhaltsame Nachmittage: Öfter mal die Fritzbox wechseln.
7390 → 7430 → 7590 innerhalb von drei Tagen macht Laune!
Allerdings ist das wirklich verhältnismäßig erträglich, weil die
Dinger gut darin sind, aus anderen Modellen exportierte
Konfigurationen zu benutzen. Die wesentlichste Komplikation ist das
Herumturnen, um an allen »Smarthome«-Geräten einmal auf den Knopf zu
drücken.
Besser spät als nie
Aus der Liste der Änderungen in FRITZ!OS 7.0:
- **Verbesserung:** Wirksamkeit des Filters für Port 25 (ungesicherter
E-Mailversand) erweitert auf den Gastzugang (WLAN/LAN)
Ach, das war bisher nicht so?
»Es ist niemals zu spät, vernünftig und weise zu werden; es ist aber jederzeit schwer, wenn die Einsicht spät kommt, sie in Gang zu bringen.«
– Immanuel Kant