Документация на модули

Т.к. появились платные модули предлагаю обсудить вопрос структуры модуля и его свойства:

Модуль — набор програмных средств призванный расширить функционал стандартного ядра движка.

В модуле должно быть:

1) Текстовое описание модуля и его функций
2) Файл таблиц баз данных, если модуль использует свои таблицы и запросы
3) Версия движка (с казанием версии), уже содержащая этот модуль
4) Описание ручной установки модуля
5) Описание возможных проблемных ситуаций и пути их решения
6) контакты разработчика
7) Файл автоматической установки модуля в лайвстрит

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

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

28 комментариев

avatar
Пункт 7 реализовать сложнее, чем вы думаете
avatar
Не сложнее. Вы понимаете о чём я…
avatar
Здесь инициатива должнв исходить от автора движка, чтобы каждый из разработчиков не писал свой велосипед-инсталлер. Должен быть унифицированный механизм для установки/удаления расширений ЛС. Но это не гарантирует стопроцентно автоматизированой установки на всех сайтах, я собственно это и хотел донести комментарием выше.

Имея на руках такие инструменты, как diff и merge, не всегда воможно автоматизировать такие процессы. Вероятность конфликтов весьма велика, если установлены какие-либо хаки. Придётся в случае конфликтов предупреждать об этом пользователя и предлагать ему устанавливать вручную.
avatar
По поводу автора — согласен на все 100.
Насчёт конфликтов… с чем собственно я и борюсь… Посмотрите сюда: www.simplemachines.org/ (знакомо, ога?) Далее сюда: custom.simplemachines.org/mods/ Можете скачать и посмотреть что к чему. Так что конфликты это понятие неоднозначное.
avatar
Конечно, знакомо. Но я считаю, что некорректно сравнивать популярный во всём мире зрелый продукт и молодой ЛС, который ещё даже до первой версии не дорос.
avatar
Вот именно. Вы начали про «конфликты», я ответил по этому поводу с пруфлинками, не более :)
А насчёт системы модифицирования — это вообще должна быть неотъемлемая часть админки в зрелом проекте, если он хочет приобрести всеобщую любовь =) Так что думаю всё ещё впереди. Я даже готов отдать свою уже полностью готовуюсистему, если потребуется.
avatar
Возможные конфликты есть следствие незрелости движка. Хотя в последнее время в этом направлении уже предпринимались определённые усилия — хуки, конфиги для модулей и тд.
avatar
Вообще движок сам по себе достаточно хорошо подходит для модифицировании и даже для подключения полноценных сторонних модулей. Минус здесь — нет нормальной документации для разработчиков и нет возможности обычным пользователям устанавливать эти модули.
avatar
Не согласен автор делает движок, а не дополнения. Поэтому в наших силах сделать продукт лучше и помочь ему.

Считаю что модули должны быть качественными и удобными.

Да, Орт, может либо помогать дополнять движок модулями, либо нет, это его право.

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

Поэтому именно мы должны выработать критерии качества! Это наша задача!
avatar
Тут речь не об орте и не об модификациях, а о «механизме для установки/удаления расширений».

зы. сейчас выложу новую версию инсталлера…
avatar
Я правильно понимаю, что вы выступаете за создание на его основе полноценного менеджера пакетов-расширений?
avatar
Да. Хотя всё реализовано уже на данный момент: livestreet.ru/blog/addons/1956.html
По крайней мере, я так думаю)
avatar
Остаётся только обязать разработчиков следовать вашим спецификациям
avatar
Данные спецификации юзаются не только в SMF, но и ещё в некоторых системах, поэтому я думаю идеологической проблемы тут нет. А вот будут-не будут — вопрос другой. На самом деле даже мне сложно формировать команды хаков, ибо они заранее нерабочие (или я кривой =\ ). А когда автор сам будет это делать — все вопросы автоматом отпадут.
avatar
тут речь идет о модуле )

Инсталлер будет эффективен если ORT включит его в релиз!..

а пока это такойже модуль как и другие.
avatar
Да ладно вам. Идея отличная. Я лично с удовольствием буду использовать если она будет хорошо работать. И наличие «быстрой установки» вполне легко может стать критерием для покупки модуля.

Вопрос эффективности — будет он справляться со своей задачей или нет.
avatar
ну как же тут не понять!
avatar
Это мое мнение, но когда заплатив за модуль я получаю папку с лайвстритом непонятно какой версии и больше ничего нет, я чувствую что меня развели как кролика, ибо это не модуль и без описания разобраться практически не реально.

ПОэтому и должны быть критерии модуля и правильный его состав.

Только «крутые» разработчики не пишут документации на свой продукт, а крутые бывают тока яйца и горы.

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

Иначе покупая каждый модуль, мы получаем кота в мешке! А я так не хочу!
avatar
Давайте тогда конкретно, а не на пальцах. Можете назвать модуль/хак, где все хорошо документировано и где плохо?

Точнее так — какие именно модули вы смотрели и какое там состояние документирования в поставке?
avatar
Это надо брать и вскрывать все модули и давать список того, что есть а чего нет.

А на это могут обидется тут некоторые, скажу так все модули долеки от совершенства, т.к. нет единого формата документирования модулей, именно это я и предлагаю тут создать, не от хорошей жизни )

Свежий пример Модуль Афиша, нет документации, разработчик заявляет что все есть в SVN вот тока пользоватся им тут умеют далеко не все.

Модули от Gran обычно идут близкими к идеалу форматы, и инталл поверх ЛС и ручное описание.

Модули от OZZ как правило мануал как все поставить ручками, довольно подробный…

ну и т.д. НЕТ ЕДИНОГО ПОНИМАНИЯ ЧТО ТАКОЕ ПРОДУКТ — МОДУЛЬ (или хак) каждый делает и пишет посвоему, а в итоги винегрет модулей которые между собой конфликтуют.
avatar
Ну вот, так получается, что все модули почти идеальны в установке и есть документация везде. Тогда стало быть уже можно эти пункты исключить.

Что касается «Продукт» и «Конфликт». Так уж получается, что некоторые модули стараются изменить какие-то общие места. И здесь может потребоваться уже не просто замена, а грамотное сочетание возможностей. Как с этим быть? Делать в модуле хаки на чужие хаки?
avatar
в итоги винегрет модулей которые между собой конфликтуют.

Можно пример конфликтующих модулей? Не хотелось бы наступать на грабли, коли вы уж выявили такие проблемы.
avatar
Допустим в моем хаке «закрытые блоги» есть где-то момент пересечения с модулем «компании». Там в запросах добавляется тип блога — «close» и «company».

Объединить эти два значения не ахти как сложно, но однозначно существует пересечение. И если это пересечение будет включать не просто сочетание, а разную логику, то можно считать, что «приплыли»…
avatar
Я с самого начала снабжал все разработанные мной бесплатные модули всей необходимой документацией. Вот как раз, как Вы и описали в своей теме, Уважаемый GhostZX.
  • ALF
  • +1
avatar
У меня вопрос к разработчикам бесплатных модулей такого плана — можно ли на основе ваших модулей выпускать свои версии. Т.е. если я возьму модуль АдминПанель и сделаю в ней более удобный интерфейс. Или допустим, сделаю дополнение, позволяющее прямо из админки управлять видом топиков на сайте.

Имеет ли такой модуль право на обособленное существование?
avatar
Смотря под какой лицензией распространяется бесплатный модуль.
avatar
В лицензиях я очень поверхностно разбираюсь. В моем случае, легче непосредственно обратиться к автору модуля с вопросом :)
avatar
Что касается тех модулей которые запилены мной, то если Вы Уважаемый kachayev внесёте значительные изменения в код, то нет проблем — можете переименовать модуль и т.д. (кстати с модулем облака тегов ситуация особая — там используется флэшка, которая не мной написана; там могут возникнуть проблемы с коммерческим использованием) За других авторов я не могу ничего сказать.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.