Data-Connectors separieren

87 views
Skip to first unread message

Constantin Noll

unread,
Nov 19, 2012, 5:32:02 AM11/19/12
to terrific...@googlegroups.com
Hallo,

ich arbeite aktuell noch mit einer alten Terrific Version 1.1.1. Möglicherweise gibt es bereits eine Idee zu meinem Anliegen.

Es gibt bei mir eine Dreickesbeziehung zwischen Modulen.

1. Das Layout
Verwaltet die Bilder (Lazyload) auf der Seite.
Neue Bilder, die per Ajax geladen werden, werden dem Layout per fire-Event gemeldet und durch das Layout initialisiert.

2. Gallery
Die Gallery kann sehr unterschiedliche Elemente beinhalten. Daher sind die Elemente der Gallery als eigenständige Module umgesetzt.
Die Module sollen untereinader und mit der Gallery kommunizieren können. Da Einstellungen, die an einem Modul vorgenommen werden, Auswirkungen auf die anderen Module in der Gallery haben können.

3. Eine weitere Gallery

Die Module in den Galleries sollen nur mit den jeweiligen anderen Modulen in der selben Gallery kommunizieren, nicht aber mit den Modulen in der anderen Gallery.

Wenn aber beide Galerien mit dem Layout über einen Data-Connector verbunden werden, sind sie implizit auch untereinader verbunden.

Da Gallerien per Ajax nachgeladen werden können ist es beim ausliefern der Seite nicht klar ist, welche Gallerien es geben wird.
Daher können die Gallerien nicht einzeln mit dem Layout verbunden werden.


Vielleicht wäre es sinnvoll data-connectors mit Events zu verknüpfen, damit nicht alle Events über jeden Data-Connector gefeuert werden.
Ich weiß nicht mehr genau wie das lief, aber ich fand das System bei QT (http://en.wikipedia.org/wiki/Qt_Development_Frameworks) sehr schön.
Sieht so aus als würde das nicht mehr weiterentwickelt. Ich habe damit so um 2002 gearbeitet.


Viele Grüße
Constantin

Constantin Noll

unread,
Nov 19, 2012, 5:33:40 AM11/19/12
to terrific...@googlegroups.com
Sorry for posting in german.

Remo Brunschwiler

unread,
Nov 19, 2012, 8:26:37 AM11/19/12
to terrific...@googlegroups.com
Hi Constantin

Ich bin mir nicht ganz sicher, aber eventuell löst dies Dein Problem bereits: https://github.com/brunschgi/terrificjs/issues/12

So könntest Du einen eigenen Channel pro Event erstellen und nur über diesen Channel feuern. Im Falle von mehreren Galerien wird es halt ein wenig komplizierter, da du die Channels z.B. noch mit der Galerie-ID prefixen musst. Mit Dynamic Connectors – http://terrifically.org/api/sandbox/#subscription – kannst Du dich auch bequem in der on-Phase in die jeweiligen Channels einklinken, was die Sache mit den Prefixes ein wenig vereinfacht.

Trotzdem finde ich Deine Idee mit der Verknüpfung von Events und Connectoren interessant. Das ganze läuft aber im Endeffekt auf Models im Frontend raus, wo Du Listeners auf bestimmte Model Properties setzt. Es gibt zahllose Frameworks, die genau das machen, z.B. Backbone.js.

Backbone.js lässt sich auch wunderbar mit terrific.js kombinieren, sodass Du von backbone.js lediglich den Model-Part benötigst.

Falls Dein Problem mit der Channel/Event Variante nicht lösbar sein sollte, empfehle ich Dir doch einen Blick in http://backbonejs.org/#Model zu werfen.

Beste Grüsse
Remo
 
Reply all
Reply to author
Forward
0 new messages