Описание
A dynamic Gutenberg block for Liaison Site Prober that fetches and displays real-time
system logs via the REST API. Engineered for performance and security,
it provides a seamless way to visualize site activity without compromising page speed.
Architecture
Plugin structure:
liaison-site-prober-viewer/
├── src/
│ ├── edit.js # Block editor UI
│ └── editor.scss # Block editor styles
├── build/
│ └── index.js # Compiled block code
├── tests/ # Jest unit tests
├── liaison-site-prober-viewer.php # Plugin bootstrap
└── package.json / node_modules # JS dependencies
Architecture Diagram (textual):
[Database: liaison-site-prober activity table]
|
v
[WordPress REST API endpoint: wp-json/site-prober/v1/logs]
|
v
[Gutenberg dynamic block: liaison-site-prober-viewer]
|
v
[Editor/UI: renders logs in a table inside the block]
Data Flow
- liaison-site-prober writes activity logs into the database.
- The REST API (
wp-json/site-prober/v1/logs) exposes logs in JSON format. - The dynamic Gutenberg block (
Editcomponent) callsapiFetch({ path: '/site-prober/v1/logs' }). - The block maintains internal state:
loadingshows Spinnererrorshows Noticelogsrenders table rows
- Logs are displayed dynamically in the block editor and frontend (if rendered).
Why Dynamic Block
- Logs are constantly changing; storing static markup would show stale data.
- Dynamic block fetches fresh logs each render.
- No need for manual updates in post content.
- Leverages REST API + React state for live data.
Security Considerations
- Permissions:
- REST endpoint uses
permission_callbackto restrict access.
- REST endpoint uses
- Sanitization:
- All output in the block uses
esc_html()to prevent XSS.
- All output in the block uses
- Deactivation checks:
- Plugin checks that
liaison-site-proberis installed and meets minimum version.
- Plugin checks that
- Avoid exposing sensitive data:
- Only logs intended for admin or authorized users are returned.
- Use
wp_die()for activation errors, preventing unsafe state.
Trade-offs / Limitations
-
Pros:
- Easy to use in Gutenberg editor.
- Always shows live logs.
- Minimal custom PHP; relies on WordPress REST API.
-
Cons:
- Slightly slower in editor due to API fetch.
- Unit testing does not hit real database (mocked).
- Requires liaison-site-prober to be installed.
- Not fully decoupled from REST API; block depends on API stability.
Testing
- Run JS unit tests:
`bash
npm ci
npm test
Block uses Jest with @wordpress/scripts preset.
REST API calls are mocked; tests cover loading, empty, and error states.
Blocks
This plugin provides 1 block.
- Liaison Site Prober Viewer Display Site Prober logs in a table.
Инсталиране
- Install
liaison-site-proberplugin (v1.2.0+ required). - Upload
liaison-site-prober-viewertowp-content/plugins/. - Activate plugin in WordPress admin.
- Add „Liaison Site Prober Viewer“ block to a post/page.
- Logs will automatically load in the block editor.
Отзиви
There are no reviews for this plugin.
Сътрудници и разработчици
“Liaison Site Prober Viewer” е софтуер с отворен код. Към разширението са допринесли следните хора:
СътруднициПревеждане на “Liaison Site Prober Viewer” на вашия език.
Имате интерес към разработване?
Преглеждане на кода, разглеждане на SVN хранилище, или абонамент към програмната история (log) чрез RSS.
Списък с промени
1.0.0
Initial release: dynamic Gutenberg block for viewing liaison-site-prober logs.