Williwusel: Datum der Aktualisierung an alle Seiten weitergeben

0 62

Datum der Aktualisierung an alle Seiten weitergeben

Williwusel
  • php
  1. 0
    pl
    1. 0
      Williwusel
      1. 0
        pl
        1. 0
          Williwusel
        2. 0
          Williwusel
    2. 0
      Williwusel
      1. -2
        pl
  2. 0
    Der Martin
    • javascript
    1. 0
      Williwusel
  3. 0
    JürgenB
    • css
    1. 1
      Gunnar Bittersmann
      1. 0
        JürgenB
    2. 0
      Williwusel
      1. 0
        Gunnar Bittersmann
        • programmiertechnik
        1. 0
          Williwusel
        2. 0
          Rolf B
  4. 1
    Gunnar Bittersmann
    • php
    • ssi
    1. 0
      Williwusel
      1. 0
        Gunnar Bittersmann
        1. 0
          Williwusel
        2. 0
          Rolf B
          1. 0
            Williwusel
            1. 2
              Rolf B
              1. -1
                pl
                1. 0
                  Gunnar Bittersmann
                2. 0
                  Der Martin
                3. 0
                  Robert B.
                  • ssi
    2. -1
      pl
      1. 1
        Gunnar Bittersmann
        1. 0
          pl
          1. 0
            Matthias Apsel
        2. 0
          pl
          1. 0
            Tabellenkalk
          2. 0
            JürgenB
          3. 0
            Robert B.
            1. 0
              pl
              1. 0
                Robert B.
      2. 0
        Robert B.
        1. 0
          pl
          1. 1
            Gunnar Bittersmann
            • ssi
            1. 0
              pl
              1. 0
                Gunnar Bittersmann
                • zu diesem forum
          2. 0
            Robert B.
            • php
            • sprache
            • ssi
            1. -1
              pl
              1. 3
                Rolf B
                1. 0
                  pl
                  1. 0
                    Robert B.
                    • php
                    • ssi
                    • zu diesem forum
    3. 0
      Der Martin
      1. 0
        pl
        1. 1
          Der Martin
        2. 2
          Gunnar Bittersmann
        3. 0
          Robert B.
          1. 0
            pl
            1. 1
              Gunnar Bittersmann
  5. -1

    Lösung mit Apache 2.4 und mod_sed (Erfordert Admin-Rechte)

    Raketenwissenschaftler
    1. 0

      Lösung mit Apache 2.4 und mod_sed ist „nicht für jeden“

      Raketenwissenschaftler
      1. 0
        Rolf B
        1. 0
          Raketenwissenschaftler
        2. 0

          Ohne Aufwand „nicht messbar“

          Raketenwissenschaftler
          1. 0
            Rolf B
          2. 0

            Nachtrag: Tests mit Befehl originalem sed (nicht mod_sed)

            Raketenwissenschaftler

Hallo,ich will das Aktualisierungsdatum/Version aller meiner bearbeiteten Seiten.html mit einer (1) Eingabe in der format.css ändern (ohne php). Hab so die Idee, wenn ich das Aktualisierungdatum ändere in der format.css , dass dann beim Neustart der Sartseite das geänderte Datum auch auf den anderen Seiten erscheint.

Die Variable 'Version' soll auf allen anderen Seiten das eingetragene Datum der letzten Änderung anzeigen.

Ich denke da an eine einfache Lösung! und bin dankbar für eine solche.

  1. Eine einfache Lösung gibt es hierzu nicht. Und auch keine Lösung per CSS, das ist dafür gar nicht zuständig.

    Im Prinzip gibt es 2 Möglichkeiten, das Datum zu verwalten und damit umzugehen:

    1. über das Dateidatum einer jeden Einzelseite (sofern das überhaupt Dateien sind)
    2. über eine vom Dateidatum unabhängige Verwaltung

    Und die 3. Möglichkeit ist, das Datum zu faken.

    MFG

    1. na es hat nur entfernt mit dem Datum zu tun - es soll halt der Inhalt dieser Variablen auf allen anderen Seiten dargestellt werden

      1. na es hat nur entfernt mit dem Datum zu tun - es soll halt der Inhalt dieser Variablen auf allen anderen Seiten dargestellt werden

        Wo hast Du denn diese Variable? Wenn Du eine Solche hast, natürlich ist es dann kein Problem die auf Seiten einzubauen. Mach' ich ja schließlich auch 😉

        MFG

        1. noch hab ich keine - nur gedanklich eine Vorstellung - für die Umsetzung fehlt mir jetzt die Idee

        2. das/ein Datum wäre der Wert der Variablen

    2. wie würde das aussehen?

      1. Dieser Beitrag wurde gelöscht: Der Beitrag ist außerhalb des durch dieses Forum abgedeckten Themenbereichs.
  2. Hallo,

    ich will das Aktualisierungsdatum/Version aller meiner bearbeiteten Seiten.html mit einer (1) Eingabe in der format.css ändern (ohne php).

    wieso stellst du die Frage dann mit dem Tag "PHP"?

    Hab so die Idee, wenn ich das Aktualisierungdatum ändere in der format.css, dass dann beim Neustart der Sartseite das geänderte Datum auch auf den anderen Seiten erscheint.

    Mit CSS legst du Formatierung und Gestaltung fest, aber keine Inhalte (bzw. nur in Ausnahmefällen). Wenn ich dich richtig verstehe, willst du aber eine Information (ein Änderungsdatum) zentral an einer Stelle pflegen und dann auf jeder Seite anzeigen.

    Da könnte ich mir z.B. eine Lösung mit Javascript vorstellen. Käme das für dich in Frage?

    Die Variable 'Version' soll auf allen anderen Seiten das eingetragene Datum der letzten Änderung anzeigen.

    Also wohl tatsächlich Javascript.

    Ich denke da an eine einfache Lösung!

    Naja, einfach ist relativ. :-)

    Ciao,
     Martin

    --
    Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
    1. ja, so ist mein Gedanke

  3. Hallo,

    du könntest mit dem Pseudoelement ::after das Datum an den body hängen.

    Gruß
    Jürgen

    1. @@JürgenB

      du könntest mit dem Pseudoelement ::after das Datum an den body hängen.

      Keine so gute Idee. Es heißt CSS (cascading style sheets), nicht CCS (cascading content sheets).

      Screenreader verhalten sich AFAIK unterschiedlich: manche lesen CSS-generierten Inhalt vor, andere nicht.

      LLAP 🖖

      --
      Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
      1. Hallo Gunnar,

        du könntest mit dem Pseudoelement ::after das Datum an den body hängen.

        Keine so gute Idee. Es heißt CSS (cascading style sheets), nicht CCS (cascading content sheets).

        Screenreader verhalten sich AFAIK unterschiedlich: manche lesen CSS-generierten Inhalt vor, andere nicht.

        daran habe ich auch gedacht, fand es aber in diesem Fall nicht so schlimm, da ich das Datum als nicht so wichtig angesehen habe.

        Gruß
        Jürgen

    2. ja, wie soll das funktionieren? Ich dachte an eine Variable V die z.B. den Wert 12.02.2020 hat und diese Variable soll auf anderen Seiten erscheinen...

      1. @@Williwusel

        Ich dachte an eine Variable V die z.B. den Wert 12.02.2020 hat und diese Variable soll auf anderen Seiten erscheinen...

        Die Variable sollte den Wert 2020-02-12 haben. Die Umwandlung in ein lokales Datumsformat geschieht bei der Ausgabe, nicht vorher.

        LLAP 🖖

        --
        Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
        1. ja gut aber am Datumsformat soll es nicht liegen, denn wie der Wert der Variablen heisst ist bestimmt nicht ans Datumformat gebunden - ein Zahlenwert einer Variablen V wird auf einer Seite X,Y,Z mit dem eingegebenen Wert angezeigt.

        2. Hallo Gunnar,

          wenn Du auf internationale Datumregeln und locale-spezifische Darstellung abzielst, ja ok.

          Das setzt dann aber auch eine mehrsprachige Versionen der Seite voraus, mit allem Aufwand für die Auswahl der unterstützten locales. Wer nach einer einfachen Lösung fragt, hat dieses Problem (hoffentlich) nicht.

          Eine rein deutsche Seite kann man auch mit einem Text als Änderungsdatum bedienen. Dann muss man nichts programmieren.

          Rolf

          --
          sumpsi - posui - clusi
  4. @@Williwusel

    (ohne php)

    Warum?

    Das wäre die bevorzugt einzusetzende Technologie (oder eine andere serverseitige Technik, z.B. Server Side Includes).

    LLAP 🖖

    --
    Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
    1. ... das hab ich keine Erfahrung damit ...

      1. @@Williwusel

        [PHP] ... das hab ich keine Erfahrung damit ...

        Das ist keine gute Begründung, eine für diesen Zweck geignete Technik nicht einzusetzen und stattdessen eine für diesen Zweck ungeeignete zu verwenden.

        Das ist aber eine gute Gelegenheit, dir etwas Erfahrung mit dieser Technik anzueignen.

        LLAP 🖖

        --
        Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
        1. ... wollte damit nur sagen: ich würde es schon auf einen gutwilligen Versuch meinerseits ankommen lassen!

        2. Hallo Gunnar,

          PHP würde aber bedeuten, die HTML Seiten allesamt auf PHP umzustellen. Dafür müsste man auch alle Links auf foo.html in foo.php ändern - und wer weiß, wieviele Wilde Wusel Willis ein Lesezeichen auf die HTML Seite gesetzt haben und dadurch im 404-Sumpf landen.

          Man kann sicherlich den Apache auch soweit martern, dass er .html ebenfalls durch den PHP Interpreter jagt - aber es ist doch die Kanone für den Spatz. Und Williwusel macht den Eindruck, als ginge es ihm um Inhalte, und Programmcode ist eine unbegreifliche Fremdsprache...

          SSI gefällt mir - sofern verfügbar - da noch am besten.

          Dass eine CSS Rule

          .updateDate::after {
              content: "01.04.2020";
          }
          

          nicht von allen Screenreadern vorgelesen wird, ist natürlich doof. DAS wäre am schönsten.

          Aber der OP könnte uns sagen, wie wichtig dieses Datum für den Inhalt der Seite ist. Ggf. nicht so sehr, dass man es einigen Nutzern vorenthalten kann?

          Martin regte noch JavaScript an. Das würde ich als die schlechtere Wahl ansehen. Man KANN zwar mit einem kleinen Script die Versionsdatei vom Server holen und den Inhalt in den Footer einblenden, aber wenn das JS beim Leser nicht ausgeführt wird, war das nix.

          Bevor jetzt noch jemand anregt, per img Element ein Bild vom Server zu ziehen, in dem das Änderungsdatum steht - bitte nicht. Dann lieber die CSS content-Lösung, da besteht wenigstens eine halbe Chance auf Accessibility.

          Williwusel - du hast einen Teil der Möglichkeiten wegen Mangel an Erfahrung zurückgewiesen. Womit hast Du denn Erfahrung?

          Rolf

          --
          sumpsi - posui - clusi
          1. huu, da muss ich erstmal schlucken... ich suche tatsächlich einen Weg zum Ergebnis. Es ist ein einfachen Weg bei/mit html allerdings mit offenbar einigen Lücken...

            Es muss ja kein Datumsformat sein! sondern diese Variable "V" mit dem Wert z.B.: "12.02.2020" soll diesen Werte auf den Seiten z.B.: X,Y,Z auslesen/anzeigen

            1. Hallo Williwusel,

              was reitest Du eigentlich immer so hartnäckig auf der "Variablen" herum? Hast Du irgendwo etwas gelesen, worauf Du Dich jetzt versteifst? Manchmal glaube ich, dass Du vieles nicht verstehst, was wir hier schreiben. Deswegen fragte ich nach deinen Kenntnissen, damit wir so schreiben können, dass Du es auch verstehst.

              HTML kennt keine Variablen. Punkt. Kein Aber. SSI - was in HTML eingebettet wird - kennt welche, dazu gleich mehr.

              CSS kennt die variabloiden custom properties, aber ein ::after Element mit contents-Eigenschaft ist ja als Nichtlösung identifiziert (CSS ist nicht für Inhalte da, Assistenztechniken können scheitern - du kannst auch Markierungslinien in rot und grün anbringen und dich wundern, warum Farbenblinde sich verirren).

              PHP kennt Variablen. Andere Serversprachen (Perl, Python, Ruby, C#, Java) natürlich auch. Eine Lösung auf diesem Weg bedeutet Aufwand, Folgeprobleme und setzt Erfahrungen (=Kenntnisse) voraus, die Du nach eigenem Bekunden nicht hast.

              JavaScript kennt Variablen. Du könntest auf jeder HTML Seite ein Miniscript einbinden, dass das Änderungsdatum als Variable setzt, und den Wert an der gewünschten Stelle einsetzen. Die diesbezüglichen Kenntnisse musst Du auch erstmal haben, und es lässt sich auf unterschiedliche Weise umsetzen, aber von der Methode ist ebenfalls abzuraten, weil JavaScript nicht sicher ausgeführt wird.

              SSI (Server Side Includes) kennt Variablen, die mit echo ausgegeben werden können. Variablen kannst Du mit dem SetEnv Befehl in einer .htaccess Datei setzen (es wird bei StackOverflow behauptet, die Namen solcher Variablen müssten mit HTTP_ beginnen) oder mit dem set Befehl von SSI. Wenn Du aber schon SSI verwendest, ist eine Variable wahrscheinlich unnötig, weil Du den Textblock mit dem Änderungsdatum einfach an Ort und Stelle mit include hereinholen kannst.

              SSI sollte für Dich das Mittel der Wahl sein. Andere Methoden sind nur dann relevant, wenn dein Hoster SSI nicht anbietet. Und wenn er es anbietet, muss es ggf. noch aktiviert werden, das ist ein Modul im Webserver (z.B. Apache), das aktiviert werden muss. Und es greift aus Performancegründen nicht automatisch für .html Dateien, das muss man extra aktivieren.

              Rolf

              --
              sumpsi - posui - clusi
              1. hi @Rolf B

                was reitest Du eigentlich immer so hartnäckig auf der "Variablen" herum?

                Er meint Platzhalter. Und die Technik hierzu heißt, um die hier endlich mal erstmalig zu nennen: Template+Engine. Und diese Technik hat weder mit JS, noch mit CSS noch mit SSI noch mit PHP was zu tun. Und auch nicht mit HTTP und noch nicht einmal mit HTML.

                MFG

                1. @@pl

                  Er meint Platzhalter. Und die Technik hierzu heißt, um die hier endlich mal erstmalig zu nennen: Template+Engine.

                  Oh, du großer Held, wir danken dir für die Erleuchtung.

                  Und diese Technik hat weder mit JS, noch mit CSS noch mit SSI noch mit PHP was zu tun.

                  Ach, eine Template-Engine steht so ganz für sich allein? Oder muss die doch irgendwie implementiert werden, z.B. mit JavaScript oder mit SSI oder mit PHP?

                  LLAP 🖖

                  --
                  Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
                2. Er meint Platzhalter. Und die Technik hierzu heißt, um die hier endlich mal erstmalig zu nennen: Template+Engine.

                  Amen.

                3. Moin,

                  was reitest Du eigentlich immer so hartnäckig auf der "Variablen" herum?

                  Er meint Platzhalter. Und die Technik hierzu heißt, um die hier endlich mal erstmalig zu nennen: Template+Engine.

                  mod_include ist eine Engine und die entsprechenden SHTML-Seiten können ein Template sein.

                  Viele Grüße
                  Robert

    2. Das wäre die bevorzugt einzusetzende Technologie (oder eine andere serverseitige Technik, z.B. Server Side Includes).

      Empfiehlst Du immer noch diesen Schrott? MFG

      1. @@pl

        Empfiehlst Du immer noch diesen Schrott?

        Wenn der Server SSI unterstützt, sind die für diesen Zweck geeignet. Man muss dann nicht die PHP-Maschine anwerfen.

        LLAP 🖖

        --
        Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
        1. Empfiehlst Du immer noch diesen Schrott?

          Wenn der Server SSI unterstützt, sind die für diesen Zweck geeignet.

          SSI war schon immer Schrott. Gerade in der Zeit wo das hie und da zu einer Modeerscheinung wurde (sprich: Vor 20 Jahren), hat SSI jede Seite lahmgelegt.

          Man muss dann nicht die PHP-Maschine anwerfen.

          Wenn man seinen Besuchern keine langen Ladezeiten zumuten will schon.

          MFG

          1. Hallo pl,

            SSI war schon immer Schrott. Gerade in der Zeit wo das hie und da zu einer Modeerscheinung wurde (sprich: Vor 20 Jahren), hat SSI jede Seite lahmgelegt.

            Kann ich nicht bestätigen.

            Bis demnächst
            Matthias

            --
            Du kannst das Projekt SELFHTML unterstützen,
            indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
        2. Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

          MFG

          1. Hallo,

            Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

            Weil?

            Gruß
            Kalk

          2. Hallo,

            Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

            echt? Ich habe das aber so mal vor Jahren erfolgreich umgesetzt.

            Gruß
            Jürgen

          3. Moin,

            Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

            Aha – genau dafür scheint es mir hingegen gerade optimiert. Aber du kannst ja mal deinen Standpunkt sachlich erläutern.

            Viele Grüße
            Robert

            1. Moin,

              Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

              Aha – genau dafür scheint es mir hingegen gerade optimiert. Aber du kannst ja mal deinen Standpunkt sachlich erläutern.

              Lösung steht hier

              Lesenswert!

              1. Moin,

                Im Übrigen kann SSI gar nicht die Lösung sein für ein Stück Text was zentral verwaltet auf allen Seiten erscheinen soll.

                Aha – genau dafür scheint es mir hingegen gerade optimiert. Aber du kannst ja mal deinen Standpunkt sachlich erläutern.

                Lösung steht hier

                Lesenswert!

                Der Kommentar von Jürgen ist durchaus lesenswert, ja, aber er widerspricht dir.

                Viele Grüße
                Robert

      2. Moin,

        Das wäre die bevorzugt einzusetzende Technologie (oder eine andere serverseitige Technik, z.B. Server Side Includes).

        Empfiehlst Du immer noch diesen Schrott? MFG

        Super konstruktiver Beitrag.

        Viele Grüße
        Robert

        1. moin,

          Empfiehlst Du immer noch diesen Schrott? MFG

          Super konstruktiver Beitrag.

          Die Technik SSI war schon vor 20 Jahren veraltet! Schrott ist nur eine andere Bezeichnung für Sowas.

          MFG

          1. @@pl

            Die Technik SSI war schon vor 20 Jahren veraltet!

            „Veraltet“ heißt durch eine andere Technik abgelöst. Welche wäre das?

            LLAP 🖖

            --
            Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
            1. Die Technik SSI war schon vor 20 Jahren veraltet!

              „Veraltet“ heißt durch eine andere Technik abgelöst. Welche wäre das?

              Hab ich doch geschrieben!

              MFG

              1. @@pl

                Die Technik SSI war schon vor 20 Jahren veraltet!

                „Veraltet“ heißt durch eine andere Technik abgelöst. Welche wäre das?

                Hab ich doch geschrieben!

                Die Baumstruktur ist für dieses Forum nicht geeignet. Wir brauchen allgemeinere Graphen. @Christian Kruse, bitte tu was, dass man sich hier im Kreis drehen kann! 🤣

                LLAP 🖖

                --
                Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
          2. Moin,

            Die Technik SSI war schon vor 20 Jahren veraltet!

            Das kommt wohl darauf an, was man machen möchte.

            Schrott ist nur eine andere Bezeichnung für Sowas.

            Schrott und veraltet beschreibt unterschiedliche Dinge – Dampflokomotiven sind veraltet, aber oft nicht Schrott, während ein Neuwagen nach einem Unfall oft Schrott ist.

            Viele Grüße
            Robert

            1. während ein Neuwagen nach einem Unfall oft Schrott ist.

              SSI war der Unfall. Und Embedperl war auch so einer. Immerhin haben manche Entwickler daraus gelernt und entwerfen sogar Muster nach denen man Code vom Layout sauber trennt.

              MFG

              1. Hallo pl,

                aber Williwusel hat gar keinen Code. Er will auch keinen Code, wenn ich ihn richtig verstehe. Er will eine einfache, problemlose Lösung. Was anerkanntermaßen schwierig ist. Ich mutmaße auch, dass er eine Copy+Paste Lösung sucht, weil ihm für mehr die Kenntnisse fehlen.

                Das Verstehen ist allerdings nicht so einfach, weil sein Genuschel über seine Absichten und Möglichkeiten in dem Versuch, deine Äußerungen zu überbrüllen, völlig untergeht.

                Du hast deinen Vorschlag "Template Engine" gemacht. Er wurde kritisiert und verteidigt. Könnten wir ihn damit erstmal reifen lassen und dem Fragesteller die Entscheidung überlassen? Bzw. erstmal herausbekommen, auf welchen Voraussetzungen man überhaupt aufsetzen kann? Dazu müsste etwas Ruhe einkehren.

                Rolf

                --
                sumpsi - posui - clusi
                1. Du hast deinen Vorschlag "Template Engine" gemacht. Er wurde kritisiert und verteidigt

                  Weder noch! Er wurde gelöscht!

                  Könnten wir ihn damit erstmal reifen lassen und dem Fragesteller die Entscheidung überlassen?

                  Das ist jetzt ein Witz oder!?

                  MFG

                  1. Moin,

                    Du hast deinen Vorschlag "Template Engine" gemacht. Er wurde kritisiert und verteidigt

                    Weder noch! Er wurde gelöscht!

                    der nicht.

                    Könnten wir ihn damit erstmal reifen lassen und dem Fragesteller die Entscheidung überlassen?

                    Das ist jetzt ein Witz oder!?

                    Ich denke nicht, denn der TO ist derjenige, der gefragt und damit die letzte Entscheidung hat.

                    Viele Grüße
                    Robert

    3. Hallo Gunnar,

      Das wäre die bevorzugt einzusetzende Technologie (oder eine andere serverseitige Technik, z.B. Server Side Includes).

      meines Wissens bieten heutzutage die meisten Hoster (zumindest in den Basispaketen) gar kein SSI mehr an - mangels Nachfrage. PHP ist dagegen meist inclusive.

      Das ist - von technischen Argumenten ganz abgesehen - mein Grund, SSI gar nicht zu erwähnen, geschweige denn zu empfehlen.

      Ciao,
       Martin

      --
      Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
      1. moin

        SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben. Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

        Die Idee des OP geht schon in die richtige Richtung das über eine Datei zu machen die ohnehin eingebunden wird, so daß man die Seiten eben nicht einzeln bearbeiten muss.

        MFG

        1. Hallo,

          SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben. Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

          das schon, aber nur einmalig. Danach braucht man immer nur die include-Datei zu pflegen und der geänderte Inhalt erscheint überall, wo er stehen soll.

          Die Idee des OP geht schon in die richtige Richtung das über eine Datei zu machen die ohnehin eingebunden wird, so daß man die Seiten eben nicht einzeln bearbeiten muss.

          Ja, aber Inhalte in einer CSS-Ressource? Klar, das ist mit der content-Eigenschaft möglich. Aber nicht alles, was technisch möglich ist, ist auch sinnvoll. Bei einer Änderung käme ich nicht auf die Idee, den zu ändernden Inhalt im Stylesheet zu suchen.

          Ciao,
           Martin

          --
          Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
        2. @@pl

          SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben.

          Die Aussage wird auch durch penetrante Wiederholung nicht richtiger.

          Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

          Einmalig, natürlich. Wie man es bei PHP genauso müsste.

          Die Idee des OP geht schon in die richtige Richtung das über eine Datei zu machen die ohnehin eingebunden wird, so daß man die Seiten eben nicht einzeln bearbeiten muss.

          Und ebendas ist auch mit SSI möglich.

          Wer lesen kann, ist klar im Vorteil.

          #include

          LLAP 🖖

          --
          Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
        3. Moin

          SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben. Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

          Stimmt, braucht man bei PHP ja gar nicht 😜

          Die Idee des OP geht schon in die richtige Richtung das über eine Datei zu machen die ohnehin eingebunden wird, so daß man die Seiten eben nicht einzeln bearbeiten muss.

          Muss bei PHP aber auch gemacht werden.

          Viele Grüße
          Robert

          1. Moin

            SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben. Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

            Stimmt, braucht man bei PHP ja gar nicht 😜

            Genau! Man muss nur die richtige Idee dazu haben.

            MFG

            1. @@pl

              SSI ist dafür völlig ungeeignet wenn es darum geht, einen String auf allen Seiten auszugeben. Da müsste man ja den Platzhalter auf jeder dieser Seite einbauen, also die Seiten einzeln bearbeiten.

              Stimmt, braucht man bei PHP ja gar nicht 😜

              Genau! Man muss nur die richtige Idee dazu haben.

              Da bin ich auf deine geniale Idee gespannt, n statische HTML-Dokumente mit Informationen aus einer zentralen Quelle anzureichern, ohne diese n Dokumente bearbeiten zu müssen.

              LLAP 🖖

              --
              Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
  5. Vorbereitung:

    mod_sed (/usr/lib/apache2/modules/mod_sed.so) muss installiert sein. Es ist aber "experimentell"

    aktivieren mit:

    sudo a2enmod sed && systemctl restart apache2;
    

    In meiner Installation klappte das folgende nur in der Serverkonfiguration, nicht aber, wie in der Dokumentation behauptet, in der .htaccess:

    		<Directory /var/www/home/Tests/OutputSed/ >
    			AddOutputFilter Sed html
    			OutputSed "s/DATUM/2020-02-13/g"
    		</Directory>
    

    Test-Datei:

    <html>
    	<head>
    		<title>Datum: DATUM</title>
    	</head>
    	<body>
    		<h1>Datum: DATUM</h1>
    	</body>
    </html>
    

    Output:

    <html>
    	<head>
    		<title>Datum: 2020-02-13</title>
    	</head>
    	<body>
    		<h1>Datum: 2020-02-13</h1>
    	</body>
    </html>
    
    1. Die soeben vorgestellte Lösung ist nicht für jeden, weil

      • Admin Rechte erforderlich sind (Installation/Konfiguration),
      • der Status des Moduls „experimentell“ ist und
      • diese bei einem Umzug der Webseite auf einen anderen Server „ungewöhnliche, vielleicht nicht (leicht) erfüllbare Herausforderungen“ beinhaltet.

      Besser wäre also das bereits erwähnte SSI oder halt, wenn man ein Programm will - dann eben auch eine Programmiersprache zu lernen. PHP könnte hier passen.

      1. Hallo Raketenwissenschaftler,

        auch eine nette Idee :)

        Beides sind Apache-Module, beide muss man aktivieren. mod_sed als Exot könnte da schwieriger sein. Ich würde bei mod_sed auch eine höhere Serverlast unterstellen, weil es mit einem SED-Befehl eine REGEX über die komplette Response jagen muss, statt wie SSI nur nach <!-- und # zu suchen.

        Aber das müsste man erstmal messen.

        Rolf

        --
        sumpsi - posui - clusi
        1. auch eine nette Idee :)

          Naja: „nett“- Diese experimentellen Module haben einen „eingebauten“ Only-Use-On-Testsystems-Status, können sogar mit einem normalen System-Update plötzlich verschwinden oder eine neue Syntax erfordern.

          Ich persönlich würde ja auch - wegen der Wiederholung bei jedem Abruf - sehr stark dazu neigen, mir ein Verzeichnis mit "Rohdateien" anzulegen (und nur in diesen zu editieren) und dann mit einem Schellskript nebst meinen Lieblingswerkzeugen (e.g. sed, sort, grep, cut, awk und Co.) daraus die eigentlichen Webseiten (in einem anderen Verzeichnis) zu erzeugen (Manche würden es „kompilieren“ nennen.)

          Aber dazu müsste man auch programmieren können, die Unix-Tools ggf. unter Windows installieren oder einen Server mit ssh-Zugang haben. Wer den hat, der hat aber meist auch PHP und SSI sowieso…

        2. Aber das müsste man erstmal messen.

          Die einzige Messmethode, die mir gestern einfiel, war den Cache zu deaktivieren, den Apache neu zu starten und mit den Entwicklertools die Zeit zu messen.

          Mit https im lokalen Netz (eine statische Seite mit 1,09kb braucht ohne DNS-Auflösung, Verbindungsaufbau und TLS-Konfiguration 5ms "Wartezeit") war das Ergebnis (nach Abzug des vorgenannten) ebenfalls nach 5ms da. Allerdings waren natürlich nur ein paar Byte zu "stream-editieren" und es gab auch nur einen, zudem sehr einfachen, Ersetzungsausdruck.

          Andererseits habe ich genug mit dem eigentlichen sed herumgemacht um zu wissen, dass der Unix-Befehl (ich nehme mal an, das Apache Modul ruft den nicht auf, sondern implementiert dessen „Mechanik“) selbst bei vielen Regeln und auch bei großen Datenmengen sehr schnell ist.

          Denkbar ist übrigens, dass meine Version von mod_sed die regulären Ausdrücke beim Start des Apache kompiliert und speichert (weswegen es nicht in der .htaccess stehen durfte) und deswegen so schnell ist.

          Damit stellt sich die Frage, warum wohl jemand auf die Idee kommt, mod_sed zu programmieren.

          Ich habe da 4 Ideen:

          • "weil er/sie es kann" (sowas ist manchmal auch mein Motiv)
          • weil er/sie glaubt eine schnellere oder speichersparendere Lösung als mod_include (SSI) anbieten zu können.
          • weil er/sie glaubt, für geübte Unixer (solche, die mit sed und regulären Ausdrücken umgehen können) sei das einfacher zu verwenden als SSI.
          • Ein Hoster musste nach gerichtlicher Anweisung, eine bestimmte Aussendung seines Kunden (e.g."Meier ist doof") zu unterlassen, eine Lösung finden um einerseits die Aussendung zu verhindern und gleichzeitig vertragstreu zu sein, also an den Daten und Programmen des Kunden nicht zu fummeln:
          AddOutputFilter Sed html
          OutputSed "s/meier(.*)ist(.*)doof/XXXXX$1XXX$2XXXX/ig"
          
          1. Hallo Raketenwissenschaftler,

            danke für deine Mühe!

            Allerdings waren natürlich nur ein paar Byte zu "stream-editieren" und es gab auch nur einen, zudem sehr einfachen, Ersetzungsausdruck.

            Ja, testtaugliche Daten zu haben ist immer das Problem bei solchen Messungen, und ein aufgeblasener Lasttest (großes Volumen bei heißlaufendem Server) ist sicherlich zu viel verlangt.

            Ein mod_sed mit eingebautem SED würde die beobachtete Schwuppdizität gut erklären.

            Zum Motiv: Das mag durchaus die Nr. 1 sein, was erklären würde, warum das Feature als experimentell gilt.

            Rolf

            --
            sumpsi - posui - clusi
          2. time sed -e "s/DATUM/2020-02-13/g" <  test.html > /dev/null
            
            real  0m0,002s
            user  0m0,002s
            sys   0m0,000s
            

            Da ist das Öffen der Datei (befand sich im Cache), der Aufruf von sed (befand sich im Cache), das "Kompilieren des Regex" und die Ausführung drin.

            Dann habe ich mit

            for i in {0..1000}; do cat test.html >> test2.html; done
            

            eine Datei mit immerhin 103103 Bytes erzeugt.

            time sed -e "s/DATUM/2020-02-13/g" <  test2.html > /dev/null
            
            real  0m0,007s
            user  0m0,007s
            sys	  0m0,000s
            

            3, Versuch:

            for i in {0..1000000}; do cat test.html >> test3.html; done
            

            (1 Mio +1 Exemplare zu einem zusammengefügt. Das habe ich nach mehreren Minuten (des wuselns unter niedriger Systemlast) abgebrochen und den Prozessor mit …

            a=$(cat test.html);
            echo "$(for i in {0..1000000}; do echo "$a"; done)" > test3.html
            

            … munter gemacht: nach rund 10 Sekunden war es getan.

            test3.html hat nun 8.000.008 (8 Millionen) Zeilen und 103.000.103 Bytes. (103 MB)

            time sed -e "s/DATUM/2020-02-13/g" <  test3.html > /dev/null
            
            real  0m1,782s
            user  0m1,744s
            sys   0m0,037s
            

            Fazit: Ist ziemlich schnell.