Giter Club home page Giter Club logo

audit's People

Contributors

a-merson avatar avchirkin avatar bruce-willis avatar ddydeveloper avatar egorikas avatar eliseevev avatar grem0087 avatar ilabutin avatar ilya-shipunov avatar justice01 avatar kindergir avatar kirbex avatar kulakovt avatar morgan-kn avatar murzaev avatar nevoroman avatar pavelkulbida avatar pfedotovsky avatar porozhniakov avatar ronimizy avatar taritsyn avatar tezjarl avatar ubloobok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

audit's Issues

Упростить Link

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

Вместо абстрактных ссылок в протокол следует поместить сразу URL с именем, соответствующим LinkRelation'у. Все поля, содержащие URI, должны иметь суффикс Url.

Сменить Номер Встречи на Название

Сейчас в структуре Встречи (Meetup) присутствует поле Номер (Number). Представляющее собой порядковый номер встречи.

Его использование слишком узко и может быть ошибочным.

  • в местах где Номер используется как поле по которому сортируются встречи должны использовать для этих целей Дату проведения встречи (Date)
  • места использующие номер для формирования визуального названия Встречи, должны перейти на новое поле «Название»

Необходимо добавить к Встрече новое строковое поле Название (Name). Оно должно формироваться из имени Сообщества и порядкового номера Встречи.

Необходимо найти все места использования Номера и избавится от таковых.

Перенести данные по RadioDotNet в Audit

У подкаста RadioDotNet тоже есть подробный и структурированный журнал аудита. Изначально это была просто метаинформация на основе которой предполагалось строить сайт подкаста. Поэтому располагался он тоже в репозитории Site. Но собираемая информация достаточно полезная, полная и актуальная чтобы стать частью базы знаний DotNetRu.

Посему, следует перенести все сведения о подкасте в репозиторий Аудита. Дабы у сторонних сервисов был единый источник правды об активностях организации. Сейчас сами файлы перенесены, но формат всё-ещё находится в оригинальном состоянии.

Нерешённые задачи

Перед переносом нужно обратить внимание на некоторые аспекты, описанные ниже.

Формат

Стандартный формат для всего Аудита это XML. По историческим причинам, Radio ведёт свой журнал в Markdown с обильным использованием YAML.

Кажется нецелесообразным приводить Аудит к ситуации в которой он будет хранить документы разных форматов. Это усложнит реализацию инструментария (потребителей, генераторов, валидаторов). А так же внесёт сумятицу и разброд в глаза любого читателя.

Дабы следовать принципу наименьшего удивления, данные следует представлять в едином формате. XML является явным фаворитом, ибо в нём сейчас хранится большая часть данных, он имеет более строгую, продуманную и гибкую семантику. Посему, перед миграцией нужно будет сконвертировать все данные RadioDotNet в новый XML формат.

Инфраструктура

Информация о текущих выпусках подкаста используется для интеграции с множеством сервисов (Trello, VK, YouTube, Twitter и т.д.). В случае смены формата на XML (см. пункт Формат), весь этот инструментарий придёт в негодность.

Дабы не сломать отлаженный процесс выпуска подкастов, необходимо сначала добавить поддержку нового формата данных в инструментарий.

Структура

Сейчас структура Аудита следует определённым неформальным правилам (надо бы их записать в wiki после окончательной формализации):

  • Все документы лежат в Коллекциях (папках первого уровня)
  • Все Коллекции называются во множественном числе и в camelCase (и фактически состоят из одного слова)
  • Внутри Коллекций содержатся Документы (листовые сущности с данными)
  • Документы бывают двух типов:
    1. Простые XML файлы. Этот тип используется когда весь документ можно описать в одном файле.
    2. Папки. Этот тип нужен для сущностей имеющих в своей нагрузке вспомогательные файлы (фотографии, логотипы, картинки)
  • В одной коллекции могут храниться только документы одного типа. Но этот тип может меняться со временем. Поэтому авторам интеграций рекомендуется не хардкодить эту информацию, а выяснять по факту.
  • Документы (обоих типов) называются по уникальному индексу. Дабы иметь возможность производить быстрый поиск.
  • У всех документов индекс уникален в пределах всего хранилища. Эта особенность не ставилась как цель, но тот факт что это случилось говорит о том, что это свойство соблюсти нетрудно. А технически на нём можно строить интересные решения

В связи с выше изложенным, получаем для Radio следующую структуру:

  • Коллекция podcasts
  • Документы второго типа (папки), ибо нужно хранить обложки
  • Название папок (индекс) формата RadioDotNet-{Number}

Целостность

Сейчас весь репозиторий Аудита целостен. Т.е. у него все документы связаны друг с другом. И если есть какой-то недостижимый документ, то это смело можно считать ошибкой. Это удобное свойство для проверки непротиворечивости всего хранилища.

С приходом Radio, это свойство нарушается. Мы получаем новую коллекцию никак не связанную с остальными. Наверное это не проблема, ибо такой цели и не ставилось. Но в инструментах валидации всё-таки хочется оставить свойство полноты, как минимум для Митапов.

На самом деле, всё немного хуже. На текущий момент в Radio есть связь с документом Speaker из Аудита. Мы используем имена людей участвующих в подкасте (ведущие, гости, режиссёры и т.д.) для поиска их социальной сети (для указания её в анонсе). Социальные сети есть у Speaker'ов. Но если весь остальной Аудит использует для подобной связи Id сущности, Radio использует поле Name. Причина кроется в том, что не все наши участники делали доклады в Сообществах (т.е. попали в коллекцию Speakers). И для таких людей нам нужно просто Имя. Держать оба поля (Id для ссылки если повезло и Name если нет) выглядит слишком избыточно. Вот эту дилемму нужно будет решить перед миграцией.

Статус

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

Актуализировать Аудит

На конец 2019 года в сообщество входят 13 городов. Для Spb, Sar и Oms Аудит актуален. Для Msk приближается к идеалу. Для остальных городов заброшен и не развивается. Основные причины - это отсутствие удобного инструмента для добавления новых встреч и ответственного Аудитора от каждого города.

Необходимо актуализировать базу данных для всех сообществ и предоставить лидерам удобный инструмент для ведения Аудита.

Актуальное количество встреч на конец 2019 года (с примерным средним посещением):

  • Санкт-Петербург: 55 митапов, 150 человек
  • Москва: 42 митапа, 100 человек
  • Саратов: 6 митапов, 55 человек
  • Красноярск: 4 митапа и 40 человек
  • Казань: 13 митапов, 40 человек
  • Новосибирск: 6 митапов, 60-70 человек
  • Омск: 5 митапов, 35 человек
  • Нижний Новгород: 3 митапа, 40-55 человек
  • Уфа: 4 митапа, 35 человек
  • Самара: 1 митап, 30 человек
  • Пенза: 2 митапа, 15 человек
  • Краснодар: 2 митапа, 30 человек
  • Екатеринбург: 1 митап, 80 человек

Разделить Встречу SpbDotNet-6 на 2 доклада

Встреча SpbDotNet-6 описывает один доклад Common-mistakes-in-Net-benchmarks.

Согластно протоколу такой формат должен отписываться двумя Докладами. Необходимо разбить встречу на 2 доклада, скоректировать времена и ссылки на видео-запись.

Починить тесты

Похоже что синтаксис текущих тестов несовместим с новым Pester'ом v5.

Нужно обновить все тесты.

Добавить к докладчику город проживания

Очень удобно искать докладчиков для мероприятия по месту их нахождения.

Для обратной совместимости можно предположить что докладчик проживает в городе первого своего выступления. Это даст хорошее начальное покрытие. Все неточности будем исправлять в рамках стандартной процедуры актуализации Аудита.

Убрать из даты Встречи время

Сейчас дата встречи (Meetup.Date) содержит часть времени (по-факту оно всегда сейчас равно 00:00:00).

Необходимо выкинуть часть, отвечающую за время. Эта информация не интересна в разрезе аудита.
Так же становятся избыточными символы разделения частей T и признак зоны Z.

Таким образом дата проведения встречи должна выглядеть так:

<Date>2015-06-06</Date>

Добавить в базу данные о SarDotNet

