承接 lindesbs/sourcerer-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lindesbs/sourcerer-bundle

Composer 安装命令:

composer require lindesbs/sourcerer-bundle

包简介

Contao 5 extension for importing content from external sources via webhooks

README 文档

README

Contao-5-Erweiterung zum webhook-gesteuerten Import von Inhalten aus externen Quellen in Artikel, News und (perspektivisch) Kalender.

Der erste Importer liest Markdown aus Git-Repositories (Shallow Fetch), mappt Frontmatter und CommonMark auf Contao-Datensätze und unterstützt Assets, interne Links sowie gezielten Re-Import bei Push-Webhooks.

Paket: lindesbs/sourcerer-bundle
Autor: Stefan Lindecke
Lizenz: MIT

Funktionsumfang (Stand)

BereichFunktion
ImporterGit/Markdown → Artikel oder News
WebhookPOST/GET /sourcerer/webhook/{uniqueKey} (Forgejo, Generic)
BackendImporter verwalten, manueller Test-Import (Modal), Log-Viewer
GitHTTPS oder SSH (Private Key), Branch- und Verzeichnis-Auswahl aus Remote
InhalteFrontmatter, CommonMark, Bilder/Downloads, interne Markdown-Links
RobustheitImport-Timeout, Ziel-Verifikation (gelöschte Artikel werden neu angelegt)
BenachrichtigungE-Mail und Gotify bei Fehler/partial
LoggingRotierende Logfiles unter var/log/sourcerer/{importerId}/

Geplant u. a. RSS/Atom, IMAP/POP3, Kalender — siehe ROADMAP.md. Ideen für spätere Versionen: WISHLIST.md.

Voraussetzungen

  • PHP 8.3+
  • Contao 5.3+ (contao/core-bundle, contao/news-bundle)
  • Git CLI auf dem Server (für Shallow Fetch)
  • Optional: Contao-Vault für Credentials (Git, Webhook-Secret, Gotify)

Installation

Als Composer-Paket (Contao-Projekt)

Path-Repository oder VCS in der Contao-Installation:

{
  "repositories": [
    {
      "type": "path",
      "url": "../entwicklung/sourcerer"
    }
  ],
  "require": {
    "lindesbs/sourcerer-bundle": "@dev"
  }
}
composer update lindesbs/sourcerer-bundle
php bin/console contao:migrate
php bin/console cache:clear

Backend

Unter System → Sourcerer Importer anlegen, Ziel (Seite/Archiv + Ersteller) und Git-Zugang konfigurieren. Die Webhook-URL wird beim ersten Speichern einmalig erzeugt.

Konfiguration (Auszug)

EinstellungBeschreibung
repositoryProtocolhttps oder ssh
repositoryUrlRemote-URL
credentialRefVault-Referenz oder direkter Wert (Token bzw. SSH-Key)
branchBranch aus Remote-Auswahl
contentPathUnterverzeichnis mit Markdown (aus Repo-Struktur)
authorContao-Benutzer als Ersteller aller importierten Inhalte
importTimeoutMax. Laufzeit in Sekunden (0 = Standard 300)

Globaler Standard-Timeout in der Contao-Installation:

# config/services.yaml
parameters:
  lindesbs_sourcerer.import_timeout: 600

Entwicklung

Repository klonen, Abhängigkeiten installieren:

composer install

Qualitätssicherung

composer cs          # Easy Coding Standard (PSR-12, Symfony, Clean Code)
composer cs:fix      # ECS mit Auto-Fix
composer phpstan     # Statische Analyse (Level 5)
composer test        # PHPUnit
composer qa          # cs + phpstan + test

Konfiguration: ecs.php (PSR-12/Symfony/Clean-Code, angelehnt an Contao-Stil), phpstan.neon.dist

Tests

40 PHPUnit-Tests decken u. a. Git-Credentials, Webhook-Payloads, Markdown-Parsing und Import-Logik ab.

Architektur (Kurz)

Webhook / Backend  →  ImportRunner  →  GitMarkdownImporter
                           ↓
              Artikel / News + tl_content + tl_files
                           ↓
              tl_sourcerer_external_ref (Upsert-Tracking)

Synchroner Import im HTTP-Request — keine Queue. Details, Datenmodell und Phasenplan: ROADMAP.md.

Entwicklungsweise & Transparenz

Dieses Projekt entsteht in enger menschlich geführter Entwicklung mit Unterstützung durch LLMs (z. B. Cursor). Die KI wird bewusst eingesetzt für:

  • Debugging und Fehleranalyse
  • Mockups und UI-/Ablauf-Skizzen und natürlich CSS (!!!)
  • Durchspielen von Abläufen vor der Implementierung
  • Code-Review und Konsistenzprüfungen
  • Planung (Roadmap, Architektur, Wishlist)

Architektur-Entscheidungen, Review und Freigabe liegen beim Autor. Automatisierte Checks (ECS, PHPStan, PHPUnit) sichern den Code zusätzlich ab.

Weitere Dokumentation

DateiInhalt
ROADMAP.mdArchitektur, Phasen, Datenmodell
WISHLIST.mdGeplante Features (z. B. Autor-Mapping)

Lizenz

MIT — siehe Composer-Paketmetadaten.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固