Zadanie #1708

Rejestracja użytkowników jako odbiorców wiadomości

Added by Michał Komar almost 7 years ago. Updated over 6 years ago.

Status:ZamkniętyStart date:2017-05-10
Priority:NormalnyDue date:2017-05-10
Assignee:Michał Komar% Done:

0%

Category:integracja
Target version:0.3
Developer:Wojtek Hury Tester:Łukasz Waśkiewicz

Description

Każdy zalogowany użytkownik powinien mieć zarejstrowany topic (lub topiki), na który spływać będą informacje przeznaczone tylko dla niego. Np. informacja o zakończeniu procesu publikacji.

Event o zapisaniu dokumentu, również może być odpowiednio przefiltrowany i wysłany tylko do użytkowników, których dotyczy.

W pierwszym kroku, można rozszerzyć proces rejestrowania odbiorców wiadomości poprzez dodanie filtra, który weryfikowałby, czy dana wiadomość powinna trafić do odbiorcy. Zamiast Multimap<Class, String> można użyć Multimap<Class<T>, Registration<T>>, gdzie
Registraton<T>{
List<string> topic, (pole wymagane)
Predicate<T> filter, - jeżeli test(message) = true, wtedy wysyłamy wiadomość
Function<T, ? extends Message> mapper, do mapowania pomiędzy wiadomością a wyjściem
}

W drugim ktorku, należy rejestrować odbiorcę w momencie połączenia websocketowego i wyrejestrowywać go po zerwaniu takiego połączenia.


Related issues

Follows Jupiter - Zadanie #1670: Utworzenie serwisu wiadomości Rozwiązany 2017-05-09
Precedes Jupiter - Zadanie #1638: Utworzenie serwisu do zapisywania notyfikacji Rozwiązany 2017-05-11 2017-05-11
Precedes Jupiter - Zadanie #1807: Filtrować wiadomości o zmianie dokumentu per użytkownik Odrzucony 2017-05-11 2017-05-11

Associated revisions

Revision 6c32e6d2
Added by Wojtek Hury over 6 years ago

refs #1708 messaging service umożliwia filtrowanie wiadomości

Revision 291692df
Added by Wojtek Hury over 6 years ago

refs #1708 zmiana filozofii MessagingService

  • serwis umożliwia rejstrację i odrejestrowanie obiektów Destination
  • każde Destination może być globalne albo dla wskazanego użytkownika
  • poprawki w typescript (przy obsłudze wiadomości leciały w UI błędy)

Revision 627aa7e4
Added by Wojtek Hury over 6 years ago

refs #1708 testy UserSessionManager

Revision bab57e2d
Added by Wojtek Hury over 6 years ago

refs #1708 poprawka testów

Revision 2a87c078
Added by Wojtek Hury over 6 years ago

refs #1708 naprawienie testów

Nowa klasa TestAppConfig łączy konfigurajcję AppConfig i TestConfig
TestConfig zawiera mock SimpMessageSendingOperations

Revision c43057ae
Added by Wojtek Hury over 6 years ago

refs #1708 SimpMessageSendingOperations mockowane tylko jeśli brak beana

Revision 9e76f0e1
Added by Wojtek Hury over 6 years ago

refs #1708 testy w services nie korzystają bezpośrednio z AppConfig

Revision 89d4d0be
Added by Michał Komar over 6 years ago

refs #1708: Poprawienie testu InternalDocumentStorageTest

Revision 915d9076
Added by Wojtek Hury over 6 years ago

refs #1708 uproszczenie konfiguracji messaging

History

#1 Updated by Michał Komar almost 7 years ago

#2 Updated by Michał Komar almost 7 years ago

  • Precedes Zadanie #1638: Utworzenie serwisu do zapisywania notyfikacji added

#3 Updated by Michał Komar almost 7 years ago

  • Assignee changed from Jarosław Bąbel to Michał Komar
  • Developer Michał Komar added
  • Tester Łukasz Waśkiewicz added

#4 Updated by Michał Komar almost 7 years ago

  • Assignee changed from Michał Komar to Wojtek Hury
  • Developer Wojtek Hury added

#5 Updated by Wojtek Hury over 6 years ago

Zrobiłem mechanizm rejestracji kolejek i aspektów per użytkownik. Brakuje jeszcze dwóch rzeczy, które przenoszę do nowych zadań:
  • predykat sprawdzający, czy użytkownik ma dostęp do zmienionego dokumentu (#1807)
  • MessagingServiceImpl nie jest thread-safe (#1808)

#6 Updated by Wojtek Hury over 6 years ago

  • Precedes Zadanie #1807: Filtrować wiadomości o zmianie dokumentu per użytkownik added

#8 Updated by Wojtek Hury over 6 years ago

  • Assignee changed from Wojtek Hury to Michał Komar

Koncepcja się nieco zmieniła i to zadanie jest do zamknięcia.

#9 Updated by Michał Komar over 6 years ago

  • Status changed from Nowy to Zamknięty

Zmiana koncepcji

Also available in: Atom PDF