Forum .LRN Q&A: New admin features for .LRN

Hello,
we would like to hear your ideas / suggestions (technical and not) about these:

for this links that appear in the admin domain of a class:
# Manage Membership - Add/Remove CS intro A members
#  Create a new Limited Access user - Only use this to create an account for cross-registered students who do not have accounts from a previous class.
# Create a new Limited Access Guest user - Only use this to create accounts for non-affiliated users who do not already have an account. Information about other members of this community will not be available to this user.

We want the dotlrn-admin to be able to decide whether he will allow the professors to access those actions for all the classes or not.

My first though was a parameter, but since each class is a dotlrn instance, each one will have its own parameter, and for me right now there is no clear way to change all the parameters at once, and don't know if this is the best approach or what ....

Also, there's a need for a dotlrn-admin users, that means, the dotlrn-admin might not be a site-wide-admin, any suggestions on this?

Collapse
Posted by Nima Mazloumi on
What do you mean with CS intro?
Collapse
Posted by Deirdre Kane on
Rocael,

It's important for Sloan that the default setup remain that these options are all available to all class and community admins.  This functionality was one of the biggest selling points/wins for the system at Sloan because it gave faculty the autonomy they needed to run their courses and gave communities that same flexibility, especially since many have non-MIT members.  And, for the Manage Membership link, since any member can drop any membership, but not rejoin a closed group, it's important that the group admin be able to add people back in.  The more groups you have, the more adminstrative burden is placed on the site wide admin to monitor, without any tools, the actions of users.

I don't understand exactly what you mean by your last question - can you provide an example or two of this in action?

DeeDee

Collapse
Posted by Carl Robert Blesius on
We (Heidelberg Medical School) are also interested in retaining the user admin functionalities as they stand Roc, but improving on the page flow/usability for admins (the terms used for example are quit cryptic for the uninitiated) and adding some user registration and data collection features for course and site wide admins.

We have been planing on this for a while and the timing is just about right. I will be posting a request for comment on improvements in this area towards the end of this week.

We hope to get these improvements into .LRN asap after working with the community, the Computer Center in Heidelberg, and a contractor to make them generally applicable.

Collapse
Posted by Nima Mazloumi on
I usability issue that we had the last couple of month was often users need to become members of a group that is a subgroup of another group. To become a member of a group that is at the fourth level a user needs to click 8 times to access the group.

What do you think of a feature that automatically registeres a user to the requested group if all upper groups are open? Or up to a group and including that group where the user needs approval. From there on the user has to continue manually.

Collapse
Posted by Jeff Davis on
Roc, You could modify the parameter default on your local install but I am not sure the new default would be preserved over upgrades (it should be and if it's not it would be a bug in my opinion). That would make any new community take the default value.

I do think the default should be pretty permissive since it's far easier to turn something off that you see than to discover you can turn something on. There are a number of things in the toolkit disabled by default and I find a lot of people don't even realize they exist.

Collapse
Posted by Carl Robert Blesius on
We will be needing something that might overlap with your need Nima: an auto-registration feature for groups.

Based on information collected from the user (or information that already exists in the DB), we want to auto-enroll them in certain courses (or groups).

Example: 200 medical students should be automatically added to specific classes/groups based on there status (e.g. first clinical year).

Will have some use cases for discussion in the RFC.

Collapse
Posted by Rocael Hernández Rizzardini on
CS stands for the name of class where I copy/paste those links from....
Collapse
Posted by Rocael Hernández Rizzardini on
DeeDee,

I understand what your needs are, and my suggestion is not to eliminate those functionalities, rather than that, I would like to see a parameter that will allow for an entire .LRN installation (all the classes) to allow or not those actions. In our case is quite important since we don't want those, specially the one for allowing professors to add users to a class, since we do that automatically (add users to groups).

<blockquote>>Also, there's a need for a dotlrn-admin users, that means, the dotlrn-admin might not be a site-wide-admin, any suggestions on this?
</blockquote>

My user scenario is this, we might want to give to some people dotlrn admin priviledges, but to site wide admin, in other words, a dotlrn admin should be able to create class and that kind of stuff, but not be able to install a new package ....
(any technical suggestions on this??)

Collapse
Posted by Rocael Hernández Rizzardini on
Jeff,
I had the same idea, just that its not the more pretty one, since, if you want the stuff to work, you need to change the parameter value on the APM (better before install .LRN) & change the site-map param as well if apply.

Not sure about default preserved over upgrades, need to try.

So I was wondering another kind of solution ... any ideas??

Collapse
Posted by Rocael Hernández Rizzardini on
IMS Enterprise package that we are about to release can handle that, the only thing is that you need to generate the proper XML DTDs that reflect your cases, more on this later ...
Collapse
Posted by Matthias Melcher on
<blockquote> IMS Enterprise package that we are about to release
</blockquote>

Is there any project documentation page where we can timely learn about
- what specific features you are planning for special needs of your own institution that might be more difficult or less useless to adopt for others, vs.
- what will enhance the common use group administration, and how it fits with the IMS Enterprise usage that is already present in OpenACS 5.0 (External) Autentication?

Collapse
Posted by Rocael Hernández Rizzardini on
<blockquote>Is there any project documentation page where we can timely learn about
what specific features you are planning for special needs of your own
institution that might be more difficult or less useless to adopt for others,
</blockquote>

1. the package will be released by the end of next week and will be documented, right now we dont have something formally written yet.
2. we are tight to the standard, that means that if you have a DTD that is compliant, should work, anyway, I would say that is not difficult to do minor changes on the code in the case you need further customization (in other words, the package isn't written specifically for Galileo)

<blockquote>vs.
what will enhance the common use group administration, and how it fits with
the IMS Enterprise usage that is already present in OpenACS 5.0 (External) Autentication?
</blockquote>

The IMS Enterprise v.1.1 spec is divided in 3 parts, <person>, <group>, <membership>.
Right now auth has only <person> which is the import of users from the DTD to .LRN, now we have added:
* <group> which creates automatically from the DTD the departments, subjects, and class instances
* <membership>  which creates automatically from the DTD the *relation* between users and a given class instances, and the specific roles (professors, TA's, students, etc) for that class.

Its more clear now?

Collapse
Posted by Matthias Melcher on
<blockquote> Its more clear now?
</blockquote>

yes but it made us even more curious
and waiting for the end of last week !

<blockquote> the package will be released by the
end of next week and will be documented
</blockquote>

Collapse
Posted by Rocael Hernández Rizzardini on
last week I've commited ims-ent, so you can download it whenever you want, will allow you to automatically sync the creation/update/delete of users, deps, subjects, class instances, user membership & roles to .LRN.

I'm on my way to produce the very first basic documentation that will help anyone. Be aware that right now its only for PG, my plan is to make it oracle available as well (will be relatively fast), but first test it more.

More info from IMS: http://www.imsglobal.org/enterprise/entv1p1/imsent_infov1p1.html

Collapse
16: dotlrn-admin users (response to 1)
Posted by Rocael Hernández Rizzardini on
Ok, we'll create a UI for a new group (dotlrn-admins), that group will have admin permissions on the dotlrn package.
Collapse
Posted by Nima Mazloumi on
Rocael, do I understand you right? The ims-ent package already allows to synch users/groups/deps/subjects/roles to dotLRN? So dotLRN can automatically updates these infos?

This would be amazing!

Greetings,
Nima

Collapse
Posted by Rocael Hernández Rizzardini on
that's correct, you can even do that through RPC now!
Collapse
Posted by Nima Mazloumi on
Is it possible to define a dotlrn-admin group that has exclusive rights to administer all classes and groups?

How could this be implemented?

Don was so kind to take a look at it:
- it's all properly permissions driven
- they need to have "dotlrn_admin_community" permissions
- there is no UI at present for this purpose
- unclear how it should be with communities, maybe changing otlrn/tcl/community-procs.tcl to give explicit rights
- group would be created in the dotlrn SQL create scripts
- perhaps some custom fiddling of permissions in the dotlrn/tcl/community-procs.tcl scripts

Has anyone tried or implemented this already or an idea on how this could be implmeneted?

Best regards,
Nima

Collapse
Posted by Nima Mazloumi on
Under /admin/ there are also the following links:

- Groups
- Group Types
- Relational Segments
- Relationship Types
- Host-Node Map
- Object Types

Could this be a solution? To define a group and assign members to the group and dotlrn_admin_community permission?

What are these features for anyway. I was not able to find any info on that.

Collapse
Posted by Hector Amado on
I am implementing this because we need it for our sites.

I've done this:

    - create a new dotlrn-admin group
    - this group has "admin" permissions on dotlrn
    - add a new UI to create/remove dotlrn-admins

I am working on community permissions, i will post a test-site this week for ideas.

Best regards,
Hector Amado
Collapse
Posted by Hector Amado on
I've done several things:

  .LRN Site Wide Administration
      -  Administrators UI
      -  Edit community parameters

  I created a new group, dotlrn-admin, this group has permissions on
  dotlrn only. Users in this group can create users, classes,
  communities, etc...
  dotlrn-admin users does not have Site Wide permissions.


  - Users
    I removed  site-wide admin toggle

  - Edit community parameters
    There are new parameters for group administration. (classes, communities)


  Try it here:  http://smeagol.galileo.edu:8090
  Site Wide user:    mailto:test@oacsadmin.com    pass:  test
  dotlrn-admin user:  mailto:test@dotlrnadmin.com  pass:  test
  professor:          mailto:test@professor.com    pass:  test

  Please test it, create users, classes, etc ...
  Please post any comment, bug, suggestion in this thread or email.
Collapse
Posted by Bruce Spear on
HI!  It is nice to play in someone else's sandbox.  Here's a bug which appeared when I tried to submit a forum entry:

Header Logo      Math2
    testoacs oacsadmin
My Space Help Logout
Class Home     Calendar     File Storage     Control Panel

Error in forums::message::new - Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.") ERROR: column "format" of relation "forums_messages" does not exist CONTEXT: PL/pgSQL function "forums_message__new" line 50 at SQL statement SQL: select forums_message__new('3894','forums_message','3893','A new message','This is a new message.','text/enhanced','452',NULL,NULL,NULL,NULL,'452','160.45.11.61',NULL)