
Server Admin und Senior Entwickler
demandflow.deAnsehen
Abzeichen 7
Editor Frischling 10 × Eureka! Anfänger Enthusiast Reporter UnterstützerMoin Moin,
ich sehe zwei Sachen die du mal probieren könntest:
- Eigentlich brauchst du auf Dialogfunktionen kein save (außer du willst den neuen Zustand wirklich speichern). Wenn du das möchtest, probier mal bitte - und ich weiß wie doof das klingt - save zwei mal hintereinander aufzurufen. Wir haben damit tatsächlich schon so seltsame Verhalten gelöst bekommen.
- Die schönere Lösung ist eigentlich aber die Zeilen per JS zu kopieren, dann bekommen die User auch nicht den Ladebildsch...
Hi,
vielleicht noch ein weiterer Ansatz als Ergänzung zu den Punkten von Jan:
Was passiert vor dem TTFB:
- DNS lookup: Mach mal intern einen DNS Lookup von einer ungecacheten Maschine und schau ob vielleicht Euer DNS intern aktuell Probleme macht. Dies würde sich wahrscheinlich aber noch auf weitere Dinge auswirken in Eurem Netz
- SSL handshake: Normalerweise unproblematisch aber wer weiß
- Webserver-Verarbeitung: Nutzt Ihr Redis oder irgendwelche erweiterten Caches, die erst abgefra...
Moin,
der Trick ist ein neues Skript hinzuzufügen und bei der Skriptart "Andere" zu wählen.
Das hier funktioniert bei mir:
Hey,
Standard-Untertabellenansichten lassen sich von Haus aus leider - und jda, das ist leider wirklich so - nicht sortieren. Die Daten sind fest mit einer row-id verknüpft und so wie sie in der Datenbank im Hintergrund stehen werden sie angezeigt.
Zwei Möglichkeiten:
- Entweder, wenn du bei der Untertabellenansicht bleiben möchtest, dann musst du dir die Daten einmal raus ziehen per Javascript (oder auch via einer DIalogfunktion), musst sie programmatisch sortieren wie es beliebt und da...
Ja, habe ein Tag hinzugefügt und einen Edit
Ich habe die andere Frage gelöscht. Welche JobRouter-Version ist es denn? Wir können schauen ob man am Montag mal einen Teams-Call macht und drauf schaut
Moin!
Ich war mir zuerst kurz nicht sicher, ob Ihr die "inoffizielle" API von Chris Müller meint, einem JR Entwickler in privater Kapazität
Link hier
oder die offizielle Erweiterung aus der JR Repo,
Link hier
Persönlich kenne ich das Projekt, habe es aber nicht im Einsatz. Aber eine nette Sache, dass es angeboten wird.
Hallo,
hat etwas gedauert aber hier die Antwort:
"Server SourceType steht für die Quelle, aus der der Dialog bearbeitet wurde, bzw. der Schritt abgeschickt wurde.
Es ist 1 für DESKTOP und 2 für MOBILE.
Ein Schritt mit 0 wird dann von JobServer abgeschickt worden sein (StepStatus=99), da JobServer nicht über einen Dialog den Schritt verarbeitet."
Scheinbar ist es aktuell so, dass Links im JobViewer 2 nicht klickbar sind. Sollte dies notwendig sein bitte auf "Im Browser öffnen" umstellen.
Moin,
wenn die Einträge in eine JobData geschrieben werden kann man theoretisch über die REST-API prüfen, ob eine Zeile existiert zu den neuen Benutzerdaten und dann den Schritt mit sowas wie
$sql = "UPDATE JRINCIDENTS SET status=0, step_status=99 WHERE workflowid=:wfid";
senden.
Alternativ kann man einen Schritt in Wiedervorlage schieben, der sich dann hin und wieder neu startet und mit einem Skript auf etwas prüft. Alternativ kann man einen Hilfsprozess schreiben der nur nach...
Moin Tobias,
die Weiterleitung mit direktem Öffnen funktioniert nur von einem Benutzerschritt zum Nächsten. Wenn eine Systemaktivität dazwischen ist, dann ist das leider nicht möglich, da der gewünsche Schritt zu diesem Zeitpunkt noch nicht existiert.
Je nachdem wie viel Aufwand es Euch wert ist könnt Ihr die PDF via einer PHP-Dialogfunktion zur Laufzeit generieren, allerdings könnt Ihr dann nicht einfach die Systemaktivität benutzen sondern müsstet mit einem der mitgelieferten PHP-PDF-Li...
Ja, das ist möglich.
Via JS kann - zum Beispiel im onLoad - folgender Code aufgerufen werden:
$$('.jr-section-title.sectionName').each(function(element) {
$(element).stopObserving('click');
});
Hey,
wenn die Anforderungen an die PDFs zu komplex oder zu dynamisch werden dann umgehen wir die Einschränkungen von Word komplett und nutzen das mitgelieferte TCPDF, bauen das Layout beliebig komplex im PHP mit HTML auf, konvertieren das zu PDF und attachen es dan an das Anhangsfeld.
Grüße
Stefan
Hey Swen,
wenn JR in deinem Kontext das (TABELLENFELD) nicht auflöst wirst du nicht umher kommen, einen kleinen Umweg über eine Dialogfunktion zu drehen, also sowas wie
jr_execute_dialog_function('fetchFieldInfo', {},
function (resultObject) {
jr_notify_info(returnObject.result.myMessage);
},
function(errorObject) {
jr_notify_error(errorObject.message);
});
Wir benutzen häufiger folgende Funktion, welche wir im onLoad aufrufen
jQuery('div.subtable').css('overflow', 'hidden');
Moin,
es ist tatsächlich so, dass für Simulator-Schritte nicht alle Funktionen verfügbar sind und die Informationen teilweise in anderen DB-Tabellen geführt werden. REST-Sachen würde ich nicht versuchen auf Simulator-Prozesse zu fahren.
Zur eigentlichen Frage:
- Du hast zwei Möglichkeiten. Entweder tatsächlich via PHP oder sonstige Wege direkt in die Datenbank die step_status-Werte setzen. In einer Deiner anderen Fragen habe ich dazu glaube ich den Code gepostet.
- Du müsstest Nicht-Sim...
Dieser Link ist nur für diesen Schritt gültig. Er verfällt auch nicht. Sollte der Schritt inzwischen bearbeitet worden sein, dann wird der Schritt im üblichen "Bearbeitet"-Modus (also readonly) geöffnet.
Der Link kann nicht manipuliert werden, beispielsweise durch die Änderung der User-ID, da er gegen eine Checksum geprüft wird und dann als ungültig erkannt wird.
Der Key kann weder für die REST API noch für den Webservice genutzt werden.
Technisch gesehen ist es kein Cookie/Token welc...
Moin,
mein Verständnis ist, dass man mit
jQuery( '#meiniFrame' ).attr( 'src', function ( i, val ) { return val; });
das Element dazu überreden kann zu glauben, dass der source-Wert neu gesetzt wurde und damit den Inhalt neu lädt.
Ggfs muss man die Funktion etwas anpassen, damit der neue Link generiert wird oder so?
Hey,
hast du mal versucht, dir die Dialog-XML aus der Datenbank zu ziehen und in dem Editor deiner Wahl zu analysieren? Kann es sein, dass es tatsächlich ein Feld gibt, welches dort nicht rein gehört? Es klingt erstmal so als ziehe er die Struktur und hat einen Fehler dabei, diese zu rendern da ein nicht valides Feld dabei ist.
Alternativ würde ich versuchen, mal einen neuen, leeren oder minimalen Dialog dem Schritt zuzuordnen und zu schauen, ob dieser geladen wird.
Grüße
Stefan
Moin Moin,
das ist natürlich eine sehr individuelle Frage, da jeder Entwickler da eigene Präferenzen hat.
Wichtig ist jedoch vorneweg die Konsistenz.
Wenn ich zu einem bestehenden Projekt dazukomme dann analysiere ich die bisherigen Konventionen und führe diese weiter.
Wenn ich mit jemandem zusammen einen neuen Prozess entwickle dann spreche ich mich mit jener Person ab, sodass es konsistent ist.
Wenn ich jedoch alleine einen neuen Prozess entwickle mache ich es üblicherweise so:
Date...
Hallo,
ich würde es hier wahrscheinlich tatsächlich über die API machen. Der korrekte Weg den iframe zu befüllen ist folgendermaßen:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https:// . . ./api/rest/v2/application/jobarchive/archives/ARCHIVNAME/documents/" . $revId . "/file");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, C...