SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

SP2010 - Timer Job mit Interval 1 min macht bearbeiten von Elementen unmöglich. Alternative Lösung gesucht

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 1 Antwort | 2 Followers

Top-50-Beitragsschreiber
282 Beiträge
MStel erstellt in 11 Mrz 2019 15:38

Hallo,

ich habe folgende Problematik:
Ich habe eine Liste mit Personen und eine Liste mit Aufgaben, welche als Lookup auf die Personen verweist, um diesen Aufgaben zuweisen zu können.
Im Hintergrund läuft ein SPTimerJob mit Interval 1 Minute, welcher beide Listen überprüft und zu jeder Person in die Spalte "Aufgaben erledigt" die aktuelle Anzahl der Aufgaben mit Status "fertig" rein schreibt.

Möchte ein Nutzer allerdings eine Person bearbeiten und befindet sich länger als eine Minute in der Editform.aspx, so wirft SharePoint eine Fehlermeldung vonwegen "Listeneinstellungen wurden geändert, aktualisieren sie den Browser und versuchen es erneut".

Warum diese Meldung auftritt kann ich mir natürlich erklären, deaktiviere ich den TimerJob tritt beim bearbeiten natürlich auch kein Fehler mehr auf, allerdings fehlt dann auch die Funktionalität.

Was wäre denn ein sauberer Lösungsansatz um über 2 Listen eine solche "summenrechnung" durchzuführen und Liste A trotzdem stets aktuell zu halten und trotzdem das bearbeiten der Personen durch Nutzer zu ermöglichen?

Das mit dem TimerJob auf Interval 1 Minute ist definitiv keine praxistaugliche Lösung und war auch eher nur eine Notlösung, ich denke da sind wir uns einig.

Ich habe überlegt, das ganze einfach mit einem Javascript im Hintergrund zu machen, und zwar quasi genau dann auszulösen wenn eine Aufgabe hinzugefügt wird, jedoch befürchte ich, dass ein identischer Fehler auftritt, da ich nach dem Schreiben von Listenwerten ja auch ein Item.Update ausführen muss und es nicht ausgeschlossen ist, dass zwischenzeitlich ein Nutzer die Personenform geöffnet hat.

Wie gesagt, ich bin hier nicht auf der suche nach einer fertigen Lösung sondern viel eher nach Inspiration oder einer Art "schubser in die richtige Richtung"

Vielen Dank im Voraus

Alle Antworten

Top-25-Beitragsschreiber
455 Beiträge

Ich programmiere zwar nicht, würde hier aber zu einem EventHandler auf der Aufgabenliste greifen, welcher auf ein "ItemUpdate" in der Aufgabenliste reagiert und dann in der Personenliste die Anpassungen macht. 

TimerJob läuft halt immer im eingestellten Intervall und kuckt ob er was machen muss

Eventhandler wartet bis er was machen muss

Seite 1 von 1 (2 Elemente) | RSS