1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/free4inno-team-zhi

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

«知了» — облегчённое приложение для управления знаниями, ориентированное на небольшие команды

«知了» — это облегчённое приложение для управления знаниями от команды «Само письмо — крылья», которое ориентировано на небольшие коллективы. Команда «Само письмо — крылья» состоит преимущественно из преподавателей и студентов Пекинского университета почты и телекоммуникаций.

Приложение «知了» сосредоточено на управлении знаниями и стремится к облегчению этого процесса. Оно охватывает весь жизненный цикл управления знаниями и создаёт базу знаний и сообщество обмена знаниями для небольших команд. Основные функции приложения включают:

  • сбор знаний;
  • поиск знаний;
  • обмен знаниями.

«知了» предназначено для небольших коллективов и предлагает более простые и удобные в обслуживании технические решения. Цель — создать универсальное облегчённое решение. Для этого:

  • фокусируются на основных функциях, снижая затраты на использование;
  • обеспечивают удобство развёртывания через контейнеры;
  • упрощают обслуживание системы.

Особенности

В 2023 году были добавлены новые функции:

  1. Роль внешнего посетителя, позволяющая различать внутренних пользователей и посетителей. Посетители могут видеть только общедоступные ресурсы, а управление доступом становится более безопасным.
  2. Функция автоматического сохранения ресурсов и комментариев при редактировании. После восстановления соединения после сбоя можно автоматически восстановить ранее написанный контент.
  3. Поддержка функции поиска по тегам при создании, редактировании и поиске ресурсов. Можно использовать начальные буквы китайских иероглифов, пиньинь или любой символ для быстрого поиска соответствующих тегов.
  4. Поддержка анализа вложений (поддерживаются форматы Word, Excel, TXT и PDF) и полнотекстового поиска по содержимому вложений и комментариям. В результатах поиска логотип указывает на источник ресурса, а список ресурсов отображает статус анализа вложения.
  5. Предоставление открытого API для создания сторонних приложений. Пример — портал данных, который использует API для быстрой реализации.
  6. Функция экспорта ресурсов в формат PDF.
  7. Мощная функция «книги», которая позволяет объединять разрозненные ресурсы в одном месте для последующего просмотра, редактирования и обмена.
  8. Возможность создания «книг» с использованием открытых API в будущих версиях.
  9. Планы по автоматизации извлечения, анализа, классификации и объединения внешних ресурсов для создания эффективных и постоянно обновляемых «книг».

Скриншоты

Предоставлены скриншоты интерфейса приложения.

Функциональная схема

Представлена функциональная схема приложения.

Техническая архитектура

Описана техническая архитектура приложения.

Установка и развёртывание

Предлагается использовать Docker для развёртывания приложения. Описаны требования к оборудованию и операционной системе, а также шаги по подготовке системы перед развёртыванием. 9100: Elasticsearch-head серверный порт, можно выбрать для активации;

8090: порт файловой системы nginx, можно выбрать для активации.

  1. Перезапустите Docker.
sudo systemctl daemon-reload
sudo systemctl restart docker

3 Установка и развёртывание

Способ 1. Запуск с помощью Docker-compose (рекомендуется)

  1. Загрузите docker-compose.yml.

  2. Используйте команду docker-compose up -d для запуска.

  3. Посетите порт 8081, чтобы убедиться, что приложение управления знаниями запущено.

Способ 2. Pull Docker

  1. Сначала извлеките три образа:

    docker pull free4inno/zhi3.0_es
    docker pull free4inno/zhi3.0_mysql
    docker pull free4inno/zhi3.0_web
  2. Создайте пользовательскую сеть:

    network create zhi_network
  3. Запустите три образа по очереди:

    docker run --name="zhi_es" -it -d --network zhi_network  free4inno/zhi3.0_es /bin/bash /etc/init.d/run.sh
    docker run --name="zhi_mysql" -it -d --network zhi_network  free4inno/zhi3.0_mysql /bin/bash /etc/init.d/run.sh
    docker run --name="zhi_web" -it -d -p 8081:8081 --network zhi_network free4inno/zhi3.0_web /bin/bash /etc/init.d/run.sh
  4. Посетите порт 8081, чтобы убедиться, что приложение управления знаниями запущено.

Способ 3. Автономный запуск

Скачайте автономный образ:

Ссылка: https://pan.baidu.com/s/1OzC_bCkZV7ncCBmQlu1EDw?pwd=afpt Код извлечения: afpt

  1. Загрузите автономный образ и файл docker-compose.yml.

    docker load -i zhi3.0_mysql.tar
    docker load -i zhi3.0_es.tar
    docker load -i zhi3.0_web.tar
  2. Выполните команду docker-compose up -d.

  3. Посетите порт 8081, чтобы убедиться, что приложение управления знаниями запущено.

