PCIO VIS With ForeningLet Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
PCIO VIS With ForeningLet extends PCIO VIS Member Event with one member-import job.
Configure the connection under Vis > ForeningLet > Config. Manage the job,
its schedule, manual runs and last result under Vis > Sync Jobs.
Every member returned by the ForeningLet member-list API is considered valid,
regardless of balance. Duplicate member numbers are resolved by preferring the
lower SaldoPaymentDeadline. Different member numbers remain separate even when
they share an email address.
The importer creates or refreshes core member records using MemberNumber, FirstName,
LastName, Email, Phone (or Mobile) and EnrollmentDate. It matches existing records by
member number first. Email is used only as a fallback when it identifies a single
source member and a single existing record; shared emails never merge people.
Duplicate member numbers in the local database and conflicting account links
cancel the sync before any changes.
It preserves local addresses, volunteer flags, leave dates and existing Vis roles.
Legacy interest, balance and newsletter fields are not copied into unrelated core fields.
New members receive a linked WordPress subscriber account with a generated password
and a username containing their member number (for example, foreninglet_677).
Existing unlinked accounts are matched by email only when that email identifies a
single source member and a single unlinked WordPress account.
Shared-email members without existing links get separate accounts with the real
shared email address. The importer temporarily allows that email only during
account creation; it does not disable WordPress email checks elsewhere.
Members sharing an email must log in and request password resets by username,
since email-based lookup cannot distinguish their accounts. Anyone with access to
that shared mailbox can receive password resets for those accounts.
New accounts receive vis_member. Existing accounts keep their login, password,
profile and WordPress role.
Existing member links are retained when the ForeningLet contact email changes.
No welcome emails are sent.
After a successful import, vis_member is removed from WordPress accounts that are
not represented in the returned list, including accounts not linked to a Vis record.
WordPress administrators and multisite super administrators are never changed,
including their linked member records. Accounts with vis_volunteer never lose vis_member.
No member records or WordPress accounts are deleted.
Failed requests, unexpected payloads, malformed member records, ambiguous matches
and import failures prevent revocation. A successful empty JSON array represents
an empty membership list and revokes all unprotected memberships.
The job is installed disabled with a 24-hour frequency, following the core sync-job
convention. It makes no API calls until explicitly run or enabled after configuration.
WordPress cron requires site traffic or an external scheduler.
Do not enable another membership sync as an alternative source of truth at the same
time: the core Sync WP Users job can re-grant membership to retained former members,
and other integrations may apply different removal rules.
Deactivation disables the registry job and clears its scheduled event, retaining
settings and job history. Re-enable the job after reactivation if required.
Deletion removes this extension’s options and its job when the core is active.
Imported records, accounts and membership capabilities are retained.
External services
This plugin connects to the ForeningLet membership API, operated by ForeningLet,
only after an administrator configures API credentials and runs or enables the job.
No external requests are made during ordinary browsing or while displaying settings.
- When: each manual run or scheduled execution of ForeningLet member sync.
- Where: https://foreninglet.dk/api/members?version=1 over HTTPS.
- What is sent: the configured API username and password in an HTTP Basic
authentication header, the API version query and normal HTTP request metadata
(including the server IP address). Local member records are not uploaded. - What is received: the account’s member list, including member identifiers,
names, email addresses, phone numbers, enrollment dates and balances. Supported
contact fields are stored locally; balances are used only for deduplication.
Ensure you have authority to retrieve these personal data and that your privacy
policy covers their processing and local storage. The association is responsible
for its ForeningLet agreement and any required data processing agreement.
- Service information and contractual terms: https://web.foreninglet.dk/
- Privacy policy: https://web.foreninglet.dk/privatlivspolitik/
- Data protection information: https://web.foreninglet.dk/gdpr/
ForeningLet is a trademark of its respective owner. This plugin is an independent
PCIO integration and is not affiliated with, sponsored by or endorsed by ForeningLet.
Development
Standalone regression tests live outside the distributable plugin at
www/pcio-vis-with-foreninglet/sync.test.php in the source repository.
Run them with PHP from the repository root. The harness is CLI-only and mocks
WordPress APIs; it is not part of the WordPress.org plugin package.
The repository’s www/pcio-vis-with-foreninglet/phpcs.xml.dist enables the complete WordPress coding standard,
enforces the pcio_vis global prefix and checks the pcio-vis-with-foreninglet text
domain. With WPCS installed, run phpcs –standard=www/pcio-vis-with-foreninglet/phpcs.xml.dist
from the repository root. This development-only configuration is not included in
the deployed plugin or WordPress.org package.

