Download the PHP package zef-dev/convoworks-core without Composer

On this page you can find all versions of the php package zef-dev/convoworks-core. 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 convoworks-core

Convoworks

Convoworks is a PHP framework for managing conversational services (Amazon Alexa skills, Google actions and chatbots over Dialogflow, Viber, FB Messenger ...) Here are few key features:

Overview

There are several logical parts inside Convoworks framework.

Core interfaces and implementations

This part defines what is service, and what kind of components it can use. It also defines persistence and platform communication layer.

Here are few parts to notice

Admin REST

Admin rest allows access and management of the conversation workflow and publishing process. All handlers are placed in \Convo\Core\Admin namespace.

You can use the Convoworks Editor which is tailored to cover all Convoworks admin api functionalities.

There is also a Postman definition you can find in the docs folder which describes full API.

Adapters

Each supported platform has its own folder in the \Convo\Core\Adapters which contains several specific implementations required by the Convoworks. Firstly it defines http request handler for accepting platform requests. Then it defines how to create Convoworks request/response objects which are used in service workflow. It also implements how the service definition is propagated to target platforms.

Default component packages

Convoworks is shipped with a couple of packages which you'll use most of the time.

Integration

You can import and run Convoworks with in literally any PHP web application. If your app uses PSR compatible framework and Dependency Injection, than it is even easier.

Convoworks exposes its functionality through admin and public REST apis. Public API is used by conversational platforms (e.g. Amazon Alexa) and it does not need authentication. Each supported platform has its own handler. Admin API serves for managing the conversation flow, configurations and release handling. It requires authenticated user requests.

In order to mount Convoworks REST handlers, we have to bootstrap them somehow and we have to provide few implementations required by the system.

Admin users

Serves for accessing the logged user and enables saving some specific user data (e.g. platform access configuration), service ownership and sharing.

Convoworks is accessing user data through \Convo\Core\IAdminUserDataProvider interface which returns \Convo\Core\IAdminUser objects. You have to implement these two interfaces, because the user management is always system specific.

Service data storage

Service data layer defines loading/saving service data, managing versions and releases and stores service related, runtime parameters. It is defined with \Convo\Core\IServiceDataProvider, \Convo\Core\Params\IServiceParams and \Convo\Core\Params\IServiceParamsFactory interfaces.

We provided two service data implementations, one stores data on the filesystem - convoworks-data-filesystem and one is working with mysql - convoworks-mypdo.

Http factory

Convoworks requires a PSR compatible http client and uses it through the \Convo\Core\Util\IHttpFactory interface. You can use our convoworks-guzzle implementation.

Bootstrapping

Although you can manually create all required classes, we recommend using an PSR compatible DI container.

Here is the full ecosystem:

System utils

DI key Type Description
logger \Psr\Log\LoggerInterface Provides logger
httpFactory \Convo\Core\Util\IHttpFactory Provides http layer access to the system
currentTimeService \Convo\Core\Util\ICurrentTimeService Allows as to have mockable time provider
cache \Psr\SimpleCache\CacheInterface Provides access to cache infrastructure
Core functionality DI key Type Description
adminUserDataProvider \Convo\Core\IAdminUserDataProvider Allows integration with your own admin users
convoServiceParamsFactory \Convo\Core\Params\IServiceParamsFactory For handling runtime parameters
convoServiceDataProvider \Convo\Core\IServiceDataProvider Service data persistance layer
serviceMediaManager \Convo\Core\Media\IServiceMediaManager Service media storage
convoServiceFactory \Convo\Core\Factory\ConvoServiceFactory Loads runnable service instance
platformRequestFactory \Convo\Core\Factory\PlatformRequestFactory Updates text based requests to intent based, through delegate platform
packageProviderFactory \Convo\Core\Factory\PackageProviderFactory Provides access to concrete package definitions
serviceReleaseManager \Convo\Core\Publish\ServiceReleaseManager Updates release and version information
platformPublisherFactory \Convo\Core\Publish\PlatformPublisherFactory Provides concrete platform publishers - \Convo\Core\Publish\IPlatformPublisher
Platform specifics DI key Type Description
amazonAuthService \Convo\Core\Adapters\Alexa\AmazonAuthService Enables authentication for Amazon Alexa SMAPI
alexaRequestValidator \Convo\Core\Adapters\Alexa\Validators\AlexaRequestValidator Validates Amazon Alexa requests
amazonPublishingService \Convo\Core\Adapters\Alexa\AmazonPublishingService Our SMAPI implementation
dialogflowApiFactory \Convo\Core\Adapters\Dialogflow\DialogflowApiFactory Provides access to Dialogflow API
facebookMessengerApiFactory \Convo\Core\Adapters\Fbm\FacebookMessengerApiFactory Provides access to FB Messenger API
viberApi \Convo\Core\Adapters\Viber\ViberApi Our Viber API implementation
Admin API specifics DI key Type Description
\Convo\Core\Admin\ServicesRestHandler \Convo\Core\Admin\ServicesRestHandler Service management
\Convo\Core\Admin\ServiceVersionsRestHandler \Convo\Core\Admin\ServiceVersionsRestHandler Service versions and releases management
\Convo\Core\Admin\ServicePlatformConfigRestHandler \Convo\Core\Admin\ServicePlatformConfigRestHandler Service platform configurations
\Convo\Core\Admin\UserPlatformConfigRestHandler \Convo\Core\Admin\UserPlatformConfigRestHandler Updates user configurations
\Convo\Core\Admin\UserPackgesRestHandler \Convo\Core\Admin\UserPackgesRestHandler Access to user packages
\Convo\Core\Admin\ServicePackagesRestHandler \Convo\Core\Admin\ServicePackagesRestHandler Service packages management
\Convo\Core\Admin\TemplatesRestHandler \Convo\Core\Admin\TemplatesRestHandler Access to available templates
\Convo\Core\Admin\TestServiceRestHandler \Convo\Core\Admin\TestServiceRestHandler Service simulator
\Convo\Core\Admin\ServiceImpExpRestHandler \Convo\Core\Admin\ServiceImpExpRestHandler Import/export service data
\Convo\Core\Admin\ComponentHelpRestHandler \Convo\Core\Admin\ComponentHelpRestHandler Loads component help if available
\Convo\Core\Admin\ConfigurationRestHandler \Convo\Core\Admin\ConfigurationRestHandler Loads configuration options
\Convo\Core\Admin\MediaRestHandler \Convo\Core\Admin\MediaRestHandler Service media management
propagationErrorReport \Convo\Core\Admin\PropagationErrorReport Error reporting utility
Public API specifics DI key Type Description
\Convo\Core\Adapters\ConvoChat\ConvoChatRestHandler \Convo\Core\Adapters\ConvoChat\ConvoChatRestHandler Handles web chat requests
\Convo\Core\Adapters\Google\Dialogflow\DialogflowAgentRestHandler \Convo\Core\Adapters\Google\Dialogflow\DialogflowAgentRestHandler Handles Dialogflow requests
\Convo\Core\Adapters\Google\Gactions\ActionsRestHandler \Convo\Core\Adapters\Google\Gactions\ActionsRestHandler Handles direct Google Actions requests
\Convo\Core\Adapters\Fbm\FacebookMessengerRestHandler \Convo\Core\Adapters\Fbm\FacebookMessengerRestHandler Handles Messenger requests
\Convo\Core\Adapters\Viber\ViberRestHandler \Convo\Core\Adapters\Viber\ViberRestHandler Handles Viber requests
\Convo\Core\Adapters\Alexa\AlexaSkillRestHandler \Convo\Core\Adapters\Alexa\AlexaSkillRestHandler Handles Alexa requests
\Convo\Core\Adapters\Alexa\AmazonAuthRestHandler \Convo\Core\Adapters\Alexa\AmazonAuthRestHandler Oauth for enabling Amazon SMAPI access
\Convo\Core\Adapters\Alexa\CatalogRestHandler \Convo\Core\Adapters\Alexa\CatalogRestHandler Exposes entity catalogues to Alexa
\Convo\Core\Media\MediaRestHandler \Convo\Core\Media\MediaRestHandler Allows public access to service media
facebookAuthService \Convo\Core\Adapters\Fbm\FacebookAuthService Oauth for enabling Facebook API access

REST routing

Our handlers are always expecting convo/v1 as a base for all Convoworks requests, so you can use wildcard to route all such requests to the Convoworks request handlers. Please note that we have two separate REST APIs, public and admin so they are treated and mounted separately.

Instead of mapping each request handler we have, you can use our "grouped" handlers, just one per API. \Convo\Core\Adapters\PublicRestApi for public and \Convo\Core\Admin\AdminRestApi for admin API. Only difference is that in such a case you have to use a DI container.

Registering packages

Your application will also define which Convoworks custom packages will be available for use. Packages are registered by passing \Convo\Core\Factory\IPackageDescriptor objects to the \Convo\Core\Factory\PackageProviderFactory.

Admin API Authentication

Once you have that implemented, you have to make logged user available for REST handlers. Somewhere in the app bootstrap process, set the request attribute Convo\Core\IAdminUser to your user (which implements \Convo\Core\IAdminUser).

Roadmap

Convoworks Prototype

You can check our example integration called Convoworks Prototype. You can download it and find more information here


For more information, please check out convoworks.com


All versions of convoworks-core with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2.5
psr/log Version ^1.1.0
psr/container Version ^1.0.0
psr/http-client Version ^1.0.0
psr/http-factory Version ^1.0.0
psr/http-message Version ^1.0.1
psr/http-server-handler Version ^1.0.0
psr/http-server-middleware Version ^1.0.0
psr/simple-cache Version ^1.0.0
phpseclib/bcmath_compat Version ^2.0.0
google/cloud-dialogflow Version ^0.17.4
facebook/graph-sdk Version ^5.7
symfony/expression-language Version ^5.2
symfony/event-dispatcher Version ^5.4
wapmorgan/mp3info Version ^0.0.8
league/html-to-markdown Version ^5.1.1
zef-dev/zef-expression-language Version ^1.3.1
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 zef-dev/convoworks-core contains the following files

Loading the files please wait ....