Skip to content

Web Archive / Wayback #984

Description

@adrolli

In Archive.org many versions of websites, like heco, are archived. We want to implement a way to get these files working on our server (again).

moox Wayback
moox/wayback

Wayback Machine / Archive.org Downloader für Laravel (needs Ruby)

moox Wayback ermöglicht es komplette Webseiten aus dem Web Archiv herunterzuladen und z. B. in public/archive wieder funktionsfähig zu machen. Dazu kann entweder der Artisan Command

php artisan moox:wayback 'https://web.archive.org/web/20100203220356/http://www.dcn.de/referenzen/web-archive.html' --slug=dcn.de --year=2009
--from=20090101 --to=20101231

oder die Filament Action verwendet werden.

moox Wayback erzeugt für jedes heruntergeladene Web Projekt einen Datenbankeintrag, der bequem über eine Filament Resource verwaltet werden kann.

moox Wayback verwendet https://github.com/StrawberryMaster/wayback-machine-downloader (Ruby), was über den moox Installer automatisch installiert werden kann (das ist noch zu prüfen).

Alternative Lösung: https://github.com/GeiserX/Wayback-Archive (Python)

Tasks:

  • Ruby Package lokal (Mac) testen
  • Ruby Package auf Server (Forge) testen
  • MVP mit Artisan Command
  • Resource with Download Action

Details:

Wayback URL = Start-Snapshot
slug = Projektkennung / Zielordner
year = Portfolio-/Projektjahr
from/to = erlaubtes Snapshot-Zeitfenster für Fallbacks

Output:

public/archive/2009/dcn.de/

DB-Eintrag:

wayback_archives

  • id
  • slug
  • title
  • year
  • source_url
  • original_url
  • timestamp
  • from
  • to
  • path
  • status
  • error_count
  • additional timestamps (json, with counts?)
  • engine
  • meta/json
  • timestamps

MVP-Scope:

  1. Command nimmt Wayback-URL + Optionen entgegen
  2. Parsed timestamp + original_url
  3. Erstellt DB-Eintrag
  4. Ruft StrawberryMaster Engine auf
  5. Speichert nach public/archive/{year}/{slug}
  6. Schreibt Status: pending/running/succeeded/failed
  7. Filament Resource zeigt Einträge und erlaubt Download erneut starten

Tasks würde ich so schärfen:

Research

  • StrawberryMaster lokal auf Mac testen
  • StrawberryMaster auf Forge-Server testen
  • Prüfen: Gem, Bundler, Docker oder Binary-Aufruf
  • Prüfen: Parameter --from, --to, --only, --exact-url, Output-Pfad
  • Prüfen: Verhalten bei fehlenden Assets und fremden CMS-Versionen
    MVP
  • Package Skeleton moox/wayback
  • Config wayback.php
  • Migration wayback_archives
  • Model WaybackArchive
  • Artisan Command moox:wayback
  • WaybackUrlParser
  • StrawberryMasterWaybackEngine
  • Download status handling
  • Basic logging
    Filament
  • WaybackArchiveResource
  • Create/Run Action
  • Retry Action
  • Open Archive URL
  • Status Badge

Wichtigste technische Regel:

Der Downloader darf nur innerhalb des erlaubten Zeitfensters arbeiten.
Kein Fallback außerhalb von --from/--to.

Sonst lädt er dir wieder WordPress statt TYPO3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Idea

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions