Автор Тема: тестирование учащихся в altlinux [решено]  (Прочитано 8342 раз)

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
AltLinux позиционируется как дистрибутив для образования помимо всего прочего. В связи с этим возник такой вопрос: в вузах проверка знаний переводится на компьютерные программы-экзаменаторы, в кде3 есть такая программа keduca, однако она несовершенна, также как и iTest, есть ли разработки AltLinux, которые позволяли бы создавать тесты и тестироваться с учетом всех принятых форм тестов: открытая, закрытая формы, на соответствие, последовательность, единственный и множественный правильный ответ, чтобы можно было задавать время и количество баллов в зависимости от сложности вопроса и которая в конце выдавала бы результат, который можно бы было сохранить и распечатать?
« Последнее редактирование: 12.03.2009 11:20:29 от Skull »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: тестирование учащихся в altlinux
« Ответ #1 : 27.12.2008 14:37:14 »
Насколько я знаю нет. Ждём энтузиастов.

Оффлайн SuperVisor

  • Завсегдатай
  • *
  • Сообщений: 778
  • разочарован в KDE
Re: тестирование учащихся в altlinux
« Ответ #2 : 27.12.2008 17:33:31 »
вот тут мы рассуждали на эту тему:
 http://forum.altlinux.org/index.php/topic,1377.0.html

ALtNovice

  • Гость
Re: тестирование учащихся в altlinux
« Ответ #3 : 06.01.2009 20:56:55 »
У меня была наработка на дельфи, жаль хард полетел-теперь переписываю на лазарус. Работает с ini файлами.Одна программа для создания вторая-сам тест
« Последнее редактирование: 06.01.2009 20:59:30 от ALtNovice »

Drool

  • Гость
Re: тестирование учащихся в altlinux
« Ответ #4 : 06.01.2009 22:38:23 »
А почему бы не попросить автора iTest доделать нужный функционал, а не изобретать очередной велосипед? Даже можно было бы в рамках проекта ему какую-то сумму заплатить.

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
Re: тестирование учащихся в altlinux
« Ответ #5 : 06.01.2009 23:09:56 »
Посмотрел на moodle, меня вполне устроила, только с mysql я не работал, поэтому не совсем еще разобрался как базы переносить с одного компа на другой и есть ли различия в версиях mysql, которые не позволят загрузиться данной базе?

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
Re: тестирование учащихся в altlinux
« Ответ #6 : 07.01.2009 09:19:46 »
Базы переносятся довольно легко. Если вас смущает командная строка, рекомендую взглянуть в сторону phpMyAdmin.

Оффлайн MAG

  • Завсегдатай
  • *
  • Сообщений: 88
  • М...р...мяу...
Re: тестирование учащихся в altlinux
« Ответ #7 : 08.01.2009 14:51:13 »
Посмотрел на moodle, меня вполне устроила, только с mysql я не работал, поэтому не совсем еще разобрался как базы переносить с одного компа на другой и есть ли различия в версиях mysql, которые не позволят загрузиться данной базе?
Базы переносятся довольно легко. Если вас смущает командная строка, рекомендую взглянуть в сторону phpMyAdmin.

