Wymagania dot. modelu danych dla ogłoszeń
- Podział na kategorie
- Każda kategoria posiada specyficzne parametry opisujące ogłoszenie należące do tej kategorii
- Dynamiczny podstawowy formularz wyszukiwania dla każdej kategorii z jej podstawowymi parametrami
- Dynamiczny zaawansowany formularz wyszukiwania dla każdej kategorii z jej wszystkimi parametrami
- Zarządzanie parametrami - dodawanie, wyłączanie (dezaktywacja) bez konieczności zmiany kodu aplikacji ani struktury bazy danych
- Zarządzanie tłumaczeniami parametrów zsynchronizowane z aktywacją/dezaktywacją parametrów wyszukiwania
- Wielojęzyczność - parametrów, kategorii, interfejsu aplikacji
- Synonimy słów kluczowych (kategorie, parametry) - wielojęzycznie
- Logowanie wszelkich zmian w danych ogłoszenia
- Śledzenie zmian wybranego parametru, np. ceny
- Treść gazetowa ogłoszenia wstępnie generowana z danych internetowych z możliwością edycji na najbliższe wydanie gazetowe
- Ustalenie punktu w czasie do kiedy użytkownik może edytować treść do gazety
- Archiwum treści gazetowej na poszczególne wydania
- Walidacja danych na formularzu dodawania/edycji ogłoszenia
- Integralność danych - np. dane słownikowe tylko w jednym miejscu
- Generowanie słów kluczowych wielojęzycznie na potrzeby kampanii AdWords?...
- Utrzymywanie danych historycznych
Problemy
- Fakturowanie
- Klienci -
- wspólni dla wszystkich systemów?
- edycja danych klienta - przez reklamę czy ogłoszenia? które ważniejsze?
- dzielenie się informacjami z działem reklamy odnośnie płatności, zaległości?
Myśli nieuczesane
- CT Biuro zarządzanie ogłoszeniem poprzez warstwę pośredniczącą, która zapewni poprawność danych (WebService? lub repozytoria przez COM - do ustalenia...)
- To samo dla zarządzania danymi klienta
Model danych
[User|Forename;Surname;Email]
[User]^[CallCenterAgent], [User]^[Customer]
[User]+1->*[Ad|Price;ParametersXml;DisplayUntil{bg:orange}]
[Ad]+1->*[AdLog]
[Ad]+1->*[AdMagazine|IssueNumber{bg:green}]
[Category|Parent]+1->*[Ad]
[Category]<->[Parameter|Name;Regex;Type;Required;IsAdvanced;IsActive]
[Ad]+1->*[Image]
[ParameterGroup]+1->*[Parameter]
[ParameterList]+1->*[Parameter]
[Ad]+1->*[InvoiceDetails{bg:blue}]
[Category]<->[ParameterList]
Kategorie, parametry, jednostki
[Category|Id;Name;Parent]
[GroupOfParameters|Id;Name]
[Parameter|Id;Name;UrlName;Type;DataType;IsRequired;IsAdvanced;IsFreetext;IsActive;Regex;LabelTranslationTag;TooltipTranslationTag]
[Unit|Id;Name;Value]
[ParameterOptions|Name;Value]
[GroupOfParameters]++-*>[Parameter]
[Category]<->[Parameter]
[Parameter]<->[Unit]
[Parameter]->[ParameterOptions], [ParameterOptions]-[note: only for parameters of type select {bg:cornsilk}]