Мастер-это система управления документами с открытым исходным кодом. Адрес проекта: https://github.com/mylxsw/wizard. Я начал разрабатывать этот проект в 2017 году. Сначала я просто хотел создать инструмент для управления документами swagger внутри компании. Но в последние два года я периодически добавлял различные функции. Теперь я полон решимости выпустить версию 1.0. В настоящее время я поддерживаю три типа управления документами.
- Уценка : это также самый важный тип документа мастера и наиболее часто используемый тип документа, используемый командой разработчиков в повседневной работе. В волшебнике, в editor.md проект был расширен за счет таких функций, как шаблон документа, перенос таблицы JSON, вставка и загрузка изображений.
- Swagger : поддержка спецификации Open API 3.0, внедрение официального редактора swagger, интеграция его в проект мастера с помощью индивидуальной разработки, поддержка шаблона документа, полноэкранное редактирование, функция автоматической синхронизации документов
- Таблица Этот тип документа похож на электронную таблицу excel. Он принимает проект x-электронной таблицы и внедряет проект в мастер, который в настоящее время не идеален.
В настоящее время она в основном включает в себя следующие функции
- Управление документами swagger, уценка , тип таблицы
- Управление историей изменений документов
- Сравнение различий в изменении документа
- Управление правами пользователей
- Управление проектной группой
- Аутентификация единой идентичности LDAP
- Поиск документов, поиск этикеток
- Режим чтения
- Обзоры документов
- Уведомление о сообщении
- обмен документами
- Статистическая функция
Если вы хотите быстро ознакомиться с функциями мастера, есть два способа
- Для получения онлайн-опыта, пожалуйста, посетите http://wizard.aicode.cc/. В настоящее время доступны только некоторые функции. Для предварительного просмотра функций и инструкций, пожалуйста, обратитесь к вики.
- Использование docker для создания полной службы мастера
Войдите в корневой каталог проекта, выполните
docker-составьте
, вы можете быстро создать мастер-сервис, посетив адрес http://localhost: 8080.
происхождение
Чтобы побудить вас писать документы для разработки, мы сначала выбрали проект showdoc в качестве инструмента управления документами. В то время размер команды также был очень мал, и каждый непосредственно написал несколько простых документов по разработке с уценкой. Позже, с ростом команды, разделением переднего и заднего концов и уточнением разделения команд, использование только уценки стало неадекватным. В это время мы впервые подумали об использовании популярного чванства в сообществе с открытым исходным кодом для создания документов по разработке. Но в суэггере так много документов, что должно быть место для их хранения, верно?
Недостаточно использовать swagger только для документов в проекте. Он подходит только для управления документами API. Существует множество других документов, таких как проектные документы, блок-схемы, документы по архитектуре, технические решения, изменения в базе данных и другие документы, которые необходимо поддерживать вместе. Поэтому я решил использовать свое свободное время для разработки Инструментов управления документами , поддерживающих markdown и swagger , которые являются проектом мастера.
Сначала я планировал использовать язык go для разработки, но через несколько дней обнаружил, что эффективность использования golang для разработки веб-проектов была слишком низкой (быстрая эффективность разработки, а не производительность, но golang для разработки API все еще очень хорош). Многие часто используемые функции должны быть реализованы самостоятельно, поэтому я отказался от использования golang и использовал для разработки фреймворк PHP laravel. Таким образом, хотя проект был создан 27 июля 2017 года, фактическое время начала должно быть 31 июля 2017 года.
Поначалу идея проекта wizard была относительно простой. Это было просто для того, чтобы объединить документы markdown и документы swagger и обеспечить простой интерфейс управления. Однако после использования в команде было обнаружено, что в качестве инструмента управления документами на предприятии недостаточно обеспечить простые функции управления документами, такие как контроль разрешений, история изменений документов. Поиск документов, классификация документов и другие функциональные требования постоянно выдвигались, что также способствовало все более совершенной функции проекта мастера.
- Управление правами пользователя Это относится к режиму управления полномочиями gitlab и определяет только личность пользователя. Администраторы и Обычные пользователи , создав Группу пользователей Для подробного управления разрешениями пользователя, и каждый проект поддерживает предоставление пользователю разрешения на чтение и запись отдельно.
- Группировка проектов В мастере документы организованы по проектам. В самом начале было обнаружено, что это нормально. Позже появлялось все больше и больше проектов. Функция группировки проектов появилась для организации структуры проекта в виде каталога.
- История изменений документа Каждый раз, когда вы изменяете документ, мастер будет записывать моментальный снимок, чтобы избежать потерь, вызванных неправильным изменением документа. Вы можете быстро восстановить документ с помощью истории документа. Журнал аудита будет записан для ключевых операций, таких как изменение, добавление, удаление документа, который будет отображаться в виде последних действий.
- Сравнение различий в документах В командной помощи многие люди часто изменяют один и тот же документ. Во избежание конфликтов, после изменения документа, когда другие пользователи отправят старую историческую версию, система запросит пользователя об изменении содержимого документа, и пользователь сможет узнать, что изменилось в документе с помощью функции сравнения документов.
- Режим чтения Чтобы уменьшить ненужные помехи при использовании проектора для отображения технической схемы, мы используем режим чтения для отображения только содержимого документа, чтобы обеспечить лучшее качество отображения.
- Поиск документов Быстрый поиск необходимых документов с помощью функции поиска. В настоящее время поддерживается поиск основных документов по названию документа. В будущем будет добавлена функция полнотекстового поиска.
- Поддержка LDAP Многие компании будут использовать LDAP для унифицированного управления учетными записями своих сотрудников. Во всех внутренних системах компании сотрудники используют один и тот же набор учетных записей для входа в различные системы, такие как JIRA, Wiki, gitlab и т.д. мастер также обеспечивает поддержку LDAP. С помощью нескольких простых конфигураций они могут быстро получить доступ к единой учетной системе компании.
- Вложение документа , обмен документами , Статистика , Сортировка документов , Управление шаблонами , Обзоры документов …
О коде
Проект использует разработку платформы laravel, и текущая версия была обновлена до последней версии 5.8 (первоначально 5.4, полностью обновлена). Чтобы повысить эффективность разработки и упростить архитектуру, мы всегда избегаем введения слишком большого количества внешних компонентов в процесс разработки и стараемся использовать различные компоненты, предоставляемые laravel, такие как Аутентификация , Авторизация , События , Почта , Уведомления Это очень подходит для изучения фреймворка laravel.
резюме
Если вы ищете бесплатный Документ для разработки с открытым исходным кодом/| Инструменты управления документами API|/, вы можете рассмотреть проект мастера, он вас не подведет. Если вы новичок в PHP или laravel, хотите найти проект, чтобы узнать, как использовать laravel для веб-разработки, этот проект нельзя пропустить!
Наконец, это также основная часть этой статьи. Поторопись начать и, кстати, дай мне звезду! Если вы сможете внести больше вопросов или пиара, это будет лучше!