clear-group-ausbildung / greetings

Ruby on Rails Web Client for the Welcome Screen Application
1 stars 0 forks source link

Alternative Anzeigemethodik für Welcome Screen #37

Closed mjaeger13 closed 10 years ago

mjaeger13 commented 10 years ago

Wir müssen testen, wie viele Termine wir bei den gängigen Anzeigeauflösungen jeweils auf dei Anzeige bekommen, ohne dass gescrollt werden muss.

Sollte das Ergebnis dahingehend ausfallen, dass unter 6 Termine angezeigt werden können, dann MÜSSEN wir uns hier eine Alternative ausdenken...Sprich sollte ein Scrollbalken eingeblendet werden, muss der Welcome Screen das managen können, dass immer die aktuellen Termine angezeigt werden.

Bevor wir hier viel Umsetzungsaufwand betreiben, müssen wir hier vorerst testen, testen und testen ;-)

mjaeger13 commented 10 years ago

Nachdem wir heute den Test hatten und gesehen haben, dass maximal 4 Termine gleichzeitig angezeigt werden können, müssen wir uns etwas überlegen. Ich bin für jegliche Vorschläge offen. Entweder bauen wir das mit den 30 Min vor und 15 nach ein. Oder wir scrollen automatisch nach unten (was sehr schwierig wird)...

TheDonDope commented 10 years ago

Ich bin dafür, dass wir wieder die 30min vorher und 15min danach automatik einbauen, wie du schon sagst, autoscroll wird schwierig. Mit der Automatik hätten wir dann diese Probleme nicht mehr. Ich denk das kann man auch gut verargumentieren, dass deshalb wieder einzubauen.

mjaeger13 commented 10 years ago

Diese Automatik soll aber nur dann anspringen, wenn für den Tag mehr als fünf Termine angelegt sind.

TheDonDope commented 10 years ago

screenshot 2014-06-30 19 49 17 Screenshot der Welcome Page wenn 5 Termine vorliegen.

screenshot 2014-06-30 19 50 26 Screenshot der Welcome Page wenn mehr als 5 Termine vorliegen und die Automatik wieder anspringt.

mjaeger13 commented 10 years ago

also wir haben Termine 9:15 9:30 10 11 12 13 6 Termine

dann fragst du jetzt mit der aktuellen Uhrzeit ab (8:30) dann würden die ersten fünf angezeigt und 13 Uhr wäre noch ausgeblendet... um 9:30 Uhr fragst du ab, dann würde die Anzeige sich ändern, der 9:15 Termin fliegt raus und der 13 Uhr wird mit angezeigt. Das wäre dann die Anzeige (falls sich die Daten nicht mehr ändern) für den ganzen restlichen Tag... bei weniger als 6 Terminen immer alle Termine anzeigen

Sobald es mehr als fünf sind, sollte die Logik wie oben greifen. Ziel ist es, IMMER die volle Anzahl (5 oder Zahl x) anzuzeigen...

TheDonDope commented 10 years ago

Hier nur ein paar Gedankenfetzen für mich als Anhaltspunkt für die Behebung:

-In der View sollte zukünftig nur noch eine Liste vom Modell geholt werden -Die Liste sollte vorgefiltert sein, sodass keine weiteren Abfragen an den einzelnen Termin von seiten der View mehr nötig sind

Grobablauf zur Erzeugung der Liste:

  1. Alle Termine holen
  2. Liste sortieren, aufsteigend nach Datum und Uhrzeit
  3. Neue Liste erzeugen
  4. foreach Termin in Liste aus 2: Wenn Terminbeginn == heute && Beginnuhrzeit bis zu 15 Minuten nach Time.now -> In Liste aus 3 hinzufügen
  5. Rückgabe: die ersten 5 Elemente der Liste aus 4.
TheDonDope commented 10 years ago

Noch etwas mehr "Pseudocode": app/controllers/appointments_controller.rb

# GET /appointments/showcase
def showcase
    @appointments = Appointment.all
    @appointments_ordered_asc = @appointments.order(:begin_date, :begin_time)
    @appointments_filtered = []
    @appointments_ordered_asc.each do |appointment|
        now = Time.now
       # Terminbeginn == heute && Beginnuhrzeit bis zu 15 Minuten nach now?
      @appointments_filtered.push appointment
    end
    @appointments_showcase = []
    0.upto(4) { |i| @appointments_showcase.push @appointments_filtered[i] }
end