## General plugins

### New plugin: Collaborative real-time editor assignment type

New plugin: Collaborative real-time editor assignment type
This is my new contrib plugin after Configurable Reports
rtcollaboration is a new type of assignment. It's a collaborative real-time editor that works like Google Docs (in plain text, I'm working in the rich text editor feature..)
Two or more users can work at the same time in the same document. When you type a word the text is updated in real-time for the other users
Groups are supported but are not very well tested in this beta version

Teachers can review their students job, for every student the total account of chars added or deleted by him in the text is displayed in the submissions view of the assignment0
Teachers can "replay" the users interactions with the editor. Highlighting is not supported yet.

This is a beta version tested only by me, please use this forum to report bugs and new features suggestions.

https://github.com/jleyva/moodle-assignment_rtcollaboration/zipball/beta-1

For installing,
unzip the file in the mod/assignment/type dir, rename the dir from jleyva-moodle-assignment_rtcollaboration-be... to rtcollaboration

Average of ratings: Useful (4)
Re: New plugin: Collaborative real-time editor assignment type

That sounds very interesting - will download and have a play with it

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

First problem I've encountered - after unzipping the plugin, the sub-folders (db/lang) were only readable by the user, not everyone (so my webserver could not use them).

Fixed that now, but not quite working yet - typed in something as admin, then logged in  (on another computer) as student.

Student could see what admin wrote, but no sign of the student's writing turning up anywhere. Will have a bit of a dig around and see if I can figure out what is going wrong.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Scratch that - now is working, but only if I set the groups correctly.

If set to 'visible groups' everything seems to get a little confused (I'll have to try a bit more, when I've got a bit more time).

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Davo,

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

The confusion with 'visible groups' was mostly down to me forgetting which groups my test users were part of.

However, it was not helped by the way that students can choose which group to view via a drop-down menu, but this makes no difference to what they can see. So I had 2 students 'A' (in 'Group A') and 'C' (in 'Group B'), both of them had 'Group A' selected from the drop down, but neither of them could see each other's updates.

Once I switched to studen 'B' (in 'Group A'), I was able to see 'A's updates in real time.

