#2330 closed Verbesserung/Featurewunsch (wont-fix)
Seiteninhalte mit Ajax laden.
| Erstellt von: | Ciatronical | Verantwortlicher: | |
|---|---|---|---|
| Priorität: | niedrig | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 3.0.0 |
| Schweregrad: | Verbesserung | Stichworte: | Design, Oberfläche |
| Beobachter: |
Beschreibung
Beim Start der ERP wird lediglich eine Controllerseite mit Menü und Content-Div-Container geladen. Über das Menü wird dann der Content-Div-Container via Ajax mit den entsprechenden Inhalten der Module befüllt. Die Button der Module lösen ebenfalls nur einen Ajax-Request aus - ohne dass die Seite bei jedem Event jedesmal komplett neu geladen werden muss.
Der Inhalt des Content-Div-Containers kann mit jQuery-UI-Elelementen gestaltet werden. Das würde der ERP mal ein modernes Kleid überziehen.
Vorteile sind:
+ Flüssigerer Ablauf
+ weniger Web-Serverlast
+ moderne, leicht anpassbare Designs (Themeroller)
Durch den modularen Aufbau der ERP hält sich der Arbeitsaufwand sicher in Grenzen.
Änderungshistorie (5)
comment:1 Geändert vor 20 Monaten durch m.bunkus@…
- Lösung auf wont-fix gesetzt
- Status von new nach closed geändert
comment:2 Geändert vor 20 Monaten durch s.schoeling@…
Ganz sicher nicht.
Noch mehr Nachteile von Deinem Vorschlag (zusätzlich zu mosus KO-Kriterium):
- Keine bookmarkbaren Seiten mehr (einer der Gründe für die Layoutumstellung)
- Webserverlast ist eher mehr durch mehr einzelne Requests die mehr Sessionoverhead haben. Beides aber vernachlässigbar bei dem was wir im Moment an Last generieren. Der ERP Code verträgt in den langsamen Pfaden locker 10-20 Requests die Sekunde und überall sonst >100. Solange wir nicht Kunden haben die diese Art von Last da drauf packen und Probleme damit kriegen, sehe ich nicht ein auf Last zu optimieren.
- Themeroller müssten wir überhaupt Themes für haben. Und nein, weder das derzeitige lx-office noch kivitendo css sind Themes.
- jquery-ui Elemente sollte man sehr vorsichtig einsetzen, sonst wird das Frontend schnell unbenutzbar langsam. Die Last auf dem Client durch viel Javascript ist ungleich grösser als was man auf dem Server spart.
- Bedenke auch die Roundtripzeiten bei kaskadiertem Ajax. Im Moment sind die schnellsten Pfade in der ERP (minimale ajax fetch-me-something actions) um die 60-70ms schnell. Plus Netzwerklatenz und Renderzeit im Browser ist man schnell über der magischen Zehntelsekunde. Wenn davon 3 hintereinander kommen wird es spürbar langsamer.
comment:3 Geändert vor 20 Monaten durch Ciatronical
Soweit ok.
Grundsätzlich halte ich es jedoch für überlegenswert AJAX in den Angebots-, Auftrags-Rechnungsformularen einzusetzen.
Warum muss für jeden hinzugefügten Artikel die ganze Seite neu geladen werden??
Das bringt, gerade auf langsamen Maschinen sehr viel Unruhe durch den erneuten Seitenaufbau auf den BS.
Es reicht doch die neue Zeile ( die neuen Input-Felder ) via AJAX nachzuladen. ( 1 Request )
Warum muss beim "Speichern" die Seite komplett neu geladen werden??
Es reicht doch den Inhalt des Formulars via AJAX an den Server zu schicken und zu speichern.( 1 Request )
Selbst beim "Drucken und Buchen" kommt man mit zwei Requests aus. ( Die Re.-Nummer muss ins Re-Formular )
Ich meine das in etwa so: Pseudocode Bsp "Speichern"
$( "#save" ).click(function() {
$.ajax({
type: "POST",
data: $( "#rechnungs_formular" ).serialize() + '&save=true',
url: "controller_etc",
Vortreilhaft ist auch eine gewisse Undo-Funktionalität in Input-Feldern. [STRG+Z] würde funktionieren.
Zu den Themes.
Ein grünes Kivitendo-Theme ist unter crm/jquery/themes/green-style zu finden.
Die Erstellung dauert höchsten fünf Minuten.
comment:4 Antwort: ↓ 5 Geändert vor 20 Monaten durch s.schoeling@…
Innerhalb von Masken sind wir da voll dafür, und das wird auch nach und nach mehr umgesetzt (siehe die Einlagernmaske die ich heute morgen gepusht habe).
Wo wir uns sperren ist halt _alles_ per Ajax zu laden.
Leider sind die Belegmasken im Moment noch alter Simaderstil, so dass die nicht leicht mit sowas aufzuwerten sind. Den Anfang macht da erstmal die Kundenverwaltung die Thomas gerade umschreibt.
Insofern sind die beiden "warum muss" Fragen von Dir damit zu beantworten: "Weils noch niemand besser gemacht hat". :)
Und zu den Themes: Bin da nicht überzeugt. Der jquery Themeroller ist für das was ich von einer Webseite erwarte ungeeignet, und ich halte Farbtünchen auch nicht für die wichtigste Baustelle.
comment:5 als Antwort auf: ↑ 4 Geändert vor 20 Monaten durch Ciatronical
Insofern sind die beiden "warum muss" Fragen von Dir damit zu beantworten: "Weils noch niemand besser gemacht hat". :)
Ok, dann verbleibe ich erwartungsvoll und werde aufmerksam Commitmessages lesen..

Nein, sorry. Für so etwas ist AJAX nicht wirklich da. Riesiger Nachteil: dir geht jegliche Möglichkeit auf Verwendung von Reload oder Zurück verloren.