Да, в phpMyAdmin достаточно просто сделать "экспорт", а потом "импорт" там, куда база переносится. Или выполнить запрос. Но есть проблемы:
1. С кодировкой (иногда нарушается при этом целостность БД
2. Иногда проблема возникает при переносе базы более 20-30 Мб (сталкивался 2 раза из 5, причем "хз" от чего размер зависит)

Наилучший вариант, ИМХО, это заход через SSH и с помощью mysqldump вытягивание базы, а затем с точностью наоборот - на другой машине... Можно и клиент (putty, кажется) использовать. А по версиям - проблемы "возвышения" не будет, а вот проблема "снижения" версии может возникнуть  :(
Жестокий этот мир нас подвергает смене
Безвыходных скорбей, безжалостных мучений. Блажен, кто побыл в нём недолго и ушёл, А кто не приходил совсем, ещё блаженней.

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
Re: тестирование учащихся в altlinux
« Ответ #8 : 11.03.2009 23:14:56 »
С переносом все нормально из командной строки. Удалял moodle, потом бновился до Alt5, теперь при вводе localhost/moodle выдает
<?php  // $Id: index.php,v 1.201.2.7 2008/09/19 06:22:43 nicolasconnault Exp $
       // index.php - the front page.

///////////////////////////////////////////////////////////////////////////
//                                                                       //
// NOTICE OF COPYRIGHT                                                   //
//                                                                       //
// Moodle - Modular Object-Oriented Dynamic Learning Environment         //
//          http://moodle.org                                            //
//                                                                       //
// Copyright (C) 1999 onwards  Martin Dougiamas  http://moodle.com       //
//                                                                       //
// This program is free software; you can redistribute it and/or modify  //
// it under the terms of the GNU General Public License as published by  //
// the Free Software Foundation; either version 2 of the License, or     //
// (at your option) any later version.                                   //
//                                                                       //
// This program is distributed in the hope that it will be useful,       //
// but WITHOUT ANY WARRANTY; without even the implied warranty of        //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         //
// GNU General Public License for more details:                          //
//                                                                       //
//          http://www.gnu.org/copyleft/gpl.html                         //
//                                                                       //
///////////////////////////////////////////////////////////////////////////


    
if (!file_exists('./config.php')) {
        
header('Location: install.php');
        die;
    }

    require_once(
'config.php');
    require_once(
$CFG->dirroot .'/course/lib.php');
    require_once(
$CFG->dirroot .'/lib/blocklib.php');

    if (empty(
$SITE)) {
        
redirect($CFG->wwwroot .'/'$CFG->admin .'/index.php');
    }

    
// Bounds for block widths
    // more flexible for theme designers taken from theme config.php
    
$lmin = (empty($THEME->block_l_min_width)) ? 100 $THEME->block_l_min_width;
    
$lmax = (empty($THEME->block_l_max_width)) ? 210 $THEME->block_l_max_width;
    
$rmin = (empty($THEME->block_r_min_width)) ? 100 $THEME->block_r_min_width;
    
$rmax = (empty($THEME->block_r_max_width)) ? 210 $THEME->block_r_max_width;

    
define('BLOCK_L_MIN_WIDTH'$lmin);
    
define('BLOCK_L_MAX_WIDTH'$lmax);
    
define('BLOCK_R_MIN_WIDTH'$rmin);
    
define('BLOCK_R_MAX_WIDTH'$rmax);

    
// check if major upgrade needed - also present in login/index.php
    
if ((int)$CFG->version 2006101100) { //1.7 or older
        
@require_logout();
        
redirect("$CFG->wwwroot/$CFG->admin/");
    }
    
// Trigger 1.9 accesslib upgrade?
    
if ((int)$CFG->version 2007092000 
        
&& isset($USER->id
        && 
is_siteadmin($USER->id)) { // this test is expensive, but is only triggered during the upgrade
        
redirect("$CFG->wwwroot/$CFG->admin/");
    }

    if (
$CFG->forcelogin) {
        
require_login();
    } else {
        
user_accesstime_log();
    }

    if (
$CFG->rolesactive) { // if already using roles system
        
if (has_capability('moodle/site:config'get_context_instance(CONTEXT_SYSTEM))) {
            if (
moodle_needs_upgrading()) {
                
redirect($CFG->wwwroot .'/'$CFG->admin .'/index.php');
            }
        } else if (!empty(
$CFG->mymoodleredirect)) {    // Redirect logged-in users to My Moodle overview if required
            
if (isloggedin() && $USER->username != 'guest') {
                
redirect($CFG->wwwroot .'/my/index.php');
            }
        }
    } else { 
// if upgrading from 1.6 or below
        
if (isadmin() && moodle_needs_upgrading()) {
            
redirect($CFG->wwwroot .'/'$CFG->admin .'/index.php');
        }
    }


    if (
get_moodle_cookie() == '') {
        
set_moodle_cookie('nobody');   // To help search for cookies on login page
    
}

    if (!empty(
$USER->id)) {
        
add_to_log(SITEID'course''view''view.php?id='.SITEIDSITEID);
    }

    if (empty(
$CFG->langmenu)) {
        
$langmenu '';
    } else {
        
$currlang current_language();
        
$langs get_list_of_languages();
        
$langlabel get_accesshide(get_string('language'));
        
$langmenu popup_form($CFG->wwwroot .'/index.php?lang='$langs'chooselang'$currlang''''''true'self'$langlabel);
    }

    
$PAGE       page_create_object(PAGE_COURSE_VIEWSITEID);
    
$pageblocks blocks_setup($PAGE);
    
$editing    $PAGE->user_is_editing();
    
$preferred_width_left  bounded_number(BLOCK_L_MIN_WIDTHblocks_preferred_width($pageblocks[BLOCK_POS_LEFT]),
                                            
BLOCK_L_MAX_WIDTH);
    
$preferred_width_right bounded_number(BLOCK_R_MIN_WIDTHblocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]),
                                            
BLOCK_R_MAX_WIDTH);
    
print_header($SITE->fullname$SITE->fullname'home''',
                 
'<meta name="description" content="'s(strip_tags($SITE->summary)) .'" />',
                 
true''user_login_string($SITE).$langmenu);

?>



<table id="layout-table" summary="layout">
  <tr>
  <?php
    $lt 
= (empty($THEME->layouttable)) ? array('left''middle''right') : $THEME->layouttable;
    foreach (
$lt as $column) {
        switch (
$column) {
            case 
'left':
    if (
blocks_have_content($pageblocksBLOCK_POS_LEFT) || $editing) {
        echo 
'<td style="width: '.$preferred_width_left.'px;" id="left-column">';
        
print_container_start();
        
blocks_print_group($PAGE$pageblocksBLOCK_POS_LEFT);
        
print_container_end();
        echo 
'</td>';
    }
            break;
            case 
'middle':
    echo 
'<td id="middle-column">'skip_main_destination();

    
print_container_start();

/// Print Section
    
if ($SITE->numsections 0) {

        if (!
$section get_record('course_sections''course'$SITE->id'section'1)) {
            
delete_records('course_sections''course'$SITE->id'section'1); // Just in case
            
$section->course $SITE->id;
            
$section->section 1;
            
$section->summary '';
            
$section->sequence '';
            
$section->visible 1;
            
$section->id insert_record('course_sections'$section);
        }

        if (!empty(
$section->sequence) or !empty($section->summary) or $editing) {
            
print_box_start('generalbox sitetopic');

            
/// If currently moving a file then show the current clipboard
            
if (ismoving($SITE->id)) {
                
$stractivityclipboard strip_tags(get_string('activityclipboard'''addslashes($USER->activitycopyname)));
                echo 
'<p><font size="2">';
                echo 
"$stractivityclipboard&nbsp;&nbsp;(<a href=\"course/mod.php?cancelcopy=true&amp;sesskey=$USER->sesskey\">"get_string('cancel') .'</a>)';
                echo 
'</font></p>';
            }

            
$options NULL;
            
$options->noclean true;
            echo 
format_text($section->summaryFORMAT_HTML$options);

            if (
$editing) {
                
$streditsummary get_string('editsummary');
                echo 
"<a title=\"$streditsummary\" ".
                     
" href=\"course/editsection.php?id=$section->id\"><img src=\"$CFG->pixpath/t/edit.gif\" ".
                     
" class=\"iconsmall\" alt=\"$streditsummary\" /></a><br /><br />";
            }

            
get_all_mods($SITE->id$mods$modnames$modnamesplural$modnamesused);
            
print_section($SITE$section$mods$modnamesusedtrue);

            if (
$editing) {
                
print_section_add_menus($SITE$section->section$modnames);
            }
            
print_box_end();
        }
    }

    if (
isloggedin() and !isguest() and isset($CFG->frontpageloggedin)) {
        
$frontpagelayout $CFG->frontpageloggedin;
    } else {
        
$frontpagelayout $CFG->frontpage;
    }

    foreach (
explode(',',$frontpagelayout) as $v) {
        switch (
$v) {     /// Display the main part of the front page.
            
case FRONTPAGENEWS:
                if (
$SITE->newsitems) { // Print forums only when needed
                    
require_once($CFG->dirroot .'/mod/forum/lib.php');

                    if (! 
$newsforum forum_get_course_forum($SITE->id'news')) {
                        
error('Could not find or create a main news forum for the site');
                    }

                    if (!empty(
$USER->id)) {
                        
$SESSION->fromdiscussion $CFG->wwwroot;
                        if (
forum_is_subscribed($USER->id$newsforum)) {
                            
$subtext get_string('unsubscribe''forum');
                        } else {
                            
$subtext get_string('subscribe''forum');
                        }
                        
print_heading_block($newsforum->name);
                        echo 
'<div class="subscribelink"><a href="mod/forum/subscribe.php?id='.$newsforum->id.'">'.$subtext.'</a></div>';
                    } else {
                        
print_heading_block($newsforum->name);
                    }

                    
forum_print_latest_discussions($SITE$newsforum$SITE->newsitems'plain''p.modified DESC');
                }
            break;

            case 
FRONTPAGECOURSELIST:

                if (
isloggedin() and !has_capability('moodle/site:config'get_context_instance(CONTEXT_SYSTEM)) and !isguest() and empty($CFG->disablemycourses)) {
                    
print_heading_block(get_string('mycourses'));
                    
print_my_moodle();
                } else if ((!
has_capability('moodle/site:config'get_context_instance(CONTEXT_SYSTEM)) and !isguest()) or (count_records('course') <= FRONTPAGECOURSELIMIT)) {
                    
// admin should not see list of courses when there are too many of them
                    
print_heading_block(get_string('availablecourses'));
                    
print_courses(0);
                }
            break;

            case 
FRONTPAGECATEGORYNAMES:

                
print_heading_block(get_string('categories'));
                
print_box_start('generalbox categorybox');
                
print_whole_category_list(NULLNULLNULL, -1false);
                
print_box_end();
                
print_course_search(''false'short');
            break;

            case 
FRONTPAGECATEGORYCOMBO:

                
print_heading_block(get_string('categories'));
                
print_box_start('generalbox categorybox');
                
print_whole_category_list(NULLNULLNULL, -1true);
                
print_box_end();
                
print_course_search(''false'short');
            break;

            case 
FRONTPAGETOPICONLY:    // Do nothing!!  :-)
            
break;

        }
        echo 
'<br />';
    }

    
print_container_end();

    echo 
'</td>';
            break;
            case 
'right':
    
// The right column
    
if (blocks_have_content($pageblocksBLOCK_POS_RIGHT) || $editing || $PAGE->user_allowed_editing()) {
        echo 
'<td style="width: '.$preferred_width_right.'px;" id="right-column">';
        
print_container_start();
        if (
$PAGE->user_allowed_editing()) {
            echo 
'<div style="text-align:center">'.update_course_icon($SITE->id).'</div>';
            echo 
'<br />';
        }
        
blocks_print_group($PAGE$pageblocksBLOCK_POS_RIGHT);
        
print_container_end();
        echo 
'</td>';
    }
            break;
        }
    }
?>


  </tr>
</table>

<?php
    print_footer
('home');     // Please do not modify this line
?>

И что с этим делать? Попасть на загрузку паролей и т.д я не могу.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 222
Re: тестирование учащихся в altlinux
« Ответ #9 : 11.03.2009 23:40:28 »
И что с этим делать? Попасть на загрузку паролей и т.д я не могу.
проверять что с PHP приключилось

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
Re: тестирование учащихся в altlinux
« Ответ #10 : 12.03.2009 00:21:26 »
А что с ним могло случиться? Я как-то с php  не работаю, я без понятия, что там случилось.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: тестирование учащихся в altlinux
« Ответ #11 : 12.03.2009 06:34:21 »
Цитировать
Удалял moodle, потом обновился до Alt5

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
Re: тестирование учащихся в altlinux
« Ответ #12 : 12.03.2009 07:55:36 »
В смысле не торопясь? Все остальное работает нормально, а предвидеть, что moodle перестанет нормально работать я не мог.

Оффлайн kaf

  • Завсегдатай
  • *
  • Сообщений: 128
    • Email
Re: тестирование учащихся в altlinux
« Ответ #13 : 12.03.2009 07:59:21 »
А что с ним могло случиться? Я как-то с php  не работаю, я без понятия, что там случилось.
После обновления пропали ссылки на /etc/httpd2/conf/mods-available/mod_php5.... из
/etc/httpd2/conf/mods-enabled
Для их восстановления необходимо набрать команду:
# a2enmod mod_php5

Не исключаю, что могли пропасть ссылки и на
sites-available/...

Этот вопрос сейчас обсуждается в ветке BUG'а https://bugzilla.altlinux.org/show_bug.cgi?id=19134

Оффлайн sandros08

  • Давно тут
  • **
  • Сообщений: 139
Re: тестирование учащихся в altlinux
« Ответ #14 : 12.03.2009 08:30:35 »
Спасибо, так стал запускаться.
« Последнее редактирование: 12.03.2009 09:15:11 от sandros08 »