Download the PHP package rivervanrain/indieweb without Composer

On this page you can find all versions of the php package rivervanrain/indieweb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package indieweb

IndieWeb

Elgg 6.0

IndieWeb integration for Elgg

About

Integrates the philosophy of IndieWeb in your Elgg website. Based on the original IndieWeb Drupal plugin by Kristof De Jaeger aka swentel.

Features

Webmentions

Webmention.io is a hosted service created to easily handle webmentions on any web page. Webmentions in Elgg exposes an endpoint /webmention to receive Webmentions via this service.

Webmention.io is open source so you can also host the service yourself.

You need an account for receiving the webhooks at Webmention.io As soon as one Webmention is recorded at that service, you can set the webhook to https://your_domain/webmention and enter a secret.

To create an account, you need to authenticate with IndieAuth which requires you to add the rel=me attribute on links to your social accounts. See Setup Instructions for full instructions. See also IndieAuth further below.

You can also use the built-in endpoint so you don't need to rely on external services.

Configuration is at /admin/indieweb/webmention Overview of all recieved Webmentions are at /admin/indieweb/webmention/received

Sending Webmentions and Syndicating content with Bridgy

Syndicating and sending Webmentions in Elgg can be done per publishing a new entity in the Publish to fieldset, which is protected with the Sending configuration at /admin/indieweb/webmention

For Syndicating, a checkbox will be available on the entity form for sending your content per target (e.g. Fediverse etc). There is also a syndication field available to render your syndications for POSSE-Post-Discovery

You can also configure to just enter a Custom URL field to send a Webmention to.

When you toggle to syndicate and an entity is created, Webmention will send to Bridgy for instance.

Bridgy pulls comments, likes, and reshares on social networks back to your web site. You can also use it to post to social networks - or comment, like, reshare, or even RSVP - from your own web site. Bridgy is open source so you can also host the service yourself. To receive content from those networks, bridgy will send a webmention, so you only need to enable the webmention endpoint.

Your content needs to have proper Microformat classes on your content, images etc.

Note: Bridgy prefers p-summary over e-content, but for original tweets p-name first. See https://brid.gy/about#microformats

You can preview your posts on Bridgy to verify your markup is ok.

Overview of all sent Webmentions are at /admin/indieweb/webmention/sent

Microformats

Microformats in Elgg are extensions to HTML for marking up people, organizations, events, locations, blog posts, products, reviews, resumes, recipes etc.

Sites use Microformats to publish a standard API that is consumed and used by search engines, aggregators, and other tools.

An example:

Classes added for publication (or other functionality)

Several field formatters for links, categories, RSVP, geocache, checkin and geo are also available.

There is a special case for quotations: in case you have link field and a body, the repost formatter will set a static variable so that the body field and the link field are moved inside a special container. This only works with the body field, so make sure you use that field for content on an entity subtype.

Micropub

Allow posting to your Elgg app.

Before you can post, you need to authenticate and enable the IndieAuth Authentication API. Every request will contain an access token which will be verified to make sure it is really you who is posting.

See IndieAuth to configure. More information about Micropub.

A very good client to test is quill. A full list is available at Micropub Clients. Indigenous (for iOS and Android) are also micropub readers.

Even if you do not decide to use the Micropub endpoint, the configuration screen gives you a good overview what kind of content types and fields you can create which can be used for sending Webmentions or read by Microformat parsers.

A media endpoint is also available where you can upload files (audio, images and videos only).

You can configure Micropub at /admin/indieweb/micropub

Supported post types

Read more about Posts.

You can configure this at /admin/indieweb/micropub/posts

Contacts

Allows storing contacts which can be used for a Micropub contact query.

The Micropub contact endpoint can be enabled at /admin/indieweb/micropub.

More info at Nicknames

Microsub

Microsub is an early draft of a spec that provides a standardized way for clients to consume and interact with feeds collected by a server.

Readers are Indigenous (iOS and Android), Monocle and Together and many others to come. Servers are Aperture, Ekster etc.

For more information see Microsub-spec

Microsub in Elgg allows you to expose a Microsub header link which can either be the built-in Microsub server or set to an external service.

Channels and sources for the built-in server are managed at /admin/indieweb/microsub/channels

Note: Servers must always have a channel with the uid notifications, and must always have at least one other channel for a user.

Microsub actions implemented:

Tip: use HTML formatting to get the best context on posts.

Note: when you configure a feed to Cleanup feed items, internally we count 5 items more by default. The reason is that some feeds use pinned items (e.g. Mastodon) which can come and go and mix up the total visual items on a page. Or simply because a post was deleted later.

Aperture

If you use Aperture as your Microsub server, you can send a Micropub post to one channel when a Webmention is received by this site. The canonical example is to label that channel name as Notifications so you can view incoming Webmentions on readers like Monocle or Indigenous. Following Webmentions are send: likes, reposts, bookmarks, mentions and replies.

