[TYPO3-german] Re: backend seite nicht erreichbar oder wird umgeleitet

2017-08-14 Diskussionsfäden Christian Hackl

Deaktiviere doch mal die htaccess einfach mal umbennenen... dann weist du ob es 
daran liegt.
Php 5.3 deutet auf typo3 4 hin... ganz dringend updaten!
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: DRK Musterseite mit Typo3 7.6 Probleme

2017-08-14 Diskussionsfäden Christian Hackl

Guck dir den pfad an, der ist falsch... also mal suchen wo und wie die Datei 
eingebunden ist, und entsprechend ändern.. :-)

/homepages/2/d120002940/htdocs/CMS_neu/typo3_src-7.6.21/typo3conf/ext/drk_template_2016/Classes/ViewHelpers/ImageInterchangeViewHelper.php
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Eigene Gallery Settings

2017-08-14 Diskussionsfäden Christian Hackl

Schreib mal was du genau machen möchtest, dann können wir dir besser helfen, da 
es in t3 immer mehrere wege gibt. Die sind je nach dem mal mehr mal weniger 
sinnvoll...:-)

Nutzt du fluid templates? 
Am einfachsten ist es wohl das layout feld unter erscheinungsbild zu nutzen... google mal danach :-)

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: ckeditor .yaml: contentsCSS auf .css in fileadmin verweisen lassen

2017-08-14 Diskussionsfäden Christian Hackl

Wird deine yaml denn auch geladen? Das mit 1: steht auch so in der default ... 
mitgelieferten base.yaml... guck dir die mal an. Sprich sollte funktionieren, 
allerdings bin ich mir da gerade nicht sicher :-)
Wenn das mit ../ funktioniert, warum lässt du es nicht so?

https://typo3worx.eu/2017/02/configure-ckeditor-in-typo3/
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Caching von Webserviceantworten

2017-08-14 Diskussionsfäden Stephan Schuler
Hallo Fabian.

>  Aber wie mache ich es dann? Ich muss ja irgendwie aus der XML-Antwort meine 
> Objekte basteln, über die ich dann im Fluid Template iteriere und die 
> Tabellen zusammensetze.

Das ist genau der Punkt. Du wirst also erst in einem „findAll()“ alle Objekte 
aus der Datenbank holen. Dann lässt Du Dir über den SOAP-Request alle XMLe 
geben. Jetzt kannst Du in einer geschachtelten Schleife über beide drüber 
iterieren und prüfen welche zu aktualisieren sind, welche neu zu erstellen und 
welche zu löschen. Das kostet Dich natürlich erstens ganz massiv RAM. Und 
zweitens musst Du das reine Synchronisations-Hilfsmittel „tstamp“ als Property 
Deines Models mappen – obwohl der tstamp überhaupt nichts mit Deiner Domäne zu 
tun hat. Der gehört da also schlicht nicht hin. Du bläst damit Deine Domäne 
also mit „Kram“ auf.

Dann kommt alles mit Repository->add(), Repository->update() oder 
Repository->delete() in die Datenbank, und unter Umständen musst Du dann ein 
„persistAll()“ aufrufen damit ein anschließender Filter-Query auch wirklich die 
aktualisierten Daten aus der Datenbank bekommt. Ohne das persistAll() werden 
die Persistenzoperationen durchgeführt, *nachdem* die Action erfolgreich 
durchlaufen wurde. Ein „findByIrgendwas()“ innerhalb der Action wenn in den 
ersten Zeilen der Action neue Daten in die Datenbank gekommen sind wird diese 
neuen Daten sonst nicht finden.

Wenn Du jetzt noch „updateoptimiert“ z.B. ein Plugin hast das nur die Daten von 
2017 haben möchte, ein weiteres Plugin das nur die Daten einer bestimmten 
Kategorie aber dafür zeitunabhängig haben möchte und ein drittes Plugin das 
alle Daten sortiert nach Titel dafür mit Pagination anzeigen soll. Dann tust Du 
Dir schon schwer, wirklich sinnvoll auf Basis einer solchen Teilmenge zu 
ermitteln, welche deiner lokalen Daten gelöscht werden sollen oder welche neu 
sind. Das heißt Du musst für jede Plugin-Filter-Teilmenge sowohl den 
Extbase-Query als auch die SOAP-Anfrage so hin optimieren, dass sie die exakt 
identischen Werte liefern. Andernfalls legst Du Daten an die es schon gibt 
(wenn sie von Deinem Extbse-Query ausgefiltert wurden aber über SOAP kommen) 
oder löchst Daten die Du eigentlich noch brauchst (wenn der Extbase-Query zu 
lasch war und mehr Datenliefert als Du anzeigen möchtest).

