Download the PHP package systopia/de.systopia.remotetools without Composer

On this page you can find all versions of the php package systopia/de.systopia.remotetools. 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 de.systopia.remotetools

SYSTOPIA's Remote Tools

This extension is meant to be a toolbox for integrating CiviCRM with other (potentially) remote systems. An example for this could be your website, and/or another database.

Features

Requirements

Installation

For the frontend part you can use the CiviRemote Drupal module.

Usage

You can use this extension via other extensions that rely on Remote Tools:

Providing own remote entities

If you want to provide an own remote entity that accesses the entity MyEntity, you can do the following:

Now you should be able to access data via APIv4, e.g.

(Use the APIv4 explorer to test.)

Most methods in the profile class have a parameter named $contactId. This contains the remote contact ID resolved to a CiviCRM contact ID or NULL if no remote contact ID was given. If a given remote contact ID could not be resolved, access is denied. The resolving is done using the extension de.systopia.identitytracker.

You can find more information in the PHPDoc of the various classes, interfaces, and methods.

All elements that can be safely used by third parties are marked with @api. Their behavior will be stable within minor updates. Breaking changes may only happen in major updates (semantic versioning). If a class or interface is marked with @api then this applies to all methods within it. If you'd like to use code that is not labeled as API, yet, please open an issue, so we can consider to add it to the API.

Additionally, interfaces marked with @apiService, have a corresponding service in the DI container that can be safely used by third parties. Though in contrast to @api those interfaces should not be implemented.

Services are private by default. If you need a service of this extension as public service, just make a public alias.

Forms

Forms for creation and update are specified in a \Civi\RemoteTools\Form\FormSpec\FormSpec. This specification will be converted to JSON Forms. (Different output would be possible with a custom action handler.) The Drupal module civiremote_entity provides the corresponding part that accesses the remote entity API and renders the forms as Drupal forms.

Contact Search Forms

Custom forms for contact searches can be inherited from class CRM_Remotetools_RemoteContactProfile. Your profile class needs to implement the following methods:

In addition, take a look and implement the following methods:

Field specification

Define a field that holds array data

Such a field specification is of type T_ENUM and needs an options field in the data passed on to setFieldSpec() in addFields():

The options field is manadatory if data is supposed to be rendered in a Drupal View. Otherwise the settings menu of the field in the corresponding Drupal View won't show the menu entry Multiple field settings.

The options field must at least hold a single array entry. an empty array is not sufficient. The option name can be arbitrary as the options are not used any further by the Drupal View.

In order to show the array entries for that field in a Drupal View as a simple list without bullets or indices, do:

License

The extension is licensed under AGPL-3.0.


All versions of de.systopia.remotetools with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
civicrm/civicrm-core Version >=6.2
civicrm/civicrm-packages Version >=6.2
symfony/html-sanitizer Version >=6
symfony/mime Version >=4.4
systopia/de.systopia.identitytracker Version ^1.5
systopia/de.systopia.xcm Version ^1.15
systopia/expression-language-ext Version ~0.1
systopia/opis-json-schema-ext Version ~0.6 >=0.6.2
webmozart/assert Version ^1.11 || ^2
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 systopia/de.systopia.remotetools contains the following files

Loading the files please wait ...