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;Level]
[Make|Id;Name]
[Model|Id;Name]
[CategoryMake|Id]
[CategoryMakeModel|CategoryMakeId;ModelId]
[Parameter|Id;IsRequired;IsAdvanced;GroupName]
[Field|Id;Name;ControlType:DataType;Label;Tooltip]
[FieldUnit|FieldId;UnitId]
[Unit|Id;Name]
[FieldOption|Id;Name]
[Category]<1-0..*>[Parameter]
[Category]<1-Children 0..*>[Category]
[Category]<1-0..*>[CategoryMake]
[CategoryMake]<0..*- 1>[Make]
[Make]<1-Models 0..*>[Model]
[CategoryMake]<1- Models 0..*>[CategoryMakeModel]
[CategoryMakeModel]<0..* - 1>[Model]
[Parameter]+->[Field]
[Field]<1-Options 0..*>[FieldOption]
[Field]<1-Units 0..*>[FieldUnit]
[FieldUnit]<0..*-1>[Unit]