Experimental Joomla extensions for IndieWeb publishing, Micropub, Webmentions, identity metadata, and federation research.
This repository began as an exploration of how far Joomla could be pushed toward IndieWeb and Fediverse interoperability.
The project has since evolved toward a simpler architecture:
Joomla handles publishing.
Dedicated federation software handles federation.
This work was inspired by:
- Joomla Community Magazine article:
- IndieWeb:
- BridgyFed:
- GoToSocial:
Extensive experimentation was performed around:
- WebFinger
- ActivityPub
- Micropub
- Webmention
- IndieAuth
- ATProto verification
- Joomla routing and plugin events
The conclusion so far is that Joomla works well as an IndieWeb publishing platform, but is not an ideal place to implement a complete ActivityPub server.
Joomla is the publishing platform.
Responsibilities:
- Articles
- Pages
- Media
- SEO
- h-card
- h-entry
- rel=me
- IndieAuth
- Micropub
- Webmentions
Handled separately.
Candidates:
- GoToSocial
- BridgyFed
- Future federation services
Responsibilities:
- ActivityPub
- WebFinger
- Followers
- Following
- Actor discovery
- Inboxes
- Outboxes
- Federation queues
Status: Active
Purpose:
- Identity metadata
- h-card generation
- rel=me support
- IndieWeb profile information
Future:
- Continue development
- Focus on IndieWeb functionality
- Remove abandoned ActivityPub experiments
Status: Active
Purpose:
- Micropub endpoint
- IndieWeb publishing support
Future:
- Authentication review
- Media handling improvements
- Better error reporting
Status: Active
Purpose:
- Receive Webmention requests
- Validation
- Routing and processing
Future:
- Queueing
- Moderation
- Anti-spam measures
Status: Needs Repair
Known issue:
Current implementation depends on a database table that is not present in the deployment environment.
Future options:
- Repair
- Redesign
- Replace
Micropub support works and remains a core part of the project.
Incoming Webmentions can be received and processed.
Joomla can successfully expose:
- h-card data
- rel=me links
- profile information
The following endpoint pattern works reliably:
/.well-known/atproto-did
A Joomla route such as:
/index.php?resource=acct:user@example.com
can successfully return machine-readable identity data.
Repeated attempts were made to expose:
/.well-known/webfinger
through Joomla routing.
Results were inconsistent due to interactions between:
- Joomla routing
- Plugin execution order
- Web server configuration
- Reverse proxy configuration
- Other plugin dependencies
Implementing ActivityPub inside Joomla would require:
- Actor management
- Inboxes
- Outboxes
- Followers collections
- Following collections
- Signature verification
- Delivery queues
- Retry mechanisms
- Moderation infrastructure
Those features already exist in dedicated federation software.
Goals:
- Improve h-card output
- Improve h-entry output
- Improve rel=me support
- Stabilise Micropub
- Stabilise Webmention receiver
Status: In Progress
Goals:
- Repair Webmention display
- Improve storage model
- Add moderation workflows
- Add spam protection
Status: Planned
Goals:
- Deploy GoToSocial
- Establish canonical federation identity
- Delegate WebFinger and ActivityPub responsibilities
Status: Planned
Goals:
- Syndication workflows
- RSS integration
- BridgyFed integration
- Publishing automation
Status: Planned
Priority: High
The existing display plugin requires schema work before it can be used reliably.
Priority: High
Joomla routing is not currently a reliable long-term implementation path for:
/.well-known/webfinger
Potential resolution:
Delegate WebFinger to dedicated federation software.
Priority: High
Ensure all article output consistently includes:
- h-entry
- author
- publication date
- update date
- tags
Priority: Medium
Map plugin interactions and identify side effects.
Priority: Medium
Improve robustness and operational reliability.
Priority: Medium
Determine long-term role within the publishing workflow.
+----------------+
| GoToSocial |
| ActivityPub |
| WebFinger |
+--------+-------+
|
|
+--------v-------+
| BridgyFed |
+--------+-------+
|
|
+--------v-------+
| Joomla |
| IndieWeb CMS |
+----------------+
Current project direction:
- IndieWeb
- Micropub
- Webmentions
- h-card
- h-entry
- rel=me
- IndieAuth
- GoToSocial integration
- BridgyFed experimentation
Not currently planned:
- Native Joomla ActivityPub server
- Native Joomla federation queues
- Native Joomla inbox/outbox implementation
- Native Joomla actor infrastructure
Active research and development.
Current focus:
Joomla as an IndieWeb publishing platform
Target architecture:
Joomla
+ IndieWeb
+ Micropub
+ Webmentions
GoToSocial
+ ActivityPub
+ WebFinger
BridgyFed
+ Interoperability
This approach keeps the Joomla side maintainable while still allowing participation in the wider federated and decentralized web.