Способ 4. Использование собственной базы данных

Конечно, мы также приветствуем использование вашей собственной базы данных MySQL для развёртывания приложения.

  1. Скачайте docker-compose-nomysql.yml.

  2. Убедитесь, что ваша база данных запущена и добавьте пользователя (имя пользователя: zhi_user, пароль: 123456, имя базы данных: zhi_mysql).

  3. Импортируйте файл инициализации структуры данных zhi3.0_mysql.

  4. Используйте docker-compose up -d, чтобы запустить файл yml.

Ход разработки

Версия v1.0.0 — завершена

Разработана и реализована первая версия «Знания», включающая в себя основные функции:

  • Ресурсы: поддержка мультимедийных форматов, включая текст, изображения и документы (с использованием TinyMCE), возможность добавления тегов к ресурсам и настройки доступа для групп пользователей, а также возможность комментирования ресурсов и импорта данных из «Free Share».

  • Пользователи и группы: управление пользователями, включая добавление, удаление, изменение и назначение прав, таких как администратор, менеджер контента, пользовательский менеджер, системный администратор, обычный пользователь и гость. Поддержка групповых функций, таких как создатель группы, менеджер группы и участники. Возможность принадлежности одного пользователя к нескольким группам.

  • Поиск и расширенный поиск (на основе ES): поддержка поиска на основе ключевых слов (заголовок ресурса, текст, автор, группа, категория) и расширенного поиска на основе тегов и групп пользователей.

  • Интерфейс на основе Bootstrap + jQuery, поддерживающий адаптивный дизайн.

Версия v1.1.0 — завершена

В этом цикле разработки были внесены следующие изменения на основе версии 1.0:

  • Редизайн интерфейса: очистка избыточных статических ресурсов, разработка нового интерфейса (включая CSS, инструкции, области применения и примеры) и исправление существующих проблем с дизайном.

  • Оптимизация бэкенда: внедрение полной тестовой среды для бэкенда и пересмотр кода для решения проблем с производительностью, настройка времени сеанса и срока хранения изображений, а также исправление проблем с разбиением на страницы в результатах поиска.

  • Новые функции: шаблоны для создания сообщений, книги, системные настройки, прилипание верхней панели редактора WYSIWYG и поддержка форматирования и разбиения на страницы для комментариев.

Версия v1.2.0 — завершена

Версия 1.2 фокусируется на оптимизации и улучшении системы бэкенда.

  • Перепроектирование и рефакторинг модуля файлового сервиса: на основе существующего решения для чтения и записи файлов (newfreedisk.jar), перепроектирование архитектуры.

  • Многоуровневая конфигурация для разных сред: чёткое разделение между разработкой, производством и средой публикации, а также адаптация существующего кода к новым требованиям.

  • Обновление зависимостей: обновление TinyMCE до версии 5.9.1 для поддержки ввода в формате Markdown.

  • Исправление ошибок: решение проблемы с кодировкой конфигурации и других ошибок.

Версия v1.2.1 — завершена

Основные цели этой версии включают предоставление серии открытых API.

  • Предоставление открытого API: доступ к функциям поиска, обновления и удаления ресурсов.

  • Исправление ошибок: устранение проблемы, когда после открытия ресурса в режиме общего доступа требуется вход в систему для доступа к книге, исправление проблемы с вводом JSON на странице редактирования книги и другие исправления.

  • Добавление новых функций в ES: резервное копирование индексов ES, удаление индексов и восстановление индексов.

Версия v1.2.2 — завершена

Цели этой версии включают дальнейшее улучшение модулей бэкенда и добавление полезных функций.

  • Улучшение модуля файловых сервисов: изменение логики загрузки файлов, где ссылки на изображения открываются непосредственно в браузере, а ссылки на вложения загружаются через браузер.

  • Новая функция: экспорт ресурсов в формат PDF.

  • Исправление ошибок: исправление проблемы с загрузкой изображений на странице сведений о ресурсе, проблемы с неудачным поиском по одному тегу и проблемы с разделением строк в комментариях.

Версия v1.2.3 — завершена

Эта версия включает обновление некоторых полезных функций и исправление ошибок.

  • Новые функции: поддержка экспорта PDF для различных форматов (PNG, JPG, GIF, WEBP, BITMAP) и возможность экспорта ресурсов с китайскими именами.

  • Открытый API: добавлен API для получения подробной информации.

  • На основе открытого API реализовано одностраничное статическое приложение.

  • Настройка правил поиска ES: использование оператора «и» для отношений между тегами, сортировка по hitScore в порядке убывания и сохранение порядка создания в порядке убывания на основе hitScore.

  • Исправление ошибок: исправлены проблемы с размером изображений при экспорте PDF и проблемы с отображением кнопок шаблонов при многократном выборе.

