Download the PHP package tonisormisson/limesurvey-relevance-imex without Composer

On this page you can find all versions of the php package tonisormisson/limesurvey-relevance-imex. 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 limesurvey-relevance-imex

LimeSurvey Structure Import/Export Plugin

Tests License: MIT PHP Version

A LimeSurvey plugin for importing and exporting survey structure, relevance logic, and quotas via Excel files.

Installation & set-up

Install to plugins folder

Activate plugin from Plugin manager

Find the plugin Import / Export buttons from survey tools menu.

Features

See docs/ folder for detailed format specifications. RemoteControl API usage is documented in docs/REMOTE_CONTROL_API.md.

Updating

go to plugin folder

Get updates via git. git pull or git fetch --all && git checkout my-version-tag

Run install command to make sure dependencies are updated if necessary.

Development & Testing

Testing Overview

This plugin includes both unit tests (using mocks) and functional tests (using real database interaction) to ensure reliability and catch regressions early.

Test Suites

  1. Unit Tests: Fast tests using mock data, no database required
  2. Functional Tests: Integration tests with real LimeSurvey database interaction
  3. Code Quality: PHPStan static analysis

Quick Start - Local Development

Prerequisites

1. Install Development Dependencies

2. Setup Test Database

Copy the environment configuration:

Edit .env with your database settings:

Run the database setup script:

This will:

3. Run Tests

Coverage. We only can run codecoverage on local env right now. There is an issue that on GH actions, in order to have a LimeSurvey instance for testing we duplicate the plugin code inside the LS isside vendor, so we have something like ./vendor/limesurvey/limesurvey/upload/plugins/StructireImex ... while the root itself is the plugin source. This will create an autoload conflict for the codecoverage process that I have not been able to solve for gh actions. So fir now, run codecoverage on your local env:

CI/CD (GitHub Actions)

The project includes GitHub Actions workflows for:

Environment Variables for CI

The functional tests automatically detect CI environment and use appropriate database settings:

Test Structure

Unit Tests (tests/ExportQuestionsTest.php)

Functional Tests (tests/ExportImportFunctionalTest.php)

Test Database (tests/DatabaseTestCase.php)

Writing Tests

Adding Unit Tests

Use MockSurveyHelper for consistent mock data:

Adding Functional Tests

Extend DatabaseTestCase for database tests:

Debugging Tests

Failed Database Connection

If functional tests fail with database errors:

  1. Check database is running: mysql -u root -p
  2. Verify connection settings in .env
  3. Run setup script: composer test-setup
  4. Check LimeSurvey schema exists

Test Isolation Issues

Each test cleans up after itself, but if you see data pollution:

  1. Check tearDown() methods are called
  2. Verify $this->createdSurveyIds is populated
  3. Manual cleanup: DROP DATABASE limesurvey_test; CREATE DATABASE limesurvey_test;

Manual Testing

For manual verification of export/import functionality:

  1. Create test survey with various question types
  2. Add question attributes (some default, some custom)
  3. Export via plugin interface
  4. Import to new survey
  5. Verify data integrity and attribute filtering

Contributing

When contributing:

  1. Write tests for new functionality
  2. Ensure all tests pass: composer test
  3. Run static analysis: composer phpstan
  4. Follow existing code style
  5. Update documentation as needed

The test suite helps maintain code quality and prevents regressions, ensuring the plugin works reliably across different LimeSurvey versions.


All versions of limesurvey-relevance-imex with dependencies

PHP Build Version
Package Version
Requires php Version >=8.3.0 <8.6
ext-json Version *
openspout/openspout Version ^4.0
sebastian/version Version ^6
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 tonisormisson/limesurvey-relevance-imex contains the following files

Loading the files please wait ...