2872ae2b97
#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>
2.5 KiB
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 |
|---|---|---|---|---|
| plg_mokojoomcross_facebook | No limit | Yes | Yes | |
| X / Twitter | plg_mokojoomcross_twitter | 280 | Yes | No |
| 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
- Go to Components → MokoJoomCross → Services
- Click New
- Select the service type
- Enter a title and choose credentials mode
- For Default mode: enter only the destination (chat ID, channel, etc.)
- For Custom mode: enter your full API credentials as JSON
- Save and enable
Credentials Format
Each service expects specific JSON fields. See the individual service pages: