CategorySoftware

Atlassian Confluence auf einem Synology NAS installieren

UPDATE: Die Installation von Confluence ging zwar ohne Probleme, jedoch ist bei jedem Neustart des Servers auch die komplette Installation wieder zurückgesetzt worden. Abhilfe gab es erst durch ein anderes Docker-Paket. Die Anleitung wurde entsprechend aktualisiert.

Es gibt zwei Möglichkeiten Confluence auf ein Synology NAS zu bringen: Eine konventionelle Installation mit vielen Herausforderungen oder einfach als Docker-Paket herunterzuladen.

Natürlich habe ich mich für die einfache Variante entschieden. Hier ist das Vorgehen:

  1. Docker-App installieren. (falls noch nicht installiert)
  2. Docker-Paket herunterladen. Hier MUSS das Paket «derjudge/confluence» gewählt werden. Nachtrag: Ich habe einige Wochen mit den anderen Paketen verloren!
    2015-11-14_00-03-27
  3. Container erstellen. Name vergeben und «Ports automatisch zuordnen» NICHT auswählen. Ports manuell zuweisen. Ich habe als lokalen Port den 32768 und als Container-Port den 8090 gewählt.
    2015-11-14_00-05-29
  4. Confluence starten.
    2015-11-14_00-08-02
  5. Confluence über die öffentliche URL des NAS mit dem «lokalen» Port öffnen. Also http://xxxxxx.xx:32768 aufrufen und fertig installieren. Eventuell eigene Firewall noch bei diesem Port öffnen/auf den Server weiterleiten.
    2015-11-13_23-57-262015-11-13_23-57-26
  6. Das Interessante an dem Docker von «derjudge/confluence» ist, dass auch ein PostgreSQL dabei ist. Somit muss nicht auf die interne Datenbank von Confluence zugegriffen werden. Ist zwar entgegen der Idee der Docker-Container. Vereinfacht die Installation aber ungemein. Einfach bei der Anleitung unter https://hub.docker.com/r/derjudge/confluence/ folgen, dann kommt alles gut!
    2015-12-06_10-35-18
  7. Confluence kann nun betrieben werden.
    2015-11-13_23-58-24

Und jetzt habe ich meine Teststellung, um die Scroll-Erweiterungen von k15t zu testen. Dazu aber später mehr.

.over-and-out

SDL: XML-Filter anlegen

Lange hat die Verwendung eines wirklichen XML-Filters wenig Sinn gemacht. Zu aufwändig war es und das gleiche Resultat hat man mit einem einfachen Textfilter auch hinbekommen.

Jetzt hat sich das Ganze aber geändert. Neu kann Studio auch die maximale Länge eines Strings überwachen. Das bedeutet, dass der Softwareentwickler in seiner Umgebung eingeben kann, wieviel Platz es im Dialog hat und diese Information dem XML mitgeben. Und diese Information wird in Studio nun ausgewertet und überwacht. Deshalb sind die Zeiten vorbei, wo die Erstübersetzung nochmals an den Übersetzer musste, weil diese unmöglich im Dialog oder Menüfenster Platz hatte.

Da ich die Erfahrung gemacht habe, dass SDL keinen Filter von grundauf kostenlos erstellt, sondern dies nur über den überteuerten Professional Service anbietet, biete ich hier die kostenlose Anleitung, wie vorzugehen ist.

Ich zeige die Einstellungen in SDL WorldServer. In SDL Studio ist dies gleich, teilweise sehen die Fenster einfach unterschiedlich aus. Ich habe es nur soweit dokumentiert, wie ich es selbst benötige, um einen weiteren Filter konfigurieren zu können.

Der Aufbau der XML-Datei

worddav8f6e66f8846cc58db3c49d6dae09becf(1) Der obligate Header
(2) Das Rootelement, das der Erkennung der XML-Datei dient und auch gleich den Sprachschlüssel der Quelldatei beinhaltet. Dieser Sprachschlüssel wird von Studio dann in die Zielsprache geändert.
(3) Medaten wie Ident=“ “ oder ContextHint=“ „, welche ausgeblendet werden
(4) maxlength limitiert die Zeichenzahl im Zieltextsegment
(5) Der eigentlich zu übersetzende Text

Filter in WorldServer

Der neue Filter ist vom Typ: Custom XML Studio File Type

worddav09672b060c3d782a3409d47f695969f3

Das Basiselement ist das Element, mit dem ein Parser das XML identifizieren kann. Leider ist diese Funktion bei WorldServer 10.4.2 noch nicht implementiert. In Studio funktioniert es und man kann mehrere MIME-Typen mit *.xml angelegen. Bei WorldServer geht dies nicht und bedeutet, dass pro XML-Typ ein anderes Dateiformat gewählt werden muss.

worddave2bd2b61f789c0e4a26fa5b4b3eb1906

Im Reiter «Parser» stehen alle Regeln, nach denen der zu übersetzende Text und Metadaten gefiltert werden.

worddav02ab8fe9375cae9431052e066c6e7bbf

Die ersten drei geben die Struktur an und die letzten vier Element die Metadaten

worddav7001fe912a2928ad4c8c3384ba1da523worddavfb6751476659f19a78ffd69c944fd30bworddav275b7a70115ebfd6af841290dcbec837

Im Element «Item» ist das Hauptelement mit den Inhalten drin.

worddav2e1c9d2e6f579767ad25d19c08fd987f

(1) Beim Anklicken von [Bearbeiten…] bei Struktur-Info wird der Dialog für die «Eigenschaften der Strukturinformation» angezeigt.

worddav45779a352226896b32534b27163d1330

Diese muss wie folgt angelegt werden.

worddav6e59888a09ed289c7d30e520893698a7

(2) Unter «Regel bearbeiten» [Erweitert…] anklicken. Dort muss noch das Element für die maximale Länge definiert werden. In diesem Fall ist es @maxlength.
Zusatzinfo: «maxlenght=“0″» läuft ohne Fehlermeldung durch den Parser, aber in Studio wird dann eine Längenbeschränkung von 0 angezeigt. Deshalb sollte in diesem Fall «maxlength» gar nicht angegeben werden.

worddavc0e45f45f378ab5453910d3c93fac1b3

Als letztes sind noch die Attribute zu kennzeichnen, welche nicht übersetzt werden. Leider können diese nicht als Attribut und „Nicht zu übersetzen“ angelegt werden. Es muss ein Umweg über die Erfassung als XPath erfolgen. Ich nehme an, dass dies ein Bug von SDL WorldServer ist, sonst kann ich mir einen solchen Blödsinn nicht erklären.

worddav3e835db6a92d3f0a1561705f0fda271eworddav34cbdf89efec39128c57c0f547cf7a2dworddav09cb946fd0ad884897144982ac1005e2worddav71d17cec155b022b6e2cb4fbe34f759a

Hier die Entitys, welche umgewandelt werden sollen. Dies betrifft aber nur den zu übersetzenden Text.

worddav9a9f9f6c82f5c6a256e2e38938c0d659

Beliebigen Präfix wählen und die URL von w3 eingeben.

worddav9f3dc4575087755828394bd42e116ee7worddavb4b2f4aa78f1559a0723c310d0fdf3d1worddav9df4e20d828e0d9268bd1edb4a01c5c1

Im «Embedded Content» können RegEx-Filter konfiguriert werden, um Platzhalter und sonstige Ausdrücke zu sperren.

worddavd3defc1bdc16eb17270066d47c8984fe

Man unterscheidet zwischen Tag-Paaren. Also alles was zwischen diesen Tag liegt, wird für die Übersetzung gesperrt.

worddav2bd90c1d6b9165a78ab7f2ba945dfb51

Und Platzhaltern, welche einen Teil/eine Stelle im Text definieren. In der Regel sind dies Variablen.

 

Zum Schluss noch etwas…

Auf ein weiteres Problem muss man auch noch achten. Es geht um die Verarbeitung mehrerer XML-Filter. SDL Studio kann anhand des Rootelementes selbst entscheiden, zu welchem Filter eine XML-Datei passt. SDL WorldServer kann dies nicht, obwohl diese Information im Filter definiert werden muss. Nun, wenn diese Information nicht ausgewertet wird, wieso muss man diese dann erfassen?

Das Resultat ist aber, dass SDL WorldServer in der aktuellen Version 10.4.4 nur eine einzige XML-Datei mit der Dateierweiterung .xml verarbeiten kann. Eine weitere XML-Datei muss eine andere Dateierweiterung haben oder zu einer anderen Filtergruppe gehören, mit dem Resultat, das der Benutzer dann den richtigen Filter auswählen müsste… Was mich verärgert, ist der Fakt, dass Studio das Problem nicht hat und mehrere XML-Dateien anhand des Rootelementes unterscheiden kann. Man beachte auch, dass ich Studio ab 99€ bekomme und WorldServer etwa das tausendfache kostet. Ein Lösung für WorldServer 11.0 wurde mir auch nicht zugesichert.

 

.over-and-out

 

 

 

 

 

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

AppleTV 4 mit Plex

Als Besitzer eines wenig gebrauchten AppleTV 2 habe ich die Ankündigung, dass nun ein weiterer überteuerter Nachfolger auf den Markt kommt, so ganz nebenbei zur Kenntnis genommen. Irgendwie hatte ich schon etwas komplett neues, innovatives erwartet. Meine Hauptanwendung ist das Streamen von Filmen und Serien vom eigenen Server. Dies mache ich vorzugsweise mit Plex und da AppleTV 2 keine wirkliche Möglichkeit zum Streamen gibt (ausser mühsam über Airplay), hat auch noch Chromcast in meinem Haushalt Einzug gehalten. Das heisst, AppleTV 2 wurde bei mir nur noch für Keynotes oder noch seltener für AirPlay verwendet.

Was dann passierte, hat nun alles geändert: Ich bekam ein Newsletter von Plex, dass die neue AppleTV-App auch schon fertig und verfügbar sei. Dies war der Grund, wieso ich mir dann doch ein AppleTV 4 zugelegt habe. Es wurde ja schon ausführlich über das fehlende Siri in der Schweiz gesprochen und auch wie schlecht der aktuelle Appstore noch sei. Aber das wird sich sicher in den nächsten Wochen oder Monaten noch ändern. Für mich spielt zur Zeit nur etwas eine Rolle: Wie gut ist die Plex-App auf AppleTV?

Wie definiert man nun, ob eine App gut oder schlecht ist? Ein Möglichkeit ist es, dass man diese mit dem Vorgänger oder Anwendungen auf anderen Plattformen vergleicht. Plex lief bei mir schon auf einem Popcorn-Hour, dann auf einem Raspberry Pi und zuletzt auf Android- und iOS-Apps über Chromecast. Das grösste Problem bis heute war die Netzwerk-Performance, resp. die Leistung des Servers, um die Daten vor dem Streamen umzurechnen. Da gab es ganz unterschiedliche Erlebnisse, mit dem Ergebnis, dass ich heute nur noch die volle Qualität streame und somit den Server vom Transcodieren entlaste. Dies funktioniert auch ganz gut, bis zu dem Zeitpunkt, bei dem sich das Netzwerk „verschluckt“ resp. ein weiterer (langsamer) Client auch Mediadaten will und die Gesamtperformance des Netzwerkes reduziert… Das Problem ist aber inzwischen auch gelöst: Mit einem Triband-Router werden nur noch schnelle ac-Clients auf einer der schnellen Frequenzen gelassen (1300 Mbit/s) und somit kann hier die volle Auflösung bis 4K gestreamt werden.

