Content-Management-Systeme

Ähnliche Dokumente
Internationalisierung von Webseiten mit PHP und gettext. Christoph Thielecke - u15119@hs-harz.de

Bedeutung von i18n, L10n

Performance Tuning

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Django The Web framework for perfectionists with deadlines.

Web-Performance-Optimierung - Websites auf Speed SEO Barbecue - DIWISH - Kiel August Timo Heinrich t.heinrich@online-werbung.

Performance grosser Plone Installationen

Bernhard #wpcb13

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Suchmaschinen-Optimierung

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

1. Zusammenfassung der letzten Vorlesung

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Typo3. Thomas Lüthi. Beitrag zur "CMS-Battle" vom 7. Juni 2010 Campus Bern.

DBD::PO. Mit SQL GNU gettext PO-Files bearbeiten

Mehrsprachigkeit in PHP

Joomla Schulung. Open Source CM-System. Projekt-Nr Thomas Haussener, MA. 20. Juni 2007

Informatik I: Einführung in die Programmierung

Dokumentation_Internetseiten_für_Schornsteinfeger

Plone Caching. Oberseminar Content Management Systeme Plone / Zope. Georg Giel, 09 MIM

Bewusstkaufen.at XML Produkt Importschnittstelle für Händler

Das Typo3 Backend. Demo Website: Frontend: Backend: von Timo Schmidt

Langsame Webseiten nerven!

1. Zusammenfassung der letzten Vorlesung

Internationalisierung von Webseiten

Web Applications Vulnerabilities

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Skalierbare Webanwendungen mit Python und Google App Engine

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Multimedia im Netz Wintersemester 2011/12

Web-Anwendungsentwicklung mit dem Delivery Server

Unsere Webapplikation erweitern

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Lernziele. World!Wide!Web!-!WWW. Eigenschaften. Das!World!Wide!Web

3. Baumstrukturen. 3.1 Dateien und Ordner

DOAG Regio 2015 APEX 5 Neuerungen Highlights. Marco Patzwahl

SINT Rest App Documentation

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

JSCMS Dokumentation. (Stand: )

Grundlagen Internet-Technologien INF3171

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Internationalization (I18n)

Bei einer deutschen Installation muß man den Window Server und pbs aus StartUp in Autostart verlagern sowie die Datei

Java - Webapplikationen

Web Sockets mit HTML5. Quelle:

HTML5 2 1 / 6. Doing Web Apps HTML5 2. Letzte Änderung: Version: 1.1

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Session Storage im Zend Server Cluster Manager

Lektion 7: Web Tools: Log & Performance Analyse

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Anleitung. Integration von Kentix Geräten in den OpManager

Python CGI-Skripte erstellen

Diplom-Ingenieur (BA) für Informationstechnik Ronny Bodach 2011 Eyewitness Forensic Software

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 1. Ausgabe, Dezember 2011 HTML5

PHP-5-Zertifizierung. Block 12 Security.

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Suche für Anwender in SharePoint 2013

Literatur. [12-5] Upgrading to TLS Within HTTP/1.1 Netzwerke - WS 2013/14 - Teil 12/HTTP

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5

MEHRSPRACHIGE SITES ERSTELLEN UND VERWALTEN

Webdesign mit HTML und CSS Einführungsabend

SHS Swiss Innovation Tour ITB Responsive Webdesign Unschlagbar schnelle Websites Web Analytics Tricks

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

Programmieren von Webinformationssystemen

Peter Walerowski. Galileo Computing

Schnell performante Web-Applikationen entwickeln. Markus Zapke-Gründemann LinuxTag 2012

Pylons & ExtJS. PyCologne Vortrag Köln, smart:elligence Unternehmensberatung, Düsseldorf

Anleitung zum Prüfen von WebDAV

Entwicklungstand der GUI

3. Verzeichnisstruktur / wichtige Dateien

DBD::PO. Mit SQL GNU gettext PO-Files bearbeiten

The app the crashes, before the breakpoint is reached: Code to the event:

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Caching Handbuch. Auftraggeber: Version: 01. INM Inter Network Marketing AG Usterstrasse 202 CH-8620 Wetzikon

