Wieder eine neue Einschränkung der Alfresco JavaScript Programmierschnittstelle – Lucene Suche

Post date: Jun 18, 2012 9:11:41 AM

Falls die Anwendung schon in der Produktionsumgebung läuft und eine wesentliche Menge der Daten schon vorhanden ist, aber das Inhaltsmodell wird als Folge der verschiedenen Änderungswünsche verändert, dann die allgemeine Vorgehensweise lautet: die Informationen die gespeichert werden sollen müssen mit Hilfe von einer Lucene-Abfrage lokalisiert werden und dann die erforderlichen Werte für die neuen Felder müssen geliefert werden.

Wenn dieses Vorgehen unter Alfresco 3.x mit Hilfe von der JavaScript Programmierschnittstelle stattfindet und wenn die Lucene-Ergebnisse die Grenze der 1000 Datensätze überschreitet, dann werden alle diesen Ergebnisse nicht zurückgegeben. Wenn eine save() Methode von der NodeScript Programmierschnittstelle für jedes Ergebnis aufgerufen wird, dann wird die seltsame Lage in der beliebige Datensätze aktualisiert werden, auftreten.

Wenn die “system.acl.maxPermissionCheckTimeMillis” und “system.acl.maxPermissionChecks” Ressourcengrenzen die auf einzelne Sucheabfragen verbraucht werden die in der repository.properties Datei nicht richtige Hilfe anbieten können, eine mögliche Lösung in diesem Fall wäre:

1) Sie sollen JavaScript für solche Zwecke vermeiden und versuchen, die Java Schnittstelle zu verwenden, näher spezifiziert die SearchParameter Klasse mit den setLimit() und setLimitBy() Methoden.

2) JavaScript kann verwendet werden, aber in diesem Fall die originelle Lucene-Abfrage soll eingeschränkt werden, um das neue Feld das den neuen Wert noch nicht hat, in die ursprüngliche Bedingung einzubeziehen. Diese eingeschränkte Abfrage soll interativ eingesetzt werden bis alle Knoten aktualisiert werden.