Сейчас в базе информация о группах SpbDotNet и MskDotNet.

Необходимо также добавить и начать поддерживать в актуальном состоянии активность группы SarDotNet.

Добавить проверку XML Scheme

Необходимо разработать и настроить автоматическую проверку (AppVeyor?) базового формата файлов Аудита на соответствие XML Scheme.

Перенести базу в подпапку

Сейчас основная база данных хранится в корне репозитория. Это плохая практика, ибо корень будут пачкать сторонние сервисы (проверяльщики, сборщики, выкладывальщики и т.д.).

Необходимо перенести базу данный в подпапку db. А так же обновить ссылки в Документации к App

Изменить идентификатор Andrei-Kirpichev

Идентификатор Докладчика Andrei-Kirpichev записан неверно. Всех Андреев у нас кодируют как Andrey.

Необходимо изменить идентификатор Andrei-Kirpichev на Andrey-Kirpichev.

Добавить GitHub ссылку к Докладчикам

Сейчас модель Докладчика поддерживает указание нескольких ресурсов для получения большей информации о личности.

Необходимо добавить к списку возможных ресурсов GitHub аккаунт.

Radiodotnet: съезжает md разметка

Сейчас выглядит так:

Number: 32 Title: Исцеление памяти, обсуждение сетей, странный GraphQL PublishDate: 2021-07-14T21:26:20Z Authors:

  • Анатолий Кулаков

  • Игорь Лабутин Mastering: Максим Шошин Music: Максим Аршинов «Pensive yeti.0.1»: https://hightech.group/ru/about Patrons:

  • Александр

  • Сергей

А наверное хочется чтобы выглядело так:

Number: 32
Title: Исцеление памяти, обсуждение сетей, странный GraphQL
PublishDate: 2021-07-14T21:26:20Z
Authors:

  • Анатолий Кулаков
  • Игорь Лабутин

Mastering: Максим Шошин
Music: Максим Аршинов «Pensive yeti.0.1»: https://hightech.group/ru/about

Patrons:

  • Александр
  • Сергей

Уточнить тип идентификаторов в списках

Сейчас списки идентификаторов содержат элементы типа String:

<TalkIds>
    <String>Future-of-Net-development</String>
    <String>DSL-unexpurgated</String>
</TalkIds>

Идентификаторы должны обозначаться их конкретным типом. В том числе в составе списка.
Приведённая часть протокола должна выглядеть так:

<TalkIds>
    <TalkId>Future-of-Net-development</TalkId>
    <TalkId>DSL-unexpurgated</TalkId>
</TalkIds>

Добавить Теги к Докладам

Необходимо сформировать единый словарь тегов (Tag) и разметить все прошедшие и будущие доклады. Теги предназначены для поиска докладов по родственным темам.

Вручную разметить все существующие доклады очень трудозатратно. Поэтому нужен инструмент, который сможет проанализировать Аудит (видео, слайды, описание докладов) и на его основе сам составит актуальные теги к каждому докладу.

Переименовать Стаса Павлова

Лектор Стас Павлов имеет полное имя Станислав.

Необходимо переименовать его и изменить идентификатор спикера cо Stas-Pavlov на Stanislav-Pavlov .

Расширить митап ссылкой на страницу регистрации

Сейчас используюя приложение DotNetRu можно оперативно узнать о новом митапе. Но к сожалению, зарегистрироваться на митап прямо через приложение нельзя, т.к. нет ссылки на регистрацию в митапе. Поэтому пользователю нужно искать ссылку в других местах, что не очень удобно.

Хочется получить ссылку на регистрацию из митапа, чтобы приложение могло ее отобразить. Таким образом, пользователь сможет оперативно зарегистрироваться на встречу.

Расширить информацию о сообществах

Сейчас в Audit нет хватает информации о сообществах, e.g. нет ссылок на VK группу, Twitter, Slack, Facebook и др.

Нужно собрать информацию у активистов сообществ и добавить ее в Audit.

Добавить логотипы к сообществам

Сейчас логотипы сообществ находятся в отдельном репозитории: https://github.com/AnatolyKulakov/SpbDotNet