Nun zur Erfahrung mit AppleTV 4: Die Bedienung ist gewöhnungsbedürftig. Gott-sei-Dank muss man sich nach der Installation der App nur einmal bei Plex anmelden. Danach kann man in der App mit Swipegesten navigieren. Die Darstellung der Inhalte in der App ist gefällig, wobei ich auch hier noch einige Verbesserungen in den nächsten Wochen erwarte. Für 6 Wochen Arbeit ist das Resultat jedoch schon ausgezeichnet. Wie sieht es denn nun mit der Performance aus? Die ist super. Sobald man einen Film oder eine Episode ausgewählt hat, fängt das Stück unvermindert auf dem TV an zu laufen. Vorbei sind die Zeiten mit Chromecast, als man noch 20 Sekunden aufs Buffering warten musste. In der kurzen Zeit hatte ich keinen einzigen Aussetzer und dies auch mit 1080p-Filmen mit 12GB Grösse. Und nun kommt das Beste: Als ich am Server etwas umstellen musste, habe ich diesen Offline geschaltet. Der Plex-Server war weg vom Netzwerk – offline. Trotzdem lief die Episode auf dem Fernseher ohne Unterbruch weiter. Es erschien nur eine Einblendung, dass der Medienserver offline sei. Trotzdem lief die Episode weiter. Was war passiert, resp. was ist der Grund dafür? Nun, da die Daten ja nicht über ein unsichtbare Kabel auf AppleTV 4 gelangten, muss es daran liegen, dass Daten auf dem Gerät zwischengespeichert werden. Und zwar nicht wenige, denn erst nach etwa fünf Minuten stoppte die Wiedergabe. Einfach genial.

Plex auf AppleTV 4 bedeutet für mich vor allem eines: Unterbrechungsfreies Full-HD-Streaming im bekannten Apple-Umfeld. Ist AppleTV 4 das Geld dafür wert? Nun, wenn man es so anschaut, dann ist es als Streamingkiste sehr teuer, aber ein ungetrübtes Sehrerlebnis ist mir dies wert. Und dass dies erst der anfang der Möglichkeiten dieser Box ist, kommt auch nach dazu. Mal schauen, was uns die nächsten paar Wochen bescheren. Und Zattoo arbeitet ja auch schon an einer App. Bald kann ich das Kabelfernsehen kündigen und monatlich die Kosten sparen. Noch hoffe ich, dass die Kinder nicht schnallen, dass man damit auch Gamen kann.

 

.over-ende-und-out

Synology Server: Cronjob für Owncloud einrichten

Damit Owncloud 8.1 richtig ausgeführt wird, muss ein Cronjob durchgeführt werden. Ajax und Webcron funktionieren nicht richtig und können dazu führen, dass Owncloud unberechenbar den Cron ausführt. Die Einstellung bezieht sich auf DSM 5.2-5592 Update 4, funktioniert aber auch mit früheren Versionen.

Wichtig ist, dass der Cron NICHT über den „Cronjob Editor“ eingegeben wird. Dieser hat mit dem komplexen Cron Probleme und kann diesen nicht verarbeiten.

Deshalb muss über SSH (Benutzer: root) die Datei etc/crontab mit dem vi Editor (vi /etc/crontab) bearbeitet werden.

Folgende Zeile muss eingegeben werden:
*/5 * * * * root /bin/su -s /bin/sh -c „/usr/bin/php -f /volume1/web/owncloud/cron.php“ http

Danach müssen die Cronjobs mit dem folgenden Befehl neugestartet werden: „/usr/syno/sbin/synoservicectl –restart crond“. Dies auch über die Konsole.

Der Hauptgrund für den speziellen Cron ist, dass dieser mit dem root-Benutzer ausgeführt werden muss, um damit den http-Benutzer aufzurufen. Mehr darüber unter: https://forum.owncloud.org/viewtopic.php?f=31&t=28823
.over-ende-und-out

Apple killt sein App-Ecosystem

Gestern war es wieder soweit. An der WWDC 2015 wurden die Softwareupdates von Apple vorgestellt. Vor allem bei iOS wurde viel unter der Haube gemacht und bestehende Apps verbessert und einige neue herausgebracht.

Apple hat ja den Vorteil, dass sie genau wissen, welche App wieviel Mal gekauft wird; somit kann auch der Bedarf der Benutzer einfach erkannt und zu Apples Nutzen eingesetzt werden. Dies zum Leid der unabhängigen App-Hersteller, die innerhalb von Tagen von einer glänzenden Zukunft in ein dunkles Tal der Tränen stürzen können. Ich rede hier aber nicht vom  «armen» Google, welches man mit Apple-Apps konkurrenziert, sondern von den kleinen Firmen, denen Apple wirklich Schaden zufügen kann. Aktuell kommen mit iOS9 die Apps Flipboard, Spotify, Wunderlist und Evernote massiv in Bedrängnis, zumindest das kann ich anhand der letzten Keynote sagen. Nun, Wunderlist tut es nicht mehr weh, da diese erst letzte Woche für 200 Millionen von Microsoft gekauft wurden. Die haben einen sauberen Exit geschafft und müssen iOS9 nicht mehr fürchten.

