Actions

Difference between revisions of "LimeStore extension development"

From LimeSurvey Manual

(After upload)
(Purchase models)
(One intermediate revision by the same user not shown)
Line 138: Line 138:
  
 
Each zip file has to be approved individually. When you update a new version of an extension, the old version will be available for download until the new zip file is approved. The old zip file will then be deleted from our system, and only the new version will be available.
 
Each zip file has to be approved individually. When you update a new version of an extension, the old version will be available for download until the new zip file is approved. The old zip file will then be deleted from our system, and only the new version will be available.
 +
 +
= Purchase models =
 +
 +
== Hosting ==
 +
 +
TODO
 +
 +
== Non-hosting ==
 +
 +
TODO
 +
 +
== One-off payment ==
 +
 +
TODO
 +
 +
== Subscription ==
 +
 +
TODO
 +
 +
== Support ==
 +
 +
TODO
 +
 +
== License ==
 +
 +
You will be able to offer two types of licenses.
 +
 +
* A license of your choosing for an extensions that can be downloaded and installed in LimeSurvey CE; and/or
 +
* A license where the customer will be able to use your extension automatically provided in LimeSurvey Pro - note that this does not need to be open-source as we are not distributing the software to the customer. It should not be AGPL because of the end-user open source requirement.
 +
 +
The LimeSurvey Pro license could be cheaper as it will renew automatically and the user will have no access to the extensions anymore after it expired.
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Plugins]]
 
[[Category:Plugins]]
 
[[Category:WIP]]
 
[[Category:WIP]]

Revision as of 10:52, 11 July 2019

This page describes how you as a third-party developer can create and publish extensions for LimeSurvey, available for purchase or free download in the LimeSurvey LimeStore.

FAQ

What is the LimeStore

LimeStore is the general extension shop for LimeSurvey GmbH, where "extension" can be one of the following:

  • Plugin
  • Theme
  • Question template
  • Survey template
  • Localization package
  • Component
  • External systems (like RPC libraries)

Not all types are supported right now (as of 2019-01-14) but are planned to be.

Extensions can be both free to download and available for purchase. There is a legal agreement with regard to partner fees.

How do I become a third-party developer?

Apply at us, sign documents, give banking details/PayPal account for transactions, etc.

TODO

Adding an extension to the LimeStore

First, you have to be approved as a LimeStore extension vendor. See above.

The extension has to be zipped correctly, with a proper config.xml file. See below.

config.xml specification

All LimeSurvey extensions include a config.xml file with specifies author, version, type, and so on. Without this file, LimeSurvey won't be able to properly install the extension.

Metadata tags descriptions
Tag Type Mandatory Description
name string x The name of the extension
type string x Type of the extension; can be "plugin", "theme", etc; see below
creationDate date (YYYY-MM-DD) Date the extension was created
lastUpdate date (YYYY-MM-DD) Date of the latest update
author string x Plugin author
authorUrl url x URL to author web page, necessary so that customers can contact author for support
supportUrl url x URL to support page, so that customers and users can contact authors about problems and questions
version string as semantic version x Extension version number
lastSecurityUpdate string as semantic version Last version that included a security update
license string x Extension licence
description CDATA x Short description of extension, visible in the LimeSurvey extension manager

From LimeSurvey 4, you're also required to include information about extension updater: https://manual.limesurvey.org/Plugins_-_advanced#Extension_updates_.28New_in_4_.29

Allowed extension types

The following values are allowed in the type metadata tag:

Extension types
Type Tag value
Survey theme theme
Admin theme admin_theme
Plugin plugin
Survey template survey_template
Question template question_template
External system external

Plugin example

<config>
    <metadata>
        <name>MassAction</name>
        <type>plugin</type>
        <creationDate>2017-03-28</creationDate>
        <lastUpdate>2018-01-24</lastUpdate>
        <author>Olle Haerstedt</author>
        <authorUrl>https://github.com/olleharstedt</authorUrl>
        <supportUrl>https://github.com/olleharstedt/MassAction/issues</supportUrl>
        <version>1.0.0</version>
        <lastSecurityUpdate>1.0.0</lastSecurityUpdate>
        <license>GNU General Public License version 2 or later</license>
        <description><![CDATA[Edit multiple relevance equations in one page.]]></description>
    </metadata>
</config>

Theme example

TODO

After upload

When an extension has been uploaded, it has to be approved by the LimeSurvey GmbH team. The workflow is as below.

Workflow

LimeStore extension upload workflow description
State Description
Processing Waiting for scripts to finish
Process failed Internal system error, or other error like lacking config.xml file in ZIP archive
In review Waiting for manual approval of LimeSurvey GmbH member
Disapproved The extension was for some reason not approved by the team
Approved The extension has been approved and is now available for download or purchase in the LimeStore
Disabled Manually disabled by the third-party developer (not LimeSurvey GmbH)

Each zip file has to be approved individually. When you update a new version of an extension, the old version will be available for download until the new zip file is approved. The old zip file will then be deleted from our system, and only the new version will be available.

Purchase models

Hosting

TODO

Non-hosting

TODO

One-off payment

TODO

Subscription

TODO

Support

TODO

License

You will be able to offer two types of licenses.

  • A license of your choosing for an extensions that can be downloaded and installed in LimeSurvey CE; and/or
  • A license where the customer will be able to use your extension automatically provided in LimeSurvey Pro - note that this does not need to be open-source as we are not distributing the software to the customer. It should not be AGPL because of the end-user open source requirement.

The LimeSurvey Pro license could be cheaper as it will renew automatically and the user will have no access to the extensions anymore after it expired.