Add optional exam sheet metadata

This commit is contained in:
Wojtek
2026-10-14 22:33:35 +02:00
parent 9b093b278d
commit 1d4779089d
7 changed files with 22 additions and 2 deletions
+2 -1
View File
@@ -9,6 +9,7 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
- edytor formatowania treści pytania i odpowiedzi zamkniętych, - edytor formatowania treści pytania i odpowiedzi zamkniętych,
- czas odpowiedzi, punktacja 1–9 oraz zarządzalne kategorie pytań, - czas odpowiedzi, punktacja 1–9 oraz zarządzalne kategorie pytań,
- filtrowanie listy pytań po kategorii, - filtrowanie listy pytań po kategorii,
- opcjonalny symbol testu, rok egzaminu i numer pytania z arkusza,
- wskazanie poprawnej odpowiedzi, - wskazanie poprawnej odpowiedzi,
- opcjonalne zdjęcie wybierane z Media Managera, - opcjonalne zdjęcie wybierane z Media Managera,
- publikowanie, filtrowanie i usuwanie pytań w panelu administratora, - publikowanie, filtrowanie i usuwanie pytań w panelu administratora,
@@ -16,6 +17,6 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
## Instalacja ## Instalacja
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.3.2). W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.4.0).
Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**. Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**.
@@ -16,6 +16,9 @@
<option value="4">4</option><option value="5">5</option><option value="6">6</option> <option value="4">4</option><option value="5">5</option><option value="6">6</option>
<option value="7">7</option><option value="8">8</option><option value="9">9</option> <option value="7">7</option><option value="8">8</option><option value="9">9</option>
</field> </field>
<field name="test_symbol" type="text" label="COM_TESTQUESTIONS_FIELD_TEST_SYMBOL" description="COM_TESTQUESTIONS_FIELD_TEST_SYMBOL_DESC" required="false" maxlength="100" filter="string" />
<field name="exam_year" type="number" label="COM_TESTQUESTIONS_FIELD_EXAM_YEAR" description="COM_TESTQUESTIONS_FIELD_EXAM_YEAR_DESC" required="false" min="1900" max="2100" filter="integer" />
<field name="question_number" type="number" label="COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER" description="COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER_DESC" required="false" min="1" max="9999" filter="integer" />
<field name="question_type" type="list" label="COM_TESTQUESTIONS_FIELD_TYPE" default="closed" required="true"> <field name="question_type" type="list" label="COM_TESTQUESTIONS_FIELD_TYPE" default="closed" required="true">
<option value="closed">COM_TESTQUESTIONS_TYPE_CLOSED</option> <option value="closed">COM_TESTQUESTIONS_TYPE_CLOSED</option>
<option value="open">COM_TESTQUESTIONS_TYPE_OPEN</option> <option value="open">COM_TESTQUESTIONS_TYPE_OPEN</option>
@@ -7,6 +7,12 @@ COM_TESTQUESTIONS_FIELD_TYPE="Typ pytania"
COM_TESTQUESTIONS_FIELD_CATEGORY="Kategoria" COM_TESTQUESTIONS_FIELD_CATEGORY="Kategoria"
COM_TESTQUESTIONS_FIELD_TIME_LIMIT="Czas na odpowiedź" COM_TESTQUESTIONS_FIELD_TIME_LIMIT="Czas na odpowiedź"
COM_TESTQUESTIONS_FIELD_POINTS="Liczba punktów" COM_TESTQUESTIONS_FIELD_POINTS="Liczba punktów"
COM_TESTQUESTIONS_FIELD_TEST_SYMBOL="Symbol testu"
COM_TESTQUESTIONS_FIELD_TEST_SYMBOL_DESC="Opcjonalny symbol arkusza lub testu egzaminacyjnego."
COM_TESTQUESTIONS_FIELD_EXAM_YEAR="Rok egzaminu"
COM_TESTQUESTIONS_FIELD_EXAM_YEAR_DESC="Opcjonalny rok przeprowadzenia egzaminu."
COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER="Numer pytania"
COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER_DESC="Opcjonalny numer pytania w arkuszu egzaminacyjnym."
COM_TESTQUESTIONS_MANAGE_CATEGORIES="Kategorie" COM_TESTQUESTIONS_MANAGE_CATEGORIES="Kategorie"
COM_TESTQUESTIONS_FILTER_CATEGORY="Wszystkie kategorie" COM_TESTQUESTIONS_FILTER_CATEGORY="Wszystkie kategorie"
COM_TESTQUESTIONS_CATEGORIES="Kategorie pytań" COM_TESTQUESTIONS_CATEGORIES="Kategorie pytań"
@@ -3,6 +3,9 @@ CREATE TABLE IF NOT EXISTS `#__testquestions_questions` (
`category_id` int unsigned NOT NULL DEFAULT 0, `category_id` int unsigned NOT NULL DEFAULT 0,
`time_limit` smallint unsigned NOT NULL DEFAULT 60, `time_limit` smallint unsigned NOT NULL DEFAULT 60,
`points` tinyint unsigned NOT NULL DEFAULT 1, `points` tinyint unsigned NOT NULL DEFAULT 1,
`test_symbol` varchar(100) NOT NULL DEFAULT '',
`exam_year` smallint unsigned NULL DEFAULT NULL,
`question_number` smallint unsigned NULL DEFAULT NULL,
`question_type` varchar(10) NOT NULL DEFAULT 'closed', `question_type` varchar(10) NOT NULL DEFAULT 'closed',
`question` text NOT NULL, `question` text NOT NULL,
`answer_a` text NOT NULL, `answer_a` text NOT NULL,
@@ -0,0 +1,4 @@
ALTER TABLE `#__testquestions_questions`
ADD COLUMN `test_symbol` varchar(100) NOT NULL DEFAULT '' AFTER `points`,
ADD COLUMN `exam_year` smallint unsigned NULL DEFAULT NULL AFTER `test_symbol`,
ADD COLUMN `question_number` smallint unsigned NULL DEFAULT NULL AFTER `exam_year`;
@@ -18,6 +18,9 @@ defined('_JEXEC') or die;
<?php echo $this->form->renderField('category_id'); ?> <?php echo $this->form->renderField('category_id'); ?>
<?php echo $this->form->renderField('time_limit'); ?> <?php echo $this->form->renderField('time_limit'); ?>
<?php echo $this->form->renderField('points'); ?> <?php echo $this->form->renderField('points'); ?>
<?php echo $this->form->renderField('test_symbol'); ?>
<?php echo $this->form->renderField('exam_year'); ?>
<?php echo $this->form->renderField('question_number'); ?>
<?php echo $this->form->renderField('image'); ?> <?php echo $this->form->renderField('image'); ?>
<?php echo $this->form->renderField('published'); ?> <?php echo $this->form->renderField('published'); ?>
</div> </div>
+1 -1
View File
@@ -4,7 +4,7 @@
<creationDate>2026-10-14</creationDate> <creationDate>2026-10-14</creationDate>
<author>Komponent</author> <author>Komponent</author>
<license>GNU General Public License version 2 or later</license> <license>GNU General Public License version 2 or later</license>
<version>1.3.2</version> <version>1.4.0</version>
<description>COM_TESTQUESTIONS_DESCRIPTION</description> <description>COM_TESTQUESTIONS_DESCRIPTION</description>
<element>com_testquestions</element> <element>com_testquestions</element>
<namespace path="src">Komponent\Component\Testquestions</namespace> <namespace path="src">Komponent\Component\Testquestions</namespace>