feat: add default templates for all 36 service types (#130)
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Generic: Repo Health / Access control (push) Successful in 3s
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled

Added INSERT rows for 16 missing service types (activitypub, blogger,
constantcontact, convertkit, devto, ghost, googlebusiness, googlechat,
hashnode, matrix, nostr, tiktok, tumblr, whatsapp, mokosuitecalendar,
mokosuitegallery) with platform-appropriate formats (HTML for email,
markdown for blog platforms, plain text for social/chat).

Also added 01.05.00.sql update migration with INSERT IGNORE for
existing installations.

Closes #130
This commit is contained in:
Jonathan Miller
2026-06-21 18:20:02 -05:00
parent 122b04f73b
commit 84f5d916f0
3 changed files with 41 additions and 1 deletions
+3
View File
@@ -12,6 +12,9 @@
- **Bluesky**: Replaced `md5()` with `hash('sha256', ...)` for cache key generation
- **XML namespaces**: Fixed 9 plugin manifests with `${CLASS_NAME}` placeholder instead of actual namespace (Discord, Facebook, LinkedIn, Mailchimp, Mastodon, Slack, Telegram, Twitter, Bluesky)
### Added
- **Default templates**: Added missing default message templates for 16 service types (activitypub, blogger, constantcontact, convertkit, devto, ghost, googlebusiness, googlechat, hashnode, matrix, nostr, tiktok, tumblr, whatsapp, mokosuitecalendar, mokosuitegallery) — all 36 services now have defaults
## [01.04.00] --- 2026-06-21
### Fixed
@@ -92,7 +92,23 @@ INSERT INTO `#__mokosuitecross_templates` (`service_type`, `title`, `template_bo
('brevo', 'Brevo Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 17, NOW()),
('ntfy', 'Ntfy Default', '{title}: {introtext}', 1, 18, NOW()),
('reddit', 'Reddit Default', '{title}', 1, 19, NOW()),
('pinterest', 'Pinterest Default', '{title} - {introtext}', 1, 20, NOW());
('pinterest', 'Pinterest Default', '{title} - {introtext}', 1, 20, NOW()),
('activitypub', 'ActivityPub Default', '{title}\n\n{introtext}\n\n{url}', 1, 21, NOW()),
('blogger', 'Blogger Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 22, NOW()),
('constantcontact', 'Constant Contact Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 23, NOW()),
('convertkit', 'ConvertKit Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 24, NOW()),
('devto', 'Dev.to Default', '# {title}\n\n{introtext}\n\n[Read more]({url})', 1, 25, NOW()),
('ghost', 'Ghost Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 26, NOW()),
('googlebusiness', 'Google Business Default', '{title} - {introtext}\n\n{url}', 1, 27, NOW()),
('googlechat', 'Google Chat Default', '*{title}*\n\n{introtext}\n\n{url}', 1, 28, NOW()),
('hashnode', 'Hashnode Default', '# {title}\n\n{introtext}\n\n[Read more]({url})', 1, 29, NOW()),
('matrix', 'Matrix Default', '{title}\n\n{introtext}\n\n{url}', 1, 30, NOW()),
('nostr', 'Nostr Default', '{title}\n\n{url}', 1, 31, NOW()),
('tiktok', 'TikTok Default', '{title} #{category}', 1, 32, NOW()),
('tumblr', 'Tumblr Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 33, NOW()),
('whatsapp', 'WhatsApp Default', '*{title}*\n\n{introtext}\n\n{url}', 1, 34, NOW()),
('mokosuitecalendar', 'MokoSuite Calendar Default', '{title}\n\n{introtext}\n\n{url}', 1, 35, NOW()),
('mokosuitegallery', 'MokoSuite Gallery Default', '{title}\n\n{introtext}\n\n{url}', 1, 36, NOW());
CREATE TABLE IF NOT EXISTS `#__mokosuitecross_category_rules` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -0,0 +1,21 @@
-- MokoSuiteCross 01.05.00 — Add missing default templates for 16 service types (#130)
-- Copyright (C) 2026 Moko Consulting. All rights reserved.
-- SPDX-License-Identifier: GPL-3.0-or-later
INSERT IGNORE INTO `#__mokosuitecross_templates` (`service_type`, `title`, `template_body`, `published`, `ordering`, `created`) VALUES
('activitypub', 'ActivityPub Default', '{title}\n\n{introtext}\n\n{url}', 1, 21, NOW()),
('blogger', 'Blogger Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 22, NOW()),
('constantcontact', 'Constant Contact Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 23, NOW()),
('convertkit', 'ConvertKit Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 24, NOW()),
('devto', 'Dev.to Default', '# {title}\n\n{introtext}\n\n[Read more]({url})', 1, 25, NOW()),
('ghost', 'Ghost Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 26, NOW()),
('googlebusiness', 'Google Business Default', '{title} - {introtext}\n\n{url}', 1, 27, NOW()),
('googlechat', 'Google Chat Default', '*{title}*\n\n{introtext}\n\n{url}', 1, 28, NOW()),
('hashnode', 'Hashnode Default', '# {title}\n\n{introtext}\n\n[Read more]({url})', 1, 29, NOW()),
('matrix', 'Matrix Default', '{title}\n\n{introtext}\n\n{url}', 1, 30, NOW()),
('nostr', 'Nostr Default', '{title}\n\n{url}', 1, 31, NOW()),
('tiktok', 'TikTok Default', '{title} #{category}', 1, 32, NOW()),
('tumblr', 'Tumblr Default', '<h1>{title}</h1>\n<p>{introtext}</p>\n<p><a href=\"{url}\">Read more</a></p>', 1, 33, NOW()),
('whatsapp', 'WhatsApp Default', '*{title}*\n\n{introtext}\n\n{url}', 1, 34, NOW()),
('mokosuitecalendar', 'MokoSuite Calendar Default', '{title}\n\n{introtext}\n\n{url}', 1, 35, NOW()),
('mokosuitegallery', 'MokoSuite Gallery Default', '{title}\n\n{introtext}\n\n{url}', 1, 36, NOW());