Да... тут похоже уже всё пошло по 2му кругу. Нет. По 3-му кругу :)))
Цитата(vitan @ Nov 3 2010, 13:50)

Вот здесь самый интересный момент! Пользователь должен не сразу получить готовый компонент. Он должен его отправить в общую БД, а только потом экспортировать из общей БД обновленную локальную библиотеку. Иного способа добавить компонент в локальную библиотеку быть не должно. Только так юзеров можно будет заставить работать с общей БД.
Я с этим согласен, жёсткая мера. И главное неотвратимая. Единственное, что вызвало у многих возражения, - это фраза:
Цитата
не сразу получить готовый компонент
. Я постараюсь немножко уточнить её, чтобы она никого не пугала. "Не сразу" - это не значит "через неделю". Это означает лишь последовательность: сначала внёс в общую базу, а потом этим из общей базы воспользовался на общих основаниях. И тут интервал времени может быть в минуту: внёс в базу, этот компонент сразу стал доступен для использования (правда с нулевым рейтингом), тут же применил у себя.
... а вообще... я уже заикался в начале темы, что если у меня не будет возможность работать полностью автономно, то я этой базой пользоваться не смогу. Это в свете того, что мы пытаемся ввести такую жёсткую меру, то мы лишаем возможности работать автономно, что многих оттолкнёт. А если не будет инета? А если сервер с СУБД упадёт? Или хостер прекратит договор или ещё чего (как в своё время было с данным форумом)? Тем более учитывая, что наш проект бесплатный, и никто ни за что не отвечает и никому ничего не обязан и не гарантирует. Тогда работа встанет... А многие из нас занимаются серьёзными проектами, где нельзя допустить подобной вероятности...
Цитата(vitan @ Nov 3 2010, 13:50)

А автоматизировать проверки параметров в БД, действительно очень сложно. Именно поэтому и предлагается использовать массу юзеров для этого. При этом можно довольно-таки неплохо организовать именно процесс проверки. Ну вот, например, будет несколько групп юзеров. Одни - схемотехники, другие - разводчики, третьи - монтажники и т.п. Каждой из них можно спокойно отдать на откуп проверку только своей группы параметров. Кстати, напомню лишний раз, что эти группы параметров неплохо бы создать. А после этого запустить последоватльную (или параллельную, или комбинированную) проверку этих параметров различными группами юзеров. И в зависимости от этого выставлять либо "проверен" (boolean), либо "рейтинг" (int). Это в чистом виде процесс, с состояниями, переходами и прочей фигней, любой манагер Вам подтвердит.
Идея хорошая. Очень похожа на модераторство форумов. Но, боюсь, работать в сообществе не будет. Это нужно раздавать роли группам людей, чтобы все были ответственными и отзывались на автоматические просьбы СУБД проверить вновь поступившие компоненты.
Цитата(Jack Krieger @ Nov 4 2010, 19:43)

Во-первых, в предлагаемом мной варианте не будет слов "если не лень". Основная моя задача - создать удобный мастер компонентов, при помощи которого пользователи смогут быстро клепать эти самые компоненты. Этот мастер должен быть встроен в клиент, и как только пользователь создаст очередной свой шедевр и пополнит им свою БД, то клиент отправит эти данные на сервер уже без вмешательства пользователя.
Идея тоже хорошая. Так пользователю ещё проще. Но есть одно НО: наличие клиента пользователю не будет требоваться. Он продолжает работать с локальными базами. А клиент как шпиён или троян сливает его компоненты в общую базу. Тут возможны 2 причины:
1. Поскольку пользователь продолжает работать с локальными базами, то этого клиента он "поставит как-нибудь потом, когда будет время". Т.е. забьёт на это всё :)
2. Он клиента поставит. И забудет о его существовании. Потом у них админ в сети поменяет параметры инета, клиент перестанет связываться с базой, и пользователь на это забьёт по формулировке п.1 ("когда-нибудь постараюсь разобраться, когда будет время").
Хочу ещё раз навести на мысль, что если наличие постоянного взаимодействия с общей базой не будет обязательным условием, то на эту базу можно будет легко забить ввиду занятости. Она должна вынуждать пользоваться ею. Если сломался инет - настраивать. И прямо сейчас, а не "когда появится свободное время". Потому что иначе дальше работа не пойдёт.
В этом плане лучше оставить последовательность: добавление в общую базу - только потом использование у себя из общей базы. Такой вариант уступает локальному клиенту лишь тем, что локальный клиент автоматически добавляет ваши новые компоненты в общую базу. А в случае указанной выше последовательности компоненты придётся добавлять самому. Но это не так долго и не намного больше действий. И ждать не придётся между добавлением в общую базу и возможностью использовать у себя.
Цитата(vitan @ Nov 4 2010, 20:11)

