定制 pdir/contao-survey 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pdir/contao-survey

Composer 安装命令:

composer require pdir/contao-survey

包简介

Contao bundle to create questionnaires and run online surveys

README 文档

README

pdir Fork

Latest Version on Packagist Installations via composer per month Installations via composer total Issue Resolution time Open issues

Original Package

Latest Version on Packagist Installations via composer per month Installations via composer total Issue Resolution time Open issues

contao-survey

A contao bundle to create online surveys. Supports multiple choice questions, openended questions, matrix questions and constant sum questions. Surveys can be run as anonymized or personalized surveys for specific members. Anonymized surveys can limited to TAN access only to run a representative survey.

Survey results are available as cumulated and detailed results with an option to export the results.

Exports will be in csv format. If the bundle hschottm/contao-xls-export is installed, exports will be in Excel xls format, if the bundle phpoffice/phpspreadsheet is installed, exports will be in Excel xlsx format.

A special thanks goes to Georg Rehfeld for his development of the detailed survey export and the enhancements of the survey tool.

Installation and Usage

  • Install the package.
  • There is a new "Survey" menu item
  • Add the new "Survey" content element directly to your pages.

Features from 3.6.0

Notification Center support was added with version 3.6.0. Also, some new Notification Center tokens and new fields have been added.

The following NC tokens have been added:

  • ##survey_title##
  • ##survey_link##
  • ##survey_duration##
  • ##survey_recipient_email##
  • ##survey_recipient_firstname##
  • ##survey_recipient_lastname##
  • ##survey_recipient_fullname##

For these tokens a German and an English translation is currently implemented.

The generation of TANs has been completely revised and the call of some TAN-related actions has been better secured.

  • When generating TANs, the system now distinguishes between the individual survey types itself.
  • The number of "non-member related" TANs that can be generated with one request is now limited to 999 and can be configured using the environment variable MAX_ALLOWED_TAN.
  • Previously, it was possible to generate an infinite (or very large) number of TANs with one request, which could cause the PHP process to crash. Here, too, the environment variable should be configured with care!
  • In most cases you do not need more than 999 TANs

When the NC is installed, notifications can be used for specific surveys.

  • Of course, Notifications must be configured beforehand.
  • Invitations and reminders should be used together with member groups.
  • Upon the user's instruction, the system sends invitations and reminders to all participants of a survey. This can be serveral groups!
  • Members who are in several groups are automatically notified only at once.
  • If the participants are not limited to one group, the system sends invitations to all members!
  • The system takes into account the circumstances of whether and when participants to a survey have already been invited and when and how often they have been reminded.
  • Thus, participants who have already been invited are not invited again and participants who have already been reminded are logged.
  • The number of reminders sent is counted and is currently not limited.
  • Participants who have already started or finished the survey will not be invited or reminded again.
  • Sending an invitation or reminder always requires an association between the survey and the survey page in order to assign a personalized link to each participant.
  • Invitations and reminders should be sent as a single notification - as opposed to sending via BCC. The advantage is that all subscriber-related data are available in each notification. The disadvantage is that several/many notifications have to be sent individually, which costs time and resources.

A simple template for an invitation

Copy and paste them into your notification.

We would like to invite you to participate in the following survey: ##survey_title##

the following tokens can be used:

survey_title: ##survey_title##
survey_link: ##survey_link##
survey_duration: ##survey_duration##
survey_recipient_email: ##survey_recipient_email##
survey_recipient_firstname: ##survey_recipient_firstname##
survey_recipient_lastname: ##survey_recipient_lastname##
survey_recipient_fullname: ##survey_recipient_fullname##`

A new surveyDuration field has been added. Now it is possible to include the estimated duration (in minutes, max 255 min) of a survey. Either it is estimated or the survey creator determines the duration during a self-test.

Licenses

Font Awesome

The full suite of pictographic icons, examples, and documentation can be found at: https://fontawesome.com/ The license file for font awesome is included in this package under LICENSE_FONT_AWESOME

Contributors

Made with contributors-img.

Notes for developers

Run before commit

vendor/bin/ecs check src tests
vendor/bin/phpstan analyse
vendor/bin/phpunit --colors=always

Test your changes using the survey tables included in the package.

With version 3.4.3 we have added survey tables to the package to allow consistent testing. You can find the tables in the reference-survey.sql file in the _misc folder. So if you want to test the behavior of your changed code in a reproducible way, please use these tables.

If you make changes to the survey tables, please commit them also to the reference-survey.sql so developers can test their own code against this reference survey.

Load the tables into your DB and activate Survey 1, which consists of five question pages and one results page. For now, you'll need to manually load these tables into your DB, but we're working on automating the tests a bit more.

The question pages cover all the questions that the package currently offers. The results page shows the results of the question pages. Currently, however, there are unfortunately still errors on the results page.

pdir/contao-survey 适用场景与选型建议

pdir/contao-survey 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.33k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2020 年 10 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「module」 「bundle」 「extension」 「survey」 「contao」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 pdir/contao-survey 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 pdir/contao-survey 我们能提供哪些服务?
定制开发 / 二次开发

基于 pdir/contao-survey 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.33k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 20
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 6
  • Forks: 21
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2020-10-07