Sobald Du jetzt die Logik was eigentlich wirklich angezeigt werden soll noch 
den Redakteur überlässt. Denk wieder an News. Filter nach Kategorie, mehrere 
Kategorien AND- oder OR-Verknüpft, Kategoriefilter negiert, absteigend oder 
aufsteigend sortiert, beschränkt auf Datum. All diese Optionen kann der 
Redakteur im News-Plugin selbst wählen.
Und jetzt bau das mal als SOAP-Anfrage nach, damit sie im Frontend zum 
Synchronisationszeitram zu 100% auf den vom Redakteur gewählte 
Extbase-Filter-Query passt.

⇨ Sync zur Laufzeit erzeugt einen wahnsinnigen Kraut-und-Rüben-Code, bläst Dein 
Model auf und kostet RAM im Web-Request.

> Leider liefert der Webservice kein Änderungsdatum o.Ä. an dem ich entscheiden 
> könnte, ob aktualisieren, nicht aktualisieren oder löschen. Bleibt also 
> nichts Anderes übrig als lokal zu entscheiden mittels timestamp, oder?

Wenn Dir der SOAP-Request keine Verändungsinformationen gibt, also weder eine 
Objekt-Version noch ein Änderungsdatum, dann kannst Du überhaupt nichts 
entscheiden. Dann musst Du wohl oder übel das Objekt speichern wenn Du es 
bekommst.

> Da hast du natürlich recht. Ich werde also die getrennte Lösung per Scheduler 
> vorziehen.

Ich würde wirklich genau einen einzigen Sync-Durchlauf per Scheduler machen der 
das komplette Model lokal aufbaut. Anschließend kannst Du in Deinem lokalen 
Model noch filtern und sortieren wie Du lustig bist. Kein Filter, keine 
Sortierung.
Der Scheduler-Durchlauf muss auch überhaupt nicht mit Extbase arbeiten. 
Mindestens die Datenmanipulation kann – gerade wenn es möglicherweise viele 
Daten sind – auch einfach durch den DataHandler passieren.

Beste Grüße,


Stephan Schuler
Web-Entwickler | netlogix Web Solutions

Telefon: +49 (911) 539909 - 0
E-Mail: stephan.schu...@netlogix.de
Web: websolutions.netlogix.de




Neu: Wir sind Amazon Web Services Partner. Mehr erfahren:
https://websolutions.netlogix.de/technologie/amazon-web-services-aws





netlogix GmbH & Co. KG
IT-Services | IT-Training | Web Solutions
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: i...@netlogix.de | Web: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Matthias Schmidt



___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Caching von Webserviceantworten

2017-08-14 Diskussionsfäden f zuerker

Hallo,


Es wäre schön, wenn ich Dich mit Namen ansprechen könnte. Ein sinnvoller 
Absender und eine Grußformel an Ende wäre dabei hilfreich.


Hab mein Profil mal angepasst, aber keine Ahnung, ob und wann das auf das Forum 
durchschlägt.




Ich würde das nach Möglichkeit entkoppeln und per Scheduler synchronisieren.

Eine Synchronisation zur Laufzeit mit gleichzeitigem lokalem persistenten Model ist keine gute 
Idee, dann machst Du alles von Hand. Angefangen damit, dass Du Dir überlegen musst, welcher 
dieser Requests jetzt diese Daten aktualisieren muss und welche nicht. Sprich: Du musst Dir 
bei jedem Objekt das „last synced" merken um zu entscheiden, ob das zu synchronisieren 
ist oder nicht. Natürlich hat der Datensatz bereits das Attribut „tstamp" womit die 
letzte Modifikation in der Datenbank gemeint ist. Aber dieser tstamp gehört ja eigentlich 
nicht in deine Domäne. Das ist ein Hilfsmittel, ein Werkzeug. Ein eine Object-Property des 
Extbase Domain-Models würde ich den tstamp nicht mappen solange er nicht wirklich im Frontend 
für den Benutzer als „letzte Änderung: Vor 15 Minuten" o.ä. angezeigt werden soll.
Wenn Du die Synchronisation in einen Scheduler packst ist klar: Jedes Mal wenn 
der läuft synchronisiert der.


