KategorieAllgemein

Hinter der grossen chinesischen (Fire-)Wall

Kürzlich war ich für eine Woche in China. Das Land ist ja dafür bekannt, dass der Internetverkehr kontrolliert, resp. teilweise geblockt wird. 2008 war ich das letzte mal in China, dort war aber Social Media bei mir noch kein Thema.
 Meine Erkenntnis über meinen China-Trip diesen Monat hat mich aber selbst erstaunt. Es waren nämlich nicht Facebook und Twitter, welche ich in dieser Woche vermisst habe, sondern Google oder irgendeine andere westliche Suchmaschine. Erst dort wurde mir bewusst, dass ich jeden Tag -zig Mal auf Suchmaschinen zugreife und bei der täglichen Arbeit nur schwer darauf verzichten kann.
 Was mir auch noch aufgefallen war, ist dass wir aber prinzipiell viel näher zusammengerückt sind. Heute ist Facetime oder Skype aus der hintersten Provinz möglich. Und plötzlich wird die Welt zu einem kleinen Dorf.
 
 
 .over-ende-und-out

SDL WorldServer: XML-Transformation über XSLT

WorldServer hat bereits eine automatische Aktion “Apply XSLT”. Diese sollte – wie ihr Name es verspricht – eine XSLT-Transformation an den Quelldateien durchführen. Leider klappt es aber nicht auf Anhieb, denn der Schritt ist nur als ‚Sample‘ konzipiert, das je nach Bedürfnis angepasst werden muss; in der Regel möchte SDL solche Anpassungen über den Professional Service anbieten.

Es geht aber trotzdem. Das Hauptproblem liegt darin, dass Ausgangsordner für sowohl Input- wie auch Output in der Action “Apply XSLT” nicht identisch sein dürfen. Deshalb muss zunächst die unkonvertierte Datei in den Zielordner kopiert werden und dann aus dem Zielordner in den Ausgangsordner mit XSLT zu transformieren. Das scheitert aber daran, dass es im Code der Automatic Action “Apply XSLT” eine Klausel gibt, die das Auslesen aus dem Zielordner und das Schreiben in den Ausgangsordner verhindert. Hier der entsprechende Code:

/*
* Sanity check the params: don’t let the user read from target
* and write to source.
*/
if (readFrom.equals(TARGET_VALUE) && writeTo.equals(SOURCE_VALUE)) {
return new WSActionResult(WSActionResult.ERROR,
„Invalid configuration: action can’t read from target “ +
„and write to source.“);
}

Die Entwicklung von SDL hat mir (Danke für den super Service!)  die Automatic Action “Apply XSLT” für die SDL WorldServer Version 10.4.4.139  so angepasst, dass das Auslesen aus dem Zielordner und das Schreiben in den Ausgangsordner erlaubt ist. Laut Aussage vom Support soll dies in zukünftigen Versionen von WorldServer dann bereits so “gefixt” sein. Für die aktuelle Installation habe ich dafür vom Support eine neue Automatic Action “Apply XSLT” bekommen (hier).

Die Lösung besteht nun darin vor der XSLT-Transformation zunächst die Ausgangsdatei aus dem Ausgangsordner mithilfe der Automatic Action “Copy source asset to target” zu kopieren.

08-03-_2016_12-59-23

 

Und anschliessend mit “Apply XSLT“ mit den Werten ‚Load XML from‘=Target und ‚Save result to‘=Source zu konvertieren.

Wie man die XSLT erstellen, erläutete ich hier nicht. Interessant ist aber zu wissen, welche Xalan-Version WorldServer https://xml.apache.org/xalan-j/ dafür verwendet und dies zumindest bei Version 11 auch noch so bleiben wird.

08-03-_2016_10-22-17

 

Als der Workflow soweit funktionierte, wollte ich auch noch die Validität der XML-Datei überprüfen, da diese “manuell” aus einer Textdatei zusammengebaut wird.

Um dies zu Prüfen wurde die Automatic Action “Validate XML” in den Workflow eingefügt und eine entsprechende DTD programmiert.

