SDK package for the OJS
composer require librecodecoop/ojs-sdk
OJS installed in the same server is necessary. Inform the path of OJS for all dependencies and the login URL if you need make login and get a user token after login.
Environment | Suggested value | Usage |
---|---|---|
OJS_VERSION | 3_2_1-1 | Setup development environment with Docker |
DB_PASSWD | root | Setup development environment with Docker |
OJS_WEB_BASEDIR | /app/ojs | For make all |
OJS_LOGIN_URL | http://localhost/ojs/index.php/journal/login/signIn | Only for login |
- Create or update user:
use OjsSdk\Services\OJSService\Users\OJSUserService;
$OjsClient = new OJSUserService();
$return = $OjsClient->createUpdateUser([
'username' => 'jhonusername',
'password' => '123password',
'email' => 'jhon.doe@test.coop',
'mailingAddress' => 'Street 55',
'locales' => ['en_US'],
'groups' => [1], // administrator
'givenName' => ['en_US' => 'Jhon'],
'familyName' => ['en_US' => 'Doe'],
'phone' => '+123456789',
'lattes' => 'https://lattes.com'
]);
- changePassword
use OjsSdk\Services\OJSService\Users\OJSUserService;
$OjsClient = new OJSUserService();
$OjsClient->changePassword('jhonusername', '123password');
- getUniqueUsername
use OjsSdk\Services\OJSService\Users\OJSUserService;
$OjsClient = new OJSUserService();
$uniqueUsername = $OjsClient->getUniqueUsername('jhonusername', '123password');
- Login
use OjsSdk\Services\OJSService\Users\OJSUserService;
$OjsClient = new OJSUserService();
$loginResponse = $OjsClient->login('jhonusername', '123password');
The method OjsProvider::getApplication();
make all necessary to use all classes of OJS.
For more informations see OJSUserServiceTest.php or OJSUserService.php.
Use Docker for create a development environment.
If you don't use Docker, read the entrypoint.sh and Dockerfile.
Running tests:
composer test