Aber wie mache ich es dann? Ich muss ja irgendwie aus der XML-Antwort meine 
Objekte basteln, über die ich dann im Fluid Template iteriere und die Tabellen 
zusammensetze.




Die Aufteilung in den Teil der sich geändert hat und den Teil der sich nicht 
geändert hat kannst Du im Scheduler immer noch durchführen. Lass Dir eine Liste 
aller Objekte geben, evtl. mit reduziertem Datenumfang. Diejenigen die im 
SOAP-Request ein Änderungsdatum neuer als tstamp lokal haben sind lokal zu 
aktualisieren. Die die im SOAP-Request ein Änderungsdatum älter als tstamp 
haben kannst Du in Ruhe lassen. Die die lokal existieren aber nicht über den 
SOAP-Request kommen musst Du lokal löschen.
Insbesondere die Entscheidung welches Objekt ggf. zu löschen ist kannst Du nur 
über Bande treffen wenn Du im Controller des Frontend-Requests synchronisierst.


Leider liefert der Webservice kein Änderungsdatum o.Ä. an dem ich entscheiden 
könnte, ob aktualisieren, nicht aktualisieren oder löschen. Bleibt also nichts 
anderes übrig als lokal zu entscheiden mittels timestamp, oder?




Weiterhin bringt Dir bei der Synchronisation im Frontend die Extbase-Persistenz 
eigentlich keinen relevanten Vorteil. Wenn Du stattdessen den Plugin eine 
Stunde lang als HTML-Snippet cachen kannst, genügt es, die Objekte oer SOAP zu 
holen, an Fluid zu übergeben und nach dem PHP-Request wieder zu vergessen.

Der dritte, weit schlimmste Nachteil der Synchronisation im Controller ist, 
dass Du Deine Frontend-Laufzeit von fremden Servern abhängig machst. Wenn der 
SOAP-Server mal nen schlechten Tag hat und ein paar Sekunden für die Antwort 
braucht, oder gar nicht antwortet, weil irgendwas hängt, dann hängt auch Dein 
Frontend. Solange Du Deine Daten nicht in der Datenbank als geändert schreibst 
(sprich: die Nicht-Antwort des SOAP-Servers als leeres Result und damit 
Löschanweisung interpretierst) bedeutet das für Dein Frontend, dass mehrfache 
Anfragen im Frontend jeweils parallel auf die Idee kommen, für die 
Synchronisation zuständig zu sein, und alle hängen am hängenden SOAP-Server 
fest.
Dein Webserver hat ja nicht unendlich viel Arbeitsspeicher und kann damit nicht 
unendlich viele PHP-Prozesse gleichzeitig bedienen. Wenn Du für das 
Betriebssystem 1GB RAM abziehst und jedem PHP-Prozess 64MB RAM spendierst 
kansnt Du Dir ausrechnen, wie viele parallele PHP-Prozesse Du Dir erlauben 
kannst ohne dass der Server swappen muss. Die Zahl liegt mit großer 
Wahrscheinlichkeit im unteren zweistelligen Bereich.
Wenn die Seite mit der Tabelle jetzt etwas Load hat, vielleicht vom ein oder 
anderen Crawler gefunden wird, wenn Du jetzt auch noch ungeduldige 
Webseitenbesucher hast die nach 10 Sekunden Ladekringel gleich auf reload 
drücken, dann hast Du sehr schnell alle Deine PHP-Prozesse damit belegt, auf 
den nicht mehr reagierenden SOAP-Server zu warten. Ab diesem Zeitpunkt sind 
Frontend und Backend nicht mehr erreichbar.


Da hast du natürlich recht. Ich werde also die getrennte Lösung per Scheduler 
vorziehen.

Gruß,
Fabian

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Spaß mit Daten

2017-08-14 Diskussionsfäden Wolfertz, Sebastian
Hallo Liste

Ich habe in einer eigenen Extension eine Klasse namens Event, diese enthält die 
Eigenschaft "Date".
Wenn ich ein Event im Backend anlege, und z.B. 14.08.2017 15:50 Uhr angebe habe 
ich folgendes Problem:

Vorgabe beim Abspeichern: 2017-08-14 15:50:00

