Onderhoudbare bronrepository voor de WordPress-plugin Codegenie Pulse Connector. De runtime heeft geen Composer-dependencies, queue, cronjob, telemetry of extern JavaScript.
Deze drie namen verschillen bewust en mogen niet als opschoonactie gelijkgetrokken worden:
| Contract | Waarde | Reden |
|---|---|---|
| Git-repository | codegenie-pulse-connector-wordpress |
Benoemt de WordPress-implementatie en het hostingproject. |
| WordPress-pluginmap, installatieslug en text domain | codegenie-pulse-connector |
Stabiele WordPress-identiteit, installatiepad en vertaalnamespace. |
| Protocol connector-ID | codegenie-pulse-connector-wordpress |
Stabiele identificatie in discovery- en autorisatiepayloads. |
De pluginversie is 1.2.1, vereist WordPress 6.2+ en PHP 7.4+, en wordt in CI tegen WordPress 6.2 en de publieke WordPress 7.0.2-patch getest.
composer install
composer qaDe QA-opdracht controleert alle PHP-syntax, PHP 7.4-compatibiliteit, WordPress Coding Standards, contracttests, versieconsistentie, repositoryhygiëne, bekende secretformaten en Composer-advisories. De echte WordPress-integratiematrix en de officiële Plugin Check draaien aanvullend in GitHub Actions.
Een installatiepakket wordt uitsluitend vanuit een schone commit gebouwd:
composer buildHet resultaat bestaat uit dist/codegenie-pulse-connector-1.2.1.zip voor WordPress en dist/codegenie-pulse-connector-wordpress-1.2.1-source.zip voor broncontrole, beide met een bestandsmanifest en SHA-256. De installatie-ZIP bevat exact één hoofdmap codegenie-pulse-connector/. Zie CONTRIBUTING.md en docs/RELEASING.md.
De afzonderlijke workflow Prepare release artifacts start alleen voor een expliciete versietag of een handmatige dry-run. Hij publiceert niets en gebruikt uitsluitend read-only repositoryrechten. Release notes staan in docs/releases/1.2.1.md; de uitvoerbare WordPress.org-checklist en lokale SVN-mapping staan in docs/WORDPRESS_ORG_RELEASE.md.
WordPress-connector voor het bestaande Codegenie Pulse ingestiecontract.
Versie 1.2.1 ondersteunt een Pulse-first koppelingsflow. Een klant vult de WordPress-URL in Pulse in, keurt de koppeling in WordPress goed en krijgt verificatie, foutmonitoring en deployment tracking automatisch ingesteld volgens het actieve plan.
- Installeer en activeer de plugin.
- Kies in Pulse
Website toevoegen > WordPress koppelen. - Vul de publieke HTTPS-home-URL in.
- Keur de aanvraag goed in
Instellingen > Codegenie Pulse. - Pulse maakt of koppelt de website en levert de configuratie eenmalig server-to-server terug.
De permanente DSN of ingestiontoken staat nooit in de browser-URL. Pulse haalt eerst een unieke site proof op via het discovery-endpoint. WordPress kan die proof alleen opnieuw berekenen met de eigen auth salts. De browser bevat alleen een kortlevend request token en een challenge die zonder de proof niet bruikbaar zijn.
De plugin gebruikt zonder extra platform-API:
POST /api/ingest/errors/{token}voor foutgebeurtenissen en de verbindingstestPOST /api/ingest/deployments/{token}voor WordPress-, plugin- en themawijzigingenGET /.well-known/codegenie-pulse.txtop de WordPress-site voor eigendomsverificatie
Voor automatisch koppelen gebruikt versie 1.2.1 aanvullend:
GET /wp-json/codegenie-pulse/v1/discoveryop de WordPress-sitePOST /api/connectors/wordpress/exchangeop de gekozen Pulse-installatie
De deployment-URL wordt lokaal afgeleid van de fout-DSN. Dezelfde 64 tekens lange foutbrontoken wordt gebruikt, overeenkomstig het Codegenie Pulse-contract.
- fatale PHP shutdown errors
- onverwerkte exceptions die als fatale PHP-fout eindigen
- PHP warnings in de modus Uitgebreid of Debug
- PHP notices, strict- en deprecated-meldingen in de modus Debug
wp_mail_failed, zonder ontvangers, headers of berichtinhoud- WordPress REST-responses met HTTP-status 500 tot en met 599
- WordPress core updates
- plugin- en thema-updates
- pluginactivatie en -deactivatie
- themawissels
| Modus | Automatisch gerapporteerd | Aanbevolen gebruik |
|---|---|---|
| Uitgeschakeld | Geen automatische PHP- of WordPress-signalen | Alleen expliciete helper-calls |
| Productie | Fatale fouten, onverwerkte exceptions, ingeschakelde WordPress-signalen | Productie, aanbevolen |
| Uitgebreid | Productie plus E_WARNING en E_USER_WARNING |
Tijdelijke extra diagnose |
| Debug | Uitgebreid plus notices, strict en deprecated | Alleen tijdelijk op staging |
De connector leest geen bestaand debug.log- of PHP error_log-bestand. Alleen nieuwe fouten die na activatie plaatsvinden en door de PHP error_reporting-instelling zijn geactiveerd worden onderschept. De bestaande PHP error handler en normale PHP-logging blijven behouden.
Om eventstorms te beperken wordt een identieke niet-fatale fout standaard maximaal één keer per minuut verzonden. Daarnaast gelden maximaal tien unieke niet-fatale events per request.
try {
risky_operation();
} catch ( Throwable $throwable ) {
codegenie_pulse_report_exception( $throwable, array(
'feature' => 'checkout',
) );
}Of zonder exception:
codegenie_pulse_report_message(
'De productimport is gestopt.',
'error',
array( 'job' => 'product_import' )
);Gebruik alleen privacy-veilige context. De connector verwijdert bekende gevoelige sleutels aanvullend, maar een ontwikkelaar blijft verantwoordelijk voor de data die hij bewust meegeeft.
add_filter( 'codegenie_pulse_http_timeout', function () {
return 5.0;
} );
add_filter( 'codegenie_pulse_connection_timeout', function () {
return 12.0;
} );De niet-fatale sampling en requestlimiet kunnen gecontroleerd worden aangepast:
add_filter( 'codegenie_pulse_non_fatal_sample_seconds', function () {
return 120;
} );
add_filter( 'codegenie_pulse_non_fatal_per_request_limit', function () {
return 5;
} );HTTP voor een strikt lokale ontwikkelomgeving kan bewust worden toegestaan:
add_filter( 'codegenie_pulse_allow_insecure_dsn', '__return_true' );
add_filter( 'codegenie_pulse_allow_insecure_platform_origin', '__return_true' );Gebruik deze filters nooit op productie.
Na een levering worden deze actions uitgevoerd zonder endpoint of token:
add_action( 'codegenie_pulse_delivery_succeeded', function ( $kind, $status ) {
// $kind is error of deployment.
}, 10, 2 );
add_action( 'codegenie_pulse_delivery_failed', function ( $kind, $status, $code ) {
// Bevat uitsluitend een token-veilige foutcode.
}, 10, 3 );
add_action( 'codegenie_pulse_connector_loaded', function ( $plugin ) {
// De connector is volledig samengesteld en geladen.
} );- WordPress 6.2 of nieuwer
- getest tegen WordPress 7.0.2
- PHP 7.4 of nieuwer
- PHP OpenSSL met AES-256-GCM
- een publiek bereikbare HTTPS Codegenie Pulse-installatie
- na beheerderstoestemming: site-URL, sitenaam, WordPress-versie, connectorversie, PHP-versie, omgevingstype, multisite-status en eenmalige technische autorisatiegegevens naar de expliciet gekozen Pulse-installatie
- geen inventaris van alle geïnstalleerde plugins of pluginversies tijdens de koppeling
- foutpayloads kunnen geredigeerde en begrensde melding-, klasse-, pad-, regel-, URL-, methode-, status-, stacktrace- en contextvelden bevatten
- deployment tracking kan wijzigingssoort, componentslug en versie versturen; bewust meegegeven aangepaste context kan na redactie worden verstuurd
- de sitebeheerder blijft verantwoordelijk voor transparantie; retentie en privacyrechten volgen de voorwaarden en privacyverklaring van de gekozen Pulse-installatie
- DSN versleuteld met een sleutel afgeleid van WordPress auth salts
- expliciete
manage_options-toestemming en WordPress nonce voor automatisch koppelen - een site proof die niet in de browserredirect staat
- geen permanente Pulse-secrets in browsergeschiedenis, querystrings of referrers
- uitsluitend HTTPS en een exact Pulse ingestiepad
wp_safe_remote_post()en nul redirects, zodat een token niet naar een redirectdoel gaat- maximaal 10 seconden configureerbare HTTP-timeout, standaard 3 seconden
- geen queue, cronjob, bezoekerstracking of telemetry
- geen cookies, authorization headers, binnenkomende request bodies, formulierdata, e-mailontvangers of berichtinhoud, of WordPress-gebruikers
- URL-querystrings worden verwijderd
- gevoelige contextsleutels en bekende secrets in tekst worden lokaal geredigeerd
- lokale backoff na netwerk-, limiet- en authenticatieproblemen
- sampling van identieke warnings en notices over requests heen
- maximaal tien unieke niet-fatale events per request, standaard
- bestaand PHP error handler- en loggedrag blijft behouden
- geen uitlezing of import van bestaande logbestanden
- uninstall verwijdert instellingen, status, backoff- en samplingdata