qcm / core-bundle
QCM Core bundle for Symfony2
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.3.3
- avoo/qcm-components: ~1.0
- beberlei/doctrineextensions: *@dev
- sylius/resource-bundle: 0.11.*@dev
Requires (Dev)
This package is not auto-updated.
Last update: 2024-11-09 17:40:25 UTC
README
The core bundle includes the basic functionalities of qcm based on SyliusResourceBundle
concept and implement QcmComponent
Installation
Require avoo/qcm-core-bundle
into your composer.json
file:
{ "require": { "avoo/qcm-core-bundle": "@dev-master" } }
Register the bundle in app/AppKernel.php
:
// app/AppKernel.php public function registerBundles() { return array( // ... new FOS\RestBundle\FOSRestBundle(), new JMS\SerializerBundle\JMSSerializerBundle($this), new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(), new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(), new Qcm\Bundle\CoreBundle\QcmCoreBundle(), ); }
In app/config.yml
imports: - { resource: parameters.yml } - { resource: security.yml } - { resource: @QcmCoreBundle/Resources/config/core.yml }
Security default configuration
You can use the default register/login process:
In app/config/routing.yml
qcm_core: prefix: / resource: "@QcmCoreBundle/Resources/config/routing.yml"
Add default user provider, firewall and access control in app/config/security.yml
:
security: encoders: Qcm\Component\User\Model\UserInterface: sha512 providers: qcm_corebundle: id: qcm_core.user_provider.username firewalls: login_firewall: pattern: ^/security/login$ anonymous: ~ secured_area: pattern: ^/ anonymous: ~ form_login: provider: qcm_corebundle login_path: qcm_core_security_login check_path: qcm_core_security_login_check remember_me: true default_target_path: you_homepage_route logout: path: qcm_core_security_logout access_control: - { path: "^/security/login", roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: "^/", roles: ROLE_USER }
QCM Configuration
You can override de default questionnaire configuration in app/config/config.yml
qcm_core: website_name: Qcm Demo // The website name configuration: max_questions: 40 //Questions number max by questionnaire question_level: ["beginner", "senior", "jedi"] //Determine the level for each question answers_max: 5 //Number of answers max by question timeout: 2400 //Total time of the questionnaire (in seconds) time_per_question: 60 //Time per question, if you choose this value, the timeout will be disabled
Override service
For statistics class:
qcm_core: service: statistics: class: MyBundle\Statistics\Class // For better compatibility extends the Model\QuestionnaireStatistics template: MyBundle\Answers\Template\Class // You need to implements the qcm TemplateInterface
Credits
- Jérémy Jégou jejeavo@gmail.com
License
This bundle is released under the MIT license. See the complete license in the bundle: