kerio / android-dashboard Goto Github PK
View Code? Open in Web Editor NEWSimple application for monitoring Kerio products on Android
Simple application for monitoring Kerio products on Android
We now supports only Kerio Control, so, Server Type can be hidden, or at least, other products should be removed
It now looks like the program has frozen while the data are downloaded from server. It is quite common habit to display rotating wheel. There is already animation for it. So it is just a matter of using it.
This is caused by the fact that webadmin's dashboard combines several values to obtain some value. This is internal knowledge and thus this bug can only be solved by Control developers.
System Status / Intrusion Prevention reports 'Working properly' in spite of disabled IPS (original web admin dashboard reports 'Disabled' as expected.) Other statuses does not match the web based dashboard as well (e.g. System Status -> Antivirs, License info-> Antivirus etc.). The application logic from web admin code was not implemented in the mobile app.
The System tile displays 'Linux' instead of Control box series and actual box serial number when a Control box is added to the app. It works well in web based dashboard.
Handlers in all Tiles have very high potential to be generalized and thus code duplicity to be avoided. Hint Templates and design pattern template method.
Currently our highest target API version is 17, but 19 is already out.
When working on small display (e.g. landscape orientation), elements in settings cannot be filled
Indication that dashboard is still working and is not stuck... Some (about 1 sec long) indication, that new data was successfully received and no problem was encountered.
Notifications are not visible, neither 'info', 'warning' or 'error' severity. But on some other devices they are OK.
Next notification problem si that they sometimes dissappear from dashboard screen after reload.
This is reported from device Nexus 10 with Android 4.3 (kernel 3.4.39-g446c9cf) build JWR66Y
Default dashboard configuration is rendered incorrectly - half of tiles is missing untiul admin reconfigures the web based dashboard content.
This is combined issue. It requires bit refactoing on Autotest's JSON api client so it is not so tightened to to Jabsorb and thus Jabsorb can be interchanged for Android's Json-java maping. Then we can our json-api-client together with objects generated by IDL4JSON. This approach is clean and sustainable. Also it is necessary for API versioning which will be sooner or later necessary.
According to the Config log the app opens many web admin sessions without closing them. It seems they are closed by timing out. Every reload creates a new web admin sesion.
This can induce problems with missing/disappearing notifications or slow loading.
There are plenty of TODO across all the code. I also saw some deprecation warnings. Those should be also resolved.
Top Active Hosts tile layout is slightly corrupted by logged-in user. It's optimized for situation when no user is logged on that host.
Change approach so function setData(Object data) is either particular or the data passing is completely different. One possibility is to use Templates from Tile, but com.kerio.dashboard.gui.tiles.Frame composition must be resolved somehow.
For now, every tile sends its own requests via apiclient (which can handle only one request at a time) which couses delays AND redundancy of requested data (two tiles wants the same data, but each of them has to request them itself)
Possible solution would be an object, which will send one batch of requests and store the data and tiles would access the data in there.
Current implementation uses trustmanagement that accepts any certificate, which allows man in the middle attack. Propper verification is necessary. Also possibility to add an exception is needed. Finaly it'd be nice if such an exception could be removed.
Remove typedef com.kerio.dashboard.gui.tiles.TextTile.Pairs and use propper typing such as Map<K,V> and instantiation like HashMap<K,V>.
When you turn the Android from horizontal to vertical orientation (or vice versa), the dashboard reloads all data from Kerio Control, which is wrong.
Implement tile that reports status of antivirus on monitored server.
Password for server is most probably stored in plain text. There must be system function that will provide password protection using some encryption. Password for firewall is really sensitive information and thus must be protected.
It is now quite dangerous to edit server settings, because if you accidentally hit delete button, server is immediately removed. The delete button is right above OK and cancel buttons. Enough efficient solution is to insert message box with YES/NO buttons after clicking the delete button.
Some kind of indication, that tile is waiting for data and is not stuck
Warning "Handler class should be static or leaks might occur" is at each of our handlers. Either research suggested static instantiation or review that no leaks can occur.
High CPU usage when the app is in backgrond - 5% on Dual-core A15 CPU (Google Nexus 10). We would be a baterry killer app.
It'd be nice to be able to access settings menu from all screens (activities), not only from the main screen (main activity).
When no chart is present in the Dashboard, other tiles have incorrect width.
There are about 10 sessions per minute during one logical session of using dashboard. This should be reduced to same amount as web administration console produces.
Somwhere we use 2D arrays of strings, somwhere there are trivial classes. Decide the approach and use it across all tiles.
Inaccessible host has 'red dot' icon, accessible host is indicated by 'green dot' icon, but accessible host with untrusted certificate has strange 'white triangle on white background' icon.
Default system icon is white, so cusotm icon shall be used.
Top Active Hosts data does not update in realtime (it works in other tiles).
VPN Info data does not update in realtime (it works in other tiles).
This is matter of connection handling and particular updater.
Do not spread attributes across file. Obey Java coding standards.
The Connectivity tile displays only Enternet links. Standalone PPP interfaces are not visible.
Implement mechanism for downloading, parsing, caching and using localizations from web admin for notification. It is stored in JSON in webadmin and can be easily parsed into object, which can be reduced and cached in persistent memory for further use. First and last row of downloaded file must be ommitted, because it is part of bigger javascript (not JSON), but it is not a big deal.
It seems, that all Tiles are refreshed even after ServerActivity is stopped.
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.