08-03-_2016_10-21-42

Leider reicht der Verweis zur DTD in der Action nicht aus, sondern es muss auch noch die DTD im XML eingefügt werden (leider). In unserem Fall sieht die XML-Datei wie folgt aus:

<?xml version=“1.0″ encoding=“UTF-8″?>
<!DOCTYPE mxml [
<!ELEMENT mxml (#PCDATA)>
]>
<mxml>

INHALT…

</mxml>

 

Resultat:

Ein Workflow, welche die Daten vom Quellverzeichnis in das Zielverzeichnis kopiert, die Gültigkeit der XML-Datei(en) überprüft und danach eine XSLT-Transformation durchführt. Nach der Übersetzung werden die Dateien auch nochmal durch eine XSLT-Transformation gelassen, mit dem Ergebniss, dass der Auftraggeber eine Textdatei zurückbekommt.

Hintergrund:

Dieser Aufwand wird betrieben, da wir in XML-Dateien mit dem Attribut maxlength=”xx” die maximale Länge des Strings im Übersetzungsprozess einfordern können. Dies ist hilfreich bei Software-Strings. In einer Textdatei (wie wir diese aus einem alten Entwicklugnstool bekommen)  kann diese Information aber nicht hinterlegt werden. Deshalb muss aus der Datei zuerst mit dem Einfügen eines XML-Headers und –Footers eine pseudo XML-Datei erzeugt werden, damit diese dann über eine XSLT-Transformation in die passende XML-Datei umgewandelt werden kann.

Confluence Bereich von einer Installation in die andere kopieren

Bereiche von einer Confluence-Installation in eine andere zu kopieren ist simpel. Hier die Anleitung dazu.

Bereich exportieren

  1. Den Bereich öffnen.
  2. Links unten an der Randleiste «Bereich konfigurieren», «Inhalte» auswählen.
    16-11-_2015_08-47-25–> Seite «Bereich konfigurieren» öffnet sich.
  3. «Export» auswählen.
    16-11-_2015_08-47-40–> Seite «Export» öffnet sich.
  4. «XML-Format» auswählen und [Weiter >>] anklicken.
    16-11-_2015_08-47-54
  5. «Vollständiger Export» auswählen und [Exportieren] anklicken.
    16-11-_2015_08-48-10–> Export startet.
  6. Wenn Export abgeschlossen ist, «Download here» zum Herunterladen anklicken.
    16-11-_2015_08-48-47–> Die zip-Datei wird auf dem Rechner gespeichert.

 

Bereich importieren

  1. Confluence-Administration «Allgemeine Konfiguration» auswählen.
    16-11-_2015_09-00-44–> Seite «Administatorzugriff» öffnet sich. Dort das Admin-Passwort eingeben.
  2. Im Seitenbaum und Administration «Sichern und Wiederherstellen» auswählen.
    –> Seite «Sichern und Wiederherstellen» öffnet sich.
  3. Unter «Backup einer Installation/eines Bereiches hochladen und wiederherstellen» die vorher exportierte zip-Datei zuordnen und [Hochladen und Wiederherstellen] anklicken.
    16-11-_2015_09-08-25–> Import startet. Es kann auch sein, dass Warnhinweise kommen, wenn die ID des Bereiches bereits existiert. Dann wird ein bestehender Bereich überschrieben!
  4. Wenn der Import abgeschlossen ist, erscheint «Complete.»
    –> Der importierte Bereich ist nun verfügbar.

Der Import funktioniert problemlos. Nur Referenzen auf Benutzer, welche im neuen System nicht angelegt sind, werden nicht gefunden, aber damit kann man umgehen.

 

Bei der Confluence Hilfe kann man unter den folgenden Themen auch dazu nachlesen:

  • Exporting Confluence Pages and Spaces to XML
  • Restoring a Space

 

.over-and-out

ESC – belanglos und schräg, aber trotzdem irgendwie kultig

Als heterosexueller Westeuropäer bin ich nicht gerade das Zielpublikum des ESC, aber trotzdem schaue ich gerne jedesmal diesen Trash. Dieses Mal aber mit dem Alternativton und nicht mit Sven…
 
 Hier also die besten Sprüche von Peter Schneider (DRS3) und dem anderen Schnorri (Vetter):
 „Social media ist wie ein Pager, aber ohne Menschen drin…“
 „…es ist schön… (der Ausschnitt der Estnin)“
 „…und dafür bezahle ich Bilag…“
 „für dich ist jede Frau mit Rock herzig“
 „…hört sich an wie DJ Bobo, als er noch Bäcker war…“
 „…Das Lied war wie ein Sozialarbeiter-Krimi…“
 „Slatan kann alles besser…“
 „die Visualshow ist fantastisch, sie könnte von Roger Staub sein…“
 „…Ein süsser kleiner Hypster…“
 „…Australien ist Pöschwies im Pazifik…“
 „…Belgien und Österreich haben eine lange Kellertradition…“
 „…I’m gonna get that Hitler guy…“
 „…I got the Bauer…“
 „…Gitarre mit WLAN Strom…“
 „…70 Jahre später verbrennen sie nicht mehr Bücher, sondern Klaviere…“
 „…Schamhaartransplantat: Service Pubic…“
 „…Das Dekolleté ist der neue Bauchnabel…“
 „…Ein Opferlied an den griechischen Gott XEROX…“
 „…Tonsprung: Oktave Maria…“
 „…musikalisches Waterloo…“
 „…Der Schneemann ist noch nicht explodiert, wie gehen noch nicht heim…“
 „…österreichischer Ganzkörper -Kondom…“
 „…don’t mention the wall…“
 „…Das Bühnenbild einer Gardinenfabrik…“
 „…die Königin von Saba…“
 „…Brust nicht rasiert? Nein, Arschgeweih am Dekolleté…“
 „…Der Mann symbolisiert die KESB…“
 „…Lippenstift wie Monika Kälin früher…“
 „…Jetzt kuck mal diese Overknees…“
 „…Tränen aus Quecksilber…“
 „…Bei der würde ich hinten auf dem Motorrad mitfahren…“
 „…die Tänzer sind Studienabbrecher der Dimitri Pantomimenschule…“
 „…komm schnell, da hat es ganz herzige Blondchen…“
 „…Marilyn Monroe nach der Biotta-Kur…“
 „…Sie hat so einen verzweifelten Gesichtsausdruck, das mag ich…“
 „…Ich würde gerne auch so ein Kleid anhaben, aber die Welt ist noch nicht bereit dafür…“
 „…Davon kann man auch schwanger werden…“
 
 Übrigens habe ich oben extra DRS3 geschrieben. Die Bezeichnung SRF ist aus meiner Sicht ein riesengrosser Seich und ich ignoriere es.
 
 Und jetzt habe ich genug und gehe schlafen. Wer hat gewonnen? Keine Ahnung, aber wen interessiert das überhaupt?
 
 .over-ende-und-out

Häusle bauen

Als „Bürogummi“ geniesst man ja sich Ferien in denen man sich körperlich betätigen muss. Deshalb verbringe ich einen Teil meiner in den Bergen und helfe meinem guten Freund beim Neubau seines Balkons .
Nach zwei Tagen habe ich folgende Erkenntnis:

  1. Zimmermann ist ein cooler Job .
  2. Stihl hat eine Motorsäge, die auch Beton schneiden kann. Und es funktioniert auch super.
  3. Den Pythagoras kann man auch in der Praxis einsetzen und braucht diesen auch auf dem Bau.
  4. Man kann eine Gerüst auch in steilen Hang bauen.
  5. Auf der Baustelle kann es zum Mittagessen auch mal Rehrücken geben.
  6. Körperliche Müdigkeit ist auch mal ein schönes Gefühl.
  7. Gnägi ist ein optimales Kleidungsstück für den Bau und den alten Ordonanzgurt kann man dafür auch für brauchen .

So, jetzt geniesse ich mein Feierabendbier.

 

.over-ende-und-out

© 2024 hacker.li

Theme von Anders Norén↑ ↑