Pre-1.0. Not intended for public use yet. The API is subject to undocumented change, and these pages may already be wrong about it.

Skip to content

Verb Vocabulary ​

Introduction ​

Storyfeed\Act provides common verbs as backed enum cases. Each stores an English verb, such as accept, and maps it to an Activity Streams 2.0 type, such as Accept.

Verbs are free-form strings, so you may use your own names, enum cases, or both.

Available Verbs ​

The 67 verbs below are grouped by Activity Streams type. Case names start with a capital letter: Act::TentativelyAccept stores tentativelyAccept.

Activity typeVerbs
Createcreate, upload, draft
Updateupdate, rename, amend, correct, supersede, complete, confirm, cancel, begin, end, pause, resume, extend, shorten, enable, disable
Deletedelete, discard
Undoundo, restore, reinstate, revert, void, withdraw
Addadd, attach, apply, record
Removeremove, retire, archive, release, detach
Joinjoin, pair
Leaveleave
Offeroffer, send, propose, request
Inviteinvite
Acceptaccept, agree
Rejectreject, decline
TentativeAccepttentativelyAccept
TentativeRejecttentativelyReject
Viewview, open
Readread, download
Listenlisten
Announceannounce, remind
Questionask
Flagflag
Likelike
Dislikedislike
Followfollow
Ignoreignore
Blockblock
Arrivearrive
Traveltravel
Movemove

All verbs use present tense, such as send. The enum covers all 28 Activity Streams activity types.

For example, Act::Accept stores accept and serializes as "type": "Accept" with "sf:verb": "accept". Activity Verbs shows how to record with an enum case.

Registering Verbs ​

Pass a verb-to-type map to Storyfeed::verbs(). Use Act::only() to build the map from the cases your application records:

app/Providers/AppServiceProvider.phpboot()
php
use Storyfeed\Act;
use Storyfeed\Facades\Storyfeed;

Storyfeed::verbs(
    Act::only(
        Act::Create, Act::Update, Act::Accept, Act::Archive,
    ),
);

Register only the verbs your application records. Registering all 67 cases produces a verbs.dead finding for each unused verb.

Using Application Verbs ​

Register custom verbs as strings or in an enum implementing FeedVerb.

Domain actions such as reply, settle, deliver, approve, and sign are application-owned verbs. Register their Activity Streams types explicitly; stored verb strings are unchanged when upgrading from the removed enum cases.

app/Providers/AppServiceProvider.phpboot()
php
use Storyfeed\ActivityStreams\ActivityType;
use Storyfeed\Facades\Storyfeed;

Storyfeed::verbs([
    'plate' => ActivityType::Create,
    'reply' => ActivityType::Create,
    'deliver' => ActivityType::Create,
    'settle' => ActivityType::Update,
    'approve' => ActivityType::Accept,
    'sign' => ActivityType::Accept,
]);

Combining Verb Enums ​

Storyfeed::verbs() merges registrations by default, so both vocabularies remain available.

app/Providers/AppServiceProvider.phpboot()
php
use App\Enums\ShopActivity;
use Storyfeed\Act;
use Storyfeed\Facades\Storyfeed;

Storyfeed::verbs(Act::only(Act::Create, Act::Confirm));
Storyfeed::verbs(ShopActivity::class);

Released under the MIT License.