Closed ThomasW9 closed 9 years ago
@ThomasW9: Auf dem Server stellt du eine API Methode bereit die eine Entry ID nimmt und dir dazu eine Liste an Entries (die Recommended Entries zurück liefert).
Auf der Client Seite: Gibt es einen Store der sich die Recommended Entries für eine ID speichert. Falls es für einen Entry noch keine gespeicherten Recommendations im Store gibt kann der Store einfach die API aufrufen um sich diese zu holen. (in der UI wird in der Zeit einfach angezeigt das die Recommendations gerade "erzeugt" werden oder so ähnlich.
Ansonsten gibt es dann natürlich die Recommendation Komponente die mit einer Entry aufgerufen wird und sich dann eben aus dem RecommendationStore die Recommendations holt. Und eben entweder anzeigt das sie geladen werden, oder die Recommendations anzeigt (die Anzeige einer Recommendation würde ich über ein RecommendationItem machen, ja).
Ich bin in der API ( Entry controller) und will nun eine Liste von RecommenedEntries herhalten. Dazu will ich folgendes machen:
private static Result recommendation(Long id){ User user = (User) ctx().args.get("user"); //alle Labels vom geöffnenten Entry bekommen Set
So verstehe ich die Logik dahinter, aber ich weiß leider (und das tut mir auch wirklich leid) nicht wie ich das umsetzten soll. Ich versuch das alles seit Tagen hinzubekommen, durchforsche das Internet aber ich komme einfach nicht weiter. Ich weiß das ihr im Gegensatz zu mir noch andere Fächer habt, aber ohne Hilfe werde ich nach momentane Stand an dieser Recommendationfunktion scheitern. Ich fahre morgen wieder zurück nach MUC und setzte mich dann gleich am Montag wieder an die Arbeit, damit bis Mittwoch was steht.
@ThomasW9 So wie ich das verstehe, willst du ja momentan die komplette Logik in der API machen. Aber wäre es nicht vielleicht sogar einfacher, wenn du dir die Label deines momentan geöffneten Entries direkt auf der Client Seite holst und die dann an die API gibst? Dann könntest du jeweils eines dieser Label an die API übergeben und da nachsehen, ob es im gesamten System noch andere Entries zu diesem Label gibt.
@ThomasW9 Und zu der Sache mit den Namen: Wenn du eine Liste an Labels hast und aus dieser Liste die Liste der name haben willst, dann musst du de map Funktion anwenden um über alle Labels drüber zu gehen und die jeweils den Namen zu holen.
Ich habe das fehlende Zeugs noch hinzugefügt und meine Branch gepullt..
Leider weiß ich gerade nicht wie die EBEAN Verbindung aussehen soll: https://github.com/lukaswelte/PICO/blob/feature/recommendation/app/models/Entry.java
Die public static List
@ThomasW9 Das filtern funktioniert folgendermaßen: http://stackoverflow.com/a/13549012/1578508
Hier noch andere Beispiele
Könnte das so funktionieren?
public static List
so wie ich das beim überfliegen verstanden hatte musst du nur fetch("labels") machen.. aber ausprobieren hilft ;) @ThomasW9
@lukaswelte :Hey ich hab da mal wieder ein paar Probleme: Mir fehlt es grad ein bisschen am Verständnis und an der Umsetzung. Ich schreib dir mal auf wie ich es bisher verstanden habe: Recommendationstore: hier bekommt man die Recommendations her und es muss eine Methode geben, die bei jedem öffnen der Entryseite eine neue Recommendation erstellt bzw updatet( die handleUpdate - Methode) Action: Hier weiß ich grad noch gar nicht wie die aussehen soll. Componenten: recommendationslist: Hier erzeuge ich(gleich wie bei Labels) eine Liste von Recommendations, also eine Liste mit den ganzen empfohlenen Entries) RecommendationItem: Hier ein einzelnes Fenster der Recommendation von einem Entry. Also so wie es aussehen soll. Hab ich das erstmal so richtig verstanden oder brauche ich noch mehr? Ich kann dir auch gerne mal meinen Branche pullen. Das mache ich doch einfach in dem ich commite aber nicht die Funktion beende oder? Wollte dich heute in der Übung fragen, aber da wart ihr ja leider nicht da :(