Erstellen eines HTML-Templates mit externer CSS-Datei

HOSTED SHAREPOINT. Skyfillers Kundenhandbuch. Generell Online Zugang SharePoint Seite... 2 Benutzerpasswort ändern... 2

«/IE Cache & Cookies» Umfrage startet nicht?

ATHOS Benutzertreffen

Web Data Mining. Albert Weichselbraun

Benutzer- und Gruppenverwaltung, Registrierung

Compass E-Lab Remote Security Lab 19. November Hacking-Lab Glärnischstrasse 7 Postfach 1671 CH-8640 Rapperswil

Installationsanleitung WordPress auf greenwebhosting

ecall sms & fax-portal

Website Performance Optimierung

Anleitung. Handhabung des ftp-clients FileZilla. Copyright 2015 by BN Automation AG

Source Code Konverter Online: (VB.net <-> C#) Kommerzielle Produkte (VB, C#, C++, Java) Code Nachbearbeitung in der Praxis...

Schleifen und If-Abfragen

Mails in Python senden

Browser Cache leeren. Google Chrome. Quelle: go4u.de Webdesign

Maik Derstappen. ein freies Content Management System

Installationsanleitung WordPress auf greenwebhosting

HowTo: Konfigurieren von Caching in SharePoint 2007

Anleitung zum Prüfen von WebDAV

Transkript:

Wintersemester 2016/2017 Content-Management-Systeme Dipl.-Inform. Roman Jansen-Winkeln Vorlesung 7: Caching (2. Teil) + Internationalisierung

Cache-Zusammenfassung Beobachtung am Client

Zusammenfassung Cache-Strategien Client Browser Lokaler Cache Internet Proxy CDN Server Reverse Proxy / Cache RAM Cache CMS Application

Beobachtung am Client Messprogramme für Internet Explorer und Firefox HttpWatch Basic für IE Yslow + FireBug für FireFox Kostenlose Werkzeuge Messen: geladene Dateien, Datenmenge, Zeitdauer Inspizieren: alle HTTP-Eigenschaften (Header, Cookies,...)

Messen einer Beispiel-Seite

Intensive Cachenutzung

Ohne Cache

Ohne Cache

Tool für IE

Bewertung im Firefox

Vergleich mit und ohne Cache

Details Requests im Firefox

Details Requests im Firefox

Tool für Firefox

Internationalisierung I18N, I18NFolder und LinguaPlone

Übersetzbare Inhalte Aufgabenstellung: Internationale, mehrsprachige Website Was muss man übersetzen? Programmnahe Bestandteile: Menues, Knöpfe, Titel, Pull-Downs Kurze einfache Inhalte Lange, ausführliche Inhalte Techniken zur Übersetzung: Dictionaries: Feste Texte mit Phrasen-Wörterbüchern übersetzen Inhalte redundant in mehreren Sprachen ablegen.

Übersetzbare Inhalte Werkzeuge in Zope/Plone: PTS = Placeless Translation Service: Wörterbuchbasierte On-the-Fly-Übersetzung LinguaPlone + PloneLanguageTool: Redundante Speicherung von Daten in mehreren Sprachen

PTS = Placeless Translation Service Benötigte Zutaten: Zope-Product PlacelessTranslationService Geladene Dictionaries (.po-files) Sprachinformationen in der SESSION Übersetzungshinweise in PageTemplates und Python-Code Wie arbeitet PTS Beim Systemstart: Dictionaries laden Bei Beginn der Session: Sprachinformationen LANGAUGE vom Browser erfragen und in der SESSION speichern Bei der Template/Python-Auswertung: Texte mit Dictionary in die Language der Session übersetzen

PTS Dictionary

PTS Dictionary GNU/Linux Gettext-Messages-Locale Format Dateien im.po -Format Header mit Sprachinformationen msgid/msgstr-paare mit Übersetzungen Unterstützt Zeichenformate ASCII und UTF-8 Steht im Products-Ordner, Subdirectory i18n Mögliche msgid-schlüssel sind: Texte, die im Page-Template vorkommen (i18n:translate= ) Explizite Schlüssel, die im Page-Template stehen (i18n:translate= xyz ) Mögliche msgstr-werte sind: einzeilige Texte (inkl. \n für Umbrüche) Ausdrücke mit Variablen (i18n:name= xyz )

PTS Dictionary

PTS Dictionary

PTS Dictionary

PTS Dictionary

PTS I18N: in PageTemplates Übersetzungshinweise in Page Templates Neuer Namespace: i18n i18n-attribute zusätzlich in HTML-Tags plazieren Übersetzung wirkt auf den ersten Textknoten im HTML-Tag Ausführungsreihenfolge: Erst METAL, dann TAL, dann I18N Beispiele aus <i>irgendein Text</i> wird <h1 i18n:translate="title_string">dies ist ein Titel</h1> <h1 tal:content="here/title" i18n:translate=""> Dies ist ein Titel. </h1>

PTS I18N: in PageTemplates Die i18n-attribute: i18n:domain : legt einen eigenen Dictionary-Bereich fest <body i18n:domain="plone"> i18n:source : explizite Angabe der Quellsprache i18n:target : explizite Angabe der Zielsprache i18n:data : Erweiterung von i18n:translate auf Nicht-Strings, z.b. Datum- und Teit-Objekte i18n:translate Angabe mit Key: Sucht im Dictionary nach Key und setzt Wert ein Angabe ohne Key: Wertet erste Textknten aus und verwendet diesen Text als Key im Dictionary

PTS I18N: in PageTemplates i18n:name Erlaubt geschachtelte Übersetzungen mit Mustern <p i18n:translate="book_message"> Das <span tal:omit-tag="" tal:content="book/color" i18n:name="color"> blaue </span> Buch</p> msgid: Das {color} Buch msgstr: Le Livre {color} Im Beispiel wird geschachtelt übersetzt {color} wird mit i18n:translate= dynamisch übersetzt Position {color} zwischen Ausgang und Ziel verschoben

PTS I18N: in PageTemplates i18n:attributes Zwitter aus i18n:translate und tal:attributes Gibt an, welche Attribute übersetzt werden. Zusätzlich optionaler Key für translate Beispiel <img href="/einbild.jpg" alt="irgendein Text" i18n:attributes="alt alternate_image_label" />

PTS I18N: in PageTemplates

PTS I18N: in PageTemplates

PTS I18N: in PageTemplates

PTS I18N: in PageTemplates Übersetzen in Archetypes-Fields: StringField('event_type', vocabulary='eventtypes', widget=selectionwidget( label='event Type', label_msgid='label_event_type', description='the type of the event', description_msgid='help_event_type', i18n_domain='myproduct'),), Übersetzen in Skripts: from Products.CMFCore.utils import gettoolbyname... translation_service = gettoolbyname(self, 'translation_service') value = u'john Doo' return translation_service.utranslate('plone', u'my name is ${fullname}', mapping={u'fullname' : value})

PTS I18N: in PageTemplates Parametrisierung Über REQUEST['HTTP_REFERRER'] Sprache des Browsers abfragen In SESSION['LANGUAGE'] speichern mit 'switchlanguage?set_language=...' bzw. 'self.switchlanguage(set_language=...)' Sprache explizit wechseln

LinguaPlone Zusatzmodul (Product) in Plone Speichert Inhalte in verschiedenen Sprachen redundant in der Datenbank Ordnet jeder Inhaltsdatei ihre Sprache zu Verknüpft Übersetzungen gleicher Inhalte Zeigt nur Inhalte an, die zur aktuellen Sprache passen Sucht nur in Dateien, die zur aktuellen Sprache passen Unterstützt Benutzer bei der Pflege der Übersetzungen

LinguaPlone

LinguaPlone

LinguaPlone

LinguaPlone

LinguaPlone

Übersetzungswerkzeuge PTS und LinguaPlone arbeiten ganz unterschiedlich PTS ist gut geeignete für Entwickler, Gestalter und Übersetzer LinguaPlone ist Tool für Autoren und Benutzer Beide zusammen sind ein gutes Team.