HTTPS SSH

DEPRECATED

актуальная версия находится по адресу https://github.com/stankin/mj

Модульный журнал МГТУ Станкин

Веб-интерфейс для просмотра оценок студентами, разрабатываемый для МГТУ Станкин.

Также может использоваться как средство OAuth2-аутентификации студентов на внутренних сервисах МГТУ Станкин (см oauthProvider.md).

Сообщения об ошибках и пожелания вы можете оставить здесь.

Сборка и инсталяция

Для сборки из исходников необходим maven и JDK 8.

Перед сборкой самого проекта нужно собрать Sql2o:

cd sql2o
mvn --projects . -pl core -pl extensions/postgres clean install -DskipTests
cd ..

Сборку можно осуществить командой:

mvn clean install -DskipTests

Собранное веб приложение будет располагаться по адресу /target/modules-journal.war и предназначено для развертывания на сервере приложений Wildlfy Application Server 10.1.0.Final, скачать который можно по ссылке.

Конфигурация

В папке ${jboss.server.config.dir} (например, $JBOSS_HOME/standalone/configuration) должен находиться файл mj.properties следующего содержания :

oauth.google.clientid=клинет_ид_приложения_в_google
oauth.google.secret=секрет_приложения_в_google
oauth.vk.clientid=клинет_ид_приложения_в_vk
oauth.vk.secret=секрет_приложения_в_vk
oauth.yandex.clientid=клинет_ид_приложения_в_yandex
oauth.yandex.secret=секрет_приложения_в_yandex
oauth.callbackurl=http://localhost:8080/mj/callback (или другой при развертывании на сервере)
service.email=почтовый ящик с которого сервер будет отправлять письма
service.recoveryurl=http://localhost:8080/mj/recovery

Postgres

Для работы приложения на сервере должен быть установлен PostgreSQL.

Сервер WildFly должен иметь поддержку JDBC-драйвера для postgresql. Для добавления его нужно выполнить следующие команды:

./jboss-cli.sh

И внутри него:

connect
module add --name=org.postgresql --slot=main --resources=путь-куда-вы-скачали-драйвер --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver)

Настройки доступа к базе (url, логин, пароль) должны быть указаны в конфигурации WildFly (например, $JBOSS_HOME/standalone/configuration/standalone.xml) в секции urn:jboss:domain:datasources:4.0

        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
            <datasources>
                <datasource jndi-name="java:jboss/datasources/mj2" jta="false" pool-name="mj-pg-datasource" enabled="true" use-java-context="true">
                    <connection-url>jdbc:postgresql://localhost:5432/mj</connection-url>
                    <driver>postgres</driver>
                    <security>
                        <user-name>login</user-name>
                        <password>password</password>
                    </security>
                </datasource>
                ...

Почта

Для отправки почты почтовый сервер должен быть указан в конфигурации Wildfly:

<subsystem xmlns="urn:jboss:domain:mail:2.0">
    <mail-session name="default" jndi-name="java:jboss/mail/Default">
        <smtp-server outbound-socket-binding-ref="mail-smtp" ssl="true" username="..." password="..."/>
    </mail-session>
</subsystem>

и, например:

    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        ...
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="smtp.yandex.ru" port="465"/>
        </outbound-socket-binding>
    </socket-binding-group>

Запуск

Развертывание можно осуществить командой:

mvn wildfly:deploy -DskipTests -Dwildfly.hostname=адрес_сервера

Тестирование

Для выполнения тестов (mvn test) необходимо указать в переменной окружения JBOSS_HOME путь к установленному серверу Wildfly.

Для исполнения ArquillianTest необходимо предварительно создать в Postgres пользователя mj_test с пустым паролем и базу данных mj_test. Сделать это можно (в Ubuntu) командами:

sudo -u postgres createuser mj_test -d -P
sudo -u postgres createdb mj_test -E UTF8 -l en_US.UTF-8 -O mj_test

При запросе ввода пароля в качестве пароля оставить пустую строку.

Работа с приложением

Для входа в систему по умолчанию используется логин admin и пароль adminadmin. Их можно изменить при входе.

Для загруки данных о студентах необходимо сначала загрузить "эталон" (пример эталона: src/test/resources/newEtalon.xls), кликнув по кнопке Выбрать Файлы под надписью Загрузить эталон, а затем загрузть xls-файлы модульных журналов (пример журнала: src/test/resources/information_items_property_2349.xls), кликнув по кнопке Выбрать Файлы под надписью Загрузить файлы с оценками, или перетащить их из файлового менеджера в на поле Перетащите файлы.

После этого в таблице слева окажется список студентов, и, если кликнуть на студента в списке, то справа будет отображены его текущие оценки.

Также доступен поиск по имени студента и группе.

Кликнув по кнопке Аккаунт в правом верхнем углу экрана можно отредактировать пароль администратора.

Кликнув по кнопке Редактировать рядом с фамилией студента (становится активной после выбора студента) можно отредактировать данные для аутентификации студентов.