Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как делать уведомления ?? / 12 сообщений из 12, страница 1 из 1
03.03.2005, 13:11
    #32943501
traktor123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Подскажите плиз, как нужно организовывать разные уведомления в базе ?
Т.е. то что юзер должен не забыть...
Имеется ввиду например:
- завершение срока договора
- день рождения директора фирмы клиента
- необходимость доустановки к-и
- необходимость замены к-и

Как это всё нужно организовывать в БД и в GUI

подскажите плиз
...
Рейтинг: 0 / 0
03.03.2005, 13:24
    #32943541
ифы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Схема что-то типа указаной внизу
А в ГУИ - это можно отражать как некий мигащий значек в статус бвре, если событие наступило
...
Рейтинг: 0 / 0
03.03.2005, 14:00
    #32943670
traktor123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
ифы
блин чёт непонятно, а можно в 2-х словах как оно работает ?
...
Рейтинг: 0 / 0
03.03.2005, 14:30
    #32943792
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Можно сделать как-то так для уведомления о достижении определенного значения какого-либо параметра:

таблица 1: имя таблицы/view/функции/процедуры, откуда брать значение, какое должно быть значение для наступления события, Текст События
таблица 2: значения параметров для параметров функции/процедуры/условия where Для view.
Далее смотришь когда тебе надо через динамический sql, проверяя вызовом текущее значение и сравнивая его с эталонным, и как надо, например каждый час в приложении или job-ом на сервере.

Вся поддержка сводится к написанию соответствующих функций и их описанию в вышеуказанной структуре.
Результат проверки пихаем в табличку вида: Пользователь, Время события, Сообщение о событии.
Приложение в зависимости от имени пользователя выгребает свою инфу в соответствии с параметром опроса.

P.S. Вы ведь сидите на Оракле. Можете сделать оперативное уведомление клиента с использованием ALert. Нужны только соответствующие компоненты доступа, но это уже в другом форуме.
...
Рейтинг: 0 / 0
03.03.2005, 15:00
    #32943925
traktor123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
ShtockМожно сделать как-то так для уведомления о достижении определенного значения какого-либо параметра:

таблица 1: имя таблицы/view/функции/процедуры, откуда брать значение, какое должно быть значение для наступления события, Текст События
таблица 2: значения параметров для параметров функции/процедуры/условия where Для view.
Далее смотришь когда тебе надо через динамический sql, проверяя вызовом текущее значение и сравнивая его с эталонным, и как надо, например каждый час в приложении или job-ом на сервере.

Вся поддержка сводится к написанию соответствующих функций и их описанию в вышеуказанной структуре.
Результат проверки пихаем в табличку вида: Пользователь, Время события, Сообщение о событии.
Приложение в зависимости от имени пользователя выгребает свою инфу в соответствии с параметром опроса.

P.S. Вы ведь сидите на Оракле. Можете сделать оперативное уведомление клиента с использованием ALert. Нужны только соответствующие компоненты доступа, но это уже в другом форуме.


Т.е. в 1-м варианте - просто опрашивать все таблицы, где могут возниунуть уведомления, и если чтото возникло пихать его в таблицу уведомления ???
...
Рейтинг: 0 / 0
03.03.2005, 15:06
    #32943943
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Таблицы - в том числе, но ключевой момент - что ЛЮБУЮ функцию/процедуру можно использовать как источник сигналов для системы уведомления.
...
Рейтинг: 0 / 0
03.03.2005, 15:15
    #32943975
traktor123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
ShtockТаблицы - в том числе, но ключевой момент - что ЛЮБУЮ функцию/процедуру можно использовать как источник сигналов для системы уведомления.

прикольно, и опрашивать например сразу после запуска а потом по таймеру както...

а в гуи как сделать нужно ? отдельно пункт меню уведомления и там сообщения всех видов или или както по другому лучше ?
...
Рейтинг: 0 / 0
03.03.2005, 15:39
    #32944060
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Думаю? 2 варианта:
1. сделать просто отдельное приложение-опрашивалку, которое висит в трее и при уведомлении как-нибудь демонстрирует это (например, меняется цвет иконки и выводится сообщение как в Outlook2003), а при двойном щелчке просто выводит memo с сообщениями.
2. в основном приложении просто сделать немодальное окно там все и выводить, а в строке состояния выдавать уведомления.
...
Рейтинг: 0 / 0
03.03.2005, 15:53
    #32944112
_hike_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
хорошо, а есть какие то идеи подобное делать для корпоративного Web приложения ?
конкретно на ASP.NET
...
Рейтинг: 0 / 0
03.03.2005, 16:09
    #32944191
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
х/з, я в MS не селен, но у них же есть что-то типа MSMQ, может через него наверное и надо как-то крутить. Я считаю, что по-уму все уведомления должны делаться через системы сообщения aka JMS,MSMQ и др.
To traktor123: когда закончите Вашу прогу - с Вас схема БД в приват, уж больно интересно...
...
Рейтинг: 0 / 0
03.03.2005, 21:01
    #32944931
traktor123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
Shtockх/з, я в MS не селен, но у них же есть что-то типа MSMQ, может через него наверное и надо как-то крутить. Я считаю, что по-уму все уведомления должны делаться через системы сообщения aka JMS,MSMQ и др.
To traktor123: когда закончите Вашу прогу - с Вас схема БД в приват, уж больно интересно...

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

А всё от того что не умею принять решение если сомневаюсь...
...
Рейтинг: 0 / 0
03.03.2005, 21:06
    #32944934
Yuraz.com
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как делать уведомления ??
На Delphi правда, хотя саму суть не меняется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Обратная связь от MSSQL-сервера к клиенту

На форуме постоянно возникает вопрос - "Как получить обновление данных, по событию, а не таймером", чтобы снять его раз и навсегда привожу код dll-ки, которая является Extended Stored Procedure с единственной функцией - отправкой UDP-broadcast сообщения.

Зависимости: Windows, SysUtils, IdUDPClient
Автор:       Delirium, VideoDVD@hotmail.com, ICQ: 118395746 , Москва
Copyright:   Delirium (Master BRAIN)  2003 
Дата:         24  октября  2003  г.
***************************************************** }

library Messager;

uses
  Windows,
  SysUtils,
  IdUDPClient;

function srv_rpcparams(srvproc:Pointer):integer; cdecl; external 'opends60.dll' name 'srv_rpcparams';
function srv_paramdata(srvproc:Pointer; n:integer):integer; cdecl; external 'opends60.dll' name 'srv_paramdata';
function srv_paramlen(srvproc:Pointer; n:integer):integer; cdecl; external 'opends60.dll' name 'srv_paramlen';

procedure SendUDPMessage(Params:Pointer); stdcall; cdecl; export;
var id:TIdUDPClient;
    Msg:String;
    Host,Port:String;
begin
try
if srv_rpcparams(Params)< 2  then exit;
Host:=Copy(PChar(srv_paramdata(Params, 1 )),  1 , srv_paramlen(Params, 1 ));
Port:=Copy(Host,Pos(':',Host)+ 1 ,Length(Host));
Delete(Host,Pos(':',Host),Length(Host));
Msg:=Copy(PChar(srv_paramdata(Params, 2 )),  1 , srv_paramlen(Params, 2 ));
id:=TIdUDPClient.Create(nil);
id.BroadcastEnabled:=True;
id.Host:=Host;
id.Port:=StrToInt(Port);
id.ReceiveTimeout:=- 1 ;
id.Send(Msg);
id.Free;
except end;
end;

exports SendUDPMessage;

begin
end.
 
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как делать уведомления ?? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]