Files
Jonathan Miller 2872ae2b97
Universal: Auto Version Bump / Version Bump (push) Successful in 4s
Update Server / Update Server (push) Successful in 13s
feat: low-priority issues #19-#22
#19 Per-article cross-posting: Content plugin injects "Cross-Posting"
    fieldset into article editor via onContentPrepareForm. Dynamic
    checkbox list of all enabled services. Skip toggle. System plugin
    reads article attribs for mokojoomcross_services (array of service
    IDs) and mokojoomcross_skip (boolean). Unchecked = post to all.

#20 Analytics dashboard: Posts-by-service breakdown table with
    success rate column (color-coded). Top cross-posted articles
    list. DashboardModel methods: getServiceBreakdown(),
    getDailyTrend(), getTopArticles().

#21 OAuth flows: OAuthHelper with authorize URL generation (Facebook,
    LinkedIn, Twitter), PKCE for Twitter, code→token exchange, token
    storage in service credentials. OauthController with authorize
    and callback actions. Reads client ID/secret from plugin params.

#22 Wiki documentation: Services guide (all 9 platforms, default vs
    custom mode), REST API reference, Message Templates guide with
    examples per platform, Troubleshooting guide.

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 13:42:07 -05:00

2.5 KiB

Services

MokoJoomCross supports 9 platforms. Each is a separate plugin that can be enabled or disabled independently.

Social Media

Platform Plugin Character Limit Media Default Bot
Facebook plg_mokojoomcross_facebook No limit Yes Yes
X / Twitter plg_mokojoomcross_twitter 280 Yes No
LinkedIn plg_mokojoomcross_linkedin 3,000 Yes No
Mastodon plg_mokojoomcross_mastodon 500 Yes No
Bluesky plg_mokojoomcross_bluesky 300 Yes No

Email Marketing

Platform Plugin Character Limit Media Default Bot
Mailchimp plg_mokojoomcross_mailchimp No limit Yes No

Chat / Messaging

Platform Plugin Character Limit Media Default Bot
Telegram plg_mokojoomcross_telegram 4,096 Yes Yes (@MokoWaaSBot)
Discord plg_mokojoomcross_discord 2,000 Yes Yes (webhook)
Slack plg_mokojoomcross_slack 40,000 Yes Yes (webhook)

Default vs Custom Mode

Services with "Default Bot" support offer two operating modes:

  • Default Mode: Uses a pre-configured bot/app token managed by Moko. The admin only needs to provide a destination (chat ID, page ID, etc.). The API key is stored in the plugin's configuration and never visible in the service record.

  • Custom Mode: The admin provides their own API keys, tokens, or webhook URLs. Full control, but requires setting up your own app/bot on the platform.

Configure default tokens in Extensions → Plugins → MokoJoomCross - [Platform].

Adding a Service

  1. Go to Components → MokoJoomCross → Services
  2. Click New
  3. Select the service type
  4. Enter a title and choose credentials mode
  5. For Default mode: enter only the destination (chat ID, channel, etc.)
  6. For Custom mode: enter your full API credentials as JSON
  7. Save and enable

Credentials Format

Each service expects specific JSON fields. See the individual service pages: