Шаблон:Product info: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
To Do: задача по классификации инфраструктурного ПО
Ох, как всё сложно
Строка 34: Строка 34:
Все параметры, кроме названия, необязательны. При этом соответствующие поля карточки не будут показаны.
Все параметры, кроме названия, необязательны. При этом соответствующие поля карточки не будут показаны.


* название — название продукта
* название — название продукта произвольной строкой текста
* (!) тип — тип продукта, один или несколько (через запятую) из вариантов:
* (!) тип — тип продукта, один или несколько (через запятую) из вариантов:
** Инструменты
** Инструменты
Строка 42: Строка 42:
** Парсерные платформы
** Парсерные платформы
** Сайты
** Сайты
* разработчик — главные лица и организации, принявшие участие в разработке продукта
* разработчик — главные лица и организации, принявшие участие в разработке продукта. В виде произвольной строки текста, но конкретные персоны записываются в ней при помощи свойств соответствующего вида, например:
** Разработчик как [[Разработчик::Имя разработчика]]
* языки интерфейса — язык, на котором пользователь будет взаимодействовать с интерфейсом продукта
** Локализатор как [[Локализатор::Имя локализатора]]
* операционные системы — перечень систем, на которых возможно использование продукта, если поддерживается онлайн, то используется вариант «web»
** Администратор как [[Администратор::Имя администратора]]
* написано на — язык программирования, на котором написан продукт
* языки интерфейса — язык, на котором пользователь будет взаимодействовать с интерфейсом продукта. В виде произвольной строки текста, но конкретные языки записываются в ней при помощи свойств соответствующего вида, например:<br>12 языков, в том числе &#91;&#91;Язык::Русский&#93;&#93;
* операционные системы — перечень систем, на которых возможно использование продукта. Значение в виде произвольной строки текста, желательно просто с перечислением названий через запятую.
* написано на — язык программирования, на котором написан продукт. Значение в виде произвольной строки текста, желательно просто с перечислением названий через запятую.
* язык разработки — язык программирования, на котором пользователь будет вести разработку (актуально для платформ и средств разработки), для [[:Категория:Платформы без программирования|платформ без программирования]] следует использовать значение «Визуальный редактор»
* язык разработки — язык программирования, на котором пользователь будет вести разработку (актуально для платформ и средств разработки), для [[:Категория:Платформы без программирования|платформ без программирования]] следует использовать значение «Визуальный редактор»
* читаемые форматы данных — форматы файлов, которые можно открывать программой (актуально для интерпретаторов)
* читаемые форматы данных — форматы файлов, которые можно открывать программой (актуально для интерпретаторов). Значение в виде произвольной строки текста, желательно описывать полным названием типа файла, например, «Текстовые документы (*.txt)».
* создаваемые форматы данных — форматы файлов, которые можно создавать программой (актуально для платформ и средств разработки (инструментов))
* создаваемые форматы данных — форматы файлов, которые можно создавать программой (актуально для платформ и средств разработки (инструментов)). Значение в виде произвольной строки текста, желательно описывать полным названием типа файла, например, «Веб-страница (*.htm;*.html)».
* первый выпуск — дата выпуска первой версии
* первый выпуск — дата выпуска первой версии. Значение в виде максимально подробного указания даты в форматах ДД.ММ.ГГГГ, ММ.ГГГГ или ГГГГ.
* последняя версия — текущая версия
* последняя версия — текущая версия. Значение в виде произвольной строки текста.
* дата последней версии — дата выпуска текущей версии
* дата последней версии — дата выпуска текущей версии. Значение в виде максимально подробного указания даты в форматах ДД.ММ.ГГГГ, ММ.ГГГГ или ГГГГ.
* состояние — текущее состояние продукта: если разрабатывается, поддерживается или активно используется, то «активное», если ничего из этого, то «архивное»
* состояние — текущее состояние продукта: если разрабатывается, поддерживается или активно используется, то «активное», если ничего из этого, то «архивное»
* лицензия — лицензия, на условиях которой распространяется продукт
* лицензия — лицензия, на условиях которой распространяется продукт. Значение в виде произвольной строки текста, но название лицензии желательно делать ссылкой на её текст или описание.
* сайт — официальный сайт продукта
* сайт — официальный сайт продукта.


== Зависимости ==
== Зависимости ==
Строка 66: Строка 69:


== To Do ==
== To Do ==
* Обдумать следующие проблемы:
*# Свойство «[[:Свойство:Язык|Язык]]» жёстко привязано к играм. Возможно не самая удачная идея использовать его применительно не к играм в параметре «языки интерфейса».
*# У параметров «операционные системы» и «язык разработки» предполагаются значения в виде произвольных строк, но при этом есть необходимость реагировать на ключевые слова для автоматической простановке категорий «[[:Категория:Онлайн-платформы|Онлайн-платформы]]» и «[[:Категория:Платформы без программирования|Платформы без программирования]]» (см. задачи ниже). Возможно имеет смысл для этих задач ввести отдельные параметры с бинарными значениями этих характеристик.
* Продумать механизм классификации продуктов типа [[Z-машина|Z-машины]] в параметре «тип».
* Продумать механизм классификации продуктов типа [[Z-машина|Z-машины]] в параметре «тип».
* Для заполнения параметра «разработчик» создать свойство «[[:Свойство:Разработчик|Разработчик]]», а также создать для него следующие подсвойства: «[[:Свойство:Локализатор|Локализатор]]» (например, [[Коптельцев, Валентин|Валентин Коптельцев]] по отношению к [[RTADS]] или [[Жучков, Антон|Антон Жучков]] по отношению к [[Twine]]). Также возможны такие подсвойства как «[[:Свойство:Ментейнер|Ментейнер]]», «[[:Свойство:Контрибьютер|Контрибьютер]]», «[[:Свойство:Администратор|Администратор]]», но есть сомнения, что для текущего объёма данных нужна столь мелкая классификация. Следует тщательнее изучить вопрос необходимости подобных подсвойств.
* Для заполнения параметра «разработчик» создать свойство «[[:Свойство:Разработчик|Разработчик]]», а также создать для него следующие подсвойства: «[[:Свойство:Локализатор|Локализатор]]» (например, [[Коптельцев, Валентин|Валентин Коптельцев]] по отношению к [[TADS|TADS 2]] или [[Жучков, Антон|Антон Жучков]] по отношению к [[Twine]]). Также возможны такие подсвойства как «[[:Свойство:Ментейнер|Ментейнер]]», «[[:Свойство:Контрибьютер|Контрибьютер]]», «[[:Свойство:Администратор|Администратор]]», но есть сомнения, что для текущего объёма данных нужна столь мелкая классификация. Следует тщательнее изучить вопрос необходимости подобных подсвойств.
* Рассмотреть возможность и практическую необходимость описания прочих параметров шаблона полноценными свойствами для их дальнейшего использования в SMW-запросах, в частности:
** Свойство «[[:Свойство:Система|Система]]» для параметра «Операционные системы».
** Свойство «[[:Свойство:Язык программирования|Язык программирования]]» для параметров «написано на» и «язык разработки».
** Свойство «[[:Свойство:Формат файла|Формат файла]]» для параметров «читаемые форматы данных» и «создаваемые форматы данных».
** Свойство «[[:Свойство:Состояние|Состояние]]» для параметра «состояние».
** Свойство «[[:Свойство:Лицензия|Лицензия]]» для параметра «лицензия».
** Свойство «[[:Свойство:Сайт|Сайт]]» для параметра «сайт».
* Для отображения причастности [[:Категория:Персоналии|персоналий]] к тем или иным продуктам создать шаблон «[[:Шаблон:Проекты и разработки|Проекты и разработки]]», который должен будет добавляться на страницу персоны и в табличной форме выводить информацию, генерируемую по значениям свойства «[[:Свойство:Разработчик|Разработчик]]» и его подсвойств, аналогично работе шаблона «[[:Шаблон:Игры автора|Игры автора]]». Прямое внедрение информации от Product info в шаблон «[[:Шаблон:Игры автора|Игры автора]]», пожалуй, всё-таки неуместно.
* Для отображения причастности [[:Категория:Персоналии|персоналий]] к тем или иным продуктам создать шаблон «[[:Шаблон:Проекты и разработки|Проекты и разработки]]», который должен будет добавляться на страницу персоны и в табличной форме выводить информацию, генерируемую по значениям свойства «[[:Свойство:Разработчик|Разработчик]]» и его подсвойств, аналогично работе шаблона «[[:Шаблон:Игры автора|Игры автора]]». Прямое внедрение информации от Product info в шаблон «[[:Шаблон:Игры автора|Игры автора]]», пожалуй, всё-таки неуместно.
* Сделать шаблон Product info как таковой со следующими требованиями:
* Сделать шаблон Product info как таковой со следующими требованиями:

