Autor Thema: Composite Application - Frage zum Cross-Page Wiring  (Gelesen 3025 mal)

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Wenn man im CAE zwei Views auf verschiedenen Seiten per wiring verbindet. Dann wechselt der Focus automatisch auf die neue Seite.

Wie kann ich trotz wiring den Focus auf der alten Seite behalten?

Ich habe in meinem Beispiel auf der Seite "Adressen" (Screenshot Wiring 1) eine View mit Adressen 1 und auf der Seite "Projekte" (Screenshot Wiring 2) eine View mit Adressen 2.

Wenn ich also eine Adresse in Adresse 1 selektiere, dann möchte ich auf der Seite "Adressen" bleiben. Wenn ich anschliessend auf die Seite "Projekte" wechsle, dann sollte in Adressen 2 bereits die entsprechende Adresse aufgrund des Wirings mit Adressen 1 vorselektiert sein. (--> einen Klick weniger für den User)

Ist so etwas möglich?

Vielen Dank für Eure Hinweise.

« Letzte Änderung: 05.03.10 - 09:43:24 von Ahuga »

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #1 am: 05.03.10 - 09:55:20 »
Habe folgende Informationen erhalten:

"... that you have a component that could have multiple instances on several pages, but kept the same data model. I.e. if you set a value to it on one page, you would get the same value on a new page. Additionally when it detect a page switch to a page it was on, it fired all of it's values on the new page. This is one way to preserve context across multiple pages without using cross page wires."

Vielleicht bekomme ich über diese Quelle noch mehr Informationen zum Thema, welche ich hier veröffentlichen werde.

Hat jemand von Euch Erfahrungen zu den folgenden Fragestellungen:

  • Wie kann ich bei einer View einen Value setzen/speichern?
  • Wie kann ich die View veranlassen, diesen Wert nach einem Pagewechsel auszulesen ?
  • Wie kann eine View einen Seitenwechsel feststellen?
  • Was ist der Mechanismus, dass die View/Document/Component die Values feuert?

« Letzte Änderung: 05.03.10 - 10:44:25 von Ahuga »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #2 am: 05.03.10 - 10:11:41 »
Link zu der Infomation im Web?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #3 am: 05.03.10 - 11:39:25 »
Die Information habe ich per Mail bekommen und hoffe, dass ich noch weitere Infos vom Autor erhalte.

Habe folgenden Artikel zum Thema gefunden:

Aggregation component

Some composite applications may be composed of several pages. Simple application context can be maintained across pages using cross-page wires, which are provided by the platform and supported by the Composite Application Editor. When a page context change is desired, a property is connected to an action on another page by a cross-page wire. The act of firing the property causes the page change and instills the context into the new page. In a more complicated scenario, simply maintaining context with a single item and requiring page transitions to be coupled with context transmission may not be sufficient. Context could involve tracking multiple values, and page transitions can be initiated using other user actions.

An aggregation component is a data warehousing component. It maintains a number of values with symmetrical properties and actions for each value. When a value is set by an action, the corresponding property is fired. Additionally, when the component senses that the page it is on has become visible, it fires all known properties. The key is that the component maintains a single data model for all instances in an application. That means that, when placed on multiple pages, the values set on one page are available for retrieval on another page.

When you use an aggregation component you do not use the normal method of wiring values directly from one component to another. Instead, contextually important values are wired from the property on the first component to the action on the aggregator, and then from the corresponding property on the aggregator to the action in the destination component. In normal operation on a single page, it all proceeds the same. The property change on the first component is propagated through the aggregator to the target component. But during a page transition, the aggregator publishes all known values when the destination page is made visible. In this way, all target component(s) on the destination page are updated along with wires connected from the aggregator.

For example, a sales tracking application needs to track the current company, sales lead, and sale representative. One page may show details on a company, along with a list of the sales representatives for that company. With the sales representative selected, a pop-up window shows details about the sales representative such as phone number and email address. You can choose to create a new lead, which brings you to another page in the composite application. You want the company name and associated sales representative fields to be pre-populated based on the current value for those settings, however, and you can't do this with a simple cross-page wire.

To accomplish this, you introduce an aggregation component on the first page. Components responsible for selecting companies and sales representatives route their wires through the aggregation component. You then put another instance of the same aggregation component on the second page, where you compose a sales lead. You then wire the properties for the current company and sales representative to the corresponding input fields, and when the page switch occurs, the aggregation component detects this, fires the properties, and pre-populates the form.

(http://www.ibm.com/developerworks/lotus/library/notes8-patterns/?S_TACT=105AGX01&S_CMP=LP)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #4 am: 05.03.10 - 11:58:29 »
Wie ich es berfürchtet habe, standardmäßig geht es nicht du musst solche Aggregationskomponenten erstellen. Die kannst du wahrscheinlich nur als Eclipsekomponenten verwirklichen. Diese müssen auf jeder Seite exisiteren und verwenden eine gemeinsames Datenobjekt. Wenn nun eine solche Komponente merkt, dass Sie sichtbar wird, kann Sie alle bekannten Wires auf Ihrer Seite abfeuern.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #5 am: 05.03.10 - 12:14:33 »
Wie kann eine solche Komponente merken, dass die Page sichtbar wird wo sie drauf ist? Sie ist ja überall drauf, sie soll also nur einen Pagewechsel registrieren.

Kann ich eine grundsätzlich eine solche Komponente einbauen, sie aber nicht sichtbar machen? Sie soll jar nur im Hintergrund ihre Arbeit verrichten.
« Letzte Änderung: 05.03.10 - 12:18:52 von Ahuga »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Frage zum Cross-Page Wiring
« Antwort #6 am: 05.03.10 - 12:31:24 »
Ich denke mal unsichtbar dürfe sie nicht sein. Aber es kann z.B. eine Kopfzeile in der Composite App sein die auf jeder Seite drauf ist. Wenn das ein Viewpart ist, ist es zwar überall die selbe Viewpart hat aber eine andere SecondaryviewID. Der PropertyBroker weiß also wenn du deine Property publizierst an welche Wires er sie weitergeben muß. Ich habe es aber noch nicht selber probiert, aber es kommt mir pausibel vor.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz