rwth-iat / henson Goto Github PK
View Code? Open in Web Editor NEWA view onto an modern ACPLT/OV server
Home Page: http://rawgithub.com/acplt/henson/master/index.html
License: Artistic License 2.0
A view onto an modern ACPLT/OV server
Home Page: http://rawgithub.com/acplt/henson/master/index.html
License: Artistic License 2.0
Popup fenster sollte man per escape schließen können.
The table is ok, the tree is showing just the root node
Wenn kein KS-Server läuft, sollte es eine andere Meldung als "Something unexpected happend" geben :-)
Subj
Lösche ich ein Objekt per Mausmenü sollte der Baum aktualisiert werden, oder wenigstens dieser Eintrag direkt verschwinden. Jedenfalls wenn der delete erfolgreich war.
Henson sollte beim Öffnen direkt die Default-Sicht aufmachen - localhost, 7509, MANAGER, /
Nach einem nicht erfolgreichen
req.open('HEAD', 'http://' + app.serverConnection.getServerAddress() + ':' + app.serverConnection.getServerPort() + '/hmi/', false);
solltest du noch
req.open('HEAD', window.location.protocol + '//' + window.location.hostname + ':' + window.location.port + '/hmi/', false);
prüfen. Und dann natürlich je nach Erfolg den passenden Iframe laden.
Ist keiner der beiden Pfade erreichbar, wäre es sinnvoll den dann leeren cshmi Tab wieder zu schließen.
eine ewig lange liste:
/acplt/ov/object
/acplt/ov/domain
/acplt/fb/blabloe1
/acplt/fb/blabloe2
/acplt/fb/blabloe3
/acplt/ksbase/...
ist nicht so schön handlebar. Besser wäre es, wenn man eine zweistufige Liste hätte.
Also erst eine auswahl
/acplt/ov
/acplt/fb
/acplt/ksbase
und danach erst eine dropdownbox mit den Kindern der ausgewählten Lib.
Die Trennung kannst du einfach am letzten "/" machen.
In der css query .zen-forms-input-wrap
margin: 0px auto 0px 200px;
und dafür
max-width:640px;
raus.
Die Seite heißt aktuell:
"acplt Objektverwaltung"
und sollte IMO heißen
"ACPLT Objektverwaltung"
Wenn ich im Assoziation Fenster ein (erfolgreichen!) Unlink mache, sollte dieses offen bleiben (und aktualisiert werden) damit ich sofort weitere Links unlinken kann, wenn ich das möchte.
Ein instanziieren von
/acplt/ov/library
mit dem Namen der Bibliothek (zB "cshmi") läd eine Bibliothek.
Das ist aber nicht sonderlich intuitiv.
Am besten den Ort erfragen (/acplt oder /Libraries ist üblich, daher beides erlauben).
Klickt man auf
/acplt/ov/library.instance
so gibt es ein popup. Wenn ich dieses schließe, hab ich rechts wieder den alten fensterinhalt.
Den Inhalt wieder aufrufen kann ich nicht mehr indem ich wieder auf
/acplt/ov/library.instance
klicke. Ich muss erst woanders hinklicken, erst dann krieg ich das popup wieder auf.
Alternativ das popup entfernen und den inhalt rechts anzeigen.
Er springt wider zurück vom Datenview aufs Dashboard.
TBD
ist nicht wirklich schön
vielleicht "loading mit einer 2-Pfeilen Animation" neben dem "ACPLT Objektverwaltung" anzeigen? Oder die Zahnräder drehen lassen ;)
Compare to original Magellan, the button is used to select the 2nd object.
Wenn loading eingeblendet wird, springt die obere leiste etwas nach unten (ca 2px, firefox). Wäre gut, wenn loading noch einen 4-eck um sich hätte um noch bemerkbar zu sein.
http://www.html5rocks.com/de/tutorials/appcache/beginner/
Damit kann man das ganze sogar offline nutzen. Etwas sinnfrei, da man auf lange Sicht das ganze nicht mehr von github aus nutzen wird, aber schnelleres Laden schadet nie...
Wenn ich auf eine Assoziation klicke, kriege ich eine Liste aller Kinder/Väter. Dort sollte ich eine Möglichkeit haben, direkt neue Kinder zu verlinken.
Gibt es eigentlich noch einen Unterschied zwischen den knöpfen load und refresh? :-)
Im Opera seh ich sehr viele CSS Fehler. Unter anderem:
in der zenform datei:
*text-indent: -9999px;
normalize.css
_font-family
*vertical-align
*overflow
*height
*width
*text-indent
*zoom
bootstrap.css
*overflow
padding-right:4px \9;
(wo auch immer die 9 da herkommt, die gibts aber öfter)
Mit Hilfe von http://caniuse.com/namevalue-storage (wenn verfügbar) kann man den Servernamen speichern. Beim nächsten Laden kann man dann diesen wieder direkt kontaktieren (siehe #13).
Evtl auch in diesem storage eine Liste der letzten 5 kontaktierten Server speichern und in einer host drop-down (wie den server) wieder anbieten.
Bei einem getEP liefert der http server bei variablen (und nicht bei objekten) auch die Techunit (also physikalische Einheit wie Sekunde oder Grad Celsius). Kann dieser Wert im getEP cache gespeichert werden und dann in der Variablenanzeige angezeigt werden (readonly)?
Mach der Magellan auch so. Er zeigt auch noch aus dem getep cache an: den access, comment, creationtime, semantic
Bei instanciate sollte "Resource Locator" in zwei Eingabefelder aufgeteilt werden. Einmal der Pfad (dieser sollte vorausgefüllt sein) und der neue Name (am besten direkt mit autofocus. Den Pfad will man ja selten ändern.
The plugin does not behave as it should, yet.
z. B. rename
Wenn man in einem OV_STRING längere Texte hat, dann wäre es gut, wenn man das Fenster größer machen könnte.
Alternativ ein Knopf: "edit in new window"
// check plugins
var currentClass = dataDomain.getElementsByTagName('path')[0].textContent,
baseClass = '';
if (dataBaseClass != null) {
baseClass = dataBaseClass.getElementsByTagName('string')[0].textContent;
}
dataBaseClass war immer null bei mir -> CSHMI plugin löst nie aus
Alle Popup fenster sollten einen besseren titel haben.
Ein Assoziationsfenster sollte dort zum beispiel den vollen pfad statt "References" stehen haben. So kann man zum Beispiel "/acplt/ov/library.instance" besser ins clipboard kopieren.
Die Liste der Variablen (und Links) sollte eine Möglichkeit bieten, die Werte direkt in einer extra Spalte anzuzeigen.
Die Requirements sollten asynchron möglich sein. Das ist bei Netzwerkzugriffen wichtig.
Der Name des sheets ist nicht immer konstant, daher direkt das template aufrufen.
http://rawgithub.com/Stasik0/henson/master/index.html#lul/MANAGER/Cons
-> host springt aus "localhost"
Baum sollte geleert werden, wenn man load drückt. Sonst weiss ich nicht intuitiv, ob ich den neuen oder alten server sehe. Das ist akut, wenn ich einen nicht vorhandenen host (zB "hallo") kontaktiere.
Beim Rename würde ich auch gerne ein Feld für den (neuen?) Namen und ein Feld mit dem (neuen?) Pfad haben. Der Pfad solllte auch per Baumsuche (initial auf dem aktuellen) auswählbar sein.
Alle Variablen haben einen Zeilenumbruch am Ende.
SINGLE Werte zum Beispiel:
"500
"
Auch bei Vektoren ist am Ende einer zuviel.
Instantiaton über Rechtsklick lässt den Inhalt des aktuellen Baumknotens doppelt erscheinen, ein Refresh hilft.
Außerdem springt die Ansicht bei mir auf /acplt zurück.
Testen kannst du es, indem du unter /TechUnits Objekte z.B. vom Typ Domain anlegst.
Sonst kann ein plug-in immer nur auf eine Klasse matchen.
Fb view sollte aber auf
Ov domain und fb functionshart geöffnet werden.
einfach mehrfach auf die Gruppe gehen
Instead of asking for port, do the following procedure
es sollte also der Pfad zum aktuellen Objekt eingetragen werden
It is not yet clear what happens if the user leaves the object where a plugin was activated. I suggest two behaviors:
the second type will allow plugins to continue execution while not in focus
wenn ich z. Zt. einen nicht existierenden Serverhost eingebe ist es nicht klar wann eine Fehlermeldung kommt.. kann man die Timeouts auf 5 Sek festlegen oder so?
Denn der Request
Application.prototype.getServer und
Application.prototype.getInstantiable
und andere benötigen nur OT_DOMAIN, statt OT_ANY.
Das Problem ist, dass das neue OV bei allen Objekten (also auch /servers) .objectclass zusätzlich hat. Dieses wird nur bei OT_ANY oder OT_VARIABLE geliefert, nicht bei OT_DOMAIN.
der getServers liefert also fehlerhaft noch einen server "objectclass" neben dem "MANAGER". Alternativ kann dein drawServer natürlich prüfen, ob dein "identifier" unterhalb von einem "DomainEngProps" und nicht "LinkEngProps" liegt.
Der Server antwortet mit 400 (bad parameter : unknown Vartype).
Request:
http://localhost:7509/setVar?path[0]=/Tasks/UrTask.cyctime&format=ksx&newvalue=1.12&vartype=KS_VT_TIMESPAN
KSHttp erwartet "KS_VT_TIME_SPAN" statt "KS_VT_TIME_SPAN".
Das Problem tritt hier auf.
https://github.com/acplt/henson/blob/934cf2dbd81a6922a2e4acba2ee8f0cb330a9a45/js/Application.js#L727
Hier ein möglicher fix:
newVartype: "KS_VT_" + $("#modal-variable #variable-data-type").val().toUpperCase().replace("VEC", "_VEC").replace("TIMESPAN", "TIME_SPAN")
Bin mir aber nicht sicher, ob das eine vernünftige Lösung ist.
Wenn man Variablen betrachtet
Kann man die vertikale Grenze "ziehbar" machen?
http://rawgithub.com/Stasik0/henson/master/index.html#localhost/TechUnits/acplt
danach auf "ACPLT Objektverwaltung" klicken
URL wird zu
http://rawgithub.com/Stasik0/henson/master/index.html#localhost/undefined/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.