Version 22 (modified by alina, 15 years ago)

--

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;ParentParameters]
[Category-Group| CatId; Gid; Order]
[Group-Parameter|GId; PId; Order]
[GroupOfParameters|Id;Name;Order]
[Parameter-Unit|Pid;Uid]
[Parameter|Id;Name;UrlName;ControlType;DataType;IsRequired;IsAdvanced;IsFreetext;IsActive;Maxlength;Regex;ErrorText;LabelTranslationTag;TooltipTranslationTag]
[Unit|Id;Name;Value]
[ParameterOptions|Name;Value;IsActive]
[Category]->[Category-Group]
[Category-Group]<-[GroupOfParameters]
[GroupOfParameters]->[Group-Parameter]
[Group-Parameter]<-[Parameter]
[Parameter]->[Parameter-Unit]
[Parameter-Unit]<-[Unit]
[Parameter]->[ParameterOptions], [ParameterOptions]-[note: only for parameters of type select {bg:cornsilk}]