siuko Posted November 12, 2010 Posted November 12, 2010 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.
Devontechie Posted November 12, 2010 Posted November 12, 2010 You could have a look at the following: Moodle.org: Modules and plugins Moodle.org: Modules and plugins Integrate Moodle, LDAP and SIMS.net - MoodleDocs
itgeek Posted December 5, 2010 Posted December 5, 2010 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.
bantonia Posted January 22, 2011 Posted January 22, 2011 (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 January 22, 2011 by bantonia Corrected number of SIMS reports used 1
TechMonkey Posted January 23, 2011 Posted January 23, 2011 Out of interest did you work out your own solution or use one of the links above? Also how are you using meta-courses & is that part of the solution you found/created?
bantonia Posted January 24, 2011 Posted January 24, 2011 (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 January 24, 2011 by bantonia
rpwillis Posted January 24, 2011 Posted January 24, 2011 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
apeo Posted January 24, 2011 Posted January 24, 2011 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.
bantonia Posted January 24, 2011 Posted January 24, 2011 (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 January 24, 2011 by bantonia
bantonia Posted January 24, 2011 Posted January 24, 2011 (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 January 24, 2011 by bantonia 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now