[Building Sakai] Course enrollment information

Venkat Ravikanti vravikan at yahoo.com
Wed Sep 24 10:57:42 PDT 2014


Hi Steve,
Thanks for sharing the info.
I have one more question.
Do you know where the courses and participant information will be stored in Sakai if we do not implement CM Provider.
What are the APIs we need to use to get the same information.
For CM provider I know the list of APIs to used to extract the course and participants information (http://source.sakaiproject.org/release/2.9.3/apidocs/org/sakaiproject/coursemanagement/api/CourseManagementService.html)
About our project we are trying to extract the information from various source LMSs ( Oracle ilearning and Sakai ) into one common portal.
Since we are using the data base level queries to fetch the information from Oracle iLearning, I thought we can use the same in Sakai. That's the reason for me to start looking into Sakai database tables.

Thanks,Venkat

 

     On Tuesday, September 23, 2014 4:28 PM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:
   

 Beginners do not need to even worry about what the data base tables do. The number one rule of Sakai development is to not touch any database table that you or your app did not create. There are APIs for every single tool that you can use to get at data, which then goes through validation and security checking. Going to the database directly you lose all of this. Whatever you are trying to do you can do via the web services or the APIs. 

You can also create a new API if you need to get at some specific piece of data.

The reason there has been no data dictionary published is that:
1. We discourage people from touching the database tables directly (see above)
2. The database schema can change between releases meaning the dictionary needs to be republished and volunteers don't have time to spend on an exercise that we discourage.

You can create your own data dictionary/relationship diagram easily enough though, use something like DB Visualiser or the tools in Oracle SQL Developer. There are over 360 tables in trunk though, the diagram is going to be big.

For CM integration: https://confluence.sakaiproject.org/display/SAKDEV/Course+Management+Integration
For the portlets:
https://wiki.jasig.org/display/PLT/Sakai+connector+portlet
https://wiki.jasig.org/display/PLT/Basic+LTI+Portlet

If you are using uPortal then there are included by default.

cheers,
Steve


On Wed, Sep 24, 2014 at 1:25 AM, Venkat Ravikanti <vravikan at yahoo.com> wrote:

Thanks Neal and Steve.
Steve,
Can you pl. let me know how to enable or configure CM provider in Sakai.  We are using Version 2.9.3.
Also, can you point me where I can get the portlets you are mentioning for rest and soap services.
Neal,
Regarding data dictionary.     For Sakai beginners like me it is difficult to figure out how the tables are related to each other.   I can get the data dictionary info in a spreadsheet from DB using the following query:
select t.table_schema as db_name,  t.table_name,  (case when t.table_type = 'BASE TABLE' then 'table'        when t.table_type = 'VIEW' then 'view'        else t.table_type   end) as table_type,   c.column_name,   c.column_type,   c.column_default,   c.column_key,   c.is_nullable,   c.extra,   c.column_commentfrom information_schema.tables as tinner join information_schema.columns as con t.table_name = c.table_nameand t.table_schema = c.table_schemawhere t.table_type in('base table', 'view')and t.table_schema like '%'order by t.table_schema, t.table_name, c.ordinal_position
However it will be really useful if Sakai provides entity relationship diagram ( ERD) linking all the tables in the database.
Regards,Venkat 



     On Tuesday, September 23, 2014 3:55 AM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:
   

 Use the API's to get the data. The cm tables are used by the course management service and from you original post it doesn't look like you have a cm provider. So the users aren't going to be in those tables. If you are wanting the data in an external system there are rest and soap services to give you what you need and there are even two portlets you can use to provide a deeper integration.Cheers
Stevesent from my mobileOn 17/09/2014 1:45 AM, "Neal Caidin" <neal.caidin at apereo.org> wrote:

Hi Venkat,

Thanks. I would presume you should be using the Sakai APIs. I'm copying in the developer list so that they can provide more details.

Cheers,
Neal



    Venkat Ravikanti  September 16, 2014 at 10:05 AM Neal,
We are working on a project where we need to bring the information from Sakai LMS and show it on external Portal for user to access.
As you see from my original post we are not able to see the information entered on the Sakai portal in the tables. I may be looking in wrong tables here.
Can you pl. guide me on this.  If you have sometime I can show you what I am doing through Skype.
Thanks,Venkat

 

     On Tuesday, September 16, 2014 8:54 AM, Neal Caidin <neal.caidin at apereo.org> wrote:
   

 And of course it depends what is needed with the information. Is it curiosity? Solving a specific problem? Writing a new tool?  Access the data outside of Sakai? etc.
-- Neal

On Thu, Sep 11, 2014 at 10:26 AM, Brian Baillargeon <bbailla2 at uwo.ca> wrote:



        Neal Caidin  September 16, 2014 at 8:53 AM And of course it depends what is needed with the information. Is it curiosity? Solving a specific problem? Writing a new tool?  Access the data outside of Sakai? etc.
-- Neal


     Brian Baillargeon  September 11, 2014 at 10:26 AM  I just did a quick search on confluence.sakaiproject.org and found a little documentation that hasn't been modified since 2006, but it might be useful nonetheless:
https://confluence.sakaiproject.org/display/CM/CM+API+Design+-+Round+1
 
 Anyway, the table that stores roster memberships is CM_MEMBERSHIP_T
 
 mysql> describe cm_membership_t;
+---------------------+--------------+------+-----+---------+----------------+
 | Field               | Type         | Null | Key | Default | Extra          |
+---------------------+--------------+------+-----+---------+----------------+
 | MEMBER_ID           | bigint(20)   | NO   | PRI | NULL    | auto_increment |
 | VERSION             | int(11)      | NO   |     | NULL    |                |
 | USER_ID             | varchar(255) | NO   | MUL | NULL    |                |
 | ROLE                | varchar(255) | NO   |     | NULL    |                |
 | MEMBER_CONTAINER_ID | bigint(20)   | YES  | MUL | NULL    |                |
 | STATUS              | varchar(255) | YES  |     | NULL    |                |
+---------------------+--------------+------+-----+---------+----------------+
 
 Note: the CM_ tables store information about official rosters, which might not necessarily map to users' current role in the site if a role has been changed. Also, you won't find any unofficial participants in these tables. If you want the union of official and unofficial participants, I think they can be found in sakai_realm_rl_gr, but there might be a more authoritative source.
 
 On 14-09-10 06:46 PM, Venkat Ravikanti wrote:
  
 _______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"    Venkat Ravikanti  September 10, 2014 at 6:46 PM Hi,
I am new to Sakai. Need your help on the Sakai Tables. 
I am looking to find the mysql tables where the course enrollment information stored.
Here is my scenario:
1. Created Course Site with couple of courses2. Created Users3. Added the Users to the above created courses as Participants
Now when I am trying to query for the participants information in CM_ENROLLMENT_T or CM_ENROLLMENT_SET_T. No Luck.  These two tables are empty
Can someone help with me following:
1. Data dictionary for Sakai tables with some notes on which table stands for what2. Which table stores the participants or enrollment information.

Thanks for your help.Venkat_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"

-- 
Neal Caidin
Sakai Community Coordinator
Apereo Foundation
neal.caidin at apereo.org
Skype me! (but let me know in advance for the first interaction) - nealkdin


_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"



    



   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140924/cdd3c90a/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compose-unknown-contact.jpg
Type: image/jpeg
Size: 770 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140924/cdd3c90a/attachment.jpg 


More information about the sakai-dev mailing list