Версия 2.0.0 — завершена

Цель этой крупной версии — обеспечить полнотекстовый поиск вложений и комментариев и улучшить демонстрацию сторонних приложений на основе Open API.

  • Новые функции: полнотекстовый поиск для вложений и комментариев на основе вложенных документов ElasticSearch.

  • Страница результатов поиска: добавлены метки источника (вложения или комментарии) на странице результатов.

  • Страница сведений о ресурсах: отображение статуса анализа вложений.

  • Управление пользователями: возможность назначать и обновлять ключи API Open для пользователей.

  • Системное администрирование: добавление открытого ключа API для системы. Часть 1

  1. Конфигурация по умолчанию, включая пароль и т. д.
  2. Частичное изменение прав доступа:
    • ограничение доступа внешних членов группы (за исключением суперадминистратора и контент-менеджера) к внутренним ресурсам группы;
    • реализация схемы проверки Open API на основе AppKey.
  3. Демонстрационное приложение сторонних разработчиков, основанное на Open API (портал обнаружения данных):
    • поддержка расширенного поиска с отдельными настройками отображения и фактического поиска;
    • улучшение внешнего вида интерфейса, поддержка адаптивного дизайна;
    • систематизация параметров конфигурации и их перенос в конфигурационный файл.
  4. Исправление нескольких ошибок:
    • проблема с сохранением переносов при сворачивании комментариев;
    • ошибка, из-за которой кнопка «повторный поиск» не синхронизировала условия поиска правильно;
    • в некоторых сценариях результаты поиска для незарегистрированных пользователей были пустыми.

Часть 2

v3.0.0 — завершено

  1. Улучшение пользовательского опыта:
    • добавление роли «гость»: поддержка различения внутренних пользователей и гостей, более безопасное управление правами доступа;
    • автоматическое сохранение ресурсов: поддержка автоматического сохранения основного текста и комментариев, чтобы избежать потери отредактированного контента при потере соединения;
    • функция поиска по тегам: поддержка более быстрого поиска нужных тегов;
    • оптимизация функции загрузки файлов: поддержка загрузки больших файлов для контент-менеджеров и суперадминистраторов, возможность одновременной загрузки нескольких файлов, выдача уведомлений о неудачной загрузке;
    • улучшенный опыт взаимодействия с комментариями: поддержка редактирования комментариев, автоматическая свёртка длинных комментариев, оптимизация расположения кнопок действий с комментариями.
  2. Повышение качества кода и исправление ошибок:
    • исправление связанных ошибок, вызывающих проблемы при публикации комментариев;
    • устранение ошибок, препятствующих поиску без авторизации и отображению кнопки поиска без авторизации;
    • исправление ошибок, связанных с загрузкой вложений;
    • исправление нескольких ошибок Elasticsearch;
    • исправление нескольких ошибок на стороне клиента.

Вклад участников

Этот проект был разработан командой 自邮之翼, под руководством профессора 徐鹏 из Пекинского университета почты и телекоммуникаций. Список участников проекта:

  • Ху Юйчжу, магистрант Пекинского университета почты и телекоммуникаций, 2020 год выпуска;
  • Хао И, магистрант Пекинского университета почты и телекоммуникаций, 2020 год выпуска;
  • Ли Юньцзе, магистрант Пекинского университета почты и телекоммуникаций, 2020 год выпуска;
  • Гао Цихун, магистрант Пекинского университета почты и телекоммуникаций, 2020 год выпуска;
  • Лю Кэци, магистрантка Пекинского университета почты и телекоммуникаций, выпуск 2018 года;
  • Чжао Хэтань, бакалавр Пекинского университета почты и телекоммуникаций, выпуск 2018 года;
  • Лю Синьюань, бакалавр Пекинского университета почты и телекоммуникаций, выпуск 2018 года;
  • Лю Хунцзе, бакалавр Пекинского университета почты и телекоммуникаций, выпуск 2018 года;
  • Сюй Цзывэнь, бакалавр Пекинского университета почты и телекоммуникаций, выпуск 2018 года;
  • Ван Синьвэй, магистрантка Пекинского университета почты и телекоммуникаций, набор 2023 года;
  • Ван Чао, бакалавр Хэйлунцзянского университета, выпуск 2020 года.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/free4inno-team-zhi.git
git@api.gitlife.ru:oschina-mirror/free4inno-team-zhi.git
oschina-mirror
free4inno-team-zhi
free4inno-team-zhi
branch-v3.0.0-open