pdir/contao-survey
Composer 安装命令:
composer require pdir/contao-survey
包简介
Contao bundle to create questionnaires and run online surveys
README 文档
README
pdir Fork
Original Package
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
- The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
- Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html
- The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
- Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/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 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 pdir/contao-survey 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A custom URL rule class for Yii 2 which allows to create translated URL rules
2lenet/EasyAdminPlusBundle
The bundle for easy using json-rpc api on your project
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
Provide a way to secure accesses to all routes of an symfony application.
DMS Meetup API Bundle, enables Meetup API clients in services
统计信息
- 总下载量: 2.33k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-or-later
- 更新时间: 2020-10-07