OStatus for Perl - A social toolbox for Mojolicious
Perl Perl 6
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
t
.gitignore
Changes
LICENSE
Makefile.PL
Readme.pod

Readme.pod

Sojolicious

Sojolicious is a toolkit for the federated social web, containing plugins for the powerful web framework Mojolicious written in Perl.

Synopsis

use Mojolicious::Lite;

# Load Plugins
plugin 'Webfinger';
plugin 'PubSubHubbub';
plugin 'Salmon';

# Esablish Salmon Endpoints:
group {
  under '/salmon';
  (any '/:acct/mentioned')->salmon('mentioned');
  (any '/:acct/all-replies')->salmon('all-replies');
  (any '/signer')->salmon('signer');
};

# Add pubsubhubbub callback url
(any '/pubsub')->pubsub;

hook on_salmon_follow => sub {
  # ... You received a follow request
};

hook on_pubsub_content => sub {
  my ($c, $type, $dom) = @_;
  # ... You receive feed information you subscribed to
};

app->start;

Goal

Sojolicious mainly focus on support for the OStatus meta protocol and aims for a straight forward implementation of all surrounding specifications.

The design goal is to make all plugins useful on their own, as separated building blocks of OStatus, while playing well with each other. All plugins are application (despite the fact that they are Mojolicious plugins) and storage agnostic, providing event driven hooks for usage.

Some plugins will become separated distributions, in case this is useful.

See sojolicio.us for recent updates.

Plugins for ...

There are plans to expand the scope to other social protocols later, for example OExchange.

Acknowledgement

ActivityStreams was developed by Martin Atkins, Will Norris, Chris Messina, Monica Wilkinson, and Rob Dolin. Atom was developed by Mark Nottingham and Robert Sayre. Atom Threading Extensions was developed by James M. Snell. HostMeta was developed by Eran Hammer-Lahav and Blaine Cook. MagicSignatures was developed by John Panzer, Ben Laurie, and Dirk Balfanz. Mojolicious is written by Sebastian Riedel. OStatus was developed by Evan Prodromou, Brion Vibber, James Walker, and Zach Copley. PortableContacts was developed by Joseph Smarr. PubSubHubbub was developed by Brad Fitzpatrick, Brett Slatkin, and Martin Atkins. Salmon was developed by John Panzer. Webfinger was developed by Brad Fitzpatrick, Eran Hammer-Lahav, Blaine Cook, John Panzer, and Joe Gregorio. XRD was developed by Eran Hammer-Lahav and Will Norris.

... just to name the persons officially responsible for maintaining the code and the specifications. Thanks to all contributors of these projects as well!

And thanks to all implementors of these specifications for inspiring code (which is referenced in the sourcecode).

Participation on conferences was supported by the BMBF-project Linguistic Networks.

Where to learn more?

http://mojolicio.us, http://ostatus.org/.

... and?

Copyright (C) 2011-2013, Nils Diewald.

This program is free software, you can redistribute it and/or modify it under the same terms as Perl.