camilosampedro / aton Goto Github PK
View Code? Open in Web Editor NEWOpen web computer laboratory administrator
Home Page: http://camilosampedro.github.io/Aton
License: GNU General Public License v3.0
Open web computer laboratory administrator
Home Page: http://camilosampedro.github.io/Aton
License: GNU General Public License v3.0
Write a wiki entry for installation guides on Linux and Windows.
Add a button on views.roomPanel.scala.html
that open a modal window to enter the user that will be blocked and two Confirm-Cancel buttons.
@messages("resource")
, on which resource
is located on /conf/messages.*
).Inside login.service.ts
, after a correct login, check the existence of PLAY2AUTH
cookie.
Actually it is getting the cookie and it is sending it to the server automatically as a default browser behavior, but the Angular2 code doesn't correctly know that it is logged in, it is only being checked that the response is a 200 and saving a token with localStorage
.
Do a workaround to execute sudo commands sending the password again.
On controllers.LaboratoryController
add a method getAll
that returns all laboratory as a single JSON list.
Existing LaboratoryService should be used for obtaining the Laboratory list.
This might be a migration from the controllers.api.LaboratoryController.listAll
method that will be deleted soon.
If someone there knows Portuguese, it would be very nice and useful to translate some Aton Strings on Aton Transifex project.
Create controllers.admin.UserController
on which it can be posible to:
Use play-ng2-webpack2
template to have back end and front end in different folders and be able to develop them independently.
One of the reasons for this is to not depend on sbt
for managing the npm
packages as it is done at this time.
When showing roomPanel.scala.html
view, rooms should be sorted by its name. This can be achieved with the services.impl.LaboratoryServiceImpl.get(id: Long)
method.
While left menu does, main content does not fit on the browser size, so it gets a weird looking.
I will be updating this issue to include screenshots.
Users' passwords are not encrypted in the database and might be a problem if someone gets into it.
To achieve this it is needed to change the column type in /conf/default/create.sql
and also change the login service to encrypt the user's input to match the one stored in the database.
On services.exec.SSHFunction
add a command that block a user from login on that computer.
It should be a single line String and it would be very useful to have comments on what is returned when executed, also if it depends on something that need to be checked before executing it (For example Linux distribution or login application).
Create an about page, adding a link to this repository.
Look for mac in a single ssh session. Execute all the mac commands until there's a result before closing the SSH session.
It seems that the project website linked in the repository (http://camilosampedro.me/Aton) doesn't point anywhere.
The existing tests under test
folder are not being recognized by sbt
or activator
. The idea of this issue is to create a single unit test that can be recognized and create the other unit tests based on that working unit test.
Unit tests are required for building a stable and proven application.
Thank you!
Add a docker configuration inside .travis.yml
file.
The requirements are:
create.sql
before test execution.Thank you very much beforehand! 😄
add
methods from Ok
(200
) to Created
(201
)edit
methods from Ok
(200
) to Accepted
(202
)All controllers can be found here.
Implement the method showForComputer(computer: Computer)
.
It will be used to show the modal to send a message to a single computer and be very similar to the case for showForSelected(computers: Computer[])
, with the difference that showForComputer
should not display a computers selection because it would be just a computer.
Add a controller method on controllers.admin.RoomController
that receives a username
and a room
and proceeds to block a that username
from that room
.
On services.exec.SSHFunction
add a command that block the computer from accessing internet. The target is to block browser's internet access (:earth_americas: Mozilla Firefox or Google Chrome mainly), but it is really important to not block the SSH port, because it is the way that it should be reverted.
It should be a single line String and it would be very useful to have comments on what is returned when executed, also if it depends on something that need to be checked before executing it (For example Linux distribution or login application).
If possible, include also the revert command for making internet accessible again.
If someone there knows Japanese, it would be very nice and useful to translate some Aton Strings on Aton Transifex project.
If someone there knows German, it would be very nice and useful to translate some Aton Strings on Aton Transifex project.
Add button in views.computerPanel.scala.html
In the angular-frontend
branch it is being created an Angular2 front-end (TypeScript).
For client side performance it is preferred to transpile TypeScripts server-side instead of compiling client-side. The idea is to provide a single JavaScript main.js
transpilation of those TypeScript.
Some help can be found in the play-angular2-typescript
project/template.
Beforehand, thank you very much.
Some links from 📝README.md
point to the old repository ProjectAton/AtonLab
and should be changed to this repository: camilosampedro/Aton
.
Create a way to store some customized commands that can be sent to the computers.
I have two ideas for doing this:
typesafehub/config
(already available dependency) to have a conf
file with commands. It is pretty clean but usually it is not intended for things that change during runtime, as it only reads and cache the config at startup.Some considerations:
shutdown -h now
) as maybe it will never come.Add compilation guide wiki pages for compiling in:
Ubuntu
/ Debian
RHEL
Windows
Inside the LaboratoryComponent add a "delete room" button. The things to consider are:
[DELETE] api/room/:roomId
.Create a UserDAO to perform all User operations against the database.
It must include a interface and implementation with:
It can easily be done based on other DAOs.
Now that it is possible to build any node.js
under ui
folder, we will take a challenge for anyone that is interested as Angular2 with angular-cli
is failing:
react
that runs with sbt run
.vue.js
that runs with sbt run
.angular2
project located under `ui folder.sbt run
is actually running npm install
and npm build
under ui
.
Don't hesitate to comment if you need more information about this.
Create a unit test for controllers.LaboratoryController
controller. It might be pretty similar to ComputerControllerSpec
:
Don't worry if you don't know something about the functionality of this class, it will be a pleasure to me to answer your questions.
Create Chocolatey equivalents for functions like:
sudo apt-get install -y <package(s)>
To start making Aton compatible with Windows.
They need to be placed on services.exec.SSHFunctions
.
Due to its install complexity, it is required to have a embedded database. The actual options are HSQLDB
and H2
, between which the "faster" is H2
.
This issue just attempt to configure H2 within the application (Not the SQL script).
All table configurations are located inside model.table
package.
It is not showing in views.computerPanel.scala.html
If someone there knows Italian, it would be very nice and useful to translate some Aton Strings on Aton Transifex project.
Inside UI folder there are two main problems:
Build
Deployment
Build:
Deployment:
In the angular-frontend
branch it is being created an Angular2 front-end (TypeScript).
Angular was used because it is better to provide "simple and concise" information from the server instead of a whole html
file.
At the beginning, the first requirement is to have a single html
that calls a single transpiled main.js
from the server. This issue is related to issue 40.
If someone there knows French, it would be very nice and useful to translate some Aton Strings on Aton Transifex project.
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.