SurveyJS extension for TYPO3 CMS. Where to start? Or is the native form framework sufficient?

153 Views Asked by At

I would like to seamlessly integrate SurveyJS in TYPO3 CMS, but could not find an existing extension. Did anyone already start a project like that? I only found a post from 2018 in answerdesk.io.

Or would it be easier to extend the native form extension in TYPO3 v10? (Meanwhile I can answer that myself with NO. The form editor has still no gui to define conditions.)

Requirements for our use case:

  • Fully integrate SurveyJS in TYPO3 (no programming or html elements needed for editors).
  • Store survey jsons in database and optionally (because of licences) include the SurveyJS Creator in TYPO3.
  • A TYPO3 plugin to display a survey on your page.
  • Extend SurveyJS Creator to be able to add TYPO3 contents as "Custom Widgets" (using the TYPO3 Element Browser to select the content elements or files).
  • Extend SurveyJS Player to display these TYPO3 elements in the survey.
  • Possibility of using "finishers" (would it be possible to use the form finishers) to store the data to TYPO3 database or send an email.

So my questions are:

  • Is there already a running project on this to join?
  • Any help or ideas to start this in TYPO3 (maybe an existing extension that uses the Element Browser in custom HTML / JS or uses the finishers from TYPO3 forms).
1

There are 1 best solutions below

2
Georg Ringer On

It really depends what you need to achieve. If you want to use surveyJS, you need to load that with their API like https://surveyjs.io/Help/Api/GET-api-Survey-getSurvey_surveyId?apiType=public&renderType=desktop.

If you want to use the form extension, I don't see a way to combine this with this external service but you can use conditions as well. This works since version 10, check out https://docs.typo3.org/c/typo3/cms-form/master/en-us/I/Concepts/Variants/Index.html


I don't know any extensions which integrates SurveyJS, so I suggest you start it and maybe people join. I propose registering the extension key and do the development in public so people can find it.