aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* Merge branch 'master' into vipvipHeiko Bernloehr2016-02-12-0/+0
|\
* | New cumulative garbage collection script.Heiko Bernloehr2016-02-12-0/+9
| | | | | | | | This script could/should be called by crontab.
* | New rake vip:count_ttl_exercises task.Heiko Bernloehr2016-02-12-0/+25
| |
* | New rake vip:count_no_ttl_exercises task.Heiko Bernloehr2016-02-12-0/+25
| |
* | New rake vip:gc_evaluations task.Heiko Bernloehr2016-02-12-0/+22
| |
* | New rake vip:gc_results task.Heiko Bernloehr2016-02-12-0/+20
| |
* | Change vip:gc_results remove time.Heiko Bernloehr2016-02-12-9/+3
| |
* | Now test on created_at for deleting exercises in vip:gc_exercisesHeiko Bernloehr2016-02-12-9/+13
| |
| * Change ECS garbage collections.HEADmasterccHeiko Bernloehr2016-02-12-3/+3
| |
* | Change ECS garbage collections.Heiko Bernloehr2016-02-12-3/+3
| |
* | Change vip garbage collections.Heiko Bernloehr2016-02-12-20/+34
| |
* | Fixed rake task vip:gc_results.Heiko Bernloehr2016-01-27-1/+1
| | | | | | | | | | There is no Message::destroy_msg(msg) method any more. So I changed it to msg.destroy_as_sender.
* | Fixed rake task vip:gc_exercises.Heiko Bernloehr2016-01-27-1/+1
| | | | | | | | | | There is no Message::destroy_msg(msg) method any more. So I changed it to msg.destroy_as_sender.
* | Update rake task vip:gc_exercises.Heiko Bernloehr2016-01-27-4/+9
| | | | | | | | Print number of deleted messages when garbage collect old exercises.
* | New numlab exercises filter.Heiko Bernloehr2016-01-27-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exercises Filter-Plugin. This filter masquerades the response of an request to /numlab/exercises/<id>. With a query string the request only contain toplevel properties with simple string type. For now these toplevel properties are: * postTime * identifier * comment * name * description * environment The querystring parameter is known as: properties. You're allowed to note multiple toplevel properties, spaced by comma. Please be patient not to include any spaces in the list. Working ressource notations are: http://ecs.uni-stuttgart.de/numlab/exercises/27?properties=name http://ecs.uni-stuttgart.de/numlab/exercises/27?properties=name,description http://ecs.uni-stuttgart.de/numlab/exercises/27?properties=name,description,comment,identifier Problematic/forbidden notations are: http://ecs.uni-stuttgart.de/numlab/exercises/27?properties= name http://ecs.uni-stuttgart.de/numlab/exercises/27?properties=name ,description http://ecs.uni-stuttgart.de/numlab/exercises/27?properties =name,description,comment , identifier
* | New rake task vip:gc_exercises.Heiko Bernloehr2016-01-27-0/+24
| | | | | | | | | | Delete old exercises. You have to edit the task file to change the time from when the exercises will be deleted.
* | New rake task vip:gc_results.Heiko Bernloehr2016-01-27-0/+19
| | | | | | | | | | Delete old results. You have to edit the task file to change the time from when the results will be deleted.
* | Fixed PostgreSQL LIMIT 1 bug.Heiko Bernloehr2016-01-27-1/+3
|/ | | | | | | | | | | | | | | | Using following SELECT (created from a Message.fifo_lifo_rest call) on a VIP devel database always hangs for several seconds: SELECT messages.id FROM "messages" INNER JOIN "ressources" ON "ressources".id = "messages".ressource_id INNER JOIN "membership_messages" ON membership_messages.message_id = messages.id INNER JOIN "memberships" ON "memberships".id = "membership_messages".membership_id INNER JOIN "participants" ON "participants".id = "memberships".participant_id WHERE ("ressources"."namespace" = 'numlab' AND "ressources"."ressource" = 'results' AND "participants"."id" = 3) ORDER BY messages.id ASC LIMIT 1; When omitting "LIMIT 1" all went well. Also when setting LIMIT greater than 5. If using another resource, e.g. solutions or exercises, all went well too. Also when using DESC instead of ASC. I really don't know why Postgres responds like that. So I made a workaround, by selecting the first element from the list in ruby, knowing that this solution is much slower than using LIMIT 1 at database level, but only when the list is not empty.
* Secure sessions.Heiko Bernloehr2016-01-27-1/+2
|
* Standard rails stack minus ParamsParser.Heiko Bernloehr2016-01-27-24/+5
|
* Add reset action button.Heiko Bernloehr2016-01-27-21/+131
| | | | | Add new reset action to admin participant. Also introduced action buttons (delete and reset).
* Change flash messages of create and destroy participants.Heiko Bernloehr2016-01-27-14/+15
|
* Add server port to location header.Heiko Bernloehr2016-01-27-0/+1
| | | | | | | | When creating a resource ECS returns a location header in its http response. If the server port differs from 80 or 443 the server port will be included in the location header, e.g.: Location: http://localhost:8080/numlab/evaluations/1044199
* Code rework.Heiko Bernloehr2016-01-27-3/+3
| | | | Changed filter class method to an instance method.
* Logging-Observer.Heiko Bernloehr2016-01-27-0/+16
| | | | Logging event creations.
* Fix forgotten db migration.Heiko Bernloehr2016-01-27-0/+23
| | | | Forgot to commit the db migration.
* Type tags for /sys/memberships.Heiko Bernloehr2016-01-27-14/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Participants in /sys/mebmberships representation are now tagged with their appropriate participant type: main: mainparticipant sub: subparticipant anonym: anonymous participant e.g. [ { "community": { "name": "public", "description": "For anonymous participants.", "cid": 1 }, "participants": [ { "pid": 2, --> "type": "main", "name": "Computation client", "itsyou": true, "description": "Computation client of NumLab service.", "org": { "abbr": "S", "name": "Universität Stuttgart" }, "mid": 1, "email": "rudlof@rus.uni-stuttgart.de", "dns": "nfldevvipecs.rus.uni-stuttgart.de" }, ... This feature needs a database migration.
* Fix default memberships filter.Heiko Bernloehr2016-01-27-1/+1
| | | | The default filter for /sys/memberships is now mainparticipants=true
* Query filter for /sys/memberships.Heiko Bernloehr2016-01-27-3/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now it's possible to filter /sys/memberships resource: * /sys/memberships?mainparticipants=true You get only memberships concerning mainparticipants (MPs). MPs are participants which have to be registered/configured by hand over the ECS Webinterface. * /sys/memberships?subparticipants=true You get only memberships concerning/containing subparticipants (SPs). SPs are participants which are created dynamically by MPs. * /sys/memberships?anonymous=true You get only memberships concerning/containing anonymous participants (APs). The creation of new APs automatically takes place by every call to an ECS resource if the calling participant didn’t set X-EcsAuthId or Cookie header. AP-Handling has to be activated explicitly in the ECS configuration. * /sys/memberships?all=true You get all available memberships irrespectively of their type. The default filter is set to "mainparticipants=true". The filter could also be specified by a HTTP variable e.g.: curl ... -H 'X-EcsQueryStrings: mainparticipants=true' http://.../sys/memberships
* Code reworking.Heiko Bernloehr2016-01-27-33/+27
| | | | | Changed extended associations in community model to named scopes in participant model.
* Memberships element added.Heiko Bernloehr2016-01-27-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For easier communication of a participant with its newly created subparticipant I exchanged the community element with a memberships element. Now the creating participant gets all necessary information of its subparticipant to start communication right after creation. The memberships element has the same structure as a resource representation of /sys/memberships but there is only the newly created subparticipant listed in the participants array (itsyou=true). The /sys/memberships representation lists *all* participants (and subparticipants) joining the same community. After creating a subparticipant: curl ... -H 'Content-Type: application/json' \ -X POST -d '{"realm":"tux","communities":["stephan","public"]}' \ https://.../sys/subparticipants you get something like this as answer (example): { "description": "Created from \"Teacher client\" (pid:3)", "community_selfrouting": false, "realm": "tux", "auth_ids": [ { "desc": "Randomized authid", "auth_id": "06e9506fa723b2353cbe4acc32a9a568" } ], "memberships": [ { "participants": [ { "email": "xaver@freeit.de", "org": { "abbr": "S", "name": "Development FreeIT Suttgart" }, "name": "Subparticipant (id:67)", "mid": 190100, "dns": "N/A", "description": "Created from \"Teacher client\" (pid:3)", "pid": 190376, "itsyou": true } ], "community": { "cid": 2, "name": "devel", "description": "Devel test community." } }, { "participants": [ { "email": "xaver@FreeIT.de", "org": { "abbr": "S", "name": "Development FreeIT Stuttgart" }, "name": "Subparticipant (id:67)", "mid": 190101, "dns": "N/A", "description": "Created from \"Teacher client\" (pid:3)", "pid": 190376, "itsyou": true } ], "community": { "cid": 1, "name": "public", "description": "For anonymous participants." } } ], "name": "Subparticipant (id:67)", "email": "xaver@freeit.de", "events": true, "dns": "N/A" }
* Additional tests authenticating as anounymous or subparticipant.Heiko Bernloehr2016-01-27-4/+4
| | | | | | It's not any more possible to use arbitrary authentication values in the Cookie header. Now it's only possible to use anonymous cookie values in anomymous Cookie header and subparticipant cookie values in subparticipant Cookie header.
* Fixed anonymous authentication error.Heiko Bernloehr2016-01-27-6/+6
| | | | | Moved authentication code for "authenticated participants" at the end of the authentication queue again.
* Changed events default to true on creating subparticipants.Heiko Bernloehr2016-01-27-1/+1
|
* Fixed subparticipant update.Heiko Bernloehr2016-01-27-1/+1
|
* Disable session cookies.Heiko Bernloehr2016-01-27-1/+0
|
* Check for valid communities.Heiko Bernloehr2016-01-27-20/+51
| | | | | | When a participant wants to create a subparticipant and provides some communities which this subparticipant should belong to, he is only allowed to provide communities he joins on its own.
* Check for authenticated subparticipants.Heiko Bernloehr2016-01-27-6/+45
|
* Check for authenticated participants first.Heiko Bernloehr2016-01-27-6/+6
|
* Check if json_data is a hash.Heiko Bernloehr2016-01-27-1/+3
|
* WIP: subparticipants.Heiko Bernloehr2016-01-27-4/+436
|
* Isolated authentication code (DRY).Heiko Bernloehr2016-01-27-12/+31
| | | | Moved authentication code into functions.
* Update README.mdfreeit2015-05-26-1/+1
| | | To tag the ticket type we're now now postfixing ticket title.
* Update README.mdfreeit2015-05-22-2/+2
|
* Update README.mdfreeit2015-05-22-6/+5
|
* Rename README README.md (mark down syntax).Heiko Bernloehr2015-05-22-1/+4
|
* New rake task ecs:gc_sub_participants.Heiko Bernloehr2015-05-22-0/+16
| | | | | Default ttl value for subparticipants being deleted is 10 days. Please adjust to your needs directly in the source task file.
* Ticket creation.freeit2015-05-22-1/+13
|
* Change initial /sys/auths postroute to false.Heiko Bernloehr2015-04-22-6/+6
|
* Code rework.Heiko Bernloehr2015-01-14-20/+28
| | | | Moved code from MembershipsController to Membership model.