Documentation

Everything you need to run SMSocial.

Complete setup, administration and day-to-day guidance for building and operating a first-party social community on WordPress.

WordPress6.5 or newer
PHP8.1 or newer
HTTPSStrongly recommended
EmailVerified transactional delivery for registration
01 · Quick start

From a clean WordPress site to a working community.

Use this order for a new deployment. It keeps registration, branding and content testing predictable before real members are invited.

1

Prepare WordPress

Use a supported WordPress/PHP stack, enable HTTPS, confirm WP-Cron is functioning and make a full backup before installing SMSocial.

2

Install SMSocial

Upload the official SMSocial ZIP from Plugins → Add New, activate it and open the SMSocial administration area.

3

Configure email

Select Postmark API or authenticated SMTP, send a real test message and confirm that it arrived. New-user registration stays closed until delivery readiness is verified.

4

Apply branding

Set the network name, logo, login artwork, application icon and visual identity from SMSocial → Branding.

5

Create test users

Test registration, verification, login, password recovery, profile editing, follow/connections and private messaging with non-admin accounts.

6

Test social modules

Publish posts and video, create a Group/Page/Event/Marketplace listing, test Stories and check System Health before launch.

Recommended: complete the entire launch checklist at the bottom of this page on desktop and mobile before inviting a real community.
02 · Requirements

Hosting and platform requirements.

RequirementGuidance
WordPress6.5 or newer.
PHP8.1 or newer.
HTTPSStrongly recommended for production and required for reliable PWA/browser security behaviour.
DatabaseA normal WordPress-supported MySQL/MariaDB environment with permission to create and update SMSocial tables during activation/migrations.
WP-CronMust run reliably for expiry cleanup and background processing. On production sites, a real server cron calling WordPress is preferable to traffic-only cron.
Transactional emailRequired for new-user registration. SMSocial supports Postmark API and authenticated Custom SMTP. WordPress mail fallback is compatibility-only and does not unlock verified registration.
FFmpeg / FFprobeOptional but recommended for advanced video compatibility and HLS processing. Without them, compatible MP4 can still use the original-file fallback.
Object storageOptional. Private HLS derivatives can use S3, Cloudflare R2 or compatible S3 storage while canonical ownership remains in SMSocial Activity.

SMSocial deactivation is non-destructive. Do not treat plugin deactivation as a data-removal procedure.

03 · Installation

Install or update SMSocial safely.

Fresh installation

  1. Back up the WordPress database and files.
  2. Open Plugins → Add New → Upload Plugin.
  3. Select the official SMSocial ZIP and install it.
  4. Activate SMSocial.
  5. Open the SMSocial admin area and review Setup/System Health before creating real accounts.

Updating an existing installation

Install the newer official ZIP using WordPress replacement/update flow. Do not delete SMSocial data tables manually between versions. Database changes are migration-led and designed to preserve existing social records.

Before every production update: create a database backup, record the current working build, update in a staging/canary environment where possible, then validate Access, Feed, Messages, Video and System Health.
04 · Email & Access

Registration, verification, login and password recovery.

WordPress users remain the account source of truth. SMSocial owns the public email-first Access experience and only creates a new WordPress user after verification is complete.

New-user registration flow

  1. The visitor enters an email address.
  2. For a new email, SMSocial creates a short-lived encrypted pending registration instead of creating a real user immediately.
  3. A one-time verification link is sent to the same email and is valid for approximately 15 minutes.
  4. After the link is consumed, SMSocial sends a separate six-digit verification code.
  5. After successful code verification, password creation is unlocked.
  6. The WordPress account is created, mapped into SMSocial Identity and signed in.

Existing-user login

When an existing email is identified, SMSocial reveals the password step and authenticates against the canonical WordPress user account.

Password recovery

The public SMSocial Access experience includes native password recovery. Reset is performed inside SMSocial rather than sending members into the default WordPress login screen. Reset links are one-time and time-limited.

Email delivery readiness