Версия от 09:47, 9 июня 2018

Эта часть ещё не дописана. Вы можете помочь в этом.

Это концепт будущего шаблона для унификации структурированного представления информации о платформах разработки ИЛ, средствах разработки (редакторы, компиляторы), Интернет-ресурсах (информационных и совмещённых с платформами).

Шаблон не готов к использованию. До снятия этой отметки ни в коем случае не пытайтесь его применять на страницах wiki!

Для отслеживания результатов есть страница тестового применения шаблона «TADS Toolchain», за поломки которой никто обижаться не будет.

Заготовка для копирования

{{product info
|название =
|тип = 
|разработчик =
|языки интерфейса = 
|операционные системы = 
|написано на = 
|язык разработки = 
|читаемые форматы данных = 
|создаваемые форматы данных = 
|первый выпуск = 
|последняя версия = 
|дата последней версии = 
|состояние = 
|лицензия = 
|сайт = 
}}

Если название не указано, то оно будет заменено на название статьи.

Параметры

Все параметры, кроме названия, необязательны. При этом соответствующие поля карточки не будут показаны.

  • название — название продукта произвольной строкой текста
  • (!) тип — тип продукта, один или несколько (через запятую) из вариантов:
    • Инструменты
    • Интерпретаторы
    • Новостные ресурсы
    • Менюшные платформы
    • Парсерные платформы
    • Сайты
  • разработчик — главные лица и организации, принявшие участие в разработке продукта. В виде произвольной строки текста, но конкретные персоны записываются в ней при помощи свойств соответствующего вида, например:
    • Разработчик как [[Разработчик::Имя разработчика]]
    • Локализатор как [[Локализатор::Имя локализатора]]
    • Администратор как [[Администратор::Имя администратора]]
  • языки интерфейса — язык, на котором пользователь будет взаимодействовать с интерфейсом продукта. В виде произвольной строки текста, но конкретные языки записываются в ней при помощи свойств соответствующего вида, например:
    12 языков, в том числе [[Язык::Русский]]
  • операционные системы — перечень систем, на которых возможно использование продукта. Значение в виде произвольной строки текста, желательно просто с перечислением названий через запятую.
  • написано на — язык программирования, на котором написан продукт. Значение в виде произвольной строки текста, желательно просто с перечислением названий через запятую.
  • язык разработки — язык программирования, на котором пользователь будет вести разработку (актуально для платформ и средств разработки), для платформ без программирования следует использовать значение «Визуальный редактор»
  • читаемые форматы данных — форматы файлов, которые можно открывать программой (актуально для интерпретаторов). Значение в виде произвольной строки текста, желательно описывать полным названием типа файла, например, «Текстовые документы (*.txt)».
  • создаваемые форматы данных — форматы файлов, которые можно создавать программой (актуально для платформ и средств разработки (инструментов)). Значение в виде произвольной строки текста, желательно описывать полным названием типа файла, например, «Веб-страница (*.htm;*.html)».
  • первый выпуск — дата выпуска первой версии. Значение в виде максимально подробного указания даты в форматах ДД.ММ.ГГГГ, ММ.ГГГГ или ГГГГ.
  • последняя версия — текущая версия. Значение в виде произвольной строки текста.
  • дата последней версии — дата выпуска текущей версии. Значение в виде максимально подробного указания даты в форматах ДД.ММ.ГГГГ, ММ.ГГГГ или ГГГГ.
  • состояние — текущее состояние продукта: если разрабатывается, поддерживается или активно используется, то «активное», если ничего из этого, то «архивное»
  • лицензия — лицензия, на условиях которой распространяется продукт. Значение в виде произвольной строки текста, но название лицензии желательно делать ссылкой на её текст или описание.
  • сайт — официальный сайт продукта.

Зависимости

Шаблон Product info имеет зависимости со следующими страницами:

To Do

  • Обдумать следующие проблемы:
    1. Свойство «Язык» жёстко привязано к играм. Возможно не самая удачная идея использовать его применительно не к играм в параметре «языки интерфейса».
    2. У параметров «операционные системы» и «язык разработки» предполагаются значения в виде произвольных строк, но при этом есть необходимость реагировать на ключевые слова для автоматической простановке категорий «Онлайн-платформы» и «Платформы без программирования» (см. задачи ниже). Возможно имеет смысл для этих задач ввести отдельные параметры с бинарными значениями этих характеристик.
  • Продумать механизм классификации продуктов типа Z-машины в параметре «тип».
  • Для заполнения параметра «разработчик» создать свойство «Разработчик», а также создать для него следующие подсвойства: «Локализатор» (например, Валентин Коптельцев по отношению к TADS 2 или Антон Жучков по отношению к Twine). Также возможны такие подсвойства как «Ментейнер», «Контрибьютер», «Администратор», но есть сомнения, что для текущего объёма данных нужна столь мелкая классификация. Следует тщательнее изучить вопрос необходимости подобных подсвойств.
  • Для отображения причастности персоналий к тем или иным продуктам создать шаблон «Проекты и разработки», который должен будет добавляться на страницу персоны и в табличной форме выводить информацию, генерируемую по значениям свойства «Разработчик» и его подсвойств, аналогично работе шаблона «Игры автора». Прямое внедрение информации от Product info в шаблон «Игры автора», пожалуй, всё-таки неуместно.
  • Сделать шаблон Product info как таковой со следующими требованиями:
    1. Значения параметра «тип» должны приводить к автоматической вставке соответствующих категорий
    2. Значение «Визуальный редактор» параметра «язык разработки» должно приводить к автоматической вставке категории «Платформы без программирования»
    3. Значение «web» параметра «операционные системы» должно приводить к автоматической вставке категории «Онлайн-платформы».
    4. Одновременное наличие значения «Менюшные платформы» или «Парсерные платформы» параметра «тип» и значения «архивное» параметра «состояние» должно приводить к автоматической вставке категории «Заброшенные платформы», то есть
      ЕСЛИ (тип = Менюшные платформы ИЛИ тип = Парсерные платформы) И состояние = архивное ТОГДА вставить Категория:Заброшенные платформы
    5. В параметре «язык интерфейса» использовать уже существующее свойство «Язык», а для параметров «первый выпуск» и «дата последней версии» также уже существующее свойство «Дата».
  • Проверить именование всех потенциально задействованных семантических свойств на предмет отсутствия двусмысленности и коллизий.
  • В конце ещё раз всё перепроверить и обкатать на нескольких тестовых страницах, после чего начать адаптировать под использование шаблона страницы платформ в этой wiki.

См. обсуждение.