Beiträge von Clemens-XS

    Hallo!

    Unter Verwendung der Muster-Scripte, die bei Github unter webRTC hier zu finden sind,

    habe ich jetzt mal eine reine HTML-Musterseite (nicht in Joomla integriert) zusammengesetzt. Darauf wird nicht nur Kamera und Mirkofon getestet, sondern es sollte auch mit einem weiteren Script der Aussteuerungspegel des Mikrofon einschließlich einer Übersteuerungsanzeige realisiert werden.

    Diese Musterseite ist hier zu finden.


    Die Musterseite funktioniert, aber die Übersteuerungs- und Clip-Anzeige funktioniert nicht, obwohl sie ganz zu Beginn ein Mal funktioniert hatte (getestet mit Firefox und Chrome). Trotz intensiver Suche habe ich bis jetzt den Fehler nicht finden können und auch die Analysetools von Firefox haben mir nicht weiter geholfen. Die Musterseite bei Github funktioniert aber einwandfrei.


    Wie kann ich den Fehler am effizientesten finden?

    Hi!

    Und das hier funktionierte leider auch nicht und setzte das ganze Script außer Funktion:

    Code
    async function stopVideo(x) {
      audio: false,
      video: false
      }
    }
    document.querySelector('#stopVideo').addEventListener('click', x => stopVideo(x));

    Deshalb veröffentliche ich jetzt lieber mal das ganze Script - weitgehend im Originalzustand:

    Hi!

    Vielleicht liegt der fehler bereits in der Definition der Variablen:

    Code
    const constraints = window.constraints = {
      audio: true,
      video: true
    };

    Dass also Audio und Video aktiv sind, wird hier definiert und dann im Versuch meines Stop-Befehls wiederholt. Ich müsste also eine andere Constante mit "Constraints" definieren, die audio: und video: als false definieren und damit könnte ich den Stream stoppen.

    Aber wie geht das in diesem Script?

    Hab jetzt die "Stop-Funktion" versucht, wie folgt zu realisieren:

    Code
    async function stopVideo(x) {
      try {
        const stream = await navigator.mediaDevices.getUserMedia(constraints);
        handleSuccess(stream);
        x.target.disabled = true;
      } catch (x) {
        handleError(x);
      }
    }
    document.querySelector('#stopVideo').addEventListener('click', x => stopVideo(x));

    Es funzt nicht, bzw. mein Problem bleibt das Gleiche, wie vor beschrieben. Dies ist unabhängig davon, ob ich x.target.disabled = true oder = false setze.

    try {const stream = .... beduetet doch, dass der Video-Stream über getUserMedia mitsamt der vorher definierten constraints abgerufen wird. Genau dies brauchen wir hier doch wohl nicht, weil genau der gestartete stream gestoppt / beendet werden sollte. Aber wie geht das?


    Mir ist klar: Was ich hier mache, ist Stochern im Nebel, denn ich hab schlicht keine Ahnung von JS.

    Ich hoffe ja, dass jemand sich hiermit auskennt und mir weiter helfen kann.

    OK, nach langen Versuchen hab ich es jetzt endlich geschafft, der Test läuft... und läuft... und läuft...


    Ich benötige noch eine "Stop-Taste" für den Test. :-)


    Der Start-Button wird durch diesen Script-Teil aufgerufen:

    Code
    async function init(e) {
      try {
        const stream = await navigator.mediaDevices.getUserMedia(constraints);
        handleSuccess(stream);
        e.target.disabled = true;
      } catch (e) {
        handleError(e);
      }
    }
    document.querySelector('#showVideo').addEventListener('click', e => init(e));

    Wenn ich also einen Button im HTML definiere:

    <button id="showVideo">Kamera und Mikrofon jetzt testen</button>

    so kann ich damit den Test starten.


    Nun dachte ich, analog dazu könnte doch auch ein Stop-Script angelegt werden:

    Code
    async function init(x) {
      try {
        const stream = await navigator.mediaDevices.getUserMedia(constraints);
        handleSuccess(stream);
        x.target.disabled = false;
      } catch (x) {
        handleError(x);
      }
    }
    document.querySelector('#stopVideo').addEventListener('click', x => init(x));

    für den ich den Button "stopVideo" im HTML genau so definiere.


    Zu meiner Überraschung startet der von mir ausgedachte Button den Test genau so, wie der zum Start des Test genutzte Button.


    Frage: Wie geht es denn richtig?

    Hi!

    Ich kriegs einfach nicht hin ;(, obwohl ich in Github etliche Unterstützung dazu gefunden habe. Mir fehlt das KnowHow, mit Scripten arbeiten und diese ggfs. anpassen zu können.fie


    Was soll erreicht werden?

    Bevor ein Besucher meiner Website versucht, mit mir ein Videotelefonat über Wire.com zu führen, sollte er seine Webcam und deren Mikrofon über meine Joomla-Website ausprobieren können. Ein Beispiel, wie dies in der Praxis gut umgesetzt ist, findet sich hier:

    AV-Test bei Mentavio - Dabei wird Bild und Ton getrennt getestet. Falls möglich, möchte ich dies auf einer einzigen Webseite realisieren.


    Durch Webrecherche fand ich diese Seiten hier:

    Hier die Quellen für webRTC-Code, den ich eigentlich direkt in meine Webseite integrieren können sollte. (Die Betonung liegt auf SOLLTE.):

    Github: WebRTC user get media und den Code dazu hier

    Allerdings fehlt hier noch der Test mit dem Ton der Webcam. Zumindest hatte ich keinen.

    Auf die o.g. Seiten kam ich nach Besuch dieser Website: Capturing Audio & Video in HTML5


    Selbst, wenn ich versuche, die Demo-Webeite aus dem ersten Link in meinem Joomla nachzubauen, funktioniert es nicht. <X


    Ich bitte darum, dass jemand der Script-Kundigen Menschen hier mir die entscheidenden Tipps gibt, um wenigstens die o.a. Demo-Seite in meinem Joomla nachbauen zu können, wobie die nötigen Scripte allerdings aus Gründen der DSGVO komplett auf meinem Joomla-Webspace liegen müssen.

    Ergänzung:

    Im Gegensatz zu Mentavio soll aber meine Website - wenn möglich - den AV-Test auch auf Smartphones unterstützen und dabei die Frontkamera aktivieren. Bei Wire habe ich gesehen, dass dies funktioniert, sofern der Brwoser kompatibel ist.

    Hi!

    Ich möchte über meine Joomla-Website Online-Beratungen anbieten. Nachdem ich mich mit XMPP / Jabber und P2P-Lösungen wie z.B. Ring beschäftigt habe, weiß ich, dass dies nicht infrage kommt. Meine Klienten sind meist nicht technikaffin, aber einen Browser hat jeder und zwar plattformunabhängig. Deshalb also webRTC.

    Ich stelle mir vor, dass meine Klienten zuvor per eMail oder Telefon einen Termin buchen und dann LogIn-Daten erhalten. Zum Termin loggen sie sich mit dem mitgeteilten LogIn auf der webRTC-Webseite ein und stellen so die Verbindung zu mir als Gegenstelle her.

    Das Ganze sollte aber später auch mit kleinen Gruppen von bis zu 10 Teilnehmern möglich sein.


    Unter JED fand ich drei webRTC extensions, die aber allesamt den Datenfluss über ihre Server (in den USA) leiten wollen. Das kommt aus Datenschutzgründen (DSGVO) für mich nicht infrage, auch wenn der Stream verschlüsselt ist. Denn die Metadaten der Verbindung sind ja erfassbar. Die von mir gewünschte Lösung muss über meinen Webserver laufen oder aber eine P2P-Verbindung vermitteln.


    Zu diesem Thema fand ich u.a. folgende Webseiten:

    aus dem Forum Stackoverflow

    etwas Code zum Einfügen... aber wo?

    HTML5ROCKS.com Tutorial

    kleine Demo - aber kein webRTC

    Google-Vortrag über webRTC bei YouTube


    Mir schwirrt der Kopf bei so viel Info. Aber ich kann kaum etwas davon umsetzen, da ich weder das technische Verständnis noch die Zeit dafür habe, mich tief einzuarbeiten. Aber ich kann mir gut vorstellen, dass jemand für meine oben beschriebene Aufgabenstellung bereits eine Lösung entwickelt hat oder hat entwickeln lassen. In letzterem Fall könnte ich ja evtl. diese Lösung kaufen, oder?


    Freundliche Grüße

    Hi!
    Hab den Menüpunkt sichtar gesetzt. Jetzt klappt es mit der richtigen URL. Herzlichen Dank für deinen Tipp!
    Beim Ausprobieren ist auch der Browser-Cache extrem hinderlich und muss auf Null gesetzt werden. Sonst sieht man evtl. trotz F5-Refresh immer noch alte URLs.


    Ich erinnere mich dunkel daran, dass ich vor langer Zeit mal Tipps geesen hatte, dass man einextra Menü bastelt, das aber nicht auf der Website angezeigt wird, dessen Menüpunkte aber doch aktiv / sichtbar geschhaltet sind. Dies soll helfen, korrekte URLs zu erhalten.


    Habe ich diese Idee jetzt richtig beschrieben? - Offensichtlich ja! Ich habe ja noch ein nicht angezeigtes Joomla-übliches Standard-Menü = "Benutzermenü" Da habe ich jetzt diese Punkte reingelegt und es funzt alles mit SEF URLs als Ergebnis. Joomla braucht also die Zugänglichkeit einzelner Seiten über einen Mnüpunkt, damit das Routing funktioniert.


    Bitte um Verzeihung, wenn dies für manchen "Olle Kamellen" sind. Ich arbeite nicht als Webgestalter sondern muss dies notgedrungen nebenher machen. Sobald ich wieder einige Zeit nicht mehr mit Joomla gearbeitet habe, geht die Überlegung wieder los: Wie war das noch mal...? ;)

    Hi!
    Habe den Fehler gefunden: Ich hatte noch das Routing-Plugin von Joomlager aktiviert gehabt. (Bitte nicht hauen!) - Nach Deaktivierung und Deinstallation läuft das Joomla-Routing nun BEINAHE einwandfrei.


    BEINAHE: Denn ich habe immer noch Ärger mit den URLs zu einigen wenigen Beiträgen, nämlich:
    diese URL:
    http://lebenslust-jetzt.de/?vi…ktiker-von-verbot-bedroht
    die eigentlich heißen sollte:
    http://lebenslust-jetzt.de/hei…ktiker-von-verbot-bedroht
    Einen Menüpunkt gibt es zur Kategorie "Heiße Themen", den hab ich aber unsichtbar gesetzt.


    Weil dieser Beitrag in kurzer Zeit extrem besucht worden ist, muss die URL dazu bestehen bleiben. Gewiss wurde ich bereits weiter verlinkt. Daher sah ich mich gezwungen, die gute bisherige URL per redirect 302 in der htaccess auf die jetzt von Joomla generierte URL umzuleiten, die ja beim Navigieren auf der Website so erscheint.
    Den Fehler möchte ich schnell beheben, damit nicht nun neue Besucher die falsch erzeugte URL bookmarken.


    Nicht per redirect behoben habe ich dagegen den URL-Fehler zu diesem weniger wichtigen Beitrag:
    http://lebenslust-jetzt.de/?vi…redeformen-dieser-website
    die richtige URL wäre:
    http://lebenslust-jetzt.de/anredeformen-dieser-website

    Gleiches gilt auch für diese URL:
    http://lebenslust-jetzt.de/com…:uncategorised&Itemid=162
    die richtige URL wäre:
    http://lebenslust-jetzt.de/psy…gische-beratung-qualitaet



    Wenn ich wüsste, wie ich Joomla dazu bringen kann, diese URL neu und richtig zu routen, könnte ich diesen Vorgang auch auf die zuvor beschriebene URL zur Korrektur anwenden.


    Was kann ich tun?

    Meine wichtigste Website habe ich gerade endlich auf 3.8.5 upgedatet. Grund für die Verzögerung war, dass ich bisher noch die URLs mittels ACE-SEF erzeugt hatte und vor dem Joomla-Update alle Metatags aus ACE-SEF in die passenden Joomla-Felder kopieren musste, um sie nicht zu verlieren.
    Nach dieser Aktion habe ich ACE-SEF deinstalliert und die Datenbank von den Resten von ACE-SEF befreit. Erst danach habe ich Joomla korrekt über den Onlie-Updater upgedatet.
    Ja und natürlich habe ich auf das "moderne" Routing geschaltet und die ID-Unterdrückung aktiviert. Hat aber nix genützt:


    Was bei drei anderen Websites auf Anhieb funktioniert hatte, nämlich dass die URLs noch stimmen, das führt hier zum Chaos. Und wenn dieses URL-Chaos noch einige Zeit so bestehen bleibt, werde ich Ranking-Verluste bei Google & Co bekommen und viele Besucher, die meine Seiten gebookmarkt hatten, werden verärgert sein!


    Natürlich habe ich bereits den Joomla Cache mehrfach geleert, den Server-Cache deaktiviert usw., was aber alles nichts gebracht hat!


    Daher brauche ich jetzt dringend hilfreiche Tipps, wie ich z.B. in Joomla den URL-Generierungs-Mechanismus neu anstoßen kann, in der Hoffnung, dass dann die URLs wieder suchmaschinen-freundlich gestaltet sind. Evtl. gibt es ja auch noch andere Möglichkeiten.
    Eine Möglichkeit, alle „schlechten URLs” in der htaccess durch Redirects von den bisherigen guten URLs verfügbar zu machen, dürfte bei rund 150 Seiten ausgeschlossen sein, zumal in der htaccess aus einer sehr frühen Version meiner Website bereits an die 80 Redirects enthalten sind.


    Was kann ich tun?
    Hier die betroffene Website: http://lebenslust-jetzt.de

    Hi!
    Zwei meiner Websites liefen bisher noch mit ACE-SEF, weil ich damit optimale URLs erstellen und zudem zentral alle Metatags (Descriptions) verwalten konnte. Seit Joomla 3.7 kann ACE-SEF die URLs neuer beiträge nicht mehr verwalten. Alle zur Bedienung von ACE-SEF nötigen Icons haben keine Beschriftung und keine Funktion mehr. Aber die Site und die bisher angelegten URLs funktionieren noch.
    Nach Anlegen eines neuen Beitrags war das Menü ohne Funktion und somit 99% der Website nicht mehr nutzbar!


    Nach intensiver Webrecherche fand ich von Hannes Papenberg unter www.joomlager.de ein Plugin, mit dem in einem Joomla 3.7 die neue Routing-Funktionalität von Joomla 3.8 installiert werden kann. Nachdem ich das PlugIn installiert und aktiviert hatte, waren alle Menüpunkte und die Links zu den beiträgen wieder voll funktionsfähig.


    Auf einer der beiden Websites habe ich dann versuchsweise ACE-SEF deinstalliert. Dabei stellte ich fest, dass die zu ACE-SEF zugehörigen Datenbankeinträge nicht gelöscht worden sind. Das holte ich dann manuell nach. Einige URLs änderten sich durch die Deinstallation von ACE-SEF, sodass ich Korrekturen durchführen musste.


    Als ich einen Beitrag öffnete, um die durch die Deinstallation von ACE-SEF verloren gegangenen Metadescription wieder einzufügen, stellte ich fest, dass nun gar keine Felder mehr für Metatags angezeigt wurden! Ich kann also keine Metatags mehr anlegen, was natürlich betr. SEO fatale Wirkung hat!


    Fragen also:
    Hat evtl. ACE-SEF eine PHP-Datei zur Anzeige der Metatag-Felder verändert oder unwirksam gemacht? Wenn ja, welche?
    Wie bekomme ich meine Metatag-Felder bei den Beiträgen zurück?

    Nachdem ich erneut einen Arbeitstag lang mich mit Schema.org beschäftigt hatte, habe ich mich dazu entschlossen, auf derartigen Code in meinen Websites zu verzichten. Dies, obwohl von Google und im neuesten Heft "Webdesign c't" das Einfügen solchen Codes als SEO-Maßnahme dringend empfohlen wird. Man kann mit solchem Code dazu beitragen, dass Google die Angaben in diesem Code als "Rich Snippet" in die Suchergebnisse einfügt.
    Dies ist natürlich verlockend. Aber wenn es mit so viel Aufwand / Einarbeitung verbunden ist, lasse ich einfach die Finger davon, weil es unwirtschaftlich wird!

    Das ist richtig: Aktuelle Browserversionen von Chrome, Firefox usw. beachten die HTTP-Header und verweigern z.B. das Nachladen von Code fremder Websites / Server. Sofern also der Browser des Users aktuell und sein System nicht gehackt ist, erhält der Besucher meiner Website eine zusätzliche Sicherheit.
    Im Rahmen von Sicherheitsinitiativen Dritter könnte meine Website Auszeichnungen betr. Sicherheit erhalten.


    Ich finde die Maßnahme mit den HTTP-Headern sinnvoll, da meine drei aktuellen Websites immer wieder massiven Hackerangriffen ausgesetzt sind. Im Sommer 2016 haben polnische Hacker zwei Sites hacken und mich als Admin aussperren können. Mir blieb nur die vollständige Löschung des kompletten Webspace und der neu-Aufbau meiner Sites. Dabei waren meine Sites stets aktuell gehalten!


    Dass die dritte Site nicht ebenfalls gehackt wurde, hat damit zu tun, dass ich jede Site vom Webspace der anderen durch Quotas trenne, das Admin-Backend nur per https zugänglich ist und Admin-Username sowie Passwort aus 20-stelligen Zeichenketten bestehen.


    Auch zurzeit finden in ca. monatlichen Abständen durchschnittlich vier Angriffe je Woche statt. Bisher haben mich BruteForceStop und _Marcos-SQLI-LFI-Protector geschützt.
    Angesichts dieses Szenarios ist der Einsatz der HTTP-Header gewiss eine gute Idee (zu Gunsten meiner Site-Besucher).


    PS: Haben andere Joomla-Sitebetreiber eigentlich ähnlich intensive Erfahrungen mit Hackern machen müssen?

    Hallo!
    Ich verwende in meiner HTACCESS vier HTTP-Header-Security Settings. Solange diese aktiv sind, kann ich manche Extensions nicht über das Backend updaten wie z.B. die Extensions von RegularLabs (früher NoNumber).
    Auch die Joomla-Update-Prüfung funktioniert nicht, weil offensichtlich keine Verbindung zum Update-Channel aufgebaut werden kann. Erst wenn ich im Backend den Menüpunkt "Joomla-Update prüfen anklicke, gelingt die Verbindung und Update-Prüfung. Das Update selbst kann aber nicht durchgeführt werden, weil nach der erfolgten Datensicherung mit Akeeba kein Download des neuen Joomla erfolgt.


    Ich muss also vor jedem Update-Vorgang per FTP in meine htaccess und die oberen drei Security-Settings deaktivieren (auskommentieren), dann die Updates durchführen und prüfen und anschließend die htaccess wieder zurück ändern.


    Hier die vier Settings:

    Code
    Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' http://meine.piwik-domain.de https://www.initiative-s.de"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Content-Type-Options "nosniff"


    Frage:
    Was muss ich ändern, damit die Updates ohne den oben beschriebenen Änderungsaufwand erfolgen können, die Security-Settings aber weiterhin wirksam bleiben?

    Hallo!
    Gemäß den Empfehlungen im neuen Heft c't Webdesign möchte ich die Metainformationen gemäß Schema.org im ld+json-Format einfügen.
    Aber wo in Joomla kann ich diese Infos einfügen?


    Die einzige Stelle, die mir dazu einfällt, ist die default.php des von mir verwendeten Templates.
    Ist das sinnvoll, dort diese Meta-Infos einzufügen oder gibt es noch eine bessere Möglichkeit?


    (uuuups, das sollte in eine andere Forenrubrik)

    Hallo Christiane!
    Habe gerade dies hier gefunden:
    https://www.joomlashack.com/blog/tutorials/new-urls/
    Mit dieser SEO-URL-Erzeugung bin ich voll einverstanden! Hätte es das schon früher gegeben, hätte ich nie eine SEO-Komponente eingesetzt.


    Ich werde also (bis September / Oktober 2017) auf Joomla 3.8 warten und vor dem JoomlaUpdate die SEO-Komponenten deinstallieren und die Datenbank säubern, dann auf Joomla 3.8 updaten und alle URLs mit den bisherigen vergleichen. Wo es Unterschiede gibt, werde ich in der htaccess 301-Umleitungen einfügen.


    Meine bisherigen Erfahrungen mit einer SEO-URL-Komponente waren sehr gut. Seit Joomla 1.5 hatte ich immer ACE-SEF eingesetzt. Die aktuellen beiden Websites hatte ich im Sommer 2015 einem kompletten Redesign in der Menüstruktur und den Kategorien unterzogen und Keywords optimiert - auch die URLs sind Keyword-optimiert. Das hat mir weitere oberste Plätze bei den entsprechenden Keywords eingebracht.
    Einziges Problem bei Joomla 3.8 wird für mich sein, dass ich mir die SEO-URLs von Joomla gemäß dem Alias der Beiträge vorgeben lassen muss. Bis jetzt konnte ich dank der SEO-URL-Komponente manche URLs unabhängig von dem Artikel-Alias neu definieren.


    Ich meld mich ggfs. wieder, wenn der Wechsel auf Joomla 3.8 ansteht. :-)


    Danke für deine Meinung! Clemens