Текущий архив: 2004.03.09;
Скачать: CL | DM;
Вниз
О DM-клиенте к любимому форуму Найти похожие ветки
← →
nikkie (2004-02-09 16:59) [40]>Sir Alex
горячо поддерживаю.
← →
adwer (2004-02-09 17:30) [41]to nikkie
>> когда-то была мысль. но особого смысла нет. код приема сообщений - очень простой, см. HTTPGet, GetNewQuestions и GetNewAnswers в DMCHandler.pas. кода отправки сообщений не существует, см. выше.
Практически разобрался и даже сделал. Пару вопросов:
1) для чего нужен метод ReportAnswer и чем мне грозит вызов GetNewAnswers без вызова этого метода
2) я все таки вызываю GetNewAnswers для каждого Questions[i] в GetNewQuestions не вызывая ReportAnswer. Сообщения закачиваются совместно с заголовком. В off-line они видны. Все так как я хотел. Только треугольнички около сообщений красные. Что это значит и чем мне это грозит.
← →
}|{yk (2004-02-09 17:45) [42]2 nikkie
Желательные доработки по форуму (если у вас будет время и желание):
1. Обрабатывать Ctrl+N - чтобы новое окно не в браузере открывалось
2. Получения своих сообщений.
А то приходится иногда пользоваться и браузером
← →
nikkie (2004-02-09 17:58) [43]>adwer
1. ReportAnswer - не метод, а вложенная процедура в методе WriteTopic. если отбросить оформительские детали, то основное в ней - строка
ReportString(Answer);
грубо говоря, ReportString посылает строчку в браузер.
разумеется, если ты вызываешь GetNewAnswers для каждого нового сообщения автоматически, то ReportAnswer вызывать не надо. и это невозможно.
2. желтые треугольнички показывают ветки, ни одно из сообщений которых не было закачано. красные треугольнички - те ветки, где уже какие-то сообщения были прочитаны. таким образом, я сразу вижу обновления тех веток, которые я уже читал. в ситуации, когда все обновления скачиваются автоматически, смысла в такой дифференциации, конечно, нет. найди в коде и исправь new2.gif на new.gif.
← →
nikkie (2004-02-09 18:12) [44]>}|{yk
цель открытия сорсов была в том, чтобы люди могли поучаствовать в разработке и дописать ту функциональность, которой им недостает. в конце концов, это ведь форум программистов?
но желательно, чтобы этим каждый занимался не только для себя, но и принимал в общем развитии опен-сорс проекта. хотя, конечно, не гарантировано, что фича реализованная кем-то окажется интересной для всех и войдет в общую версию - каждый такой момент, я думаю, надо обсуждать. при условии, что найдется достаточно заинтересованных людей.
постить сюда свои пожелания смысла нет. открыт проект на sourceforge, там есть система Bug Tracking и Feature Request Tracking. пишите туда. просьба только не дублировать запрос, если такой уже есть.
← →
adwer (2004-02-09 18:25) [45]Согласен.
Только мне не понятен способ организации доработок.
При существующем подходе мы рискуем получить кучу версий клиентов, разработанных каждым под себя.
Допустим я захотел какую-то фичу и даже готов реализовать ее. Каким образом принимается решение о включении ее в программу. Голосованием ? Или будет администратор проекта, которые решает - быть или не быть ?
← →
McSimm (2004-02-09 18:31) [46]>М-да... А если я напишу клиент где можно будет писать сообщения в офлайне, а потом их все вместе отправлять используя forum.pl, то это будет чем-нить незаконным?
Я не рекомендую этого делать. Тем кто спрашивает.
И дело не только в защитных механизмах, они могут появиться при необходимости. Но дело в том, что forum.pl недокументируется как средство обмена информацией. Может меняться по разным причинам. Уже так было, я модернизировал форум, вместе с ним был переписан client.pl, чтобы соответствовать. Для этого он и нужен.
>Sir Alex © (09.02.04 16:06)
>Предлагаю поправить client.pl на предмет возможности отвправки сообщений, но с ограничениями.
Если честно, я давно на это созрел.
Вообще по client.pl заложено немало интересных новшеств. Только не хотел пока сообщать планы, чтобы потом не отвечать на регулярные "ну как там client.pl?" :)
На данный момент это 17 строчка моего todo (не путать с пресловутой 17й строкой :)
← →
Sir Alex (2004-02-09 18:36) [47]2 McSimm
Будем ждатьссс.... :)
← →
VMcL (2004-02-09 18:42) [48]>>McSimm © (09.02.04 18:31) [46]
ну как там client.pl? :)))))
В смысле, а когда планируется update?
← →
ИМХО (2004-02-09 19:04) [49]ИМХО, все эти клиенты не очень выгодны владельцам сайта (по известным причинам). Или я неправ?
← →
adwer (2004-02-09 19:09) [50]Почему ? Потому что снижается рейтинг ? Так можно сделать так, чтобы клиент перед скачкой был обязан запросить какую-либо определенную страничку, тем самым имитировав "клик".
← →
nikkie (2004-02-09 19:16) [51]>McSimm
17 строчка - это не скоро...
но мы тебя иногда теребить будем... ;)
я тебе, в принципе, писал уже на следующую тему, но все же повторюсь.
то, что я вижу сейчас - forum.pl и client.pl различаются по логике сортировки сообщений. периодически возникают ситуации, когда сообщения не отсортированы по дате-времени. вверху списка оказываются довольно "старые" сообщения. я так понимаю, что это возникает по 2-м причинам:
1. когда модератор перемещает старую ветку из форума A в форум B, она оказывается вверху форума B, но дата-время не изменяются.
2. по каким-то причинам просто сбивается системное время на сервере.
forum.pl справляется с такой ситуацией нормально. а для client.pl это проблема, поскольку в запросе клиента указан lastmod (unix time) - в ситуации, когда вверху находятся старые ветки, то клиент новые сообщения просто не получает.
может быть даже можно отказаться от старого протокола, а придумать новый с использованием не lastmod, а какой-то иной сортировки - если нет никакой возможности гарантировать нормальную сортировку сообщений по lastmod. старую версию client.pl можно оставить функционирующей пол-годика, скажем, чтобы дать время исправить клиентов.
← →
Sir Alex (2004-02-09 19:17) [52]2 ИМХО, adwer
Уже давно все придумано...
← →
adwer (2004-02-09 19:34) [53]Куда тогда смотреть ?
← →
adwer (2004-02-09 19:35) [54]Или это ответ не на это сообщение ? (09.02.04 18:25)
← →
nikkie (2004-02-09 19:44) [55]>[45] adwer
>Каким образом принимается решение о включении ее в программу.
пока что не о чем говорить, этот вопрос встанет, когда будет хотя бы несколько людей, готовых участвовать в разработке.
>Или будет администратор проекта, которые решает - быть или не быть ?
разумеется. я открыл на sourceforge проект - пока я являюсь его единственным администратором. работа с исходниками должна вестись через cvs, желающих участвовать я добавлю в группу.
имхо, серьезные фичи требуют обсуждения - как она ложится в общую концепцию, каким именно способом эту функциональность стоит реализовывать. например, автоматическое скачивание веток форума - я согласен, что смысл в этом есть, но скачивание всех новых веток при обновлении форума (как я понял ты сделал) может вылиться в проблемы с заторможенным интерфейсом пользователя - при обновлении списка сообщений форума требуется скачать сразу все новые ветки. к тому же, что делать, если оборвалась связь при их скачивании? все это надо продумывать.
← →
adwer (2004-02-09 19:52) [56]Речь идет не о конкретной, реализованной мною фичи, а о работе вообще. Я бы хотел поучаствовать в проекте по развитию данного клиента. Причем мне бы хотелось, чтобы это была именно командная работа. Поэтому и спрашиваю.
Если нет :( - придется разрабатывать "клиента только для себя".
← →
McSimm (2004-02-09 20:01) [57]>сообщения не отсортированы по дате-времени. вверху списка оказываются довольно "старые" сообщения. я так понимаю, что это возникает по 2-м причинам:
8й пункт в списке.
← →
nikkie (2004-02-09 20:07) [58]>Я бы хотел поучаствовать в проекте по развитию данного клиента.
ты регистрируешься на sourceforge и посылаешь мне письмо со своим login-ом. я добавляю твой login в группу проекта. после этого надо настроить cvs - ты получаешь доступ к редактированию сорсов в cvs. но если будешь самовольничать - я тебя из группы исключаю ;)
дальше ждем, пока кто-нибудь (ну хотя бы и сами разработчики) добавят Bug Requests, Feature Requests. каждый request обсуждается, по нему принимается решение, назначается исполнитель.
← →
nikkie (2004-02-09 20:08) [59]>8й пункт в списке
супер :))
← →
MDFE (2004-02-10 01:10) [60]Sir Alex © (09.02.04 16:06) [39]
Хотелось бы добавить:
3. Чтоб из клиента нельзя было запостить в "потрепаться", хочешь трепаться заходи на сайт.
← →
MDFE (2004-02-10 01:15) [61]McSimm ©
А вообще, реально бы, сделать протокол немного в сторону NNTP, тогда и клиентов городить ненужно.
Я тоже делал и off-line клиент и для дайджестов, но это все не то.
Вот моя первая наработка в сторону NNTP пока только для дайджестов, но и клиент почти готов.
http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1075931704&n=1
← →
Sir Alex (2004-02-10 02:10) [62]2 adwer (09.02.04 19:34) [53]
Это ответ на: ИМХО © (09.02.04 19:04) [49] и на adwer (09.02.04 19:09) [50]. В частности именно поэтому в клиентах небыло возможности отвечать на вопросы (да и сейчас нет).
← →
MDFE (2004-02-10 02:25) [63]McSimm ©
Или еще предложение:
Дать возможность постить(из клиента) только тем, у кого более 1000(к примеру) постов в тематические форумы.
:)
← →
nikkie (2004-02-10 03:25) [64]>MDFE
встречное предложение:
разрешить постить из клиентов за денежку. они ж трафик экономят - вот на съекономленныйе деньги пущай сайт поддерживают. да и вообще за удобство надо платить. :/
← →
SergP (2004-02-10 05:57) [65]А вообще возможность постить из клиента очень было бы удобно тем, у кого инет такой паскудный как у меня. Типа написал в офлайне несколько вопросов/ответов, и в момент когда есть онлайн их все вместе и запостил.
← →
McSimm (2004-02-10 10:46) [66]>ИМХО, все эти клиенты не очень выгодны владельцам сайта (по известным причинам). Или я неправ?
На самом деле никакой разницы. Даже если это приведет к понижению в рейтингах, на выгоде это никак не скажется :)
Удобство, полезность сайта для посетителей (для большинства, не для всех) - это и есть наша выгода.
>разрешить постить из клиентов за денежку.
До этого не дойдет, я надеюсь.
Хотя на сайте возможно когда-нибудь и появится какая-нибудь платная сфера, а что делать, рано или поздно перед сайтом может стать проблема окупаемости :(
> написал в офлайне несколько вопросов/ответов, и в момент когда есть онлайн их все вместе и запостил.
С одной стороны именно из-за проблем диал-апщиков и хочется ввести такой механизм. Но тут кроется одна из проблем, из-за которой я сомневаюсь. С момента прочтения ветки, до отправки своего поста проходит существенный промежуток времени. За это время ветка меняется, там появляются другие ответы. И ваш постинг весьма вероятно будет не очень уместен.
По себе знаю, в моем клиенте при желании ответить открывается ветка в браузере как раз с того сообщения, до которого я уже дочитал оффлайн и это очень удобно. Так вот, довольно часто, посмотрев последующие сообщения мне либо вообще не приходится писать, либо писать что-то другое.
>А вообще, реально бы, сделать протокол немного в сторону NNTP, тогда и клиентов городить ненужно.
Я так не думаю. Я лично не стал бы пользоваться Outlook, т.к. мой клиент мне очень удобен. Как альтернативу - может быть (когда-нибудь), но я не уверен что это легко.
В любом случае хотелось бы услышать мнение людей, стали бы они пользоваться готовыми новостными клиентами при наличии специализированных.
(И еще, по поводу архивов, рано или поздно придется пересматривать сложившуюся практику и система архивов будет меняться. Потому как слишком большие объемы, что плохо как для сайта, так и для посетителей)
>Чтоб из клиента нельзя было запостить в "потрепаться", хочешь трепаться заходи на сайт.
не уверен. но надо подумать. может и стоит, а может и нет.
Потрепаться самый динамичный, в нем огрехи задержек с ответами будут наиболее явными, включая последствия модераторства.
Кстати, еще в планах научить client.pl раздавать информацию об изменениях в ветках, которую при желании можно учитывать в программах.
← →
adwer (2004-02-10 12:13) [67]to [58] nikkie © (09.02.04 20:07)
> дальше ждем, пока кто-нибудь (ну хотя бы и сами разработчики) добавят Bug Requests, Feature Requests. каждый request обсуждается, по нему принимается решение, назначается исполнитель.
Где добавлять ? Здесь или на SourceForge ? Прошу прощения за такие вопросы, так как в таких проектах еще не участвовал.
Сразу готов предложить 2 Feature Requests, которые мне просто необходимы:
1. Закачка одним щелчком всех новых заголовков сообщений, а также тел сообщений. Согласен, что так как всем это не нужно - это дело можно сделать максимально настраиваемым.
2. Хранение сообщений не в текстовых файлах, а в БД. Я бы хотел в Firebird, хотя думаю, что кто-то захочет использовать MySQL, Access или MS SQL. DMCStorage - я посмотрел - действительно очень удачно спроектировано, что не составит большого труда прикрутить дополнительные способы сохранения сообщений.
← →
McSimm (2004-02-10 13:33) [68]
> adwer (10.02.04 12:13) [67]
Сколько смотрю твои пожелания, столько и вижу в них dolphin :)))
Кстати, планируемая версия 2.0 будет именно на FB, только не знаю как много уйдет времени, т.к. писать приходится полностью заново, исходники утеряны :(
← →
adwer (2004-02-10 13:45) [69]А разве в Dolphin реализован первый пункт - закачка тел сообщений вместе с заголовками ?
← →
McSimm (2004-02-10 13:49) [70]
> adwer (10.02.04 13:45) [69]
Да, если сообщение отмечено как "Важное".
← →
adwer (2004-02-10 13:51) [71]Хм... тогда мне нужна возможность отметить все сообщения, заголовки которых закачаны, как важные ;)
Хотя, если не ошибаюсь у тебя на MS SQL работает - можно триггер написать ;)
← →
nikkie (2004-02-10 14:16) [72]>adwer
>Где добавлять ? Здесь или на SourceForge ?
здесь бессмысленно. на SourceForge в соответствующем разделе.
только вот беда - пытаюсь добавить Bug/Feature, а он выдает бессмысленный Error:Artefact. буду еще тыркаться.
>в таких проектах еще не участвовал.
с sourceforge я тоже раньше дела не имел, но общее представление, как должна быть организована командная работа у меня есть. других подобных сервисов я не знаю, поэтому надо разбираться с ним.
пока не получается добавить туда, прокомментирую здесь.
1. Закачка одним щелчком всех новых заголовков сообщений, а также тел сообщений. Согласен, что так как всем это не нужно - это дело можно сделать максимально настраиваемым.
я не против. думаю нужен отдельный downloader-модуль, чтобы не замораживался основной интерфейс программы (странички с форумами и темами). чтобы видеть прогресс скачивания. ну и чтобы не в одном потоке это делать...
2. Хранение сообщений не в текстовых файлах, а в БД. Я бы хотел в Firebird, хотя думаю, что кто-то захочет использовать MySQL, Access или MS SQL. DMCStorage - я посмотрел - действительно очень удачно спроектировано, что не составит большого труда прикрутить дополнительные способы сохранения сообщений.
согласен. мне видится использование чего-то типа Embedded Interbase. имхо, главное - чтобы пользователь не заморачивался с инсталляцией и созданием базы. а то можно и оракл потребовать поставить...
на счет того, чтобы использовать разные базы - имхо, нужды в этом нет, не стоит овчинка выделки.
← →
jack128 (2004-02-10 15:06) [73]
> McSimm ©
> мой клиент мне очень удобен
А мне он просто удобен, по одной причине:
После закачки тем/сообщений начинается индексация, которая загружает проц на 100% и продолжается она очень долго(до 10 минут и более). Объем базы 24 метра, Duron800, 256 МБ
Если бы это можно было исправить, то клиент был бы ОЧЕНЬ удобен :-))
← →
McSimm (2004-02-10 15:19) [74]
> jack128 © (10.02.04 15:06) [73]
Честно скажу, в недоумении. Даже не могу предположить причин.
Проверь, не через ODBC ли провайдера подключился к БД?
Долгая индексация понятна при закачке большого количества информации, например первая закачка или длиннющая ветка. В обычном режиме и на более слабых машинах индексация длится несколько секунд. И все равно, не замечал такой загрузки процессора, обычно на индексацию вообще не замечаю - я себе свое делаю, а она в параллельном потоке работает.
Может и можно было бы подправить, но ничего по указанным выше причинам не могу сделать пока. Если выйдет 2.0, там этих проблем не будет, обещаю.
← →
McSimm (2004-02-10 15:27) [75]> jack128 © (10.02.04 15:06) [73]
В качестве полумеры можно попробовать
- упаковать (дефрагментировать) БД,
- можно попробовать периодически переходить на чистые БД, сохраняя старые как архив, если надо.
- И наконец, удалить(переименовать) из БД таблицу WordList, что приведет к отсутствию поиска, но программа перестанет терзать процессор.
← →
jack128 (2004-02-10 15:38) [76]
> Проверь, не через ODBC ли провайдера подключился к БД?
Jet 4.0 OLE DB Provider
> - упаковать (дефрагментировать) БД,
не-а. Размер на 30% уменьшился,(до 16 МБ) а толку - 0
> И наконец, удалить(переименовать) из БД таблицу WordList,
> что приведет к отсутствию поиска, но программа перестанет
> терзать процессор.
Угу, это помогло - спасибо.
А вообще ждем вторую версию.
Вот Sir Alex тоже версию на FB Emb собирается(или уже делает), посмотрим что колектив во главе с nikkie © напишет, в общем все решили обновить клиенты - это что, эпидемия??
← →
DeadMeat (2004-02-10 15:39) [77]Скачал... У меня оказывается была версия типа
a
← →
jack128 (2004-02-10 15:41) [78]Да и еще, в таблице WordList было > 200000 записей, это нормально?
← →
McSimm (2004-02-10 15:55) [79]>все решили обновить клиенты - это что, эпидемия??
Вряд ли, я "решил" давно, уже год как "обновляю" :)
Первую версию выпустил за 2 недели. А теперь раз в неделю по пол-часика если удастся выкроить, то это прорыв :(
> 200000 записей, это нормально?
Нормально. С учетом того, что запись это всего лишь 4 integer поля.
Зато помогает очень быстро находить. По сравнению с LIKE %слово% на несколько порядков.
← →
Danilka (2004-02-10 16:03) [80]
> Зато помогает очень быстро находить. По сравнению с LIKE
> %слово% на несколько порядков.
интересно.
а где про это алгоритм можно почитать?
в принципе, понятно, что like %...% будет игнорировать индексы, но такой поиск все равно, как правило имеет смысл делать не по всей базе а с ограничениями, например, в диапазоне дат.
Страницы: 1 2 3 вся ветка
Текущий архив: 2004.03.09;
Скачать: CL | DM;
Память: 0.63 MB
Время: 0.012 c