Конференция "Журнал" » Обсуждение расширения протокола для Поиска по архивам и не только
 
  • Наиль © (08.11.09 17:51) [0]
    Чтобы прикрутить поиск DelphiMaster.net к DMClient нужно сделать две вещи.
    Сайт должен выдать список найденных веток, аналогично тому как Delphmaster.ru выдаёт список свежих веток.
    Потом сайт должен предоставить содержимое одной из выбраных веток, по желанию пользователя.
    Учитывая, что содержимое веток в архиве не меняется, то остальные возможности протокола на сайте реализовывать не обязательно.
  • Наиль © (08.11.09 18:18) [1]
    Сценарий приблизительно такой:
    1. В программе открывается форма, аналогичная форме на сайте DelphiMaster.net (только дата будет в стандартной форме)
    2. Далее отправляется запрос в одном из двух видов, примерно так:
    http://www.delphimaster.net/index.php?s=AnyText&pnumber=30&forum=&user=Zavsegdatyy&order=&dir=asc&title=on&m essage=on&date_begin=2000-01-01&date_end=2009-10-20&AsPlainText=1
    или
    http://www.delphimaster.net/cgi-bin/client.pl?s=AnyText&pnumber=30&forum=&user=Zavsegdatyy&order=&dir=asc&title=on&m essage=on&date_begin=2000-01-01&date_end=2009-10-20
    Сервер должен предоставить ответ в формате определёном для "2. Запрос о новых заголовках" в протоколе:
    http://www.ksoftware.ru/wiki/dmclient/dmclient_protocol2
    В первом варианте изменения минимальны на стороне сервера (нужно только добавить обработку параметра AsPlainText=1), во втором на стороне клиента.
    С моей точки зрения нужны оба варианта.
    3. Пользователь кликает на ссылке в клиенте. В результате выполняется запрос-ответ "3. Запрос о полной информации о ветви", с той лишь разницей, что вместо DelphiMaster.ru будет DelphiMaster.net
  • xayam © (08.11.09 19:10) [2]

    > Наиль ©   (08.11.09 18:18) [1]
    > http://www.delphimaster.net/index.php?s=AnyText
    > http://www.delphimaster.net/cgi-bin/client.pl?s=AnyText

    я вообще на перле не пишу, на php будет тогда ссылка http://www.delphimaster.net/client.php

    я вообще так понял должны быть те же параметры, что есть сейчас плюс обработка getforums=1, getnew=X&n=XX и getconf=XXXXXXXXX&n=XX&from=X&to=X и выдача в текстовом формате.
  • Наиль © (08.11.09 22:20) [3]
    > я вообще на перле не пишу, на php будет тогда ссылка http:
    > //www.delphimaster.net/client.php

    К сожалению я не пишу не на php, не на perl. Но мне помнится, что если в первой строке скрипта указан интерпретатор, то расширенее не имеет значение. К сожалению, у меня мало времени, и переделывание DMClient под разные названия скриптов может потребовать некоторое неопределёное время. Но если URL будет содержать cgi-bin/client.pl, то результат не заставит себя ждать.

    > я вообще так понял должны быть те же параметры, что есть сейчас

    Всё верно. К способности выдавать результаты поиска в оформленом (HTML) виде, нужно добавить возможность выдавать эти же результаты в "неоформленом" (без HTML) виде, специально для Клиентов. Нужно только определиться по какому признаку сайт будет определять, что к нему обратилась программа-клиент. Для всех существующих клиентов будет оптимальным использование приставки cgi-bin/client.pl. Или можно просто добавлять к используемым запросам AsPlainText=1. Возможны и другие варианты.

    > плюс обработка getforums=1, getnew=X&n=XX и getconf=XXXXXXXXX&n=XX
    > &from=X&to=X и выдача в текстовом формате.

    getforums

    - желателен, но необязателен, названия всех форумов известны и могут заложены в программу в виде констант. Либо взяты с delphimaster.net. Поэтому на данный момент можно от этого отказаться.
    getnew

    - вещь бесполезная, т.к. данные добавляются раз в неделю и очень много. Для поиска это будет только помехой.
    getconf=XXXXXXXXX&n=XX

    - а вот без этого никак. Весь смысл в том, чтобы найти и посмотреть какое-то интересное обсуждение.
  • uroboros © (09.11.09 13:31) [4]
    внезапно, дерейл!
    протокол отправки поменялся, что ли? никак не могу ничего отправить. а вроде бы ничего не менялось.
  • McSimm © (09.11.09 13:38) [5]
    протокола отправки не существует. нет такого в клиенте.

    предлагаю обсудить проблему почтой. адрес adm @ delphimaster . ru
  • McSimm © (09.11.09 13:48) [6]

    > uroboros ©   (09.11.09 13:31) [4]
    > внезапно, дерейл!

    А вы кто, какой софт тестируете и зачем ?
    Я добавил правило для вас, теперь будет работать какое-то время.

    Вот добавлю каптчу на сайт, будете знать :)
  • McSimm © (09.11.09 13:49) [7]
    и что такое "дерейл" ?
  • uroboros © (09.11.09 14:13) [8]
    Максим, ну на IP хоть посмотри. неужели техноэльфов так сложно узнать? у меня KPMC внезапно перестал отправлять. получает нормально, а отправка (ну, как у всех, через POST же, сто лет так делали %-) не фурычит. тупо возвращает 302 (или 303, забыл %-) да перекидывает на список топиков. а ответ — фигушки. однако же из бровзера ответ есть.

    вот я и интересуюсь: какую хитрую закорюку добавили, что у меня всё очень похоже на рабочее, а не работает?
  • uroboros © (09.11.09 14:13) [9]
    а, ну да. «дерейл» — это увод топика от изначального сабжа. %-)
  • uroboros © (09.11.09 14:14) [10]
    тестируем-с...

    ---
    Somebody set up us the bomb.
  • uroboros © (09.11.09 14:15) [11]
    о. таки работает же. я попал под спамобойку, видимо. ужас. всего каких-то нещасных год-полтора не появишься, и уже спамером считают.

    ---
    Somebody set up us the bomb.
  • McSimm © (09.11.09 14:31) [12]
    Ха, привет :)


    > и уже спамером считают.

    на dev2.delphimaster.ru можешь посмотреть - туда скидываются все сообщения отсюда, включая спамерские. Удовольствия мало.
    Так что борьба ни на жизнь, а на смерть.
  • McSimm © (09.11.09 14:32) [13]

    > ни на жизнь

    опечатка :)
  • uroboros © (09.11.09 14:37) [14]
    >[12] McSimm © (2009-11-09 14:31:00)
    >на dev2.delphimaster.ru можешь посмотреть

    а я подписан по рсс — старая привычка. можешь себе представить, на сколько дач я наделал кирпичей, когда в дохлый рсс внезапно спам посыпался. %-)

    ---
    Somebody set up us the bomb.
  • xayam © (09.11.09 23:23) [15]

    > Наиль ©   (08.11.09 22:20) [3]
    > Но мне помнится, что если в первой
    > строке скрипта указан интерпретатор, то расширенее не имеет значение.

    Это действует, когда скрипт запускается командным интерпретатором, а когда php настроен как модуль апача, что здесь можно писать только тег <?php ... ?> иначе первая строка попадет в вывод.

    > переделывание DMClient под разные названия скриптов может
    > потребовать некоторое неопределёное время. Но если URL будет
    > содержать cgi-bin/client.pl, то результат не заставит себя
    > ждать.

    ну если для тебя расширение и путь так важны, то я могу сделать в корне папку cgi-bin и в нее положить файл client.pl , а апач настроить на обработка файлов .pl php-интерпертатором, это должно просто решаться

    > Нужно только определиться по какому признаку сайт будет
    > определять, что к нему обратилась программа-клиент

    в протоколе же это есть. Или не реализован параметр UserAgent?

    7. Про user agent
    Для ведения логов использования клиентов чтения форумов подставляйте во
    *все* запросы к серверу UserAgent=Название.Версия
    Например:
    http://www.delphimaster.ru/cgi-bin/client.pl?getnew=lastmod&n=0&UserAgent=Название.Версия
    или, можете указывать агента в заголовке запроса, в стандартном поле
    HTTP_USER_AGENT (User-agent: xxx).
    (Ketmar: CDM отрекомендовывается как "CDM_by_Ketmar.X", где X -- версия).



    > можно просто добавлять к используемым запросам AsPlainText=1

    по-моему это не нужно, client.pl в любом случае будет реализован отдельно от DMSearch (index.php) и будет выдавать результат только в текстовом виде под клиенты. Но у меня баз пока оптимизирована под delphimaster, а надо чтобы она была как можно больше совместима с nntp-pop3-sntp-rss...-протоколами. Поэтому пока буду, наверное, долго занят изучением этих протоколов и выявлением общего знаменателя, благо набросок базы уже есть, соответствующий nntp

    > getforums - желателен, но необязателен, названия всех форумов
    > известны и могут заложены в программу в виде констант

    это скорей всего обязательно нужно, поскольку KilkennyCat говорил, что у нас будут еще дополнительные форумы, которых нет на dm. Но хотелось бы чтобы к этим форумам тоже был доступ по всем выше перечисленным протоколам
    -------------------------------------------------------------------------

    Но мы вроде для поиска хотели обсудить расширение протокола. Как его оформить? Лучше чтобы ты написал, как тебе удобнее выводить результат поиска и какие дополнительные параметры нужно реализовать (названия, значения).
  • xayam © (10.11.09 00:41) [16]
    предлагаю на запрос поиска веток вида

    s=%s%&pnumber=%d%&forum=%s%&user=%s%&order=%s%&dir=%s%&title=%s%&message=%s%&date_begin=xxxx-xx-xx&date_end=xxxx-xx-xx


    выдавать примерно такой текст

    ERROR=сообщения об ошибке по-русски | Allcount=xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tDATE=xxxx-xx-xx


    Allcount - количество найденный веток
    TITLE - тема найденной ветки
    CNT - количество ответов в ветке
    NAME - автор ветки
    N - номер конференции (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
    DATE - дата ветки в формате ГГГГ-ММ-ДД
    \t - символ табуляции.

    Примерно так, предложения, поправки. Видимо еще нужно предусмотреть вывод заголовков найденных веток "от" указанного значения и "до". Или не нужно?
  • xayam © (10.11.09 00:51) [17]
    Поправка
    предлагаю на запрос поиска веток вида
    s=%s%&pnumber=%d%&forum=%s%&user=%s%&order=%s%&dir=%s%&title=%s%&message=%s%&date_begin=xxxx-xx-xx&date_end=xxxx-xx-xx



    выдавать примерно такой текст


    ERROR=сообщения об ошибке по-русски | Allcount=xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx



    Allcount - количество найденный веток
    TITLE - тема найденной ветки
    CNT - количество ответов в ветке
    NAME - автор ветки
    N - номер конференции (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
    ID - ID найденной ветки (для этой ветки id=1257691869)
    DATE - дата ветки в формате ГГГГ-ММ-ДД
    \t - символ табуляции.
  • xayam © (10.11.09 00:53) [18]
    Поправка 2
    предлагаю на запрос поиска веток вида

    s=%s%&pnumber=%d%&forum=%s%&user=%s%&order=%s%&dir=%s%&title=%s%&message=%s%&date_begin=xxxx-xx-xx&date_end=xxxx-xx-xx


    выдавать примерно такой текст

    ERROR=сообщения об ошибке по-русски | Allcount=xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx
    ...
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx


    Allcount - количество найденный веток
    TITLE - тема найденной ветки
    CNT - количество ответов в ветке
    NAME - автор ветки
    N - номер конференции (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
    ID - ID найденной ветки (для этой ветки id=1257691869)
    DATE - дата ветки в формате ГГГГ-ММ-ДД
    \t - символ табуляции.
  • xayam © (10.11.09 01:05) [19]
    вообще есть еще идея реализовать поиск по содержимому тега
    ...

    . Нужно это? Или слишком специализировано и это никому не нужно.
 
Конференция "Журнал" » Обсуждение расширения протокола для Поиска по архивам и не только
Есть новые Нет новых   [118608   +46][b:0][p:0.002]