Только мне не очень нравится идея сделать отстойник (я когда говорил про отстойник имел ввиду общую БД). Такая идеология, кстати, применяется в библиотеках у кейденса. Есть некая временная библиотека и библиотека проверенных компонентов. Между ними происходит перенос компонентов, это делают библиотекари. В нашем случае, конечно, можно было бы заменить библиотекарей на сообщество пользователей, но все равно останутся две "зоны". В одной будет бардак, а в другой изменения будут проводиться очень медленно. В результате все равно плохо.
У нас проект как бы общественный, поэтому ответственность за кривой компонент сбросить будет не на кого. Можно только помочь юзеру в выборе правильного компонента. Для этого предлагаются рейтинги (int).
Я считаю, что если будут рейтинги, то 2 зоны не потребуется: рейтинг будет автоматически указывать, к какой зоне относится компонент: нулевой рейтинг - вообще не проверенный, малый рейтинг - хоть кто-то уже попробовал. Большой рейтинг - всё нормально, уже все успели наступить на грабли :)
Цитата(vitan @ Nov 4 2010, 20:11)

Кстати, рейтинги нужно будет сделать не только для компонентов, но и для пользователей. Чтобы был показатель, кому можно доверять, а кому - не очень. Вот, например, проверил я компонент, добавил ему очков. А большинство тоже проверило и нашло в нем косяк. Каждый отнял у компонента немного очков. Эти очки надо отнять и у меня. Т.о. мой личный рейтинг уменьшится (если не зайдет в минус вообще) и мне доверять народ будет меньше.
Даешь демократию! Свобода, равенство, братство:)
Мне эта идея очень нравится! (с рейтингами участников, не с равенством :))) ). Тут появляется бОльшая гибкость, информативность, объективность оценки.
Цитата(Владимир @ Nov 4 2010, 21:15)

Ну так черных шаров по сговору накидают.
Рейтинг пользователя не должен устанавливаться другими пользователями. Пользователь должен оценить компонент ("проверить"). Пользователь (или даже модератор, т.е. специально назначенный проверяющий) может "не глядя" оценить компонент хорошо. Ему поверят. А потом окажется, что компонент плохой. Куча человек сделают отрицательные отзывы компоненту. В результате упадёт рейтинг у того, кто не глядя оценивал компонент. Ему перестанут доверять. Его оценкам. Т.е. пользователь с большим рейтингом своей оценкой очень хорошо изменяет рейтинг компонента. А пользователь с малым рейтингом - не сильно влияет на рейтинг компонента.
Так что специально накидать человеку чёрных шаров просто чисто технически не получится.
Цитата(Владимир @ Nov 4 2010, 21:15)

Но и пугать не надо. А то по первому разу ктось выложит-- у тут бах по голове- и ты на всю жизнь заминусован :)
Тут не нужно проводить аналогии с рейтингом в торрентах. Это в торрентах нулевой рейтинг лишает права скачивать порнушку :)))) А у нас нулевой рейтинг или даже отрицательный ни на что не влияет, кроме как на понимание уровня доверия к оценкам пользователя. Так что не надо бояться отрицательного рейтинга. Никто никого не пугает.
Цитата(vitan @ Nov 5 2010, 02:02)

Т.к. БД планируется сильно коллективная, то легко могут найтись люди, которые могут обидеться, и понаделают гадостей. Бекапы нужны.
Мы же уже утвердили, что вся база целиком не может быть изменена одним взмахом нерадивого юзера. Только через механизм добавлений новых компонентов или правки ошибок в имеющемся. И это покомпонентная работа, а не групповая. Ко всему прочему должны иметься логи, кто чего напортил, контроль версий, чтобы при любых изменениях можно было отменять эти изменения.