Bei den anderen Herstellern sieht es anders aus. Ich will hier aber nicht konkret auf die einzelnen Tools eingehen, sondern auf das prinzipielle Vorgehen von Apple, welches auf lange Sicht falsch ist und den App-Markt (zer-)stören wird.

Niemand hat etwas dagegen, wenn Apple sein Betriebssystem verbessert und es mit schon lange überfälligen Funktionen erweitert. Kein Thema, das muss sogar sein. Ist es sogar legitim, dass man Funktionen, welche von Drittherstellern angeboten werden, in sein geschlossenes System implementiert. Was aber falsch ist, ist dass man diesen Firmen dafür nichts bezahlt. Zumindest dann, wenn es so offensichtlich ist, wie zum Beispiel mit Apple Music und Spotify oder Pandora. Hier muss Apple einen neuen Kurs einschlagen: Entschädigt die Firmen zumindest mit einem realen Preis. Also vielleicht nicht hunderte von Millionen wie bei einem Exit, aber ein paar Dutzend Millionen dürften es schon sein, denn diese haben das Fundament gelegt, damit ihr noch mehr Gewinn einfahren könnt. Mit den –zig Milliarden an Barreserven, kann sich das Apple aus der Portokasse leisten.

Natürlich muss das Apple nicht tun, aber schauen wir die Situation aus Sicht der App-Entwickler an: Für die ist klar, dass sobald deren Geschäftsidee (zu) erfolgreich wird, diese von Apple kopiert wird und somit dies das Ende der App/Unternehmen bedeuten kann. Die Konsequenzen daraus? Nun, die sind unklar, aber es wird nicht dazu führen, dass das Vertrauen in Apple gesteigert wird. Die Diversifizierungs-Strategie von Apple ist das Problem.  Man macht sich am Ende mehr kaputt, als dann man gewinnen wird.

Mein Tipp an die Jungs aus Cuppertino: Wenn ihr euch schon von anderen Firmen «inspirieren» lässt, dann zahlt den Firmen auch anständig Geld dafür. Und aus dem Vorgehen könnte man auch sehr gut ein Geschäftsmodell machen –> Aussergewöhnlich gute Apps werden von Apple «offiziell» zu fairen Preisen gekauft. Dies gäbe eine Win-Win-Situation für alle Beteiligten.

Und wenn der Hersteller dies nicht will, dann sei es so.

.over-ende-und-out

Verdrehte Doppelseiten

Wenn man ein Buch oder ein Dokument erstellt, welches dann auch doppelseitig gedruckt wird, dann möchte ich diese Ansicht auch so in meinen Editor haben. Was InDesign kann, funktioniert bei Acrobat und Word aber leider seit Jahrzehnten nicht.
Es kann ja nicht so schwer sein… Aber es zeigt mir halt wieder einmal, dass die Leute, welche die Produkte entwickeln, sich nicht mit den täglichen Bedürfnissen der Benutzer auskennen. Natürlich gibt es immer wieder neue sexy Features, nach denen irgendwelche Experten schreien. Mit einer korrekten, nennen wir es mal „natürlichen“ Darstellung von Doppelseiten, lässt sich leider kein Innovationspreis gewinnen und es funktioniert doch auch ohne. Aber genau solche Funktionen sind für die Vielnutzer ein Grund um zum Beispiel auf die neuste Version umzusteigen, wobei ich sagen muss, dass die natürliche Doppelseitenanzeige bei jeder noch supporteten Version von Word und Acrobat kostenlos nachgerüstet werden sollte. Es ist eine Funktion, welche schlichtweg fehlt.

.over-ende-und-out

© 2017 hacker.li

Theme by Anders NorenUp ↑