New-user registration is deliberately fail-closed. Configure a production transport, send a real test email to a mailbox you control, verify that it arrives, and confirm receipt in SMSocial. Changing the email configuration invalidates the previous readiness confirmation.

If existing users can sign in but new registration is unavailable: first check SMSocial email-delivery readiness. This behaviour is intentional and protects communities from silently losing verification messages.
05 · Branding & language

Make the community look like your network.

SMSocial → Branding is the canonical source for the public network identity. Administrators can configure the network name, short PWA name, Access headline/supporting text, accent/application background colours, main logo, login showcase artwork and installable app icon.

Brand media is stored through the WordPress Media Library after validation. Portable settings export can include textual and colour settings, but local media attachment IDs are intentionally not portable between WordPress installations.

Languages

English is the source/fallback language. SMSocial currently includes first-party Bulgarian, German and Spanish translations. The selected SMSocial language can be changed from Access and from the in-app Context area without forcing WordPress, the active theme or unrelated site content into the same locale.

06 · Profiles

Public identity and account-owned profile settings.

Public Profile and Profile Settings are separate SMSocial routes. Display name remains tied to the WordPress account. SMSocial stores social profile fields such as bio, visibility and profile media.

Avatar

JPEG, PNG and WebP. Current upload limit is 5 MB. Images above 40 megapixels are rejected.

Cover image

JPEG, PNG and WebP. Current upload limit is 8 MB. Media is normalized through WordPress uploads.

Profile visibility is enforced by SMSocial identity policy. Ownership is checked on write operations, mutations are rate-limited and route caches are invalidated after successful changes.

07 · Feed & publishing

One canonical Activity model across SMSocial.

The Feed is not a separate content silo. SMSocial Activity is the canonical social record used across Feed, Profile, Groups, Pages, Discover, Saved and native video entry points. This keeps reactions, comments, shares, visibility and deletion state synchronized.

Publishing

  • Text posts and highlighted text posts.
  • Image/media attachments through the native Composer.
  • Native video posts.
  • Poll/media capabilities where exposed by the active build.
  • Visibility/ownership rules enforced by the canonical Activity policy.

Interactions

Reactions, canonical comments, sharing, saving and post actions operate on the same Activity identity. Removing an Activity through moderation or deletion therefore removes it consistently from surfaces that render the canonical record.

On desktop, Enter can submit supported post/comment/message forms while Shift+Enter inserts a new line. Mobile keyboard behaviour remains touch-oriented.

08 · People & Network

Followers, following and accepted connections.

SMSocial separates directional following from accepted connections. People discovery/search helps members find profiles; Network presents the signed-in member’s social graph and pending connection requests.

  • Follow is directional.
  • Connection requires acceptance.
  • Blocking/restriction policy can override active social relationships.
  • Private messages between people are available only where the messaging policy allows them, including accepted connection boundaries.
09 · Messages

Private first-party conversations.

Messages use a protected SMSocial conversation layer rather than public Activity. Desktop uses a two-pane workspace; mobile uses a dedicated full-screen experience with separate conversation-list and thread states.

  • Private conversations with policy/relationship checks.
  • Auto-growing composer and touch-safe mobile controls.
  • Private message attachments are protected and encrypted at rest.
  • Attachments are delivered as protected downloads rather than exposed as normal public files.
  • REST reads/writes require authentication, permission checks and no-store response boundaries.
10 · Notifications

One notification state across the application.

Notifications are part of the authenticated SMSocial shell. Counters, list state and navigation use the same notification source rather than separate duplicated UI stores. Opening notification destinations should preserve normal route behaviour and authenticated privacy boundaries.

11 · Groups

Community spaces with roles and moderation.

Groups use canonical Activity for posts while adding group membership and moderation policy around it.

  • Public/private membership models supported by the current Group policy.
  • Owner, administrator, moderator and member role boundaries.
  • Private-group membership approvals.
  • Group rules and announcement fields.
  • Member management, search and bans.
  • Group-scoped reports and moderation queue.
Role boundary: owners retain the highest group authority. Group administrators and moderators receive deliberately narrower capabilities.
12 · Pages

Public identities for organisations, brands and projects.

Pages have their own public presentation and owner/admin workspace while Page posts still resolve through canonical SMSocial Activity. Page profile/cover media, following and Page publishing are managed without creating a second reaction/comment system.

13 · Events

Community event discovery and RSVP.

SMSocial Events currently supports future scheduling, timezone, venue or online location, public/members/private visibility and RSVP state.

  • Event discovery and detail views.
  • Going / Interested / Remove RSVP states.
  • Attendee counts and preview.
  • Compact event cover media and responsive creation experience.

Current scope: recurring events, event invitations, event discussions, organiser analytics and built-in ticket inventory/orders/payments are not core SMSocial event features at this stage.

14 · Marketplace

Community classified listings.

Marketplace is a social classified-listing layer. Sellers can create listings, add a validated cover image and manage lifecycle state such as Active, Sold and Archived.

Important: SMSocial Marketplace does not provide built-in checkout, payment processing, shipping or fulfilment. It is intentionally provider-neutral.

15 · Stories

Short-lived Story visibility without deleting Activity.

Stories use a compact rail and the same underlying SMSocial social state. Administrators can configure how many Story cards are shown and how long they remain visible in the Story rail.

  • Default rail count: 20 Stories.
  • Default visibility window: 24 hours.
  • Admin-configurable count: 1–100.
  • Admin-configurable window: 1–720 hours.
  • Expiry removes the item from the Stories rail; it does not automatically delete the underlying Feed Activity.
16 · Video

Native video, compatibility processing and adaptive delivery.

Native video remains attached to canonical Activity, so ownership, visibility, reactions, comments, shares, saves, reporting and deletion remain synchronized with the rest of SMSocial.

Basic playback

The original MP4 remains the authoritative fallback. Native video can open the immersive viewer from Feed, Profile, Groups, Pages, activity collections and Videos without creating duplicate social state.

FFmpeg / HLS

When FFmpeg, FFprobe and the required PHP process capability are available, SMSocial can generate useful HLS variants such as 360p, 720p and 1080p without intentionally upscaling normal source video. Processing is queued and retried in bounded background jobs. If the processing stack is unavailable, publication is not blocked; SMSocial falls back to the original compatible MP4.

Compatibility processing

Problematic MP4 codecs can be normalized to broadly compatible H.264/AAC delivery when the server processing tools are available.

Private HLS delivery

Generated derivatives are served through an authenticated gateway that re-checks Activity visibility. Optional S3/R2/S3-compatible private storage can hold generated derivatives while SMSocial remains responsible for authorization.

Video troubleshooting: if one browser shows a black/unavailable video while another works, inspect System Health and server FFmpeg/FFprobe availability before replacing the original media.
17 · Saved

Private saved Activities and collections.

Saved is owner-only. A member can save any Activity they are currently allowed to view, create private collections and place one saved item into multiple collections.

  • No public Saved directory.
  • No public save count is required by the private Saved contract.
  • Collection names and membership are private to the owner.
  • Visibility is re-checked when a saved Activity is loaded, so saving never bypasses later privacy changes.
  • Deleting a collection does not delete the source Activity.
18 · Moderation

Report handling with evidence and audit history.

SMSocial has a canonical moderation layer for Activity/post reports. Moderators with the SMSocial moderation capability can review cases without exposing case data publicly.

  • Start review.
  • Remove content through the canonical Activity soft-delete path.
  • Resolve with no action.
  • Dismiss a report.
  • Reopen a case.
  • Append-only audit records for moderator decisions.
  • Immutable evidence snapshots for review integrity.

Current moderation foundation focuses primarily on Activity/post reports. Additional reporting domains can be introduced separately as the trust-and-safety surface expands.

19 · Privacy & data

WordPress privacy tools plus SMSocial social-data handling.

SMSocial integrates with WordPress privacy export/erasure workflows for supported SMSocial data. WordPress remains the canonical account owner.

  • SMSocial export avoids authentication tokens, OTP hashes, pending encrypted email records and protected attachment storage tokens.
  • Erasure is designed to be repeatable/batch-safe for supported social data.
  • Private message files uploaded by the requesting user can be removed together with supported attachment metadata.
  • Deleting/erasing SMSocial data is not the same as deleting the WordPress user account.
  • Some integrity-protected moderation evidence or ownership records may require an explicit site-owner decision rather than silent automatic rewriting.
Legal responsibility: these are technical privacy tools, not a claim of automatic GDPR compliance. Site owners remain responsible for lawful basis, privacy notices, retention, processor/controller obligations and legal review.
20 · Security

Security boundaries used by SMSocial.

Authentication & REST

Public authentication uses isolated browser/session controls, nonce/origin checks and rate limits. Signed-out users are denied from protected SMSocial REST routes. Private REST responses use no-store/noindex/nosniff style protections.

Uploads & attachments

Media validation includes allow-listed types and image dimension ceilings. Private message attachments are protected rather than published as normal WordPress media URLs.

Permissions

Admin and social writes are governed by SMSocial capabilities/policies and explicit permission callbacks instead of trusting frontend visibility alone.

Secrets

Supported sensitive provider credentials are kept out of normal settings exports and stored using protected/encrypted storage where implemented.

SMSocial security controls do not replace normal WordPress/server hardening, patching, backups, least-privilege access, malware monitoring or professional penetration testing.

21 · PWA & performance

Installable app behaviour with a privacy-safe cache boundary.

The isolated SMSocial application can expose a Web App Manifest and service worker. The service worker is intentionally limited to versioned first-party SMSocial static assets.

  • Authenticated HTML is not cached as offline social content.
  • SMSocial REST responses, messages, notifications, uploads, media files and video streams are not placed in the static PWA cache.
  • Offline mode returns a generic shell rather than cached private community data.
  • Route lifecycle includes in-memory route caching, invalidation, scroll restoration and connection-aware prefetch behaviour.
22 · Administration

Settings, roles, System Health and diagnostics.

SMSocial uses its own administration shell and SMSocial-specific WordPress capabilities. Administrator retains the full SMSocial management capability set.

Core capability model

smsocial_managesmsocial_view_diagnosticssmsocial_moderatesmsocial_manage_userssmsocial_create_content

Role synchronization changes SMSocial capabilities only; it does not rewrite arbitrary WordPress core capabilities.

System Health

Health checks are read-only and scoped to SMSocial resources and required WordPress services. Use System Health after installation, after infrastructure changes and after upgrades.

Tools & support diagnostics

SMSocial includes bounded repair/diagnostic tooling such as settings/role checks, redacted support export, SMSocial cron visibility and error/trace diagnostics. Support reports are designed to omit secrets and sensitive values.

23 · Troubleshooting

Start here when something does not behave as expected.

New users cannot register

Check Email Delivery readiness first. Confirm the selected provider, From identity, a successful real test message and the administrator receipt confirmation.

Verification email is delayed

Check the provider message log, sending-domain verification, SPF/DKIM/DMARC and mailbox spam/quarantine. SMSocial transport acceptance is not the same thing as inbox delivery.

Video fails in one browser

Confirm the source is a supported MP4, inspect FFmpeg/FFprobe diagnostics and retry compatibility processing. Keep the original MP4 available as the canonical fallback.

Background work is not completing

Verify WP-Cron or the real server cron is executing. Video processing and expiry/cleanup jobs depend on a healthy cron path.

Private content appears inaccessible

Check the signed-in user, visibility policy, connection/group membership and moderation state. SMSocial deliberately fails closed when authorization cannot be proven.

A UI issue appears after an update

Clear site/CDN/browser caches, retest in a private window, then use SMSocial Error Log/System Health. Capture the exact route, device and reproduction steps before changing data.

Do not debug production by deleting SMSocial tables or manually editing canonical Activity/social records. Take a backup and use the diagnostic/repair boundaries first.
24 · Launch checklist

Final checks before inviting members.

Need help?

Use Support when diagnostics are not enough.

Include the affected route, device/browser, reproduction steps and a redacted SMSocial diagnostic export where appropriate.

Open Support