Jump to content

Recommended Posts

Posted

Just playing about with a moodle install and have just started looking at the Sims to Moodle link.

 

Are there available any FREE ways of doing this anymore to auto create users and courses, timetables etc?

 

It looks like all the free options that were available have now become payable items.

  • 4 weeks later...
Posted
Hi we have had a look at the free options, but if you really want intergration you need to contact a company called webanywhere. What they offer is excellent and makes admin/teachers life easy with a few clicks and the cost is excellenty priced. You will be surprised how good the product is. Pm if you need any advise regarding this.
  • 1 month later...
Posted (edited)

Hooray!!!

 

Finally got SIMS and Moodle user and class integration, with no modification of the SIMS SQL database ie no added views. Three SIMS reports run remotely through my CommandReporter Java library to populate an intermediate database, another library, MoodleRest I created to talk to Moodle 2.0 via the REST web services which creates and deletes users also creates classes. The final piece of the jigsaw is Database enrollment. All run via cron at night. Together with meta course enrollment the courses created for teaching should be kept up to date.

Edited by bantonia
Corrected number of SIMS reports used
  • Thanks 1
Posted (edited)

Worked out my own solution, does not touch any of the links above. Meta courses

are just a bonus.

 

What I have written is 2 Java libraries, a RMI server and a client with an

intermediate MySQL database.

 

The RMI server runs on a machine that has SIMS and Java installed. It also has

to have the path to the directory containing the CommandReporter.exe tool put

into the System environment "Path". One problem that may be encountered is that

sometimes port 1099 has already been taken by another process, stop that

process, start the RMI server then restart the process, it will get another

port assigned to it.

 

Within SIMS, a user which has access to the SIMS data, not directly to the

database I might add, but importantly also to "Third Party Reporting". Three

SIMS reports are needed, one to get student data, another for teachers and

lastly one to get the id's of members and supervisors of classes along with the

class details. One other point, all users needed to have their login usernames

within a SIMS user defined field.

 

The glue/client runs on a Linux box via cron which in turns runs the three

reports, retrieving the data via RMI calls. The client updates the intermediate

database and also via Moodle's web services, creates new users and courses

within Moodle and deletes users from Moodle who are no longer current within

SIMS. The intermediate database is then ready for "Database enrolment". The

original idea was to enrol users into the SIMS courses in Moodle via web

services but this would need the contextid's of the courses within Moodle, but

this is not currently achievable unless you read the Moodle database directly.

 

When users and classes are created in Moodle I get their Moodle id's and store

them in the intermediate database. This means when using database

synchronisation I'm not relying on "idnumber" or "email", students and staff can

have access to change their profiles, I can change them back whenever I want to

via web services! POWER!

 

Teachers will create their own courses and use meta links to the SIMS courses to

populate their own course with staff and students. By synchronising the SIMS

courses the teacher created courses are also synchronised with SIMS.

 

The client code is still being tested at present but I will release the code

when it's finished. The libraries and source code for CommandReporter Java API

and MoodleRest are available for download from SourceForge, the CommandReporter

one has the RMI server included.

 

Authentication is done via MS LDAP.

 

Another little project I've done recently using the CommandReporter library and

RMI server is a SLG equivalent, obviously no write back, for parents to view

their children's SIMS data. This uses Glassfish, Java server pages and

servlets. Priority 1 contacts with an email address could see the data by

logging on using their email address for authentication to which a URL with token is sent. The URL with token would allow the parent to see the data, all taken live from SIMS using reports. It works, tested, although not released to parents. This is just

proof of concept at present.

 

Phew, quite a long post!

 

Bill

Edited by bantonia
Posted

Bill,

 

I don't know if you do this already from those brief details, but make sure that everytime a parent logs in that you check that they have parental responsiblity and don't have a court order.

 

Over SSL obviously and just having one token needed to authenticate seems a bit weak for security.

 

Richard

Posted
Wow nice work Bill and thanks for the summary.. maybe something I need to look into but I may lack some skills to complete the project for here.
Posted (edited)
Bill,

 

I don't know if you do this already from those brief details, but make sure that everytime a parent logs in that you check that they have parental responsiblity and don't have a court order.

 

Over SSL obviously and just having one token needed to authenticate seems a bit weak for security.

 

Richard

 

Currently it's only proof of concept, parents have not been given access. What I was trying to show is that almost any SIMS report can be run and the data returned can be consumed without the need of any intermediate storage of the XML data by having to parse an XML file from storage. SSL could be used, just need to open a port to the Glassfish server. Token is time limited and the IP address of the client is checked in the database and compared to the original login for each request. As for court orders etc, its just making sure the SIMS report excludes those entries during the authentication process, yes variables can be passed to the SIMS reports.

 

Bill

Edited by bantonia
Posted (edited)

Here is my current glue/client. It's just an example how you can call the two libraries. Obviously it's early code but it's functional. More work to be done. I've substituted the secret bits, these will eventually be placed in a parameters file later. It will be modified so others can use it in a more friendly manner. I'm also planning tools for those with populated Moodle installations, not just for new installs.

 

To use RMI in the client you have to create a .policy file, the all.txt is one which allows everything, it has to be renamed to all.policy and passed as part of the java parameters.

 

I know allowing everything is not good practice but it serves my purpose, it's lazy!

 

syncmoodle.txt

all.txt

 

(Just adding, as reference to an earlier post. Priority 1 contacts in SIMS means parental responsibility as far as I'm aware, Keep Kids Safe use this in their software)

Edited by bantonia
  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...