In der Datenbank: 2017-08-14 15:50:00
In der Listenansicht im Backend: 14-08-17 15:50 -> auf bearbeiten klicken
In der Bearbeitungs-Ansicht als Titel des Event: 14-08-17 17:50
In der Bearbeitungs-Ansicht vorausgefüllt im Input: 15:50 14-08-2017
In der IRRE-Ansicht als Teile einer anderen Klasse: 14-08-17 17:50
In der IRRE-Ansicht als Teile einer anderen Klasse vorausgefüllt im Input: 
15:50 14-08-2017
Als Fluid-Objekt im Frontend: DateTime prototype object 
(2017-08-14T17:50:00+02:00, 1502725800)

Ich habe dazu diesen Bug gefunden: https://forge.typo3.org/issues/68651

Aber alle Lösungsvorschläge die dort genannt werden beseitigen zumindest die 
falschen Ansichten mit 17 Uhr im Backend nicht.

Hat da jemand Anders vielleicht eine Lösung zu?

Liebe Grüße, Sebastian
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] Caching von Webserviceantworten

2017-08-14 Diskussionsfäden Stephan Schuler
Hallo!

Es wäre schön, wenn ich Dich mit Namen ansprechen könnte. Ein sinnvoller 
Absender und eine Grußformel an Ende wäre dabei hilfreich.

Ich würde das nach Möglichkeit entkoppeln und per Scheduler synchronisieren.

Eine Synchronisation zur Laufzeit mit gleichzeitigem lokalem persistenten Model 
ist keine gute Idee, dann machst Du alles von Hand. Angefangen damit, dass Du 
Dir überlegen musst, welcher dieser Requests jetzt diese Daten aktualisieren 
muss und welche nicht. Sprich: Du musst Dir bei jedem Objekt das „last synced“ 
merken um zu entscheiden, ob das zu synchronisieren ist oder nicht. Natürlich 
hat der Datensatz bereits das Attribut „tstamp“ womit die letzte Modifikation 
in der Datenbank gemeint ist. Aber dieser tstamp gehört ja eigentlich nicht in 
deine Domäne. Das ist ein Hilfsmittel, ein Werkzeug. Ein eine Object-Property 
des Extbase Domain-Models würde ich den tstamp nicht mappen solange er nicht 
wirklich im Frontend für den Benutzer als „letzte Änderung: Vor 15 Minuten“ 
o.ä. angezeigt werden soll.
Wenn Du die Synchronisation in einen Scheduler packst ist klar: Jedes Mal wenn 
der läuft synchronisiert der.

Die Aufteilung in den Teil der sich geändert hat und den Teil der sich nicht 
geändert hat kannst Du im Scheduler immer noch durchführen. Lass Dir eine Liste 
aller Objekte geben, evtl. mit reduziertem Datenumfang. Diejenigen die im 
SOAP-Request ein Änderungsdatum neuer als tstamp lokal haben sind lokal zu 
aktualisieren. Die die im SOAP-Request ein Änderungsdatum älter als tstamp 
haben kannst Du in Ruhe lassen. Die die lokal existieren aber nicht über den 
SOAP-Request kommen musst Du lokal löschen.
Insbesondere die Entscheidung welches Objekt ggf. zu löschen ist kannst Du nur 
über Bande treffen wenn Du im Controller des Frontend-Requests synchronisierst.

Weiterhin bringt Dir bei der Synchronisation im Frontend die Extbase-Persistenz 
eigentlich keinen relevanten Vorteil. Wenn Du stattdessen den Plugin eine 
Stunde lang als HTML-Snippet cachen kannst, genügt es, die Objekte oer SOAP zu 
holen, an Fluid zu übergeben und nach dem PHP-Request wieder zu vergessen.

Der dritte, weit schlimmste Nachteil der Synchronisation im Controller ist, 
dass Du Deine Frontend-Laufzeit von fremden Servern abhängig machst. Wenn der 
SOAP-Server mal nen schlechten Tag hat und ein paar Sekunden für die Antwort 
braucht, oder gar nicht antwortet, weil irgendwas hängt, dann hängt auch Dein 
Frontend. Solange Du Deine Daten nicht in der Datenbank als geändert schreibst 
(sprich: die Nicht-Antwort des SOAP-Servers als leeres Result und damit 
Löschanweisung interpretierst) bedeutet das für Dein Frontend, dass mehrfache 
Anfragen im Frontend jeweils parallel auf die Idee kommen, für die 
Synchronisation zuständig zu sein, und alle hängen am hängenden SOAP-Server 
fest.
Dein Webserver hat ja nicht unendlich viel Arbeitsspeicher und kann damit nicht 
unendlich viele PHP-Prozesse gleichzeitig bedienen. Wenn Du für das 
Betriebssystem 1GB RAM abziehst und jedem PHP-Prozess 64MB RAM spendierst 
kansnt Du Dir ausrechnen, wie viele parallele PHP-Prozesse Du Dir erlauben 
kannst ohne dass der Server swappen muss. Die Zahl liegt mit großer 
Wahrscheinlichkeit im unteren zweistelligen Bereich.
Wenn die Seite mit der Tabelle jetzt etwas Load hat, vielleicht vom ein oder 
anderen Crawler gefunden wird, wenn Du jetzt auch noch ungeduldige 
Webseitenbesucher hast die nach 10 Sekunden Ladekringel gleich auf reload 
drücken, dann hast Du sehr schnell alle Deine PHP-Prozesse damit belegt, auf 
den nicht mehr reagierenden SOAP-Server zu warten. Ab diesem Zeitpunkt sind 
Frontend und Backend nicht mehr erreichbar.

Um Himmels Willen führ Kommunikation mit fremden Servern erstens mit dem 
geringstmöglichen Timeout durch und zweitens sofern nur irgend möglich 
asynchron.

Beste Grüße,
Stephan.


Stephan Schuler
Web-Entwickler | netlogix Web Solutions

Telefon: +49 (911) 539909 - 0
E-Mail: stephan.schu...@netlogix.de
Web: websolutions.netlogix.de




Neu: Wir sind Amazon Web Services Partner. Mehr erfahren:
https://websolutions.netlogix.de/technologie/amazon-web-services-aws





netlogix GmbH & Co. KG
IT-Services | IT-Training | Web Solutions
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: i...@netlogix.de | Web: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Matthias Schmidt



___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] DRK Musterseite mit Typo3 7.6 Probleme

2017-08-14 Diskussionsfäden Frank Herold

Hallo zusammen,

ich hoffe sehr, dass ich hier Hilfe finden werde, da ich mich derzeit sehr mit 
Typo3 rumärgere. Ich hab keine Erfahrung damit und
komme dazu noch aus einer verwöhnten Wordpress / Joomla Welt :)

Ich bin damit beauftragt worden für unseren DRK Ortsverein Typo3 7.6 aufzusetzen. 
Soweit so gut. Installation, Datenbank Import, Import der Musterseiten scheint 
soweit geklappt zu haben...hoffe ich. Hoster ist 1&1, PHP Version 5.6 oder 7.0, 
beides schon probiert.
PHP.ini mit folgenden Werten liegt im Typo3 Verzeichnis:

memory_limit >= 256M
max_execution_time >= 240s
max_input_vars >= 1500
compilation option disable-ipv6 must not be used

Jetzt wirft mir Typo3 beim Aufruf der Seite folgende Meldung, meine anderen 
Seiten scheinen auch nicht wirklich vollständig zu sein:


Uncaught TYPO3 Exception
#1289386765: Could not analyse class: 
"Drk\DrkTemplate\ViewHelpers\ImageInterchangeViewHelper" maybe not loaded or no 
autoloader? PHP Warning: Declaration of 
Drk\DrkTemplate\ViewHelpers\ImageInterchangeViewHelper::render($src = NULL, 
$interchangeSettings = NULL, $treatIdAsReference = false, $image = NULL) should be 
compatible with TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper::render($src = NULL, $width = 
NULL, $height = NULL, $minWidth = NULL, $minHeight = NULL, $maxWidth = NULL, $maxHeight = 
NULL, $treatIdAsReference = false, $image = NULL, $crop = NULL, $absolute = false) in 
/homepages/2/d120002940/htdocs/CMS_neu/typo3_src-7.6.21/typo3conf/ext/drk_template_2016/Classes/ViewHelpers/ImageInterchangeViewHelper.php
 line 20 (More information)

TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException thrown in 
file
/homepages/2/d120002940/htdocs/CMS_neu/typo3_src-7.6.21/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php
 in line 37.

Die Hilfe Seite von Typo3 bringt mich kein Stück weiter. Hat jemand ne Idee? 
Wie gesagt: die Subseiten der DRK-Musterseiten scheinen von der Struktur her zu 
gehen, es fehlen allerdings Bilder und es sieht chaotisch aus.

Grüße
Frank
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Eigene Gallery Settings

2017-08-14 Diskussionsfäden sascha sagichnet

Hallo Typo3 Freaks ;),
ich bin noch neu in Typo3 und auch noch relativ unerfahren was Typoscript 
angeht.
Ich habe in meinem aktuellen Projekt ein kleines Problem mit den Gallery 
Settings der Content Elements.
Gäbe es einen weg eine eigene Einstellung zu erstellen die später auch Update 
sicher wäre?
Aktuell trete ich auf der stelle und komm nicht so richtig weiter.

Gruß
Konzule
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: ckeditor .yaml: contentsCSS auf .css in fileadmin verweisen lassen

2017-08-14 Diskussionsfäden Irgendwas mit E

Danke Dir, gut zu wissen für die Anwendung in TypoScript. In der .yaml 
funktioniert das offenbar nicht. Oder ich stelle mich zu doof an. Hier der Code 
meinerr .yaml:

#Das funktionierte:
#contentsCss: "../fileadmin/t3/css/rte.css"

#Präfix "1:" funktionert nicht:
contentsCss: "1:t3/css/rte.css"
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: ckeditor: Auswahllisten Stil und Format haben keinen Eintrag zur Abwahl

2017-08-14 Diskussionsfäden Irgendwas mit E

Im alten RTE sah der Listeneintrag für das Entfernen eines Stils so aus: 
http://www.typo3-handbuch.net/?id=212
So hätte ich es mir gewünscht.

Von selbst wäre ich nicht drauf gekommen - aber um einen Blockstil abzuwählen, 
muss man ihn wiederholt in der Liste anklicken. Der Listeneintrag funktioniert 
also wie ein An/Aus-Knopf.



___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: backend seite nicht erreichbar oder wird umgeleitet

2017-08-14 Diskussionsfäden Webdesigner

Quote: Webdesigner (typo3userberlin) wrote on Mon, 12 September 2016 16:36

Beitrag wurde gelöscht



--
- Heute standen wir noch am Abgrund - morgen sind wir ein Stück weiter -
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Horizontales Drobdown Menu -aber wie

2017-08-14 Diskussionsfäden Webdesigner

Beitrag gelöscht


--
- Heute standen wir noch am Abgrund - morgen sind wir ein Stück weiter -
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Backend - weisse seite !

2017-08-14 Diskussionsfäden Webdesigner

Quote: Webdesigner (typo3userberlin) wrote on Wed, 30 October 2013 15:20

Beitrag wurde gelöscht














___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Caching von Webserviceantworten

2017-08-14 Diskussionsfäden f zuerker

Ok, mit so einer ausführlichen Atnwort hab ich nicht gerechnet. Danke!

Quote: Stephan Schuler wrote on Fri, 11 August 2017 14:02



Eine Variante wäre, die Remote-Daten als lokale Domäne abzubilden und per 
Scheduler einen Import zu bauen. Wenn z.B. ein beliebiges JSON- oder XML-Format 
verwendet wird um Daten bereitzustellen die in TYPO3 als News angezeigt werden 
sollen bietet es sich ja an, alle paar Minuten die Daten remote abzufragen und 
in lokale News-Records zu überführen.

Der Vorteil daran ist natürlich, dass man keinen gesonderten Renderingprozess 
für diese News konfigurieren muss, wenn es ohnehin schon anderweitige, lokale 
News gibt.


Das ist der Weg, den ich so jetzt auch gegangen wäre.
Vorab zum Verständnis grad nochmal was ich brauche: Ich möchte eine Extension 
bauen, die den Redakteuren ein Frontend Plugin zur Verfügung stellt, welches 
sie auf beliebigen Seiten einfügen können. Dieses Plugin soll letztendlich 
Daten eines Webservice (genauer handelt es sich dabei um Veranstaltungsdaten 
(Termin, Ort, etc.)) tabellarisch aufbereiten und anzeigen. Der Redakteuer 
hätte in der Plugin Konfiguration gewisse Einstellungsmöglichkeiten, was genau 
angezeigt werden soll (aus diesen Einstellungen wird die Request für den 
Webservice gebaut). Die angezeigten Daten müssen von Zeit zu Zeit aktualisiert 
werden (nehmen wir als Richtwert mal an das die Daten immer 1 Stunde lang 
gültig sind).
Stellt sich für mich nur noch die Frage, ob ich die Aktualisierung der 
Remote-Daten per Scheduler oder im Controller durchführe. Ersteres scheint mir 
eigentlich der sauberere Weg zu sein, allerdings sehe ich beim Controller den 
Vorteil, dass nur Einträge aktualisiert werden, die auch abgefragt werden. 
Seiten mit dem Plugin, die nicht aufgerufen werden, müssen ja nicht aktuell 
sein. Nachteil wäre halt, dass es jede Stunde einen Nutzer trifft, der einige 
Sekunden warten muss, bis die Remote-Daten neu abgefragt wurden.




Auch wenn man in eine lokale Suche die Remote-Daten integrieren möchte bietet 
sich dieser Schritt an. Wenn man erst einen Import von einer Remote-API in 
lokale Datensätze durchführt, kann im Folgeschritt z.B. ein Solr-Indexing-Task 
die Daten in den Solr schaufeln und sie sind im Frontend über die Suche 
verfügbar.

Dabei sollte der Import natürlich über den TYPO3 DataHandler durchgeführt 
werden, weil das die zentrale Stelle ist, die sowohl eine für Redakteure 
nachvollziehbare History erzeugt also auch der API-Call, an den sich wiederum 
Record-Indexer wie eben Solr hängen um innerhalb von TYPO3 über Datenänderungen 
informiert zu werden. Auch was Caching innerhalb einer TYPO3-Seite betrifft 
(Cache-Tags im Caching-Framework) ist die Verwendung des DataHandler dringend 
angeranten.


Eine Verfügbarkeit der Daten über eine Suche ist nicht nötig.




Eine weitere Möglichkeit ist ein Runtime-Cache. Der API-Aufruf ist sicherlich 
in irgendeiner Form ein HTTP GET-Request. Das heißt hier gibt es eine URL aus 
der sich ein Cache-Identifier ableiten lässt sowie einen Response-Body der der 
Cache-Content sein kann.
Hier rate ich dringend dazu, nicht irgendeine selbst erfundene 
Datenbankstruktur zu verwenden, sondern das Caching-Framework. Für die 
Speicherung der Daten gibt es unterschiedliche Backends, nämlich u.a. 
dateibasiert, datenbankbasiert, memcache oder redis. Je nach Bedarf und 
Verfügbarkeit. Dem Konsumenten des Caches gegenüber stellt man die Daten dan 
entweder über das Variable-Frontend zur Verfügung (z.B. wenn es sich um Array 
oder Objekte handelt) oder über das String-Frontend (wenn der Konsument den 
Text-Body bekommen soll).
Wenn der Cache richtig konfiguriert ist, lässt er sich über die „Clear 
Cache"-Buttons im Backend rechts oben ganz einfach leeren, wodurch das auch von 
Redakteuren bedient werden kann. Oder auch ein „Clear all Caches" wie man es ja 
vermutlich im Rahmen jedes Code-Deployments anstößt (Stichwort CLI-API!) nimmt das 
Caching-Framework, man muss sich also nicht selbst darum kümmern.


Ja, der Webservice wird über eine SOAP-Request angesprochen. Werde mir diese 
Möglichkeit mal genauer ansehen.




In beiden Fällen ist natürlich kein Weg beschrieben, wie Inhaltsänderungen des 
Providers an TYPO3 kommuniziert werden können. Das heißt, dass Du Dir eine 
Cache-Lifetime ausdenken musst die im Zweifelsfall zu kurz oder zu lang ist. 
Eine Lifetime von wenigen Minuten könnte dafür sorgen, dass Du trotzdem an ein 
anbieterseitiges Request-Limit stößt. Eine Lifetime von mehreren Minuten 
dagegen sorgt immer für panische Anrufe von Redakteuren, warum die 
Inhaltsänderung nicht sofort auch in TYPO3 sichtbar ist. Hier sollte es im 
Idealfall Empfehlungen des API-Providers geben an die man sich halten kann. 
Dann lassen sich diese Empfehlungen dem Kunden kommunizieren und die panischen 
Redakteure können mit Fakten beruhigt werden.


Wenn es sich um einen HTTP GET-Request handelt der seinerseits Cache-Header enthält,