Нужно перенести логотипы в Audit, чтобы информация была в одном месте.
Формат - svq, чтобы клиенты могли использовать логотипы в любом удобном формате.

Нужно добавить все логотипы (с рамкой, на белом фоне) - чтобы удовлетворить нужды разных клиентов.

Добавить в базу данные о MskDotNet

Сейчас в базе информация только о группе SpbDotNet.

Необходимо также добавить и начать поддерживать в актуальном состоянии активность группы MskDotNet.

Добавить время к выступлениям

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

Необходимо добавить возможность вычислить время начала и окончания каждого выступления.

Должны покрываться следующие истории:

  • генерация расписания Встречи (начало, доклады, перерывы, конец)
  • возможность добавления митапа или встечи в календарь

Добавить вместимость площадки в Venue

Сейчас у площадки отсутствует понятие вместимости. Но это очень полезное свойство при планировании Встречи.

Необходимо добавить обязательное, целочисленное значение максимальной вместимости Площадки.

Добавить Бляхи к Докладчикам

Необходимо осмыслить и реализовать механизм Блях (Badges). А также добавить знаки различия Спикерам за следующие заслуги:

🥇 Открытие сообщества

Выдаётся Докладчикам, которые выступали в сообществе и после этого сделали доклад на конференции DotNext.

🥇 Гордость сообщества

Выдаётся Докладчикам, которые первый свой опыт публичных выступлений приобрели в сообществе и после этого сделали доклад на конференции DotNext.

🥇 Именитый гость

Выдаётся Докладчикам, которые выступали в сообществе, после опыта на конференции DotNext.

🥇 Активист сообщества

Выдаётся докладчикам, внёсшим значительный вклад в развитие сообщества.

На начало 2018 года имеется следующая картина

Выступали у нас, а потом на DotNext:

Владимир Кочетков (Msk-2015, 3 место)
Анатолий Кулаков (Msk-2015, 4 место)
Игорь Яковлев
Роман Неволин (Msk-2016, 5 место)
Владимир Кошелев
Игорь Лабутин
Валерий Петров

Выступали на DotNext, потом у нас:

Андрей Акиньшин
Дмитрий Нестерук
Михаил Щербаков
Дмитрий Иванов
Сергей Шкредов
Александр Шведов
Sasha Goldshtein
Сергей Щегрикович
Михаил Филиппов
Андрей Терехов
Станислав Сидристый

Москва

Выступали у нас, а потом на DotNext:

Илья Фофанов
Елизавета Голенок
Владимир Кошелев
Юлия Ковалёва (Спб-2017)

Выступали на DotNext, потом у нас:

Никита Цуканов
Андрей Акиньшин
Егор Богатов
Adam Sitnik
Юлия Цисык
Вячеслав Михайлов
Михаил Щербаков
Дмитрий Сошников
Владимир Кочетков
Николай Гусев
Кирилл Ветчинкин

Поправить спикера Mariya-Shekochikhina

В докладе Boundary-Between-Database-Logic-and-Application-Server спикер указана как Mariya-Shekochikhina.
При этом в списке спикеров ее папка названа Mariya-Schekochikhina, при этом ID внутри index.xml тоже: Mariya-Schekochikhina.

Т.е. по идее в митапе надо поправить.

Добавить информацию о часовом поясе к Сообществу

Так как время Докладов записывается в UTC необходимо иметь способ сконвертировать его в локальное время Сообщества. Для этого каждое Сообщество должно давать возможность узнать локальное смещение времени относительно UTC.

Добавить ссылки на фотографии со встреч

Сейчас у встреч нет фотографий.

Добавлять фотографии прямо в git репозиторий не разумно. Поэтому лучше всего оформить их как сторонний ресурс. В качестве такого ресурса разумно использовать фото-альбомы VK.com, в которых по-факту сейчас и хранятся все фотографии.

Добавить лидеров сообществ

Для всех городов необходимо добавить ссылки на реальных людей, которые делают сообщество. Возможно стоит их сгруппировать по занимаемой должности (Лидер, ПК, Активисты).

Добавить сообщество DotNetRu

Объединённая команда DotNetRu взяла курс на путешествие по конференциям со своей шоу-программой.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.