/chemistry-kb

Chemistry knowledge base

Primary LanguageHTML

Inorganic Chemistry Knowledge Base

База знаний проекта по химии 0-zone

Содержание

  1. Инструкция по созданию своей копии базы
  2. Установка системы
  3. Запуск системы
  4. Клонирование базы
  5. Отправка изменений
  6. Получение изменений
  7. Краткая информация о содержимом

Инструкция по созданию своей копии базы

  • Форкнуть себе репозиторий

Установка системы

Для установки нужен Ubuntu-like линукс. В терминале:

$ git clone https://github.com/ShunkevichDV/ostis
$ cd ostis/scripts
$ ./prepare.sh

Везде, где просит, соглашаемся, вводим пароль и т.д.

Запуск системы

Открываем терминал

$ cd [название папки]/scripts
$ ./restart_sctp.sh

Открываем новую вкладку (CTRL + SHIFT + T)

$ ./run_scweb.sh

Открываем браузер и вводим адрес

localhost:8000

Клонирование базы

Открываем терминал

$ cd [название папки]

ВНИМАНИЕ!!! Следующая команда удалит папку kb со всем её содержимым

$ rm -rf  kb
$ git clone [ссылка на ваш форк] kb
$ cd kb
$ git remote add base https://github.com/ARtoriouSs/chemistry-kb

Отправка изменений

Тру химчата умеют пушить на ремоут -_-

  • Создать пуллреквест c комментарием в формате:

[Имя Фамилия] Комментарий.

Получение изменений

  • Изменения на ветке master должны быть закомичены и, желательно, приняты мной
$ git checkout master
$ git pull origin master
$ git checkout [ваша ветка]
$ git rebase master

Если есть конфликты, аккуратно решаем так чтобы ничего не сломать.

Краткая информация о содержимом

  • Agents - папка с агентами
    • Proc - процедуры, используемые в агентах
    • Test - тестовые примеры для запуска агентов (вещества и др.)
  • Concepts - папка с понятиями (все понятия нужно переместить в разделы и удалить)
  • Elements - папка с химическими элементами (все элементы нужно переместить в соответствующие разделы и удалить)
  • Sections - декомпозиция базы
  • Additional - папка с понятиями, которые не относятся к основным разделам
    • Const - химические константы
    • Parameters - параметры (степени окисления, группы, периоды, числа)
    • minerals.scs - минералы
    • other.scs - понятия, которых нет в базе, но есть идентификатор
  • Menu - элементы меню (вопросы, агенты)
    • ui_view_kb_chemistry/lib_ui_menu_na_kb_chemistry.scs - список команд для химии
    • ui_view_kb_chemistry/ui_menu_na_view_kb_chemistry.scsi - список команд для химии (сюда добавляются агенты)
    • table.html - периодическая таблица
    • ui_main_menu.scs - хедер страниц
    • ui_menu_na_keynodes.scs - ключевые узлы (менять не нужно)
    • ui_menu_run_scp_program.scs - запуск scp-программы (для лабораторных работ)
  • Substances - папка с химическими веществами (все вещества нужно переместить в соответствующие разделы и удалить)
  • Reactions - химические реакции на scl
  • Ui_components - графические компоненты
    • src/build_components.py - скрипт для сборки компонентов (менять не нужно)
    • src/components/[имя компонента]/src/[имя компонента]-common.js - прототип компонента
    • src/components/[имя компонента]/src/[имя компонента]-component.js - главное окно
    • src/components/[имя компонента]/src/[имя компонента]-paintPanel.js - логика компонента
    • src/components/[имя компонента]/static - сгенерированный компонент
    • src/components/[имя компонента]/build.json - описание используемых js файлов в компоненте
    • components.scs - описание компонентов
    • format.scs - описание форматов для компонентов
    • update_[название компонента].sh - скрипт для обновления конкретного компонента
    • update_components.sh - скрипт для обновления всех компонентов (менять не нужно)
  • TODO - понятия, которых нет в базе, но на них есть ссылки
  • concepts.scs - абсолютные понятия и идентификаторы, которых нет в базе, но на них есть ссылки (если берете их на формализацию, то помечаете это в гугл доке и на трелло)
  • nrels.scs - относительные понятия и идентификаторы, которых нет в базе, но на них есть ссылки (если берете их на формализацию, то помечаете это в гугл доке и на трелло)
  • rrels.scs - ролевые понятия и идентификаторы, которых нет в базе, но на них есть ссылки (если берете их на формализацию, то помечаете это в гугл доке и на трелло)