BTW Before I look at the code (and because I'm looking for ideas to improve my realtime quiz plugin at some point), how do you achieve the updates - does each client keep polling the server for updates, or have you managed to implement some sort of 'long wait', that only responds when there are updates?

Also, have you tested it with poor network connectivity (e.g. 30 laptops sharing a wireless link)? How does it cope with such as situation?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Davo,

the code is polling with a task to change the time intervals of request  depending on user and server activity

More or less a 23 Bytes request every 2-4 seconds from client to server

The code is based on google mobwrite:

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Thanks for the link - interesting protocol (which I will have to look into further, when I have a spare moment).

text.php, line 41:

if (($USER->id !=$user->id) && !$cangrade) { should read:  if (($USER->id != $userid) && !$cangrade) {

(as $user may not exist at that point, but$userid will always exist at that point).

Also, the 'Review text edition' screen does not show anything ('Currently viewing' is a grey box and the two users are listed as having contributed 0 chars to the text - despite both having made contributions). Tested logged in as a teacher and admin.

Selecting a group with no updates in it displays 'There is no data for the selected group', but also removes the group selection drop-down, so I have to use the browser 'back' button to choose a different group.

Still, the central code is working well, and all these points are minor technicalities that should be easy to fix. Looking forward to the stable version!

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type
Hi Mary,
thanks for your feedback, I'm using Firefox and Google Chrome and Internet Explorer 7 for testing and works fine. Which version of Internet Explorer are you using? It may be some problems with javascript

Did you go to admin -> notifications after installing the plugin? Are the database tables created?
This is what I do for testing:
Open firefox, open chrome, login with two differents users, go to the same course and the same assignment, start typing with both and works fine, I can see all the users contributions (the latency is about 2-3 seconds)
There are a lot of usability improvements to do, thanks for the breadcrum suggestion

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hmm.. well I am using Firefox 3.6.13 and I was using IE8 but I switched to compatablity mode to try again when you said IE7 - and I am doing as you say, with two different users but still not getting the realtime contributions.  I installed it wrong the first time (typical - forgot the nested folder) and so when I installed it the second time I did not get the green  tables in Notifications - I don't know if that has made a difference and broken something as the actual assignment appears in courses and I can set it up. I might try to upgrade to 1.9.11 later this week and then reinstall your plugin and try again - because I am interested in it.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hello Mary,

I tested the plugin in Moodle 1.9.7 with firefox and IE8 and works fine.

I think you installation is missing the tables in the database, for reinstall you can do the following:

Go to the phpmyadmin (or database explorer you have) and check if you have three tables:
mdl_assignment_rtcollaboration_*
Delete these tables (if are present)

Go to the table mdl_config and delete the entry "assignment_type_rtcollaboration_version"

Reinstall the plugin in the assignment/type and go to administration -> notifications

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Ok - I suspected it might be related to that - will have a go later thanks

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan,

German translation and I´m still testing your interesting plugin.

Joachim

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Joachim,

I will post a new link (today or tomorrow) to an updated version with full groups support (visible and separate) and some usability improvements

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type
I have created a new package with the beta-2 version of the plugin:

- Added support for a rich text editor (in the reports the rich text editor is not yet integrated
For enable it, select the option YUI richt text editor when configuring the assignment
It's look like pretty closer to Google Docs

- Fixed some problem with groups, the way rtcollaboration works with groups it's explained here:

https://github.com/jleyva/moodle-assignment_rtcollaboration/zipball/beta-2

See my first post for installing instructions

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Some documentation is available here:

http://docs.moodle.org/en/RTCollaboration

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

So this is the official entry for the plugin: http://moodle.org/mod/data/view.php?d=13&rid=4621

By the way if you are using the plugin I recommend you to update to the latest version using the download link in the plugin entry, there are some bugs fixed and improvements in the rich text editor. Remember to clean your browse cache

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan

I finally found my way into phpMyadmin today but I don't see anywhere the references you said to your rtcollaboration assignment type not in the mail list nor the table_mdl_config -I deleted the original version from the server and will try with your latest one this weekend anyway and see how I get on.

(I might be looking in the wrong place on phpmyadmin though)

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Me again. No- there is definitely something I do not have or have got wrong I deleted the other week's folder - downloaded and uploaded the latest version. I can see it in the assignment type dropdown as before and add an assignment -  but I did NOT get the tables in Notifications and I  cannot see anything relating to  it in phpmyadmin.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Mary,

try this:

Edit the /mod/assignment/type/rtcollaboration/version.php file with a text editor and change this:

$plugin->version = 2011022201;to $plugin->version  = 2011022202;
Go to Administration -> Notifications to see if the tables are now created

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan. Sorry for the late reply- I only just found your post - it is the weekend tomorrow so I will have a go with what you say and let you know how I get on

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Have you thought about extending this plugin to work a bit like a wiki, with multiple pages (creating pages when users type a word /phrase in [square brackets] ).

It strikes me that this would be a very powerful way of creating shared notes, without the restrictions that wikis have (due to locking entries, so only one person can edit at a time).

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Davo

good idea, but I don't have time

My top priorities are update my plugins to Moodle 2.0 and finish a new plugin (collaboration tool with shared whiteboard) that I'm currently developing

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type
That sounds similar to something I started work on, using the Raphael js library (but I only got as far as the pen colours and scribbling, not onto saving to server and sharing). Would you like to compare notes, in case there are any ideas that you want to add to your version?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type
Hi Davo,
I have used paintweb as paint tool:
See http://www.robodesign.ro/paintweb/trunk/demos/demo1.html
You can test my new plugin here: https://github.com/jleyva/moodle-mod_scollaboration/tree/MOODLE_19_STABLE (download link for a zipped snapshot), I think the last version is not broken

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

I'll take a look after the weekend, but it certainly sounds exciting.

The version I was planning, was more focused on a class providing answers ('circle the CPU in this diagram', 'drag and drop the labels onto the correct items'), then the teacher being able to quickly show/hide annotations from different class members on the main screen. Sharing within groups was the secondary thought I'd had for this.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan,

Thanks for a really promising looking assignment type. It installed OK but when I try to add it on a course I get:

Warning: require(C:\wamp\www\moodle/mod/assignment/type/scollaboration/assignment.class.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\moodle\mod\assignment\mod_form.php on line 25

Fatal error: require() [function.require]: Failed opening required 'C:\wamp\www\moodle/mod/assignment/type/scollaboration/assignment.class.php' (include_path='C:\wamp\www\moodle/lib/pear;.;C:\php5\pear') in C:\wamp\www\moodle\mod\assignment\mod_form.php on line 25

Isn't there supposed to be an "assignment.class.php" in there?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

http://moodle.org/mod/data/view.php?d=13&rid=4621

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi,

I have uploaded a new version of the plugin that adds full support for reviewing texts created with the RTE editor and fixs small bugs

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hello Juan/everybody, I'm testing your module, but I don't find how it work or how to save changes. Mybe I'm doing something wrong. Can you help me? Thanks/gracias

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

I'm getting exactly the same issue - can't seem to save any changes in it - maybe we haven't installed it correctly?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type
Hi,
text is automatically saved, you have here a nice video

If you continue having problems, be sure the required tables are installed into the database (after installing the plugin you must go to Administration -> Notifications where some messages regarding tables creating will be displayed)
Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Thank you for your advice Juan and your work on this really interesting plugin. I reinstalled after deleting the db tables and it is now working better but still a little buggy - sometimes if a user highlights some text and then tries to format the text it doesn't work and I'm getting some HTML appearing as per the screens below. Also users click at one location in the text and the cursor keeps jumping back to the beginning of the text - so it's impossible for them to edit it.

It looks like the menu for inserting images doesn't work and some changes are not shared between users.  I installed the version for Moodle 1.9 on the download page - any advice?

PS, I tried taking screendumps and pasting them into the document directly from the clipboard but that doesn't save/share either. Ideally I'd love to teach a class, take screendumps and share them with the students as we go. This tool has me really excited if I can straighten this out.

Thanks very much!

Matt

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Matthew,

the plain text version works fine but the rich text editor has some problems like the ones you are reporting.

I have to improve some parts of the code and debug for a lot of possible combinations, this is so difficult and I am a single developer (not like Google with lot of good enginers) So I will try my best to improve this, unfortunatelly I have not much spare time right now

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Matt

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Does this work for Moodle 2.0 or just 1.9?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan,

installed the Collaborative real-time editor assignment type some time ago with no issues and decided to update it today but the editor seems to have disappeared. any ideas how i get it back??

Thanks

Lucy

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

sorry ignore me i am being a muppet just seen the type of editor option

on a different note what are the chances of getting table support or even better (if possible) a spreadsheet version?

Thanks

Lucy

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan,

I am excited about your idea of a collaborative assignment. Are there any plans for making it available in Moodle 2.x?

With kind regards,

Hartmut

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Juan-

I, too, am excited about using this type of tool in moodle 2.0.  We made the transition to 2.0 this fall and I would be willing to test bugs.  I'm not much good at coding but this is a tool we would be able to use at the middle school level.

Thanks for contributing.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Moodle 2.0 version of this plugin is now available at>

http://moodle.org/plugins/view.php?plugin=assignment_rtcollaboration

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

We installed the new version on our Moodle 2.1 test site yesterday. Playing with it, we observed "ghost typing" where, by itself, the assignment created rows upon rows of \\\\\\\\\\\\\\\ and also dumped random bits of html like half a < span tag here and there. Really random.

When the ghost typing happens it also tends to hang the course, so that the only escape is to close the browser tab and log back into the site afresh. We've tried different browsers (IE8 & 9, latest Chrome and latest Firefox) but we still get the same result.

We didn't have these spooky problems with the 1.9 version. Any ideas what might be causing this in the Moodle 2 version?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi,

can you replace the 2.0 javascript file mobwirte_yuirte.js with the 1.9 one?

I think this will solve the problem

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hello there. I have the 2 version installed and am getting an error when running cron job that relates to this module - it says Undefined variable in (etc etc) rtcollaboration/assignment.class.php  on line 250. I don't have access to the server for this one but even if I did, I wouldn't know what the issue is -do you have any suggestions thankyou?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Yes, there is a big bug with the cron job

I have uploaded instructions to fix it, you can see it here:

http://tracker.moodle.org/browse/CONTRIB-3200

Can you report back if works fine for you?

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

thanks - will let you know

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

hi there.

i downloaded what appeared to be the newest version 2.01 and  and put on my test site and it stopped the site working.

i download 2.0 and added the fix and this seems to be working fine. I ran the cron and it worked perfectly.

I was so glad of this as it is a really useful plugin

thanks

tim

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Juan-

I have installed your RTCollaboration (2011092201) assignment plugin on my Moo 2.2.1 server.  It worked but really got slow with multiple users.  There was quite a lag time.  Have you used it with groups of students (we had up to 20)?  There was a bit of lag, even with just a couple users.  Do you think there may be something I need to change with the cron job or something?

Any hints for a better synch.  We ended up going to a google doc that was wide open for editing, as our students don't have google accounts.

Thanks for your help in this.  We had initially tried the wiki but realized we couldn't do anything with simultaneous editing in wikis.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Paul,

are you using the plugin in a Internet server's Moodle installation? or the plugin was installed in a Moodle inside a local network?

In any case, my plugin is based on this application:

http://www.mobwrite.net/

Give it a try, you can embed it in a frame and maybe it works better for you

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan,

I was looking for something like this and I had just written a message asking for information about something similar this morning when I saw your plugin.

I wanted to give my pupils a document for them to complete online (something similar to a form they have to fill) . Will this work for what I want?

I can see that you all stopped sending messages in October and I was wondering if the version to download works fine or if it could have any bugs. We are using version 1.9. I became a Moodle administrator last September and I'm a newby at installing plugins so that's why I am a bit scared of trying new things.

Thanks for all your work to offer us tools like this. It must be hard to develop such a thing.

Javier Oteiza

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi again Juan,

I have seen that you have been connected but haven't answered me so I guess you are not following this thread anymore. I am really interested in any tool that can allow edit a document but I have checked your plugin and it's not what I wanted. I expected that it could let me prepare a document (sort of a form) that could be edited by my students but I have seen that in your plugin you can present a document that is not really edited: you can add other parts but not in the same document.

Anyway, that's what I have experienced when I have tried it in my Moodle, but if I'm wrong, please correct me. And if I'm not wrong, do you by any chance know how I could do that in Moodle? Do you know any plugin that could let me do so?

Javier

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hola Javier,

I answered you in the spanish forum

Regards

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

I have moodle 2.21 and this mod/activity will not install, is there anything that can be tweeked so it will run on the latest stable version of moodle?

FYI if I put trcollaboration in /mod/assignment it is not recognized. If I put it in /mod it errors and says it cannot find the db.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi, I'm new to Moodle and am interested in your plugin.

I made what I'm sure is a dumb newbie mistake, but I am not sure how to right it and hope you might point me in the right direction.

I didn't see the install instructions at first and was searching in Moodle for info about where to place the plugin directory.  I mistakenly put it in the /repository/ folder and did the update.  It installed it, but I couldn't enable it -- and there was no install option.  So I deleted it and then found your instructions.  I then put the folder in the /mod/assignment/type/ folder and tried installing.

However, it appears to have a problem because your plugin is already installed, but in the wrong place.  I get the error below.  Is there any way to completely remove the previous install so I can install it correctly?

Any help would be greatly appreciated.  Thanks.

UPDATE: I suppose I could just manually delete the table?

UPDATE 2: That worked!

----

DDL sql execution error
More information about this error
Debug info: Table 'mdl_assignment_rtcollaboration_text' already existsCREATE TABLE mdl_assignment_rtcollaboration_text ( id BIGINT(10) unsigned NOT NULL auto_increment, assignment BIGINT(10) unsigned DEFAULT 0, groupid BIGINT(10) unsigned DEFAULT 0, text LONGTEXT, locked BIGINT(10) unsigned DEFAULT 0, timelocked BIGINT(10) unsigned DEFAULT 0, timemodified BIGINT(10) unsigned,CONSTRAINT PRIMARY KEY (id)) ENGINE = InnoDB
Stack trace:
• line 400 of /lib/dml/moodle_database.php: ddl_change_structure_exception thrown
• line 669 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
• line 88 of /lib/ddl/database_manager.php: call to mysqli_native_moodle_database->change_database_structure()
• line 75 of /lib/ddl/database_manager.php: call to database_manager->execute_sql()
• line 456 of /lib/ddl/database_manager.php: call to database_manager->execute_sql_arr()
• line 408 of /lib/ddl/database_manager.php: call to database_manager->install_from_xmldb_structure()
• line 345 of /lib/upgradelib.php: call to database_manager->install_from_xmldb_file()
• line 1449 of /lib/upgradelib.php: call to upgrade_plugins()
• line 269 of /admin/index.php: call to upgrade_noncore()

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hello, using moodle 2.2, downloaded, install and notification, the plugin seems to work but: i can't see editor at all in whiteboard and when debug i get - "mod/realtimequiz/lang/en/realtimequiz.php? line 6514 of /lib/moodlelib.php: call to debugging() line 7106 of /lib/moodlelib.php: call to core_string_manager->get_string() line 160 of /lib/ajax/ajaxlib.php: call to get_string() line 267 of /course/view.php: call to jsportal->print_javascript() " thank you

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi, thanks for this great plugin.

Can we expect a new version fully compatible with Moodle 2.3 and the coming 2.4 some time soon ?

Thanks.

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hola buenas tardes, hay alguna version de "Collaborative real-time editor" para la version 2.3.6+ de moodle? no consigo que funcione. Saludos!

Average of ratings: -
Re: New plugin: Collaborative real-time editor assignment type

Hi Juan

I've solved the longnames problem in the coding. Here's the zip file with the shortened table names:
However, after successfully installing it on my Moodle 2.5 system, how do I create a Realtime Collaborative Editor activity? If I create an assignment activity, I can't find any way to create the Real-time editor activity itself!!