Autor Thema: mehrere Parameter als Kriterium unter "Filtern nach Spaltenwert"  (Gelesen 3629 mal)

Offline magic_online

  • Frischling
  • *
  • Beiträge: 10
ich habe ein Suchfeld, "inputText2" mit der Variablenname = "nameToSearch" und berechnet:
 "sessionScope.nameToSearch";

Code
<xp:inputText id="inputText2" style="width:397.0px"
			value="#{sessionScope.nameToSearch}">
			<xp:typeAhead mode="full" minChars="1">
				<xp:this.valueList><![CDATA[#{javascript:@DbLookup(@DbName(), "vwCatWeb", sessionScope.userName, 2);}]]></xp:this.valueList>
			</xp:typeAhead>
		</xp:inputText>

In der gesuchten Ansicht trage ich unter "Filtern nach Spaltenwert" mein Parameter "sessionScope.nameToSearch" und bekomme auch entsprechend die gesuchten Daten.

Code
	<xp:viewPanel rows="30" id="viewPanel1"
			var="detailrowresults">
			<xp:this.facets>
				<xp:pager partialRefresh="true"
					layout="Previous Group Next" xp:key="headerPager" id="pager1">
				</xp:pager>
			</xp:this.facets>
			<xp:this.data>
				<xp:dominoView var="view1" viewName="vwFileWebSearch"
					keysExactMatch="true">
					<xp:this.keys><![CDATA[#{javascript:try {
	
if (sessionScope.nameToSearch!=""){
	[color=red]sessionScope.nameToSearch[/color]
}else{
	"000000"
}

	
} catch (e) {
return e.toString();
}




}]]></xp:this.keys>
				</xp:dominoView>
			</xp:this.data>
			<xp:viewColumn id="viewColumn1" columnName="Materialname">

				<xp:viewColumnHeader id="viewColumnHeader1"
					value="Materialnummer">
				</xp:viewColumnHeader>
			</xp:viewColumn>
			<xp:viewColumn columnName="$9" id="viewColumn2">
				<xp:viewColumnHeader value="FILE"
					id="viewColumnHeader2">
				</xp:viewColumnHeader>
			</xp:viewColumn>
			<xp:viewColumn columnName="$7" id="viewColumn3">
				<xp:viewColumnHeader value="COVER"
					id="viewColumnHeader3">
				</xp:viewColumnHeader>
			</xp:viewColumn>
		</xp:viewPanel>

Nun, die Daten sollen gefiltert AUCH nach dem User, also cgi.REMOTE_USER. Wenn ich in der "Filtern nach Spaltenwert" mehrere Keys verwenden will, bekomme ich fehler, bzw. keine Daten!!!
Vielleicht hat jemand schon damit Erfahrung und mir einen Tip geben kann!!
Vielen Dank!

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Mehrere Keys lassen sich z.B. mit einem Vector angeben:

Code
<xp:this.keys>
   <![CDATA[#{javascript:
      var v = new java.util.Vector();
      v.add("Spalte1");
      v.add("Spalte2");
      v
   }]]>
</xp:this.keys>

Jeder Eintrag steht dabei für eine Spalte, d.h. Ansicht muss dafür entsprechend vorbereitet sein.

Offline magic_online

  • Frischling
  • *
  • Beiträge: 10
GENIAL! GENIAL!  :knuddel:

ich habe also 2 Spalten erstellt, sortiert: in der ersten soll eine Nummer gesucht werden (in Dok. unter Feld "Nummer"), in der anderen sollen NUR die User eingetragen werden, die die Dokumente lesen dürfen (in Dok. in dem Feld "User").
Hat der angemeldete user AUCH Leserechte für das Dok., das die Nr. enthält (ist er im Feld "User" eingetragen!), kann er im Web das Dok. sehen.
Mein Problem war, die Spalte mit den Usern war in der Ansicht in der letzte Stelle, ungefähr 4 oder 5.
Jetzt habe ich Spalte 1 = Nummer, Spalte 2 = User, und die Spalte 2 habe ich auf "unsichtbar" gesetzt!
Meine Suche funktioniert einwandfrei!!!


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Wieso konnte der User vorher das Dokument sehen, wenn er nicht im User-Feld enthalten war? Arbeitest Du nicht mit Leserfeldern? Da hättest Du die Zugriffssicherheit von Notes geregelt.

Aber vielleicht habe ich das auch falsch verstanden

Offline magic_online

  • Frischling
  • *
  • Beiträge: 10
Also, die Dokumente sollen innerhalb einer Woche (oder mehrere!) geändert werden (inhaltlich!). Das führt dazu, dass die Rechte sich auch ändern, je nach dem, was in Inhalt steht. Aus diesem Grund, habe ich ein Feld erstellt, in dem die User aus der ACL eingetragen sind! Somit kann ich flexibel die User ändern!!! Natürlich, sollen diese User in Web die Inhalte sehen! Bei der Suche nach bestimmten Dokumente, wenn nicht geregelt welche User, was sehen dürfen, bekommen sie alle Dok. aus der Ansicht! Deswegen, mit der "Filtern nach Spaltenwert" !!!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Das wird jetzt ziemlich offtopic und hat mit Deinem eigentlichen Problem, das Du ja nun auch schon gelöst hast, nichts zu tun. Trotzdem ...

Also, Du wählst in Deinem Feld die User aus den Einträgen der ACL aus, und über diese User filterst Du die Dokumente, die der User sehen darf?

Folglich muss jeder Zugriffsberechtigte in der ACL als Person stehen. Dir ist klar, dass die Anzahl der ACL-Einträge beschränkt ist? Wäre es nicht viel eleganter, mit Gruppen arbeiten zu können? Wie willst Du das ganze verwalten, wenn Du mehrere Datenbanken hast (wir haben etwa 6.000, da geht es NUR über Gruppen)?

Willst Du, dass die User auf die Dokumente, die sie nicht lesen sollen, wirklich keinen Zugriff haben DÜRFEN? Dann kommst Du kaum an Leserfeldern vorbei. Eine gefilterte Ansicht ist KEINE Sicherheit.

Wie gehst Du mit lesebeschränkten Dokumenten um, wenn Mitarbeiter wechseln? Wer ändert in allen Dokumenten Hans Meier gegen Lisa Müller?

Mir fällt bestimmt noch mehr ein, aber das sollte als Anregung, über das Konzept nachzudenken, erst einmal reichen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz