Handlungsbedarfe für und Wünsche von Software-Entwicklern
Welche Punkte stehen als nächstes zur Bearbeitung an?
<2014-09-04>
Vorbemerkungen:
Die Rangfolge der zu erledigenden Aktivitäten ergibt sich aus den bei Nutzern, Projektbetreibern, Autoren, Admins und unten stehend definierten Meilensteine. Die Erreichung der nachfolgend aufgeführten Zielsetzungen kann für die Erreichung mehrerer Meilensteine auch aus den vorstehend verlinkte Vorgaben notwendig sein. Nachstehend sind auch solche Vorgaben aufgeführt, die das technische Verständnis der Mitglieder anderer Zielgruppen überfordern können.
Nächste zu erledigende Aufgaben:
=> "Eilige" Ideen:
- ? Pro Site eine groooße Themenwolke anbieten, die bei genügend Platz alle Themen abbiildet - zumindest aber die wichtigsten ?
- ? Pro Site ein "3d"-Themen-Netzwerk anbieten, in das man sich hineinzoomen kann ?
- ? Die Seiten bei einer Einzeldarstellung horizontal raus- und reinschieben und dabei ggf. im negativen Bereich der x-Achse platzieren ?
- ? Unter einer Navigationsleiste am oberen Bildschirmrand eine links-rechts-verschiebbare "Zuletzt aufgerufen"-Leiste ?
- ? Die Liste verwandter Infos (oder neuer Infos etc.) nicht automatisch beliebig lang machen. Erst auf Knopfdruck wird sie (um einen weiteren Abschnitt) verlängert ?
Das könnte Übertragungskapazität sparen. - ? Ist es möglich, vom Server die Daten packen zu lassen? Ist es machbar und sinnvoll die Daten vom Server-Script packen zu lassen und vom Browserscript entpacken zu lassen ?
- ? Als Input für wim.px oder wim.vpx auch eigene Schlüsselwerte wie beispielsweise "ModuleHeigth" oder "ParentHeight" (oder Berechnungen?) erlauben ?
- ? Können WIM-Apps über Browser-Tab-Grenzen hinweg miteinander kommunizieren ?
? Kann ein Tab seinen "show me" -Wunsch so deutlch signalisieren, dass die Hilfe-Infos zu einem Projekt in einem separaten WIM-Projekt-Tab angezeigt werden können? - ? Wiedervorlage-Zeitpunkt und Bearbeitungsnotizen als Parameter einbringen ?
- ? Bei "baum-strukturierten" Listen wie im Verbraucherschutz-Forum eine "Infos-Liste mit Einrückungen" und automatischem(?) vertikalen Scrollen verwenden ?
- ? Einen NaN -Sucher periodisch laufen lassen, der alle Module usw. systematisch nach NaN absucht und Warnungen rausgibt ?
- ? Beim BOX-Modul einen "Space"-Bereich beim Arrangieren der eingebetteten statischen Module führen, der den (noch) nicht von den statischen Modulen genutzten (2d-) Platzbedarf angibt ?
> Dieser Bereich könnte vom Modul-Nachfahren "SPACE" als verfügbarer Darstellungsbereich verwendet werden - anstelle des gesamten Fensterbereichs. - ? wimList im Client vom Array-Objekt ableiten ?
- ? In den CLients können unbegrenzt viele Identitäten angelegt werden. Optional mit Passwort, das dann bei Anforderung auch zum Login genutzt werden kann.
=> Die aktuelle Identität wird in der System-Leiste (am unteren Fensterrand) angezeigt. "anonym" oder "Rumpelst" - ? "Responsive Design" als Begriff bei WIM einführen ?
- ? Bei der Abfrage von Objekt-Parameterwerten können "Randbedingungen" angegeben werden. Beispielsweise Filter- oder Sortieranweisungen, Mengenbegrenzungen, anzuwendende Berechtigungen oder anderes, das zu einer Abweichung des Parameterwertes vom "normalen" Parameterwert führen kann.
> Durch eine geschickte Gestaltung der Randbedingungsmöglichkeiten kann eine effektive Kaskadierung beim Weiterreichen von Abfragen von Frontend-Servern an Backend-Server usw. erreicht werden. - ? Für die Verwendung von Klammern als Kennzeichnung der Datenart wird ein systemweiter Standart festgelegt. Beispielsweise: <Zeitpunkt oder -raum>; @Person; {Organisation/Gruppierung, falls nicht '#'?}; [Örtlichkeit]; #Thema/Tag/Resource?; «Relevanz?»
- ? Die Standard-Scripte per Default immer vom WIM-Server laden, damit sie für verschiedene Projekte nicht immer wieder neu geladen werden müssen.
> Ist auch vorteilhaft, wenn mehrere Projekte in einem Fenster aufgerufen werden (beispielsweise ZRM plus Hilfe-Texte zum WIM-System).
> Bei Problemen ersatzweise vom Frontend-Server nachladen.
> Auch auf Nutzerwunsch (wg. Tracking-Vermeidung) vom Frontend-Server ? - ? Falls auf Objektparameter (bei XSLT-Transformationen und ggf. auch woanders) eine Bearbeitung angewendet werden soll, kann diese in geschweiften Klammern angegeben werden,
> Beispielsweise: PUBLISHED{toLocalTime()}
oder: teaserImageUrl{extractImageSource()} - ? Bei ObjSpec-Listen, die mit Selektierung und Sortierung angefordert wurden, die Selektions- und Sortierparameter notieren, damit der Aufwand für das erneute Beschaffen von parameterisierten ObjSpec-Listen verringert werden kann ?
- ? Module werden erst dann sichtbar gemacht, wenn $RENDER alle notwendigen Parameter verfügbar hat?
- ? ReferenceTopics (Referenz-Themen) einer eigenen Themen-Rubrik zuordnen, die für normale Nutzer nicht angezeigt wird ?
> Zumindest aber Das Referenz-Thema nicht in den Themenbusch einordnen ? - ? Auf den Frontend-Servern eine OBJ_PARAMS -DB mit allen öffentlich zugreifbaren Parameterwerten für den besonders schnellen und unkomplizierten Zugriff bereitstellen ?
> Unter dem Indexwert '#' die Zuordnung der Parameternamen zu den Schlüssel-Bezeichnern der DB bereitstellen, damit diese ebenfalls ganz fix vom einfachen Script nutzbar sind.
> Parameterwerte, die irgendwie geschützt sind, können nur über ein aufwändigeres Script und nach Überprüfung der Berechtigung abgerufen werden.
> Für die Volltext-Worte zu den Objekten muss es eigene DBs geben. - ? Sarissa.getParseErrorText -Funktionalität bereitstellen ?
- ? Bei der Anforderung von Objekte-Listen (beispielsweise Newa) können Limit und Offset angegeben werden, damit die ggf. sehr lange Liste on demand häppchenweise abgefragt werden kann. Außerdem können Filter- und Sortier- und Selektionsparameter mitgegeben werden (siehe INFOS-Modul).
- ? Beim Newsletter-Versand eine Einstellmöglichkett zum Pausieren des Newsletters (wg. Urlaub etc.) für einen bestimmten Zeitraum vorsehen,
- ? Den Themenbusch primär auf Projekt-Basis editieren (und nicht auf Themen-Basis).
> Dazu eine Liste mit von Unterebenen anzeigen, beider als Items die Themen mitsamt Überlappungsangaben angezeigt werden (siehe Themenübersicht zur ZRM-Internetürädenz ). - ? Im eingeloggten Zustand per Menü Schnellanpassungen für Themen- und Info-Verknüpfungsgewichte anbieten ?
> Die Liste der verknüpften Infos eines Themas könnte dann fix nachjustiert werden.
> Die Liste der verwandten Infos einer Info könnte dann fix nachjustiert werden. - ? Für verwandte Infos etc. ein Aktuell-/Relevant-Icon einführen ?
> Beil Icon gibt es zwei Koordinaten-Achsen. Eine tendenziell Grüne für die Aktualität und eine tendenziell rote für die Relevanz. Die Info wird mit einem farblich angepassten Punkt in der so aufgespannten Fläche dargestellt. Mittels SVG sollt das kein Problem sein. Gegebenenfalls könnte eine dritte "Achse" durch die Größe des Punktes symbolisiert werden. - ? Bei Links auf externe URLs das Datum der referenzierten Quelle feststellen und im Link notieren. Periodisch kann der Link überprüft werden, ob die verlinkte Adresse sich geändert hat, um zu checken, ob der Link noch immer ok ist.
> Macht ein Hashwert des Inhalts Sinn ? - ? Datenlieferungen aus der EVENT-Methode rausnehmen und als DATA-Methode mit ACTION-Angabe implementieren ?
- ? Projekteigene .PDF -Dateien direkt in die Darstellung per iFrame einbinden ?
> Inhalte der PDF-Datei möglichst für die WIM-Volltext-Suche (verdeckt) bereitstellen.
> Bei Direkt-Aufrufen der eingebundenen .PDF -Dateien den Aufruf auf die APP umleiten.
> Suchmaschinen -Handling ? - ? Dynamischer "Fragebogen":
> Bei einer Liste von Fragen /Thesen /Vorschlägen kann jeweils mit einem Regler eingestellt, wie sehr der These /dem Vorschlag zugestimmt wird oder wie wichtig das Thema ist oder ...
> Mit einem [Sortieren] -Knopf kann die Liste dann sortiert und anschließend nachjustiert werden. - ? Wichtigkeits-/Dringlichkeits-Raum für Aktionen mit mehreren Entscheidern:
> Jeder Entscheider verteilt seine Wichtigkeits- /Dringlichkeits-Punkte auf die für ihn relevanten Aktionen.
> Aus der Summe der Wichtigkeits- /Dringlichkeitspunkte wird eine Platzierungsmatrix der Aktionen erstellt.
> Teil-transparent werden als darüber liegende Ebenen die Positionen dargestellt, die sich jeweils aus den Punkten nur einzelner Entscheider ergeben würden.
> Zur Verdeutlichung werden die Positionen einer Aktionen teil-transparente Verbindungslinien gezogen.
> Alle Entscheider können ihre Punktzahlen variieren, um für sie besonders wichtige Aktionen zu befördern und/oder Terminprobleme zu verringern. Die Entscheider können dazu in Ihrer Ebene die Aktionen per Drag & Drop verschieben und die Auswirkungen auf das Gesamtbild beobachten. Mehrere Entscheider können auch partielle Koalitionen eingehen, um ihre gemeinsamen Interessen besser wirksam werden zu lassen. - ? Den Autoren /Editoren eine Funktion anbieten, die Wortkombinationen im Text sucht, die mit einem Link unterlegt werden könnten. Die möglichen Links lernt das System mit der Zeit. Beim rel-Attribut könnte eventuell ein Link-Typ hilfreich sein.
- ? Handreichung für potentielle Betreiber einer Internetpräsenz erstellen ?
> Es werden eine Reihe von Fragen aufgeführt. Was soll wie für wen mit welchem Budget in welchem Zeitraum etc. erreicht werden. - ? Services über die normale EVENT-Mimik an- und abmelden?
> SIGN_ON und SIGN_OFF als separate Modul-Methoden ausmustern. - ? => Sämtliche RegExp-Nutzungen rausschmeißen, weil sie beim Debuggen Ärger machen ?
- ? Bei den XSLT requiredObjParams etc. neben den Parameternamen auch "Funktionen" zulassen, die es ermöglichen benötigte Parameter per Script vorzubearbeiten, bevor sie in die Transformationsdaten eingehen.
> Beispielsweise localDatetime(PIBLISHED,CREATED) - ? FLAG-Requests für jede NICE-Ebene extra ?
- ? Den APP-SPACE in einem Modus betreiben, bei dem die Projektseiten horizontal verschoben werden.
> Oben links und rechts kleine >, < -Pfeilchen zum Anklicken bereitstellen. Bei Mouseover die Projekteliste anzeigen ? - ? Eine Funktion wim.isNumber(min,max) testet übergebene Parameterwerte ?
- ? Wäre es sinnig, für den Objekt-Daten-Abruf auf den Frontend-Servern ein separates kleines Script bereitzustellen, das eine Weiterleitung auf ein "volles" Script zurückgibt, wenn es nicht alle Aufgaben erfüllen kann? Ersatzweise eine Perl-require-Aktion?
- ? Bei Newsletter-Abos etc. kann man einstellen, wie viel % der Infos man angezeigt haben möchte. Bei der Einstellung "20%" werden die 80% unrelevantesten Infos rausgefiltert.
- ? Bei den Newslettern am Ende verschiedene Optionen (Abbestellen, Wöchentlich, ...) direkt anklickbar machen ?
- ? Zur Anzeige der Liste den neuesten Infos zwei verschiedene Objekte /Panels bereithalten: Einmal CompactNews und dann DetailedNews ?
- ? Jedes PROJECT-Modul grundsätzlich im Schiebetür-Modus anlegen, bei dem horizontal eine bestimmte Anzahl von Panels verfügbar ist?
> Pro Projekt wird eine Default-Spaltenzahl und -breite vorgegeben. Beide Werte können von den Nutzern nach ihren Bedürfnissen verändert werden.
> Die Nutzer können alle vorgegebenen Panels nach eigenen Wünschen in der von ihnen bevorzugten Spalte ablegen. Die Breite der verschobenen Panels passt sich automatisch an. Die Höhe kann entweder (per drag & drop) auf einen fixen Prozentsatz oder (per Dialog) auf einen Bereich eingestellt werden.
> Wird eine Schiebetür entfernt, werden die noch enthaltenen Panels automatisch auf die angrenzende Schiebetür verschoben.
> Nicht mehr gewünschte Panels können entfernt werden. - ? Sollten für sämtliche Parameter, die HTML-Darstellungen (Texte +Grafik) als Ergebnis haben, auch eingebettete Module akzeptiert werden?
> Falls nicht, welche Regeln für Einschränkungen? - ? Sollten sämtliche Parameterwerte auch als XSLT-Transformation angebbar sein?
- ? Bei BA-Dietzenbach, KAG-Flughafen-Frankfurt etc. die Hash-Werte zwischen den Frames austauchen, damit de "Optik" stimmig ist und die Nutzer nicht verwirrt werden.
> Die Query-Parameter ggf. mit Script-Hilfe durchreichen
> Die Suchmaschinen-Dateien direkt auf den "dummen" Servern ablegen; Aufrufe per .htaccess oder Script auf den Dateinamen umdirigieren. - ? Beim Client-Script auch innerhalb von Strings _name_-artige Bezeichner einsetzen ?
Beispielsweise bei den Namen der Warnungen: $WARNING('_bloedesProblem_') - ? Sollten die Objektdaten in der DB in "Primär"- und "Sekundär"-Daten aufgeteilt werden?
Zu den Primärdaten gehören alle Parameter, deren Werte nicht "abgeleitet" sind. Die Sekundärdaten ergeben sich aus den Primärdaten in Kombination mit Daten aus anderen Quellen (beispielsweise Nutzungsauswertungen). Zu bestimmten Anlässen, ggf. auch periodisch wirken Teile der Sekundärdaten wieder in die Primärdaten zurück. Beispielsweise bei Verknüpfungsgewichten. - ? Wenn in der URL eine Syntax der Art name="value" bemerkt wird, eine Warnung zu den Doublequotes ausgeben ?
Generell besser warnen, wenn die Syntax unsauber erscheint ? - ? Kann ein Firefox auf dem PC vom Server aus genutzt werden, um sich maschinenlesbare Seiten zu erstellen ?
- ? Layout beim NDR ( http://www.ndr.de/ratgeber/verbraucher/Dosierung-So-tricksen-Waschmittelhersteller,waschmittel130.html ) studieren ?
- ? Zu Modulen und ihrem DOM-Objekt bei Bedarf eine Resized-Event bei periodischen Überprüfungen auslösen ?
- ? Die WIM-App sollte möglichst weitgehend "offline" lauffähig sein. Alle Script- und CSS-Daten sollten per Default lokal abgerufen werden, Objektdaten sollten als "lokale Kopien bereithalten" gekennzeichnet werden können.
>> Bei aktualisierten Scripts, CSS-Dateien oder Objektdaten sollte diese zumindest im lokalen Speicher aktualisiert werden - soweit machbar auch in der aktuellen Darstellung. - ? Falls in den Nutzereinstellngen nichts anderes vorgegeben wird, initial mit minimaler Anzahl von "Bedienelementen" starten, damit "Neulinge" nicht abgeschreckt werden.
Erst nach Änderung der entsprechenden Einstellungen (stufenweise?) weitere Bedienelemente sichtbar machen.
Die Nutzer auswählen lassen, welche Gruppe von Bedienelementen sie sehen wollen ? - ? Bei den Einstellungen und Infos / App-Infos die Zählerstände der tbd-Zähler anzeigen lassen.
- ? Eigene Mimik zur Ergänzung der <details> -Mimik: Eine <ul> -Liste bekommt Auf-/Zuklapp-Sybole statt Bullets. Das <li> wird entweder voll dargestellt oder nur die erste Zeile mit text-overflow:ellipsis; ? Ein spezielles <wim-ul> -Element dafür entwickeln ?
- ? Formatieren des HTML-Quelltextes: Zwei (oder mehr?) verschiedene Menü-Optionen dafür anbieten (statt Shift-Tastendruck) ?
- ? Das System enthält diverse "Sensoren", die zur Überwachung des Systems und bei automatischen Funktionstests abgefragt werden können. Beispielsweise die Anzahl angezeigter Infos zum angezeigten Thema, die CPU-Belastung, ...
- ? Zu erledigende Aufgaben (offene Requests) werden beim wim "registriert" und nach Fertigstellung (oder Timeout) wieder ausgetragen. Die Anzahl offener Requests kann angezeigt werden.
Werden die offenen Requests eines Widgets registriert, könnte beispielsweise seine Darstellung bis zur fertigen Darstellung gedimmt werden. - ? "Web Components": Mittels HTML5 "Custom Elements" die wim:a etc. durch wim-a etc. ablösen ?
:unresolved nutzen ?
? Oder "Type Extensions": <a is="wim-link"> ... </a> ?
Siehe c't 2014.26.182ff - ? Einen SPACE-Modus zur (dynamisch) mehrspaltigen Darstellung von Widgets, die verschiedene Darstellungshöhen haben, aber (von oben nach unten) (zeitlich) sortiert angeordnet werden.
- ? Objekte-"Repräsentationen" ?
- ? "static" statt "client" Modul ?
- ? "ModuleSetup" statt "ModuleSpec" ?
- ? Accounting vs. Datenschutz:
> Jede Session bekommt ein "Accounting-Ticket", das für eine bestimmte Zeit gültig ist.
> Spätestens mit Ablauf der Gültigkeit (plus Toleranzzeit) sollten Accounting-Daten vom Client zum Server geschickt werden.
> Auf diesem Ticket können Accounting-Daten des Clients "anonym" zum Server gemeldet werden.
> Mit der Quittung für vom AServer erhaltene Accounting-Daten wird ein neues Ticket mit verlängerter Gültigkeit geschickt.
> Die zeitliche Verlängerung kann oft wiederholt werden.
> Die vom Client gelieferten Accounting-Daten überschreiben jeweils die vorherigen Daten der Session. - ? Sollten unerwartete Methoden-Aufrufe von Modulen in ihrer UNEXPECTED-Methode (in "OTHER" oder "ACTION" umbenennen?) automatisch ähnlich EVENT /Action- Requests - nur ohne Weitergabe an andere Moduls, wohl aber mit Vererbung bearbeitet werden ?
- ? Bei Panel-Darstellungen mit k(l)einem Kontrast zum Hintergrund werden Rahmen und Schatten sowie evtl. ein kleiner Versatz bei :hover aktiviert ?
- ? Meldungen im SPACE "StackingDoor" -Modus anordnen (Sektional- /Hubtor).
- ? Beim Editor die Option "Veröffentlichungszeitpunkt aktualisieren und alle Änderungen speichern" anbieten ?
- ? Unterhalb(?) der Liste der neuesten Infos in der Navigationsleiste einen Link "Große News-Liste" darstellen. Beim Klick wird ein Panel mit der Liste der neuesten Infos im Mittelbereich angezeigt.
- ?? Bei den WIM-Panels den Titel "auf dem Hintergrund" schreiben und nur den Rumpf als "Fläche" erscheinen lassen.
- ? Ist es möglich, die platzmäßige Veränderung bei einem Modul zu verzögern, wenn sich der Cursor über dem Modul befindet ? Dimmen ist sofort erlaubt - beispielsweise als Vorwarnung zur anstehenden Änderung. Hilft "ease-in" etc. bei der Transition weiter?
- ? Individuelle Sidebar-Gestaltung durch Nutzer:
Für jedes Projekt gibt es eine Defaultangabe zu den Sidebars und welche Panels dort wo und wie platziert werden sollen. Nutzer können eigene Listen der Panelbestückung machen. Einzelne Panels (Impressum, ...) können nicht abwählbar sein.
Per drag & drop können die Sidebars auch von Nutzern individuell angeordnet und teilweise entfernt sowie ergänzt werden. Die Konfiguration kann gespeichert oder als URL codiert angegeben werden. Unter Codeworten können auch vorgefertigte Konfigurationen aufgerufen werden. - ? Service(s)-Drehscheibe.de ? Service-Börse ? (allservano, anobay, anoserv, ...)
>> Hinterlegung eines Sicherheitsbetrags durch Service-Anbieter.
>> Nachfrage nach konkreter Dienstleistung incl. max. Gebühr und Gebots-Deadline einstellen. Dann erfolgt manuelle oder automatisierte Auswahl
>> Service-Leister müssen sich registrieren und dabei identifizieren.
>> Service-Leister holen sich bei Nachfragern die partielle Vorkasse in bar ab. Der Betrag wird bei ihrem Sicherheitsbetrag gesperrt, bis Lieferung bestätigt wurde.
>> Bei Lieferung wird Restbetrag incl. Gebühr in bar fällig. Service-Leister überweist Vermittlungsgebühr.
>> Serviceleistung wird nach verschiedenen Kriterien bewertet.
>> Service-Nehmer bleiben möglichst anonym - nur der Service-Leister hat Kontakt und meist Identität durch Adresse (falls nicht anonyme Treffs am neutralen Ort).
>> Zum Ausbremsen von Service-Trollen können Servicenehmer bei einem Serviceanbieter ein Reputationskonto anlegen und Bewertungen durch Service-Anbieter ermöglichen.
>> Auch ein Service: Schiedsstelle für Uneinigkeiten. Muss vor Auftrag festgelegt werden.
>> Auch ein Service: Tel. Annahme von Aufträgen durch Nicht-Internet-Nutzer zwecks Einstellen in die Börse. - ? Die Editierbereiche im EDITOR per V-Sliders realisieren {Standard-Parameter Weitere Parameter | Restliche Parameter} mit jeweils einer V-Slider-Untergruppe. Dann können mehrere Parameter gleichzeitig im Sichtbereich sein ?
- ? In Info- oder Themenlisten (wegen Vermeidung von Doppelanzeigen etc.) zu "unterdrückende" Objekte nur "hintenan" stellen, anstatt sie zu "löschen".
- ? Im BACK-Parameter eines Objektes werden die zu verschiedenen Zeitpunkten überschriebenen (oder gelöschten) Parameter für eine Weile gesichert.
>> Die wimList enthält Restore-Records mit der Angabe des letzten (noch gespeicherten) Zeitpunktes der Verfügbarkeit der ebenfalls enthaltenen ausgemusterten Parameterwerte.
>> Im Verlauf der Zeit werden die Restore-Records für immer größere Zeiträume zusammengefasst. Die Zusammenfassung geschieht so, dass alle Parameterwerte des Objektes für den angegebenen Zeitpunkt wiederhergestellt werden können. - ? ObjSpace in MainSpace umbenennen ?
- ? Zu "innerHTML" (also "SetHTML" die Alternative "AppendHTMLchildren" anbieten ?
- ? Listen außergewöhnlicher WIM-Fähigkeiten, jeweils ausgewählt und sortiert nach Zielgruppe, bieten einen schnellen Einstieg in die Nützlichkeit der WIM-App und des WIM-Systems ?
- ? Protokolle-Kontrolle für Admins:
- >> Es kann ein Zeitpunkt und ein Zeitraum (z.B. heute 08:00, 1 Stunde) angegeben werden, für den der Inhalt einer Protokolldatei ausgewertet werden soll. Belastungsgrad des Servers; Anzahl der Fehlermeldungen, Warnungen, etc. ; Aufruf-Profil der Themen und Infos; usw.
- ? "statements" als Bezeichnung für kleine zur Einbettung vorgesehene Infos ?
- ? Ist es möglich / sinnig, die ersten App-Logdaten erst dann zum Server zu schicken, wenn der Nutzer beim ersten Aufruf die Möglichkeit hatte, zu widersprechen ?
- ? Sollten bei der Abfrage von Objekte-Listen die Liste der "Sortierwerte" zur Liste spezifiziert werden.
>> Beispiel: Type="LatestInfos" Limit="100" Offset="0" Params="PUBLISHED Popularity"
>> ... - ? Sollte die Änderungsgeschwindigkeit der Darstellungen (transition-duration, siehe transDur) von den Nutzern stufenlos einstellbar sein oder nur in vorgegebenen Schritten ?
- ? Bei WARNINGs usw. anstelle des Namens-Strings eine (globale, nicht extra definierte) $NameDesProblems$ -Variable angeben. Deren Kurzbezeichnung kann im Server vermerkt und in den Meldungen durch den passenden String substituiert werden ?
- ? Sollten die Popup-Menüs vielerorts durch überblendete Meta-Ebenen ersetzt werden ?
>> Falls nur wenig Platzbedarf besteht, dann rechts oben unter dem [=?] -Knopf ? - ? Sollte die vertikale Slider jeweils ein "Tab-Hütchen" mit ihrer Widmung ("Navigation", "Details", "Interaktion") bekommen, die dann rechts und links mit der Möglichkeit zur Breiten-Einstellung versehen werden ?
>> Sollten die Spalten verschiebbar sein ?
>> Sollten Spalten entfernbar oder hinzufügbar sein? Was passiert dann mit Pflichtangaben?
>> Sollten die "Tabs" aus-/einblendbar sein (besonders für Winz-Displays)? - ? Alle Bedienungstableaus können auf Kommando hin vergrößert im Mittelbereich dargestellt werden. Sie springen automatisch an ihren Platz an der Seite zurück, wenn der Mittelbereich für andere Zwecke benötigt wird.
>> Hat etwas(!) Ähnlichkeit mit dem "Aufblenden" bei schlecht platzierten Touches im Android-Chrome
>> Bei umfangreichen Inhalten können diese detailliert betrachtet werden.
>> Wenn die Darstellung im Objekte-Bereich geschieht kann ggf. Mehrspaltigkeit etc. genutzt werden. - ? Den SPACE-"Stack"-Modus zu einem "Matrix"-Modus erweitern. Die Matrix /Tabelle kann einstellbar viele Spalten und Zeilen haben. Die Objekte werden dann nebeneinander und/oder untereinander angezeigt.
- ? Aktualitäts-Relevanz-"Punktwolke":
In einen rechteckigen Bereich mit den Achsenwerten Y: Relevanz und X: Aktualität wird für die n ersten Werte einer Infos-Liste ein Punkt eingetragen. Von diesem Punkt wird bis zum Listeneintrag der Info eine Linie gezogen. Macht aber wohl nur Sinn, wenn die Liste nicht zu lang und weitgehend sichtbar ist. - ? Bei den Slider-Darstellungen den jeweiligen Anteil an der Gesamtspalte /-zeile per "mehr"- und "weniger"-Tasten sowie einem aufrufbaren HTML-Slider einstellbar machen ?
- ? Bei den Suchergebnissen am Anfang auch gefundene Themen - als zugeklappte Liste - anzeigen. Danach die Liste der Titel der gefundenen Infos (mit einem Text-Schnipsel der Fundstelle ?). Vorschau-Darstellung aufklappbar.
- ? Relevanz der "Blickwinkel" der Benutzer:
Bei den Projekteinstellungen kann die "Nutzer-Rolle" (für die Nutzer besonders relevante Blickwinkel) eingetragen werden. Die Nutzer bestimmen damit, welche Objekte bevorzugt angezeigt werden sollen.
>> Für jeden verfügbaren Blickwinkel kann ein Relevanz-Wert zwischen 0 und 1 eingestellt werden.
>> Beim WIM-Projekt sind das beispielsweise die Rolle des "einfachen" Nutzers, des Admins, des Autors usw.
>> Bei MMMM sind das die fachspezifischen Blickwinkel wie Bahnlärm, Luftverkehr, Straßenverkehr, usw.
>> Bei ZRM spielen Blickwinkel keine relevante Rolle
>> Es können mehrere Rollen /Blickwinkel ausgewählt werden
>> Die Zuordnung der Themen und Infos zu den "Blickwinkeln" wird über ihre Kategorisierung (= Rubrik-Zuordnung) eingestellt. - ? Für Scroll-Bereiche merken, ob sie ans untere Ende gescrollt sind. Dann nach jeder Änderung darauf achten, dass das auch wieder so eingestellt wird.
- ? Ein "showElement" (oder "showThis"?) Event fordert (s)eine Sichtbarkeit (durch Scrollen) beim einbettenden BOX-Modul an.
- ? Änderung der Darstellungsgröße von Slider-Modulen:
>> Befindet sich der Cursor NICHT über einem Slider-Modul, wird bemerkbar oben + unten (bzw. links + rechts) ein Bereich "aktiviert", den man "anpacken" kann, um die Größe zu verändern.
>> Diese Bereiche bleiben auch dann aktiviert, wenn sich der Cursor zwar über dem Slider-Modul aber noch über dem anpackbaren Bereich befindet. Erst wenn der Cursor über "den Rest" des Moduls bewegt wird, werden die anpackbaren Bereiche ddeaktiviert, damit man im Modul überall z.B. selektieren oder anklicken etc. kann.
>> Für Touch-Bedienung ist noch ein praktikables Verhalten festzulegen.
>> Die Nutzer sollten einstellen können, auf welche Art sich die Einstellgriffe bemerkbar machen sollen (Zickzack-Linie, farbiger Schatten, ...) - ? Sollte im XHTML-Editor per Popup-Menü der Quellcode des angeklickten lokale Teilbereichs in einer Quellcode-Editierbox angezeigt werden ?
>> Mit max-height, damit die Darstellung immer parallel zum Quellcode zu sehen ist ?
>> Statt der einzigen Alternative der Vollanzeige des Quellcodes? - ? Kann/sollte bei Requests vom Server die Anzahl der Warnungen und Fehler mitgeliefert werden - zum Ausgeben in der kleinen "Operator-Konsole" der App ?
- ? "Oder-Und"- (bzw. "Und-Oder"-) Listen einführen: Worte, die in einem String mit Leerzeichen getrennt aufgelistet werden sind als "oder-verknüpft" (bzw. "und-verknüpft") anzusehen. Die Einträge der einzelnen Zeilen sind dann als "und-verknüpft" (bzw. "oder-verknüpft") zu interpretieren.
- ? Die Default-Stylesheets zur Objektdarstellung nur in der WIM-Datenbasis verwahren ?
Auch alle anderen Default-Objektparameter, die - im Prinzip - von allen anderen Projekten genutzt werden (könnten), in der zentralen WIM-DB halten. Sie werden ja in Kopie in den projekt-eigenen DB's gespiegelt. - ? Bei Objekt-Darstellungen (voll und gelistet) kann ein hervorzuhebender String gesetzt werden. Alle Vorkommen dieser Zeichenfolge werden dann mit einer speziellen Hintergrundfarbe markiert. ­ werden ausgeklammert, Element-Grenzen überwunden.
- ? PROJECT.CooperatingProjects enthält eine Liste von Projekt(nam)en, deren Objekte direkt eingebettet (aber mit Original-Quellen-Hinweis und Aufruf mir Originalprojekt-Einbettung!) angezeigt werden dürfen
- ? Bei den (zukünftig vielleicht mal von den Nutzern verschiebbaren) Darstellungsmodulen nicht nur deren Ecken abrunden, sondern auch die darin enthaltenen Buttons ? (Dann: Infos = eckig; Themen[Mini-Darstellung] = elliptisch, dotted >1px border)
- ? WIM-APP.com, .eu, .de, ... ?
- ? Das emex-Image pro Projekt einbauen und damit projektspezifische Schriftgrößen ermöglichen ?
- ? Sollte bei der Volltext-Suche eine parameterspezifische Angabe möglich sein?
<contains><TITLE>gesucht</TITLE><Heading>hier gesucht</Heading></contains> ? - ? Die Objekte sind mit Modulen so aufgebaut, dass die normale ModulSpec-Mimik weitestgehend genutzt werden kann. "wim:ModuleType" usw. sollte möglichst vermieden werden.
- ? Wie(?) sollte Objekt-Darstellungen Parameter übergeben werden ? Wie in der URL angebbar ? Ist "goto" ein Muster ? Aus "Objekten" "Subjekte" machen ???
- ? Ein ModuleSpec -Datensatz kann einen PreloadParams -Parameter enthalten, der Vorab-Meldungen für voraussichtlich benötigte Objektparameterwerte enthält. Ersetzt ggf. auch preloadParamsSpecs
- ? Anstelle des noLog-URL-Parameters den "private" -Modus der Browser abfragen ?
- ? Den Slider zur Relevanz vs. Aktualitäts-Einstellung in die vertikale rotieren (via HTML5-transform), damit die Beschriftung nicht so viel Platz verbraucht ?
- ? Ist ein :hover -Test möglich um (no-mouse-/) Touch-Screens zu erkennen? Ggf. einen Umschalter vorsehen.
- ? "Lese-Empfehlungen anderer Nutzer" am Ende jeder Info einfügen
>> Enthält Liste "erfolgreich" aufgerufener anderer Infos (laut Accounting) und Themen aus deren Umfeld - ? Bei den "Verhandlungen" zwischen eingebetteten Modulen und dem einbettenden Modul jeweils Min- und Max-Werte angeben. Dadurch könnte vermutlich das "nicht wieder größer werden" der eingebetteten Module verhindert werden.
- ? Die (runden) Kontext-Menu-Knöpfe (=?) der Module normalerweise halbtransparent darstellen und nur bei :hover intransparent ?
- ?=> Allen (zu besorgenden) Modulspezifikationen (etc.?) kann ein "Require"-Parameter mitgegeben werden, der Angaben über weitere vorab zu beschaffende Parameterwerte enthält?
- ? Optional die Infos in den vSlide-Listen per <details>-Mimik anzeigen lassen?
>> Der Titel-Klick ist nur für das Auf-/Zuklappen, per <mehr> kann dann die volle Info abgerufen werden.
>> Alternativ: Nach Aufruf-Klick die Preview wie ein Menü wieder zuklappen ?
>> Nutzer-einstellbar: Alle Infos immer gleich aufklappen etc. - ? Sollte es einen "Was nun?" -Knopf geben? Beim Klick werden die wichtigsten aktuell möglichen Aktionen angezeigt.
- Der "START"-Knopf der Projekt-Menüs bekommt Menüitems, sobald mehrere Projekte aktiv sind. Dadurch braucht man zB. keine Tab-Zeile zur Projekte-Umschaltung.
- ? Sollte bei den Bereichen, für die ein Kontext-Menü bereitsteht, bei :hover ein anklickbares [=?] -Symbol angezeigt werden, das beim Anklicken das Kontext-Menü anzeigt ?
+ Dann wird besser erkennbar, wo Kontext-Menüs warten.
+ Die rechte Maustaste wird nicht zwingend benötigt.
-- Implementierungs-Aufwand, Quellcode-Größe. - ? Sollten Steuerungs-Parameterwerte, Editier-Optionen, etc. als Klassen-Angabe in einem Parameterwert-"root"- <div> eingetragen werden können ? Z.B. "EDITOR-autoSourceFormating_2", "EDITOR-autoDetails_all", ... .
- ? Können (inzwischen) absolut positionierte HTML-Elemente etc. eine iFrame-Einbettung überlagern ? (Ggf. relevant bei Einbettung der Projekt-Darstellungen in einen iFrame als "Sandbox")
- Auf den Seiten von "dasGehirn.info" gibt es nicht nur inhaltlich interessantes zu entdecken!
- Erkennung, ob es sich um ein Mobil-Gerät handelt: Falls Fenster- und Bildschirmgröße gleich sind und der Bildschirm nicht allzu groß ist.
- "Installieren" einer WIM-Version im Client durch Freigabe des lokalen Speicherplatzes und Laden der Daten von dort - zum Sparen von Zeit und Datenübertragungsvolumen sowie offline arbeiten.-Qualität zu protokollieren ?
- ? Ist eine Statistik der Server-Reaktionszeiten realistisch machbar - um die Servicequalität zu protokollieren ?
- ? Einkürzen von Javascript-Namen und Strings: Beim Komprimieren der Scriptes eine Datei mit einer Konversionstabelle anlegen, die bei Bedarf nachgeladen werden kann. Sie erlaubt das "expandieren" der komprimierten Strings bzw. Namen.
- ? Offline-Betrieb, Geschwindigkeitssteigerung:
>> Sollte von der Startadresse nur eine simple Boot-Datei geladen werden, die ein großes Expire-Datum hat und in der Regel aus dem Browser-Cache geholt wird ?
>> Es muss dann explizit geprüft werden, ob die Datei noch aktuell ist und ggf. eine aktuelle Version vom Server geholt werden kann/muss ! - ? Einstellbares akustisches (oder anderes?) Signal bei Änderung der News-Liste ?
- ? Bei gescheitertem Login anzeigen, wie lang die aktuelle Sicherheits-Wartezeit bis zum nächsten erlaubten Login-Versuch ist (zur Information und Beruhigung der Nutzer) ?
- ? "organic computing", "Organische Programmierung"
- ? Für eine zoombare Kalender-Tagesdarstellung statt senkrechter Spalten eine (liegende) schraubenförmige Darstellung ?
? Für andere "zyklische" Darstellungen (Wochen- /Monats- /Jahresraster oder Produktversions-Zyklen oder ...) auch anwendbar? -
Zu Bedenken:
- -> Unter-Menüs bei breitem Bildschirm seitlich daneben platzieren, bei schmalem Bildschirm "zwischen" die Optionen einfügen ("aufklappen")
=> "Nebenher" zu erledigen:
- => Die WIM-App sollte möglichst vollständig offline genutzt werden können. Alle Dateien und Objektdaten sollten aus dem Cache geholt und zum endgültigen Abspeichern dort zwischengelagert werden können. Objektdaten sollten als "offline bereitzuhalten" gekennzeichnet werden können. Aktualisierte Daten der Objekte etc. werden zumindest im lokalen Speicher aktualisiert, nach Möglichkeit aber (ggf. nach OK der Nutzer) gleich angezeigt.
- => Für Blogs wird ein Ereignis- /Referenz-Zeitpunkt /-Zeitraum benötigt - nur ersatzweise wird dr Veröffentlichungszeitpunkt verwendet !
- => Die Panels können in einem SPACE normalerweise nicht explizit in ihrer Größe oder Position verändert werden. Nur wenn "PanelsResizeable" und/oder "PanelsMoveable" beim Space gesetzt sind und beim einzelnen Panel kein "NoResize" und/oder "NoMove" gesetzt ist, ist eine manuelle Größenänderung oder Platzänderung möglich.
=> Touch vs. Klick: In einer Info wird für Client-Programmierer etc. auf die Aspekte hingewiesen, die bei Programmierung und Layout zu beachten sind, damit sowohl Touch als auch Klick funktioniert. - => Auf Anforderung werden alle window.* -Variablen untersucht, ob sie versehentlich global verwendet wurden.
>> Weitere ähnliche Tests tbd. - => Bei den App- (Einstellungen +) Infos wird der Start-Zeitpunkt der Session angezeigt.
- => Sollte der Editor als "Bedienungstableau" unter der "editor"-Appearance des Objektes (analog Meta-Ansicht, ...) platziert werden ?
=> Sollte der Editor dazu in mehrere Abteilungen (Standard-Params, Relations, More-Params, All-Params, ...) aufgespalten werden - oder einfach nur als aufklappbare Unterabteilungen des Gesamt-Editors?
=> Die Editier-"Bedienungstableau" als "nachladbare" Slider oder "Tabs" innerhalb der Objektdarstellung realisieren ? - => Beim GROUP-Modul sind die slider-Anordnungen verfügbar.
>> Danach werden die slider bei den BOX-Modulen ausgemustert. - => Dialoge (Meldungen, ...) werden ordentlich dargestellt und gehandelt:
>> Neu eingetragene Dialoge werden in den sichtbaren Bereich gescrollt.
>> Reaktivierte /wiederaufgerufene Dialoge werden in den sichtbaren Bereich gescrollt.
>> Die Dialog-Texte enthalten ausreichend viele ­ -Zeichen für eine kompakte Darstellung.
>> Dialoge mit AutoCloseAt werden zum gewünschten Zeitpunkt automatisch entfernt
>> Alle Dialoge haben Kopfzeile (auch bei minimierter Darstellung sichtbar) und Rumpfbereich
>> Kopfzeile hat [x] -Knopf zum Löschen des Dialogs /der Meldung
>> Dialoge werden sauber aus dem System entfernt (Destruktor)
>> Dialoge haben eine korrekte Basisfarbe und beachten Farbvorgaben der Aufrufer
>> Je nach Art der Dialoge wird links in der Kopfzeile ein passendes Symbol für die Dialog-Art ( für "Info", "Warnung", ...) angezeigt
>> Am Ende des Rumpf-Textes wird ein Details-Hinweis angezeigt, wenn eine Info-ObjId (ggf. eine ModulSpec mit Parametern für den Objekt-Darstellungs-Aufruf?) mit weiterführenden Infos angegeben ist.
>> Dialoge können "zusammengeschoben" ("minimiert", nur Kopfzeile unüberlagert sichtbar) dargestellt werden. Beim Anklicken werden sie voll sichtbar. - => Nutzer können im WIM-Projekt ihre "Rolle" einstellen (normaler [x] Nutzer .. [x] Developer)
- => Zum einfacheren Aufrufen von Kontext Menüs sind [=?] -Knõpfe rechts oben in den entsprechenden Bereichen platziert.
- => "CLIENT"-Bezeichnung ausmustern und - meistens - durch "APP" ersetzen.
- => Nutzer können ihre "Rolle" einstellen (Normaler Nutzer, Redakteur, ...); Die Einstellung wird bei den Darstellungen berücksichtigt (CSS-Regeln).
- => Bei allen Editoren ist (unten drunter) ein "Alle geänderten Parameterwerte Speichern"-Knopf vorhanden.
- => Ein PERIODS -Modulator ist implementiert
- => Für CF ("CFtbd" oder in r254?) ist ein von ihr zu priorisierender "Wunschzettel" für generelle WIM-Wünsche sowie für solche im ZRM- bzw. MMMM-Kontext verfügbar. (Mittelfristig in tbd-Objekte umzuwandeln)
- => In den Projekt-Objekten sind StyleRefs- und ScriptRefs-Parameter eingeführt, die eine Liste von Objektparameterspezifikationen zum Nachladen von Scripten und CSS.Regelwerken enthalten
- => Namensregeln für Obj-Parameter: Alle Parameter, die jedes Objekt haben sollte, beginnen mit einem Großbuchstaben; alle Pflicht-Parameter werden ganz in Großbuchstaben notiert ?
- => In den Editoren wird automatisch der STATUS des Objektes angezeigt, damit Konvertierungsprobleme etc. gut bemerkt werden. Auch werden nicht im Editor dargestellte Parameter(namen) gelistet.
- => Entscheidern und anderen Interessensgruppen wird (auf den WIM-Seiten) eine (alphabetisch sortierte) "Feature-Liste" (in Art einer Themenwolke?) bereitgestellt, Per Klick erhalten sie detailliertere Infos zu den jeweiligen Features.
=> Dazu sollte die Themenwolken-Darstellung eine ObjektId-Liste mit einer Rubrikenliste als Steuerungsparameter verarbeiten können. - => Beim Editor wird bei einem Klick links direkt neben dem Editierbereich oder der Quelltext-Box so gescrollt, sodass der Parametername sichtbar wird. Möglichst unterstützt durch angezeigte Symbole bei ":hover".
- Doku: WMI-Modi: a) "desktop", b) "mini"(mobile/full-display), c) "simple" (bot), d) "rss", e) "atom".
- => Mit einem Umschalter zwischen "desktop"- und "mini"-Darstellungsmodus kann der Modulator "MODE" mit den Werten "desktop", "mini" (mobile), "simple" (bot), "rss" und "atom" umgeschaltet werden.
>> Die Historie etc. sollte möglichst erhalten bleiben.
>> Sollte der "mini"-Modus als Sub-Modus für "Unterfenster" innerhalb einer Projektdarstellung genutzt werden können ? Dann könnte ein kleiner "Ausflug" auf einem Nebenstrang gemacht werden, bei dessen Ende das "Mini-Modus-Fenster" gelöscht wird.
=> Das Handling der "Schiebetür-Mimik" ist fehlerfreier:
Siehe dazu im Extra-Beitrag.
=> Der Editor für Projekt-Objekte (und alle anderen Objektarten) ist rudimentär nutzbar.
=> Mit dem Editor können (im Prinzip ;-) sämtliche Objektarten bearbeitet werden:
Einschließlich den "undefinierten", die in einen gewünschten Objekttyp gewandelt und dann permanent gespeichert werden können.
Der EDITOR ist noch besser nutzbar:
=> Das Layout ist nutzerfreundlicher:
=> Der Editor hat ein übersichtlicheres Erscheinungsbild.
=> Die Bedienung des Editors ist einfacher
=> Die Bedienung des Editors ist einfacher
=> Mit dem Editor können sämtliche (relevanten) Objektparameter bearbeitet werden:
=> Die Objekt-Relevanzen können bearbeitet werden.
=> Die zeitliche Gültigkeit der Objekte kann bearbeitet werden.
=> Die zeitliche Gültigkeit der Objekte kann bearbeitet werden.
=> Beim Projekt-Objekt können die Listen der relevantesten Infos und Themen bearbeitet werden
§ Der Editor zeigt weniger Fehlverhalten:
=> Beim Anklicken des Editor-Kopfteils wird der Editor (nicht das Objekt) aufgerufen. Der Aufruf des Objektes ist anders möglich.
=> Der EDITOR ist (fehlerfreier und) nutzerfreundlicher:
§ Die von wim.event temporär eingefügten id-Attribute am Ende wieder entfernen §
Um- & Einzusortieren:
-
- Beim Editor für Obj vom Typ "undefined" (möglichst) alle vorhandenen Parameterwerte zum Bearbeiten erfassen und anzeigen.
Bei anderen Objekttypen einen "mehr Parameter"-Knopf für die Anzeige der restlichen Parameterwerte vorsehen. - Unten [Alles Speichern] und [Alles neu laden] -Knöpfe
- => Die Quelltext-Darstellungen werden nur noch optional und parameterspezifisch sichtbar gemacht:
=> Sollte die Darstellung als "1 Bereich mit Split-Bar" und Vergrößerungsmöglichkeit angezeigt werden. Mit der Splitbar kann der Anteil der "nice"- und Quelldaten-Darstellungen eingestellt werden. - => Die Parameterwert-Darstellungen sind normalerweise "zugeklappt" (Name der Eigenschaft plus erste Zeile) und werden bei Bedarf expandiert ?
- Die Größe der Editierfenster ist angepasster (automatisch? limitiert?).
- "grün": Geänderte Parameterwerte
- "blau": Gespeicherte geänderte Werte
- "rot": Inkorrekte Werte bei den Quellwert-Angaben (z. B. HTML-Syntax, ungültiges Datum, unbekanntes Objekt, ...)
=> Die Parameter-Editoren zu den verschiedenen Parameter-Datentypen sind nutzerfreundlicher:
Toolbar:
Für die wichtigsten "spezielleren" Editier-Aktionen steht eine Toolbar bereit (Fettdruck, Schrägschrift, Unterstreichung, optionaler Trennstrich, neue Liste /Art der Liste, Item-Art, Item-Symbol, Links, Überschriften/Absatz, Farbe, Hintergrundfarbe, ...); Newsletter-Datum /-Handling (z.B. Newsletter blockieren)
=> Der Editor für Textparameter ist nutzerfreundlicher:
- =>Es steht eine Toolbar für die gängigsten Aktionen zur Verfügung (fett, schräg, unterstrichen, shy-Einfügung, Item-Verschachtelungstiefe, ...)
- Dazu wird nach Schlüsselworten im Text der Info und mit den gefundenen Schlüsselworten/Schlüsselwortgruppen assoziierten Themen gesucht
- Dazu werden die Umfelder der bereits zugeordneten Themen analysiert
- Mit einem [Übernehmen] -Knopf können Vorschläge einzeln akzeptiert und danach neu gewichtet werden.
=> Das TEMPLATES-Handling für Objektparameter ist im Client in Betrieb.
...Verschieben von Darstellungen (Items) zwischen einbettenden SUBSPACE-Modulen:
Können neben dem Chrome auch bei den anderen Browsern XHTML-DOM-Elemente von der Einbettung in einem Element in ein anderes verschoben werden, ohne dass sich das Aussehen etc. ändert?
> Falls ja, dann die Subspace-Module mit View-ähnlicher Funktionalität ausstatten
> und Begrenzung der Darstellung auch den direkten Bereich des Subspaces aufheben, damit z.B. Objektdarstellungen gleitend zwischen den Subspaces verschoben werden können.
> Die Objektdarstellungen im BACK-Bereich dann durch den Browser zeilenartig machen lassen - kein position:absolute; Dafür aber einfaches Scrollen möglich.
> Die Modul-Steuerungsparameter müssen zwischen den einbettenden Modulen weitergereicht werden.
> Falls ja, dann die Subspace-Module mit View-ähnlicher Funktionalität ausstatten
> und Begrenzung der Darstellung auch den direkten Bereich des Subspaces aufheben, damit z.B. Objektdarstellungen gleitend zwischen den Subspaces verschoben werden können.
> Die Objektdarstellungen im BACK-Bereich dann durch den Browser zeilenartig machen lassen - kein position:absolute; Dafür aber einfaches Scrollen möglich.
> Die Modul-Steuerungsparameter müssen zwischen den einbettenden Modulen weitergereicht werden.
...
=> In den Logfiles tauchen keine "unerwarteten" Meldungen auf. (Dauer-Aufgabe!)
...
...
Unerwünschte Effekte und Zustände:
- §§§ Das Speichern von Parameterwerten in
oder erzeugt etliche Fehlermeldungen im biz-Logfile - §§§ Parameterwerte scheinen manchmal nicht im Client anzukommen, wenn sie noch nicht im Frontend-Server gespeichert sind.
- §§ Bei Änderungen der Rubrikzuordnungen werden projektfremde Rubriken geklaut
- §§ Beim Aktualisieren der Objektdaten auf dem Backend-Server werden neue Infos nicht in die latestPublished-Liste aufgenommen
- § Beim Speichern des geänderten Titels von SUko oder ZueQ (auf der ZRM-Seite) wird "permissionDenied" gemeldet. "getAccessRights" gibt anscheinend ein falsches Ergebnis zurück.
- § Wenn das 1. Client-Modul erst nach dem 2. Client-Modul fertig zur Darstellung fertig wird, wird es NICHT am Platz 1 eingeordnet !
- § Neu hinzugekommene Infos erscheinen nicht in der Liste der neuesten Infos (auch nicht bei Objekte aktualisieren)
> Alle Objekte in der alten DB prüfen, ob nach der neuesten Info noch neuere Infos hinzugekommen sind ? - => Im Backend-Server werden widersprüchliche Rubrikzuordnungen (Thema vs. Info vs. ...) angemeckert
- § Warum kann kein neuer Obertitel (etc. ?) gespeichert werden ?
- § Bei einem Daten-Update werden die Themen einer Info nicht wieder angezeigt.
- => Im Backend-Server werden alle Probleme bei der Konversion in das neue Datenformat unter dem Parameter STATUS als wimRecords in einer wimList notiert
- ...
Dringend benötigte "interne" technische Funktionalität:
- => Gültigkeits-Ende und -Beginn werden stets beachtet.
- => Wenn eine App eine zeit lang nicht mit dem Frontend-Server in Kontakt war (z.B. nicht aktiver Prozess, schlafen gelegter PC, Netzwerk-Störung, ...), muss sie ihre Daten synchronisieren, weil vom Server gesendete Daten verloren gegangen sein können.
- => Ein Record vom Typ "REF" kann oft alternativ zum direkten Datenwert eines Record-Parameters angegeben sein. Alle Werte-Abfragen achten darauf - und auf eventuell eingebaute Endlosschleifen.
- => Objekte aus Passiv-Rubriken (z. B. Archiv, Themen-Ideen, ....) werden nur mit speziellen Maßnahmen (und/oder Rechten) aufgelistet oder bei explizitem Aufruf angezeigt.
-
=> Es werden im neuen WIM (möglichst) keine Funktionen des alten WIM mehr verwendet:
- reconditionedObjData wird vom neuen WIM noch verwendet, um die alten Daten zu konvertieren
> Ein "Gegenstück" dazu wird zum Speichern geänderter Daten eingesetzt - Einzelne Überprüfungsroutinen werden noch in der Übergangszeit zum Zugriff auf alte DBs eingesetzt
- Der Code für das neue WIM-System ist klar von dem des alten Systems getrennt
- Nicht mehr benötigte Code-Teile des alten WIM werden entfernt
- Der verschlankte Server-Code sollte auch auf WIM1 in Betrieb gehen
- reconditionedObjData wird vom neuen WIM noch verwendet, um die alten Daten zu konvertieren
- => Für das Layout wird eine Flag und eine body-class gesetzt, wenn die Darstellung auf einem Nicht-Touch-Screen dargestellt wird.
> (Nicht-)Touch-Ermittlung über das Abhorchen von "mouseover"-Events möglich ? -
=> Die Papierkorb-Objekte werden gar nicht erst in die neue Datenbasis übertragen:
nicht existierende Objekte werden ordentlich behandelt (Objekttyp: "unknown").
> Ist es möglich, Referenzen auf nicht existierende Objekte gleich (oder im Nachgang) aus der neuen DB herauszuputzen? - => Auch im Frontend-Server ist die getData-Mimik vollständig abgelöst, damit beim Preload keine veralteten Daten mehr erwischt werden. Ect. .
- => Die Liste der aufgelaufenen Probleme kann in den Servern einfach und vollständig in WARNING- oder ERROR-Meldungen eingebaut und ausgegeben werden.
> Alle Requesthandler fangen alle Probleme ab, geben einen daraus abgeleiteten Status weiter und (meist) die Probleme (lokal) zu Protokoll. - => Die getObjRecord- und getUserPermissions- Funktionen im Backend-Server sind funktionsfähig und die Efforts-Abfrage damit geschützt.
-
=> Die <wim:a /> -Verlinkungen werden bei der Client-Darstellung automatisch konvertiert:
- Anmerkung: Quelldaten-Umwandlung im Backend-Server geht (derzeit noch) nicht, solange alte Systeme noch laufen. Das Editieren mit den neuen Systemen würde die (Quell-)Daten ruinieren !
- => Alle projektinternen Links ( <wim:a object="objId">...</wim:a> ) werden direkt bei der Umwandlung in das neue Datenformat ( ... ) konvertiert.
- => Externe Links ( <wim:a href="...">...</wim:a> ) werden in "normale" Links ( ... ) konvertiert. Diese können ggf. durch die Post-Transformation für ein Projekt durch Hinzufügen bzw. Ändern (mit Meckern) von target="_blank" entschärft werden.
- Andere Arten der wim:a -Nutzung müssen von manuell adaptiert werden - falls keine bessere Idee dafür kommt.
- Anmerkung: Quelldaten-Umwandlung im Backend-Server geht (derzeit noch) nicht, solange alte Systeme noch laufen. Das Editieren mit den neuen Systemen würde die (Quell-)Daten ruinieren !
- => Die wichtigsten (Nutzer- /Nutzungs-) Berechtigungen ("permissions", siehe z.B. beim edificia-Projektobjekt) sind definiert und implementiert.
> Sie können mit dem Projekt-Objekt-Editor bearbeitet werden. - => Listen mit Angaben wie
type="a"werden automatisch in XHTML-konforme CSS-Styleangaben wielist-style-type: lower-alpha;umgesetzt. - Der Zugriff auf sensitive Objekte und/oder Objekt-Parameter ist ausreichend absicherbar.
- Bei Menüs sind Text-Selektionen gesperrt.
Kürzere Reaktionszeiten, bessere Performance:
- Die Script-Dateien bei allen Projekten per Default alle vom WIM-Projekt laden, damit unnötige Transfers bei Projektaufruf-Wechsel vermieden werden.
>> Nur wenn das nicht klappt, die Dateien alternativ vom eigenen Frontend-Server holen damit kein single point of failure entsteht. - Auf dem Server sollten mehrere Script-Varianten als Dateien bereitstehen:
>> Per Default (/index.html) wird die komprimierte Script-Datei ohne Kommentare nachgeladen
>> Per /debug.html kann die unkomprimierte Script-Version mit Kommentaren nachgeladen werden
>> Per /compact.html kann eine kommentarfreie Script-Version nachgeladen werden - => Bei den Frontend-Servern gibt es verschiedene Scripts für verschiedene Aufgaben:
> index.html (bzw. debug.html oder compact.html): Senden der Boot-Seite, falls keine Objekt-Kennung als Query-Parameter angegeben ist;
>> Lädt simple Seite, falls Browser nicht fähig genug ist
>> Ansonsten: service.pl: Service für die XMLhttpRequest Aufrufe fähiger Browser
> simple.pl: Interne Umleitung durch .htaccess auf dieses Script bei Query-Angabe einer Objektkennung
>> Baut aus einer Rahmendatei und einer Objektspezifischen Datei die Ausgabedatei zusammen.
> unknown.pl: Falls eine Datei nicht gefunden wurde
> /rss/OOOO.xml: Mittels .htaccess-Vorbereitung umgeleitet
> /atom/OOOO.xml: analog RSS
> script.js: Standard-Script (komprimierte Version)
>> ? Wie können andere Varianten angesprochen werden ?
> style.css: Style-Definitionen, die für simple-Dateien benötigt werden
=> Umsetzung schrittweise, indem einzelne Funktionalitäten nach und nach zur eigenen Datei umgeswitched werden (möglichst sogar gleich auf PHP?). Z.B. erstmal die xmlHttpRequests, dann die Style-Datei, dann die nicht-gefunden-Aufrufe, usw. bis alles abgedeckt ist. - => Das periodische Abfrage des Clients nach Requests beim Frontend-Server wurde mit Hilfe von "Server-sent events" abgelöst.
- => Wo es geht, sind getElementById und getElementsByName durch querySelector oder querySelectorAll abgelöst
- .=> Bei Objektparameter-Spezifikationen ist generell eine indirekte Angabe möglich: z. B. "@.preloadObjParamSpecs" oder @zrm:.defaultTopicsCategories
- => Der XHTML-Quelltext kann "verdichtet" werden. Dabei werden nicht zur Darstellung benötigte Leerzeichen und -zeilen aus dem Quelltext entfernt. Vergl. Quelltext-Formatierung im Editor.
> Sollte das (irgendwann mal) automatisch per Default überall gemacht werden?
Robusteres Systemverhalten:
- ? Lohnt es sich, bei "allen" Funktionen, bei denen ein Parameter sowohl als String als auch als Array rein- und rausgegeben werden könnte, eine automatische Konversion wie bei normalizeObjParamSpecs anzubieten ? Mit einer generellen Kapselungs-Funktion? Das würde Fehlermöglichkeiten verringern.
- ? Sollten komplexere Aktionen zum Bearbeiten von Objektdaten (z.B. Volltextsuche-DB-Aktualisierung) vom Server in den Client verlagert werden, weil das Testen der Aktionen dort einfacher ist. Zurückspeichern geht nur mit ausreichend privilegiertem Login. Dafür können aber alle Arten von Operationen auch sämtlichen Datenquellen durchgeführt werden. Die Server rauchen dann fast keine besonderen Fertigkeiten mehr und Perl kann leichter ausgemustert werden. Im Prinzip kann ein PC den Server weitgehend ersetzen - ein "Server" "zu Hause" wird obsolet und die Kosten für gemietete Server lassen sich erheblich drosseln.
- => In den XSLT-Stylesheets sind alle "wim-xhtml" (etc.) durch "XHTML" (etc.) ersetzt.
- => Im CLient-Code sind alle Module und Funktionen in ihre zuständigen Dateien eingeordnet.
> Alle Browser-Anpassungen sind ebenfalls in die zuständigen Dateien einsortiert. - => Im Client werden alle Problem-Sammelmeldungen mit problemsToWimList($pc) erzeugt.
> problemsToWimRecord ist ausgemustert. - => Alle Programmabschnitte zum Zerlegen / Analysieren von Objektparameter-Spezifikationen sollten (zumindest im Client) auf eine einzige Mimik zurückgeführt werden, die von allen verwendet wird.
- => Die "fremden" Projekte laufen jeweils in iFrames und kommunizieren per Web Messaging (postMessage) mit dem Master-Projekt, Siehe auch zxUf.
- tbd: "Content Delivery Network" -Implementation ...
- => Durch Implementation von "Content Security Policy 1.0" die Sicherheit des Systems erhöhen.
=> Im Server möglichst ein "Gegenstück" dazu implementieren. - ...
Weiteres:
-
=> Es werden pro Projekt Listen passiver und assoziierter Themen- und Info-Rubriken geführt.
- => Themen aus assoziierten Listen werden nicht aktiv dargestellt, aber bei der Verfolgung von thematischen Assoziationen verwendet (Themen aus nichtassoziierten Rubriken werden nicht genutzt, da sie missbraucht werden könnten). Assoziierte Themen können von Admins leicht auch für das eigene Projekt übernommen werden. Externe Themen sollten leicht anders dargestellt werden, damit zumindest die Admins entscheiden können, dass da ein "Übernahmekandidat" vorhanden ist.
- => Auf Infos aus assoziierten Info-Rubriken kann (als "externe" Referenz) bei verwandten Infos optional verwiesen werden. Diese Verweise müssen als "extern" gekennzeichnet werden. Diese externen Infos werden auch für automatisch erstellte Vorschläge für Themenzuordnungen verwendet.
- => Alle href="#xxx" werden in href="#show=myId&go=xxx" umgeändert und die Labels dazu umbenannt
- => Per Knopfdruck werden (mit Hilfe des Servers?) alle Links des Beitrags geprüft
- => Die Anzahl der Themen und Infos, zu denen Daten vom Server nachgeladen wird, ist deutlich reduziert. Vor der Anforderung von weiteren Daten wird priorisiert und ggf. limitiert.
- => Analog zu den Infolisten bei Themen wird die Hinweiseliste zu Projekten kurz gehalten und mit einem [Mehr] -Knopf versehen - bzw. eine automatisierte Mehr-Funktion beim Scrollen eingeführt.
- § Wenn nach dem Aufruf eines Editors das Objekt aufgerufen wird, ist die Darstellung unvollständig.
- => Den Modulen werden nur dann geänderte Parameterwerte gemeldet, wenn sie sich auch wirklich geändert haben.
> Dabei dürfen Erstabfragen nicht verschütt gehen! - => Für das aufgerufene Projekt den Projektgruppen-Namen und die Liste der Preload-Parameter bereits im Script übergeben (und damit fast 1 Sekunde Wartezeit einsparen)
- => Volltextsuche-Abfrage und Menüs sind ordentlich implementiert. Kann man da von Wikipedia was lernen ?
- => Alle Standard-Parameter für das Layout von Internetpräsenzen sind im Objekt wimLib zusammengeführt (obj30- und Projekt-Parameter werden dorthin verschoben; obj30 wird ausgemustert)
> Der wimLib -Inhalt soll unmodifiziert auf alle Backend-Server kopiert werden können.
> Bei Bedarf können projektspezifische Parameter erstellt und verwendet werden - => Ein TOPICS -Modul ist für die Darstellung von Themenlisten (-Wolken, -Büschen, ...) zuständig.
> Die Themen werden bei Objekten als rechte Spalte (mit Splitter) dargestellt. Ggf. kann den Nutzern angeboten werden, mit welcher Platzierung die Themen versehen werden sollen (rechts, oben, links, unten, nirgendwo, ?) - ? Sollten analog zur Liste der neuesten Infos auch Listen der relevantesten Infos und Themen gehalten werden ?
? Auch "meistgelesen" etc. ? - => Die Infolisten der Themen und der Projektseite werden zur Verringerung der Reaktionszeiten häppchenweise erstellt. Zunächst werden nur eine handvoll Infos ermittelt und dann (schrittweise - oder beim Scrollen?) mehr.
=> Auch die Hinweise-Liste hat einen [Mehr] -Knopf (wie die Infos-List der Themen). - => Das "namedItems"-Objekt im Client ist ausgemustert bzw. durch idxRecord abgelöst
- => Die Setzen und die Änderung von HTML-Texten wird von einer zentralen Funktion durchgeführt.
> Dort wird auch die Nachtransformation und Nachbearbeitung gemacht.
> Bei Änderungen (z.B. wegen Werte-Änderungen) wird zunächst der alte Inhalt sanft ausgeblendet (damit fehlerhafte Klicks auf gerade verschwundene Inhalte reduziert werden) und dann der neue (etwas schneller) eingeblendet, - => Wird eine gekürzte Liste zurückgeliefert (more-Parameterwert angegeben), wird im more-Parameter die geschätzte Anzahl der nicht gelieferten Listenelemente angegeben.
> Bei der Listendarstellung wird ein Freiraum für die noch nicht dargestellten Infos ggelassen.
> Kann/soll beim Scrollen automatisch die [Mehr] -Funktionalität ausgelöst werden ? - => Die Eingangs- und Ausgangswerte möglichst aller BACKEND-Aktionen mit Objektelisten (associatedTopics, associatedInfos, ...) sind so gleichartig gestaltet, dass sie vielfältig hintereinander geschaltet aufgerufen werden können.
-
=> Die Software-Entwicklung nutzt die retired-, (actual-,) preview- und future-Entwicklungsstränge.
- => Bei den XSLT- und XHTML-Parameterwerten ist eine versions- und relase-abhängige Auswahl anzuwendender Stylesheets bzw. Texte (mittels Modulation?) möglich.
- => Die Speicherung server-interner Requests in den WIM-n -Dateien erfolgt versions-spezifisch.
> Releases bleiben unberücksichtigt.
> Neuere Versionen müssen immer mit älteren Request-Strukturen klarkommen - auch wenn die wim-Datei eigentlich fast immer leer sein sollten! - => Die Fallback-Kaskaden für die Perl-Bibliotheken sind nach neuestem Stand aufgesetzt
- => Bei den XSLT- und XHTML-Parameterwerten ist eine versions- und relase-abhängige Auswahl anzuwendender Stylesheets bzw. Texte (mittels Modulation?) möglich.
- => Die angezeigten Themen melden dem Projekt-Objekt, welche Infos sie anzeigen. Diese sollten in der Hinweise-Liste nicht nochmal aufgeführt werden.
-
=> Alle Objekt-Methoden, Subroutinen usw. sind in den Sourcecodes in alphabetischer Reihenfolge angeordnet.
- Wird aus irgendeinem Grunde davon abgewichen, steht dort ein Kommentar als Platzhalter mit Verweis auf die Quelle.
-
=> Die Nutzung von getObjParam und getObjParams ist im Frontend- und Backend-Server beendet.
- => Alle damit obsoleten Code-Teile sind aus der Server-Software entfernt.
- => Alle damit obsoleten Datenbasen (OBJ-DATA, OBJ-EVENTS, ?) sind entfernt.
- => Das class="expandable expanded" ist überall von der HTML5-Konstruktion <details><summary>... abgelöst ?
- => Die DATA_CACHE -Datenbank kann auf den Servern ausgemustert werden.
- => Die Split-Bars auf den Projektseiten sind nutzbar. Die Spaltenzahl ist wählbar.
- => Vor der Angabe in Links oder dem Rausschreiben geänderter Objekt-Parameter werden die Objektspezifikationen nach Möglichkeit nutzer- und datenmengenfreundlich eingekürzt.
> Umgekehrt werden alle Entnahmen von Objektparameterspezifikationen aus den Objektdaten, Nutzereingaben oder dem URL-Hash normalisiert. Bei der Verarbeitung im Client wird ausschließlich die normalisierte Form der Objekt- und Objektparamerter-Spezifikation verwendet und nicht bei jeder Routine überprüft.
> Ein Objektparameterspezifikations-Objekt einführen (liefert bei toString die Stringvariante)? - => Die Datenbasis-Aktualisierung mit dem Admin-Programm funktioniert auch auf Basis der Objektparameter-Abos zur Beschaffung der Objekt-Parameter wieder.
-
=> Beim Client und Frontend-Server kann ein Neuaufsetzen aller Objektparameter-Abos veranlasst werden.
- CLients können eine Weile offline gewesen sein (z. B. PC stromsparend abgeschaltet)
- Wegen Netzwerk-Störungen kann die Verbindung zum Server zu lange unterbrochen gewesen sein.
- => Die Datenbasen-Entrümpelung der funktioniert wieder besser.
- => Der Einsatz der problem(), WARNING() und ERROR() -Aufrufe in den Server-Scripts ist überall korrekt. Die WIM-Requesthandler und einige andere Programmabschnitte liefern unter allen Umständen ein formal korrektes Ergebnis zurück und sind im Prinzip die einzigen, die ggf. ERROR() -Einträge machen (siehe die Behandlung von unregulären Situationen).
- => Der Server-Code st soweit entrümpelt, dass er auch auf wim1 getestet (oder gar eingesetzt?) werden kann
- => Bei den Client-Script-Dateien wird nur ein minimaler Teil projektspezifisch gestaltet. alle anderen Script werden als simple Dateien bereitgestellt.
-
=> Die Adressierung der Server ist durchgehend vereinheitlicht:
- Bei der Adressierung werden Versions- und Release-Verzeichnis mit einbezogen.
- In der internen Adressierung wird kein http etc. angegeben. Dieses wird erst beim Versand ergänzt und dort individuell nachgetragen.
- Wenn noch keine konkrete einzelne Ziel-URL feststeht, wird eine allgemeine Adressierung wie "backend:csit" verwendet. Der Versender darf dann den am besten geeigneten Empfänger auswählen und ggf. alternative Urls verwenden, wenn eine Übertragung scheitert.
-
=> Die WIM-Dokumentation ist so gut, dass sie die anliegenden Aktivitäten effektiv unterstützt.
- Dazu sollte das Auf- und Zuklappen von (Text-) Abschnitten funktionieren.
- Dazu sollten Compound-Dokumente funktionieren.
- => Der Client-Code ist in BOOT-, FRONTEND-, COMMON-, BACKEND-, ADAPTER- und ???-Scripts aufgeteilt
-
=> Alle
wim.xxx-Funktionen, die sich auf die sichtbare Darstellung beziehen (und nicht vom BACKEND benutzt werden), sind als BOX-Methoden implementiert.- => Alle
wim.xxx-Funktionen, die nicht außerhalb eines Modul-Kontextes verwendet werden, sind als MODULE-Methoden implementiert. - => Alle Module sind als wim.XXXX -Methoden implementiert ? ? ?
- => Alle
- => Die Ablaufstrukturen der Server-Scripte sind gemäß Dokumentation implementiert. Obsoleter Code ist entfernt.
- Die PACKAGEs werden bei Bedarf mit STATUS -Angaben versehen, der bei allen Empfängern sauber gecheckt wird.
-
§ Problem bei:
%u2013 -> –- Wenn im Backend-Server die Unicode-Zeichen umgewandelt werden, löst das im Frontend(!)-Server ein wide "Wide character in subroutine entry at ..." -Problem aus.
- Als Workaround wird die Konversion erstmal im Client gemacht.
- Es können mehrere Objektparameter-Änderungen in einem Auftrag übergeben werden (VALUES enthält wimList statt wimRecord).
- Vom Objektparameter-Editor etc. geschickte Objektparameter-Werte werden überprüft, bevor sie gespeichert werden.
- Auf die Admin-Seiten gibt es einen Editor für die (Roh-Texte der) Datenbank-Einträge. Damit sind sämtliche DB-Inhalte änderbar - falls die nötige Berechtigung für solche höchst heiklen Aktionen vorhanden ist.
- => Die Frontend-Server melden die (jeweils verwendeten) Spezifikationen für Objektparametergruppen an die Clients und verwenden sie in ihren Datenübermittlungen.
- ...
- Passworte werden vom Client nur als Hashwert aus dem eingegebenen Passwort kombiniert mit dem Projektgrupen-Namen und einem Kennwert des Eingabegerätes ins Netz geschickt.
> Im Nutzerprofil müssen dazu Passworte für die verschiedenen erlaubten Geräte gespeichert werden
> Pro Nutzer wird die Anzahl der fehlerhaften Logins pro Zeitraum eingeschränkt (immer größere Pausen nach gescheiterten Logins ankündigen und einhalten) - ...
Offene Fragen:
- Die Objektparameter werden im Client normalerweise unmoduliert gespeichert. Abrufe der Daten vom Frontend-Server könnten mit Modulations-Angabe (Sprache!) erfolgen und müssen entsprechend gekennzeichnet im Client gespeichert werden. Bei Abruf der Werte mit anderer Modulation könnte das Ergebnis zur Modulation in einem separaten Datenbaum (mit Modulationsrecord als Schlüssel) gemerkt werden - oder ist das Aufgabe des Abrufenden ?
- Ist es machbar, vom Boot.html aus zunächst zu versuchen, ein lokales Script zu laden (falls es aktuell genug ist) und erst beim Scheitern auf den Server zuzugreifen ? Ließe sich der Client-Cache genereller im Client permanent(er) speichern ?
- Sollten "Untergliederungspunkte" (siehe zrm:WUVI) und ähnliche Konstrukte in .infoRefs einer Info umgewandelt werden.
- > Sollten Eltern-Referenzen als .infoBackRefs einer Info eingetragen werden ? Wie können sie dargestellt werden ? Themenähnlich mit ihren (Kurz-)Titeln ?
> infoRefs von Infos könnten analog zu Themen dargestellt werden (erstmal nicht expandierbar) - Macht es Sinn, die MODULE- und (BACKEND-) Vorgangs-Objekte auf eine gemeinsame Wurzel zu vereinen, weil sie irgendwie ähnliche Aktionen durchführen müssen? Auch wenn BACKEND sich in einem anderen Prozess abspielt?
- Kann man den Rechenzeitverbrauch beim Client herausbekommen (für Endlosschleifen-Test und Leistungs-Optimierung /Überlast-Vermeidung) ?
- Wie kann eine unvermixte Reihenfolge der Abarbeitung der Requests in den Servern erreicht werden, ohne Leistungseinbußen zu bekommen?
- Kann die Verwendung eines "dauerlaufenden" Prozesses zur Abarbeitung aller Requests hilfreich sein?
- Sollte $._ durch $[null] abgelöst werden ? Ist das mit allen Browsern kompatibel? In Perl $Request->$_undefined ?
- Rentiert es sich, bei den Perl-Bibliotheken für zumindest die Produktions-Bibliotheken bei den Dateien die Kommentare zu entfernen ?
Wiedervorlage: Erledigte(?) Vorgaben:
In 2013:
- => Die Einrückungstiefen der Listen sind auf ein erträgliches Maß gestutzt (Problem durch die "HTML-Standard"-Vorgaben).
- § Anscheinend werden per XMLhttpRequest die Daten nicht als UTF-8 geschickt §
- => Es werden ausschließlich die "test" -Releases der actual-, preview- und future-Versionen editiert.
- => Bei bereits mit einer alten Version betriebenen Internetpräsenzen kann hilfsweise die "update"-Version aufgerufen werden, um die neueste aktuelle Version zu testen.
- => Für Module und Vorgänge werden in den .$subscriptions und .$orders -Parametern alle laufenden Abos und beauftragten Vorgänge notiert, damit sie (bei .DESTROY etc.) automatisch entfernt werden können.
- => Die Nutzung von getObjParam und getObjParams im Client ist beendet.
- => Alle damit obsoleten Code-Teile sind aus der Client- Software entfernt.
- => Für "alle" Arten von Objekten wird ein Typ zugeordnet (unknown, project, topic, info, category, garbage)
- Die Aufwände-Liste kann nur nach Login mit ausreichender Berechtigung erstellt werden.
- => Die Objekt-Parameter werden auch bei/nach einer Aktualisierung der Objektdaten (durch den Admin, ...) im Backend-Server im ganzen System aktualisiert.
- => Die Listen der neuesten Infos (latestPublished und moreLatestPublished) sind effektiv einsetzbar (siehe Nutzerwünsche)
- => Bei allen noch verwendeten WIM-Versionen sind V27 - ..V30 -Klassen implementiert, die dafür sorgen, dass nur die für die verwendete Version betimmten Inhalte angezeigt werden.
-
=> Der Client-Quellcode ist in mehr Dateien aufgeteilt:
> COMMON: Alles, was sowohl im Frontend (incl. Editor) als auch im Backend gebraucht wird
> FRONTEND: Alles, was für die direkte Nutzerschnittstelle gebraucht wird.
> EDITOR: Der Script-Code für die Editoren - wird (später) nicht initial mitgeladen.
> BACKEND: Der in Backend (-Subprozessen) ausführbare Code - => Auf Anforderung kann im Texteditor der XHTML-Quellcode formatiert werden
- => Bei Nicht-Standard-Versionen des WIM-Systems <a rel="noreferrer"/> angeben.
> Auch bei Nutzerangabe ?options=noreferrer
-
Die <details><summary>...</summary>...</details> -Konstruktion ist eingeführt:
Grundstruktur:.
<details open="">
<summary>...</summary>
iuwpitupwirpuw (Das vorangehende summary-Element ist im Prinzip optional)
</details>
abgelöst.
> Für Browser, die das noch nicht implementieren, wird das Auf- und Zuklappen emuliert.
> Verfügbarkeits-Test: if(!('open' in document.createElement('details'))) alert("No details");
> Beim body die "no-details" -Klasse hinzufügen und Styles dazu aufsetzen
> Infos auch unter http://html5doctor.com/the-details-and-summary-elements/ - => Eine prettyprint-Funktion kann auf Knopfdruck XHTML-Quelltexte systematisch formatieren.
- Automatisch angepasstere Größe des Quelltext-Editors
- => Die Standard-CSS-Definitionen werden für alle Projekte (vorübergehend?) vom WIM-Projekt herangeschafft.
- => Bei <summary> wird für Folgezeilen padding und neg. text-indent genutzt.
- => Alle direkten Kinder des <details> -Elementes (außer <summary>) bekommen automatisch eine left-margin:1em;
- => Darstellungsabschnitte können beim EDITOR auf- und zugeklappt werden;
- => Strukturierte Listen - wie diese - können im EDITOR (besser) bearbeitet werden
- => Die owners-Liste kann im EDITOR bearbeitet werden.
In 2014
- => Bei INFOS-Listen gibt es eine Darstellungart aus Teaserbild und Kurztitel. Zur Bekämpfung der Textwüste.
- => Alle "moduleParams" sind in "ModuleSpec" umbenannt. Script-Code ist gesäubert.
- => Der BUILD-Parameter ist implementiert und kann z.B. bei Modulationen genutzt werden.
- ...
Themen hierzuAssciated topics:
Das könnte Sie auch interessierenFurther readings:
Offene Wünsche von Projektbetreibern bzw. Serviceanbietern
Was ist zur Realisierung vorgemerkt oder in der Diskussion ?
<2014-03-08>
WIM-Features und offene Wünsche aus Nutzersicht
Was bietet das WIM-System und was ist noch für mehr Zufriedenheit der Nutzer mit dem System zu tun ?
<2014-03-11>
Offene Wünsche von Autoren und Redakteuren
Was ist zur Realisierung vorgemerkt oder in der Diskussion ?
<2014-01-13>
Handlungsbedarfe für und Wünsche von Software-Entwicklern
Welche Punkte stehen als nächstes zur Bearbeitung an?
<2014-09-04>
Offene Wünsche von WIM-Admins und -Systemmanagern
Was ist zur Realisierung vorgemerkt oder in der Diskussion ?
<2013-08-19>
CSS3-Macken und Tipps
<2014-02-16>
🟠 Nutzungsfreundlichkeit bei openWIM
<2019-06-26>
➖ Nächste Schritte zur Ablösung des Legacy-Servers
<2019-05-06>
