RainbowRing

Beschreibung

RainbowRing connects independent websites through a modern webring inspired by the community spirit of the early web and built around the ZX Spectrum Next community.

This plugin is intentionally small. It connects WordPress to the RainbowRing service, displays the RainbowRing widget, and lets a site administrator manage the widget settings supplied by RainbowRing. Membership, approval, traversal and ring behaviour remain on the RainbowRing service rather than being duplicated inside WordPress.

Once connected, visitors can use the RainbowRing widget to move through participating sites with Previous, Random and Next, use LUV, or follow JOIN to learn how to become part of the ring.

The plugin supports two display modes:

  • Fixed — RainbowRing is inserted automatically across the site.
  • Inline — place [rainbowring] where you want the widget to appear.

Widget style, appearance, size and alignment are managed from Settings > RainbowRing and synchronised with the RainbowRing service.

Connecting a site

For a site already registered with RainbowRing, the plugin makes one automatic connection attempt immediately after activation. The WordPress Site Address must exactly match the site URL registered with RainbowRing.

Automatic pairing uses a short-lived proof challenge so RainbowRing can confirm that the active WordPress installation controls the registered URL. Your RainbowRing account password is never stored by this plugin.

If that first automatic attempt cannot complete, the plugin stops. It does not keep polling or retrying in the background. WordPress displays a clear notice directing the administrator to Settings > RainbowRing, where Try automatic connection again performs one explicit fresh attempt.

If automatic pairing is not available, an advanced manual connection option can use the Site ID and connection key supplied by RainbowRing.

External service

RainbowRing is a service plugin and requires communication with the RainbowRing service at:

https://rainbowring.zingot.graphics/

The plugin contacts the service in order to provide its core functionality. Depending on the action being performed, this includes:

  • one automatic pairing attempt immediately after plugin activation;
  • an additional pairing attempt only when an administrator explicitly chooses Try automatic connection again;
  • matching the WordPress site URL to a registered RainbowRing site during pairing;
  • completing the short-lived pairing challenge;
  • retrieving and updating widget settings;
  • retrieving the site’s RainbowRing status when the RainbowRing settings page is viewed;
  • checking whether the RainbowRing installation is detectable when an administrator chooses Check installation;
  • requesting final approval when an administrator chooses Request final approval;
  • loading the RainbowRing widget JavaScript on public pages where the widget is enabled.

There is no recurring pairing process, timer, cron task or background polling loop.

Authenticated requests use the RainbowRing Site ID and connection token. The connection token should be treated like a password. The plugin does not store your RainbowRing account password.

The public widget is provided by RainbowRing and loads the service script from:

https://rainbowring.zingot.graphics/widget/webring.js

Because this script and the widget communicate with the RainbowRing service, normal web request information such as IP address, user agent, referrer information where supplied by the browser, and request timestamps may be received by RainbowRing’s web infrastructure. The RainbowRing Privacy Policy will describe how service data is handled.

RainbowRing service: https://rainbowring.zingot.graphics/
Privacy Policy: https://rainbowring.zingot.graphics/privacy.php
Terms of Service: https://rainbowring.zingot.graphics/terms.php

Privacy

RainbowRing is an external service. The plugin sends information to the RainbowRing service only as required to connect the WordPress site and provide RainbowRing functionality.

The plugin may send the site’s public WordPress URL, RainbowRing Site ID, site-specific connection token, widget settings, installation-check requests and approval requests to rainbowring.zingot.graphics.

On public pages where the RainbowRing widget is enabled, the visitor’s browser loads RainbowRing’s remote widget JavaScript. As with normal web requests, RainbowRing’s server infrastructure may therefore receive technical request information including the visitor’s IP address, user agent, request timestamp, and referrer information where supplied by the browser.

The plugin does not add its own analytics or advertising system and does not create custom WordPress database tables.

Privacy Policy: https://rainbowring.zingot.graphics/privacy.php
Terms of Service: https://rainbowring.zingot.graphics/terms.php

Screenshots

Installation

  1. Register your site with RainbowRing at https://rainbowring.zingot.graphics/ if it has not already been added.
  2. Install and activate the RainbowRing plugin in WordPress.
  3. After activation, RainbowRing makes one automatic connection attempt using the public WordPress Site Address.
  4. If the registered RainbowRing URL matches exactly and the proof challenge succeeds, the plugin stores the site-specific connection details and is connected. No further connection setup is required.
  5. If automatic connection does not complete, RainbowRing stops trying and displays a notice. Open Settings > RainbowRing and choose Try automatic connection again, or use Advanced manual connection with the Site ID and connection key supplied by RainbowRing.
  6. Choose the widget settings you want and save them.
  7. Use Check installation to ask RainbowRing to verify the installation.
  8. When detection succeeds, use Request final approval. RainbowRing becomes LIVE only after final approval.

For Fixed display, no theme editing is required.

For Inline display, add this shortcode where the widget should appear:

[rainbowring]

FAQ

Do I need a RainbowRing account or registered site?

Yes. The WordPress plugin connects an existing WordPress site to the RainbowRing service. A site must be registered with RainbowRing before it can become a LIVE member of the ring.

Does the plugin store my RainbowRing password?

No. The plugin does not store your RainbowRing account password. It stores the Site ID and a site-specific connection token needed to communicate with the RainbowRing service. Treat that connection token like a password.

What does automatic pairing do?

Immediately after activation, the plugin makes one automatic pairing attempt. It sends the public WordPress Site Address to RainbowRing. If that exact URL belongs to a registered site, RainbowRing returns a short-lived challenge. RainbowRing then requests that challenge from the active WordPress site to prove control of the URL before issuing the site-specific connection credentials.

If the attempt fails, the plugin stops. It does not retry every minute, poll in the background or create a scheduled task. The administrator can explicitly request one new attempt from Settings > RainbowRing.

Why does the plugin contact rainbowring.zingot.graphics?

RainbowRing is a service plugin. The remote service is the authoritative source for membership, approval, widget configuration and ring behaviour. The plugin therefore needs the service to pair the site, synchronise settings, check installation/status and provide the public RainbowRing widget.

See the External service section above for the specific communication performed by the plugin.

Does RainbowRing create custom database tables?

No. The plugin uses normal WordPress options and short-lived transients for its small amount of local state.

Does RainbowRing run a background pairing process?

No. There is one first-run automatic attempt after activation. If it fails, no further pairing request is sent unless an administrator explicitly asks the plugin to try again from the RainbowRing settings page.

What happens if I deactivate the plugin?

Deactivation stops the plugin from running but keeps its local connection settings so the site can be reactivated without unnecessarily losing its configuration.

What happens if I delete/uninstall the plugin?

Uninstalling the plugin removes its local RainbowRing Site ID, connection token, cached settings and temporary pairing state from WordPress. Uninstalling the WordPress plugin does not by itself delete your RainbowRing account or registered site from the RainbowRing service.

What is the difference between Fixed and Inline display?

Fixed display lets RainbowRing place the widget automatically across the site. Inline display only renders the widget where the [rainbowring] shortcode is used.

Does installing the plugin automatically make my site LIVE?

No. Technical detection and final approval are separate. The plugin can help install and verify RainbowRing, but only a site that has completed RainbowRing’s approval process becomes LIVE in the public ring.

Rezensionen

Zu diesem Plugin liegen noch keine Rezensionen vor.

Mitwirkende und Entwickler

„RainbowRing“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

Übersetze „RainbowRing“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.0.5

  • Prepared RainbowRing for WordPress.org submission with clearer, human-readable code and documentation.
  • Changed automatic pairing to one first-run attempt after activation, with explicit administrator retries only after failure.
  • Removed the old recurring 60-second pairing retry behaviour from normal WordPress admin browsing.
  • Improved request sanitisation, output handling and translation readiness.
  • Improved manual connection validation so credentials are stored only after RainbowRing accepts them.
  • Tied persistent settings fallback data to the active RainbowRing Site ID.
  • Normalised service-provided widget settings before storing or using them.
  • Expanded uninstall cleanup for RainbowRing options, cached settings and temporary pairing state.
  • Added detailed external-service and privacy documentation.

1.0.4

  • Added secure automatic URL-based pairing.
  • Added a Settings link beside Deactivate.
  • Added installation checking and the simplified final approval flow.

1.0.3

  • Improved connection-key compatibility with shared-host Apache/FastCGI environments.
  • Sends the key through X-RainbowRing-Key and request-body fallback as well as Authorization.

1.0.2

  • Compatible with RainbowRing widget runtime 3.1 and resilient traversal.
  • Continues to use central RainbowRing settings and approval state as the source of truth.

1.0.1

  • Added shared approval status and Request final approval.
  • Added distinct LIVE confirmation.

1.0.0

  • Initial release.
  • Added canonical settings synchronisation with RainbowRing.
  • Added fixed automatic insertion and the Inline shortcode.