Requests

By default, all requests on the Microsub endpoint are anonymous. This allows getting channels and the posts in that channel. Write operations (like managing channels, subscribing, search, marking (un)read etc) will not be allowed when the request is anonymous.

This is ideal for showcasing an endpoint in a reader for instance.

Note: You can still have authenticated requests too, but items will always be marked unread because of the anonymous requests.

Media cache

When using the built-in Webmention/Microsub endpoint or Contacts, a lot of file urls are stored to external images. These files will be downloaded and cached locally. The cache is generated when the Webmention or Microsub items are processed so the impact on request is minimal.

IndieAuth

IndieAuth is a way to use your own domain name to sign in to websites. It works by linking your website to one or more authentication providers such as Twitter or Google, then entering your domain name in the login form on websites that support IndieAuth.

Indieauth.com and Indielogin.com is a hosted service that does this for you and the latter also provides Authentication API. Both are open source so you can also host the service yourself.

The easy way is to add rel="me" links on your homepage which point to your social media accounts and on each of those services adding a link back to your home page. They can even be hidden.

You can also use a PGP key if you don't want to use a third party service. See https://indieauth.com/setup for full details.

This plugin does not expose any of these links or help you with the PGP setup, you will have to manage this yourself.

If you use apps like Quill - web or Indigenous (iOS, Android) or other clients which can post via Micropub or read via Microsub, the easiest way to let those clients log you in with your domain is by using https://indieauth.com too and exchange access tokens for further requests. Only expose these header links if you want to use Micropub or Microsub.

You can also use the built-in auth and token endpoints. You then authorize yourself with an Elgg user (for site administrators only). PKCE support is included.

Public and private keys

When using the built-in endpoint, access tokens are encrypted using a private key and decrypted with a public key. You can generate those via the UI, or manually create them by running following commands:

Ideally, those keys live in a folder outside your webroot. If that is not possible, make sure the permissions are set to 600. Fill in the path afterwards at /admin/indieweb/indieauth.

WebSub

WebSub (previously known as PubSubHubbub or PuSH, and briefly PubSub) is a notification-based protocol for web publishing and subscribing to streams and legacy feed files in real time.

WebSub for Elgg allows you to publish your content to a hub and also receive notifications from a hub for Microsub feeds so that polling isn't necessary.

The default hub for publishing is switchboard.

pubsubhubbub and superfeedr work as well for getting subscription and notifications.

When you toggle to publish, an entry is created in the queue which you can either handle by cron. This will send a request to the configured hub. An overview of published content is at /admin/indieweb/websub/pub.

More configuration is at configuration at /admin/indieweb/websub.

For more information see How to publish and consume WebSub and WebSub.

Feeds

Generate feeds in JF2.

You will need feeds when:

For example, use yourdomain.com/blog/all?view=jf2feed to view feeds.

For more information see:

Fediverse via Bridgy Fed or ActivityPub plugin

Bridgy Fed lets you interact with federated social networks like Mastodon and Hubzilla from your Elgg app. It translates replies, likes, and reposts from Webmentions to federated social networking protocols like ActivityPub and OStatus, and vice versa. Bridgy Fed is open source so you can also host the service yourself. See Bridgy Fed

Currently supports Mastodon, with more coming. You don't need any account at all on any of the social networks.

Just add Fediverse|https://fed.brid.gy/ as a syndication target and select it when posting new content.. Posts, replies, likes, boosts and follows work fine.

If you want to interact with the Fediverse using Elgg itself, you can also install the ActivityPub plugin for Elgg.

IndieWebify.me / sturdy-backbone.glitch.me / xray.p3k.io

Use IndieWebify.me to perform initial checks to see if your site is Indieweb ready. It can scan for certain markup after you've done the configuration with this module (and optionally more yourself).

Note that author discovery doesn't fully work 100% on IndieWebify for posts, use https://sturdy-backbone.glitch.me.

Another good tool is http://xray.p3k.io, which displays the results in JSON.

Usage

Once activated the plugin will provide the following functionality:

OpenWeb Icons

We use OpenWeb Icons to make some of the menu items look pretty.

Use this code snippet to add icons to menus:

More examples on the project's page

Developer snippets


All versions of indieweb with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
guzzlehttp/guzzle Version ^7.0
masterminds/html5 Version ^2.0
indieweb/mention-client Version ^1.2.1
p3k/xray Version ^1.12.0
p3k/micropub Version ^0.0.3
rivervanrain/websub Version dev-elgg
indieauth/client Version ^1.1
lcobucci/jwt Version 4.0.*
symfony/dom-crawler Version ^5.4
pfefferle/openwebicons Version ^1.6.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package rivervanrain/indieweb contains the following files

Loading the files please wait ....