Вверх ↑
Этот топик читают: Гость
Ответов: 338
Рейтинг: 3
#1: 2010-03-22 14:12:14 ЛС | профиль | цитата
Ненашел раздела "Предложения по улучшению сайта".

Наверное полезно сделать что бы когда вставляешь в поиск например "0000710D" то из базы "ответов" вынималось описание и выводилось перед результатами как hint.

Ошибка 0000710D возникает если компоненту ZLIB "подсовывают" не упакованый файл для распаковки.


Как думаете?

-----
Ну и коль я уже тут то: Когда поиск не находит результатов то он не говорит что их нету я несколько раз искал думал что баг.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2010-03-22 14:16:00 ЛС | профиль | цитата
Dark_MX писал(а):
Как думаете?

думаю, что не понял описание чего нужно выводить и что значит как hint
карма: 27
0
Ответов: 338
Рейтинг: 3
#3: 2010-03-22 14:30:54 ЛС | профиль | цитата
Выводить нужно небольшое описание (расшифровку) искомого результата (если он уже описан в базе)

Выводить как hint - это яимею ввиду ну как бы... ой. Плохо что я дурак. Лучше нарисую. Это если искомая фраза найдена в ключевых вайлах базы с ошибками.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1hinterr.jpg [81.6KB] [266]
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2010-03-22 16:19:17 ЛС | профиль | цитата
Dark_MX, ну и что сия картинка означает? Дублирование текста из первого найденного сообщения? Можно пример хоть одного поисковика, который работает подобным образом?
карма: 27
0
Ответов: 338
Рейтинг: 3
#5: 2010-03-22 17:19:15 ЛС | профиль | цитата
Нет не дублирование.

Ну есть например 3 базы.
1 - Ошибки
2 - Компоненты
3 - Советы

База ошибок
ключевые словаСообщение выводящееся в hint
0000710DОшибка 0000710D возникает если компоненту ZLIB "подсовывают" не упакованый файл для распаковки.
00007700Ошибка 00007700 возникает от кривых рук


База компонентов (сюда значения можно взять с ini компонентов но ключи прийдется самому генерировать)
ключевые словаСообщение выводящееся в hint
ZLIB,ZIP,CompressКомпонент ZLIB позволяет сжимать поток используя метод...
progress,barИндикатор выполнения програсса


База советы
приоритет (частота вывода сообщений)Сообщение выводящееся в hint
39А вы знали что можно нажимать Enter для поиска?


Логика:
Человек вводит в поиск "Ошибка 0000710D". => Сразу ищем по базе ошибок одно искомое слово совпадает с ключевым из базы ошибок тогда выводим сообщение в hint и дальше используем обычный поиск.

Поиск фразы "использование zip" => Ищем по базе ошибок - нету результатов, тогда ищем по базе компонентов слово zip совпало (в трейтей базе не ищем уже) выводим текст в hint с описанием компонента и дальше обычный поиск.

Только вот кто будет эти базы заполнять?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2010-03-22 17:56:48 ЛС | профиль | цитата
все ясно. Эта ф-ция по научному называется "контекстный поиск", скажем яндекс со своим поиском в рекламе, маркете, картинках и видео работает аналогичным образом.
Тут правильный вопрос это
Dark_MX писал(а):
Только вот кто будет эти базы заполнять?

карма: 27
0
Ответов: 3349
Рейтинг: 233
#7: 2010-03-22 18:12:27 ЛС | профиль | цитата
Создать ветвь для обнаружения, кто найдет будет добовлять, т.е. добавлять будет каждый желающий.
карма: 1

0
Ответов: 338
Рейтинг: 3
#8: 2010-03-22 18:12:44 ЛС | профиль | цитата
Если открыть раздел в вики для общего редактирования то думаю люди найдутся. Я что смогу то добавлю.

Советы по мере поступления "простых" вопросов нужно заполнять.
Компоненты я могу заполнить но нужен кто то опытный кто будет после меня все править
Ну а ошибки это уже кто что знает тот и добавит ну пускай там 2-3 ошибки каждый и уххх...

Подожду до завтра может ктонибудь предложит лучше варианты.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#9: 2010-03-22 18:15:25 ЛС | профиль | цитата
создать клиент, наподобие вики.
это значит пользователь посылает запрос, и в ответе описание ошибки.
А Советники и Админы будут обновлять базу
карма: 1

0
Ответов: 4641
Рейтинг: 334
#10: 2010-03-22 18:32:46 ЛС | профиль | цитата
Ivann писал(а):
Советники и Админы

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

А юзер Dark_MX, вообще даже пример выше не может открыть а сразу пишет где ошибка в моем примере.

Так что не надо тут разводить всякую муть....
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 338
Рейтинг: 3
#11: 2010-03-22 18:35:34 ЛС | профиль | цитата
Могут заспамить базу.
Создать тему которую могут править только пользователи с рейтингом больше n а остальние просто добавлять могут сообщения.
n незнаю скольки равна. У меня например мало, а хочется править. Так что я не могу голосовать потому как здесь затронуты мои права
------------ Дoбавленo в 18.38:
Ravilr, ну да. Давай те еще войну тут начнем.
Я оправдываться не буду. Не перед вами.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#12: 2010-03-22 18:58:06 ЛС | профиль | цитата
У меня гдето схемка базы валялась.

------------ Дoбавленo в 19.05:
да вот же она.
Делал для себя, немног переработал для цели выявления ошибок.
Очень легкий формат.
#pas
Add(MainForm,2953706,238,308)
{
Width=584
Height=649
link(onCreate,14491493:doEnum,[])
}
Add(ComboBox,15681990,532,434)
{
Left=465
Width=103
Height=21
Strings=#5:Error|7:Warning|
Point(Index)
}
Add(Edit,10883634,476,490)
{
Width=465
link(onEnter,11541190:doEvent,[])
}
Add(Memo,12015871,910,343)
{
Top=20
Width=565
Height=586
}
Add(StrList,2349975,273,231)
{
Strings=#43:[<error>Ошибка 1***Здесь описание ошибки 1]|64:[<warning> Предупреждение 2 *** Здесь описание предупреждения 2]|43:[<error>Ошибка 2***Здесь описание ошибки 2]|
}
Add(StrList,10561831,798,175)
{
@Color=21760
Point(doGetIndex)
Point(onGetIndex)
Point(doGetString)
Point(onGetString)
link(onGetIndex,12852494:doGetString,[(862,188)(862,340)(772,340)(772,311)])
}
Add(BlockFind,8226297,329,322)
{
IncludeBlock=1
StartBlock="["
EndBlock="]"
link(onSearch,10743068:doEvent1,[])
}
Add(ArrayEnum,14491493,287,322)
{
link(onItem,8226297:doSearch,[])
link(Array,2349975:Array,[])
}
Add(BlockFind,8609064,399,322)
{
IncludeBlock=1
Delete=0
StartBlock="<"
EndBlock=">"
link(onSearch,1596201:doCompare,[])
}
Add(If_else,1596201,448,322)
{
Op2=String(error)
link(onTrue,2704719:doData,[])
link(onFalse,15657518:doData,[])
}
Add(DoData,15657518,504,329)
{
link(onEventData,772280:doSplit,[(542,335)(542,363)])
link(Data,10325786:Var2,[])
}
Add(DoData,2704719,546,322)
{
link(onEventData,812494:doSplit,[])
link(Data,10325786:Var3,[(552,214)])
}
Add(GetDataEx,10325786,504,209)
{
Angle=3
link(Data,3925347:Value,[(202,214)(202,413)(510,413)])
}
Add(IndexToChanel,11541190,546,497)
{
Point(Index)
Point(Data)
PColor(onEvent1,65280)
link(onEvent1,10561831:doGetIndex,[(678,503)(678,391)(719,391)(719,223)])
link(onEvent2,16656999:In,[(684,510)(684,405)])
link(Index,15681990:Index,[])
link(Data,10883634:Text,[(559,427)(465,427)(465,538)(482,538)])
}
Add(StrList,7547554,793,357)
{
@Color=170
Point(doGetIndex)
Point(onGetIndex)
Point(doGetString)
Point(onGetString)
link(onGetIndex,1223173:In,[(833,370)(833,433)])
}
Add(MultiStrData,812494,623,322)
{
Char="***"
link(onPart1,10561831:doAdd,[(688,328)(688,181)])
link(onPart2,12852494:doAdd,[(756,335)(756,262)])
}
Add(MultiStrData,772280,616,357)
{
Char="***"
link(onPart1,14086312:doEvent,[])
link(onPart2,704518:doAdd,[(718,371)(740,370)(740,440)])
}
Add(StrList,704518,797,434)
{
@Color=170
Point(doGetIndex)
Point(onGetIndex)
Point(doGetString)
Point(onGetString)
link(onGetString,1709034:doWork3,[(869,454)])
}
Add(StrList,12852494,794,256)
{
@Color=21760
Point(doGetIndex)
Point(onGetIndex)
Point(doGetString)
Point(onGetString)
PColor(onGetString,65280)
link(onGetString,1709034:doWork1,[(869,276)])
}
Add(LineBreak,13855273,742,399)
{
link(Out,7547554:doGetIndex,[])
Primary=[16656999,-35,0]
}
Add(LineBreak,15089334,875,427)
{
link(Out,704518:doGetString,[(913,433)(913,514)(778,514)(778,489)])
Primary=[1223173,-37,0]
}
Add(HubEx,1709034,865,364)
{
PColor(onEvent,65280)
link(onEvent,12015871:doText,[])
}
Add(Debug,14086312,756,357)
{
link(onEvent,7547554:doAdd,[])
}
Add(Memory,3925347,504,371)
{
}
Add(Hub,10743068,371,322)
{
link(onEvent1,8609064:doSearch,[])
link(onEvent2,1014108:doReplace,[(389,335)(389,377)])
}
Add(Replace,1014108,399,371)
{
SubStr="<error>"
link(onReplace,9775224:doReplace,[])
}
Add(Replace,9775224,452,371)
{
SubStr="<warning>"
link(onReplace,3925347:doValue,[])
}

карма: 1

0
Ответов: 338
Рейтинг: 3
#13: 2010-03-22 19:37:37 ЛС | профиль | цитата
Ivann, дело в том что будут проблемы с мультиредактированим. Когда 2 человека одновременно прявят то только последнего изменения будут сохраннены. А схема это не проблема. С головой хватит вот даже этой:


Add(MainForm,2953706,21,105)
{
}
Add(StringTable,6875526,301,133)
{
Top=30
Width=384
Height=172
Align=5
Columns=#29:Ключевое слово, приоритет=160|23:Выводимое сообщение=300|
Point(onColumnClick)
Point(Strings)
Point(FileName)
link(FileName,11520778:Var3,[(314,96)])
}
Add(ChildPanel,12043854,161,70)
{
link(onEvent1,4514778:doReadFile,[])
link(onEvent2,10278538:doEvent1,[])
}
BEGIN_SDK
Add(EditMulti,4155511,21,21)
{
EventCount=2
VarCount=1
link(Var1,12397571:Index,[(27,154)(167,154)])
}
Add(Panel,5733207,35,105)
{
Width=384
Height=30
Align=2
BevelInner=1
}
Add(ComboBox,12397571,147,91)
{
Left=5
Top=5
Width=195
Height=21
Strings=#4:Temp|4:Info|4:Comp|5:Error|
Text=""
Point(Index)
}
Add(Button,14246656,252,21)
{
Left=205
Top=5
Width=90
Caption="Download"
link(onClick,4155511:onEvent1,[])
}
Add(Button,3172916,252,63)
{
Left=300
Top=5
Width=80
Caption="Upload"
link(onClick,4155511:onEvent2,[(304,69)(304,34)])
}
END_SDK
Add(WinFTP,4514778,252,56)
{
link(onRead,6875526:doLoad,[(292,69)(292,160)])
link(RemoteName,11520778:Var2,[(265,44)(236,44)])
}
Add(GetDataEx,11520778,230,91)
{
Angle=2
link(Data,12043854:Var1,[(236,114)(167,114)])
}
Add(Hub,10278538,203,77)
{
link(onEvent1,6875526:doSave,[(225,83)(225,167)])
link(onEvent2,4514778:doWriteFile,[(243,90)(243,83)])
}

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#14: 2010-03-22 19:42:08 ЛС | профиль | цитата
можно TCP сервер создать и посылать сообщения на него, а он их добовлять в базу будет
------------ Дoбавленo в 19.44:
Твоя схема не катит. фтп исользовать тупо. для каждой ошибки свое имя, с индексом.
А если ошибки все в одном файле храняться то это лучше
карма: 1

0
Ответов: 338
Рейтинг: 3
#15: 2010-03-22 19:47:00 ЛС | профиль | цитата
Ivann, можно, но кто его будет держать? У меня динамический IP дак еще и GPRS кому такой сервер понравится?
------------ Дoбавленo в 19.48:
Ivann, ты не понял. Это мы щас создаем базу а потом уже ее естественно в используемую базу сайтом всунут и то это если решат сделать эти hint'ы, что еще не решенно
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)