Download the PHP package survos/outreach-bundle without Composer

On this page you can find all versions of the php package survos/outreach-bundle. 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 outreach-bundle

survos/outreach-bundle

Small outreach CRM bundle for conference and prospect management.

It is intentionally narrow:

This is not a general CRM and it does not try to manage tenants, invoicing, or full marketing automation.

Use Cases

Model

The bundle ships four Doctrine entities and exposes them as ApiPlatform resources:

Personal Email Heuristic

The included ConferenceRegistrantUpserter service can infer an organization key from a CSV row:

Examples:

This is intentionally heuristic, not canonical truth.

Installation

Then link it in local development using your normal monorepo flow.

Configuration

The bundle is self-registering:

Optional configuration:

Services

OrganizationKeyGuesser

Builds stable organization keys from email and/or organization name.

ConferenceRegistrantUpserter

Upserts an Organization and Contact from an attendee row such as:

Optional event tag example:

That tag is added to both the organization and the contact.

Workflow

Recommended flow for conference rosters:

When import:convert sees the outreach tag, the bundle listens to row events and maps fields like:

The second command imports the normalized JSONL into Organization and Contact, deduplicating organizations by the configured email-domain heuristic.

Consent groundwork (implementation checkpoint)

Announcements are separate audiences, for example survos-announcements and pressia-updates, both using AudienceKind::ANNOUNCEMENTS. Each requires email confirmation. Following a site, bookmarking a story, or importing a contact does not grant this permission. API resources require ROLE_ADMIN.

ConsentManager records requests, confirmation, audience unsubscribe and global outreach suppression as activities. ConsentLinks generates signed, purpose-bound links. Confirmation expires after seven days and is invalidated by a fresh opt-in or an address change. Unsubscribe links do not expire. GET renders a form; POST changes permission so email link scanners do not change it accidentally.

The bundle now uses kit-bundle conventions. Consent routes are disabled by default while delivery/provider integration remains unfinished. To enable them in a consuming application:

Use a stable secret of at least 32 characters. Allow anonymous access to the configured /outreach prefix in the host security configuration: the signed link authorizes the action. Keep locale prefixes disabled for these generated URLs.

Existing databases need a migration for Subscription::consentVersion: add a nullable 32-character column, backfill each existing row with an independently generated 16-byte random hex string, then make it non-nullable. Generate the migration in the consuming app using its naming strategy; this bundle does not automatically alter existing databases.

This checkpoint does not implement confirmation email dispatch, a send worker, provider webhook synchronization, or campaign delivery. Those must enforce SendPolicy at send time, including in long-running workers. Provider selection is still under review. No mail is sent by enabling these services.

Tests from the monorepo root:


All versions of outreach-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
api-platform/doctrine-orm Version ^5.0
doctrine/doctrine-bundle Version ^3.0
doctrine/orm Version ^3.7
survos/import-bundle Version ^2.5
survos/jsonl-bundle Version ^2.5
symfony/console Version ^8.1
symfony/config Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/http-kernel Version ^8.1
symfony/string Version ^8.1
survos/kit-bundle Version ^2.34
symfony/routing Version ^8.1
symfony/http-foundation Version ^8.1
symfony/framework-bundle Version ^8.1
twig/twig Version ^3.4
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 survos/outreach-bundle contains the following files

Loading the files please wait ...