magavdraakon / i-tee Goto Github PK
View Code? Open in Web Editor NEWVirtual laboratory
Virtual laboratory
There is an idea to enlarge the button used for changing labs. Currently still several students do not find current small > sign.
There is an idea to create tutorials site, e.g. using current GitHub repository wiki page. There would be good to collect all tutorials, manuals, etc documents that are appropriate of I-Tee.
When labs choices are changed then somewhere in the i-tee web interface corner would be appear dynamically appropriate announcement about added, removed labs. Could be solved also as pop-up but should be configurable through preferences. Then the student knows about new labs and can refresh tehe view in order to access these new labs. Currently there should be announced in other ways in order to announce about new labs and this could cause unnecessary waiting which could be used for lab activities, especially in case when lab access time is limited.
When starting lab, webpage will be refreshed. Whenever the lab description is a bit longer, refreshing the page brings the first part of that. Scrolling to the end for copying the remote management link is quite annoying.
The idea would be to bring the list of VMs to top of page so refreshing would NOT raise the need of scrolling page to the end. Yes, there is an end key on keyboard but you should then also make a click on website in order to activate it to ensure the end key will work there.
the idea is to change the wording in lab settings "Virtual machines in this lab" from "primary" to "open in browser automatically". The question is whether there would be possible to start multiple VMs with flag to start automatically also in web browser
Sometimes students will delete a router public key from /root/.ssh/authorized_keys file. Here would be a proposal to create the CRON job to ensure the key will be copied back once it is deleted to ensure the router can check the progress in server. This applies to all learning spaces using vTA.
There is an idea to automatically create snapshots whenever the are not yet created. The last check would be when "Start lab" button is pressed - if then still there are no snapshots then they would be created automatically from all VMs involved into lab. There could be e.g. checkmark (e.g. "create snapshot automatically") when creating a lab that is default checked but for future needs there is possibility to also uncheck it - e.g. if template is still yet updated snapshots are created later manually). The last check would be when "Start lab" button is pressed.
Display i-tee version number for administrators.
There have been some issues especially in MS Windows with too high resolution, layout rendering, etc.
One idea would be to offer in case of MS Windows and macOS also the FreeRDP link at lab where RDP links are generated. In case of Linux there is xfreerdp link which could be apply also in case of macOS. In case of MS Windows there should be wfreerdp link, which is almost same, just first letter should be replaced. This in turn requires the FreeRDP to be installed in machines - it would be good to mention, e.g. with footnote that whenever needed, from http://www.freerdp.com/ there is possible to download, install the FreeRDP. Announcing to partner IT managers about FreeRDP installation requirement on classroom computers would be also appreciated. Prebuilt binaries are here https://github.com/FreeRDP/FreeRDP/wiki/PreBuilds
E.g. in case of MS Windows there is suggested to take
https://www.cloudbase.it/downloads/wfreerdp_nightly_build.zip as it would be newer 2.x and more nowadays version than old 1.x one. After unpacking and copying the wfreerdp.exe to %systemroot%\System32\
folder there would be enough to have ability use almost same command like under Linux is xfreerdp - just replace "x" with "w" in the beginning - wfreerdp:
cmd wfreerdp --plugin cliprdr -g 90% -u username -p password server.itcollege.ee:xxxx
powershell .\wfreerdp --plugin cliprdr -g 90% -u username -p password server.itcollege.ee:xxxx
Also macOS is using old CoRD (last release 2012 https://sourceforge.net/projects/cord/files/cord/) by default and FreeRDP would be also here a good improvement. Here would be even easier as the same xfreerdp command from Linux applies here too.
In GNU/Linux there is since Ubuntu 17.10 available the package freerdp2-x11
. For older Ubuntu versions there is Styrion repository for FreeRDP 2.x versions or also freerdp-x11
package (which is v1.x) can be used.
Hey sir I managed to install successfully the platform but I can't access the dashboard due to lack of login credentials. I tried to look into users table from database(MySQL) but no initial user in it. any help will be highly appreciated!!!.
If the auto-generated server passwords (pwd) contain a dash character (-
), the auto-generated connection strings like Linux (rdesktop) and Linux (xfreerdp) does not work, probably because the CLIs think it is another parameter.
My system:
Possible solutions are:
The news in Estonian is here - http://makerfairetartu.ee/?p=301
It says that at 20th September 2015 there will be next event at Tartu's Science Park AHHAA about self-made projects. For registering write an e-mail to [email protected] or register directly at: https://goo.gl/qYgwjW
There is an idea to create automated check library - bash commands library to check certain task.
E.g.:
task: create a user with password, shell, home folder
check: there is needed to check 4 things: whether the user has been created with required name, shell, home folder and password.
There would be brainstorming needed to map all the administrative tasks in Linux and create checks in bash for them which is common shell nowadays Linux. Certainly there are other shells as well whether they would be used by Linux distros in teaching.
Actually there is needed to change the checking command in appropriate script. The library could be a collection of these checks that could be e.g. easily browseable through web interface.
Update installation guide to support ruby2.2
In case of lab management there could be suspend state for user in addition for current add, remove feature. Then teacher could assess the lab but student cannot access. This would be useful when teacher would like to limit the time by accessing lab e.g. in case of test, exam. Currently when removing the user, also lab will be destroyed and cannot be used in case of later assessment.
There is an idea to limit lab access via scheduled task. This means when lab will be opened and closed for users. Announcement about lab existance could be done through used LMS (Learning Management System). Such feature would be appreciated in case of test, exam and similar where limiting access time would be needed. Users could even see the lab but not access outside limited time. This means that the user state suspended would be used once it has been implemented. Seeing the lab would not be important in case of suspend state - whatever solution would be better in order to achieve access limitation.
There have been issues with keyboard layout, e.g. cannot insert certain characters etc. It would be nice to have at least certain keyboard layouts (Estonian, English, Russian) choices available in i-tee web interface where the remote access link is generated. This choice could be also optional so everyone can choose whether to use it or not.
Solution for Linux
In Linux would be solutions in case of Estonian keyboard:
rdesktop -u<user> -p<password> -k et -N -a16 <server>:<port>
xfreerdp --plugin cliprdr -g 90% -u<user> -p<password> -kbd 0x00000425 <server>:<port>
Not tested whether the keyboard issue persist also in MS Windows, macOS but at least in Linux it exist.
Keyboard layouts can be seen:
Autodetection
There is sometimes lucky situation where rdesktop or xfreerdp autodetects the same keyboard layout as desktop user but in several cases this automatic keyboard detection does not work and choosing manually is still required.
Manage users -> Add users by lab
There is a proposal to add into the CSV section below:
By adding users more than ~50 via .csv file, the following CookieOverflow error log while debugging with docker logs i-tee -f --tail 10:
App 162 stdout: ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow): App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/cookies.rb:305:in
[]='
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/session/cookie_store.rb:64:in set_cookie' App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:335:in
commit_session'
App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:211:in context' App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:205:in
call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/cookies.rb:341:in call' App 162 stdout: activerecord (3.2.22) lib/active_record/query_cache.rb:64:in
call'
App 162 stdout: activerecord (3.2.22) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/callbacks.rb:28:in
block in call'
App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:405:in _run__3993529084248354613__call__1056957851308586954__callbacks' App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:405:in
__run_callback'
App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:385:in _run_call_callbacks' App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:81:in
run_callbacks'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/callbacks.rb:27:in call' App 162 stdout: rack (1.4.7) lib/rack/sendfile.rb:102:in
call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/remote_ip.rb:31:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/debug_exceptions.rb:16:in
call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' App 162 stdout: railties (3.2.22) lib/rails/rack/logger.rb:32:in
call_app'
App 162 stdout: railties (3.2.22) lib/rails/rack/logger.rb:18:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/request_id.rb:22:in
call'
App 162 stdout: rack (1.4.7) lib/rack/methodoverride.rb:21:in call' App 162 stdout: rack (1.4.7) lib/rack/runtime.rb:17:in
call'
App 162 stdout: activesupport (3.2.22) lib/active_support/cache/strategy/local_cache.rb:72:in call' App 162 stdout: rack (1.4.7) lib/rack/lock.rb:15:in
call'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:140:in forward' App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:147:in
pass'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:159:in invalidate' App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:74:in
call!'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:51:in call' App 162 stdout: railties (3.2.22) lib/rails/engine.rb:484:in
call'
App 162 stdout: railties (3.2.22) lib/rails/application.rb:231:in call' App 162 stdout: railties (3.2.22) lib/rails/railtie/configurable.rb:30:in
method_missing'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:in process_request' App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:160:in
accept_and_process_next_request'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:in main_loop' App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler.rb:416:in
block (3 levels) in start_threads'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/utils.rb:113:in block in create_thread_and_abort_on_exception'
It would be good to have convenient way to copy-paste from-to virtual machines. Possibly using ssh-proxy if directly not possible. Then a short tutorial would be appreciated how to set up the ssh-proxy for certain virtual machines (e.g. all VMs among one teacher labs or similar, possibly better solution). Whether it would be possible directly - also tutorial would be appreciated.
Here would be proposal to change the check file location:
/tmp/checkfile -> /var/tmp/checkfile
This will affect those checks that depend on previous step, e.g. SSH login, etc. Once the server has been shut down by script, the check file will be deleted and other depending checks won't work even the check mark is already green. This applies to all learning spaces using vTA.
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.