Feedback wanted on SWF Activity Module

Feedback wanted on SWF Activity Module

by Matt Bury -
Number of replies: 44
Picture of Plugin developers
Hi,

If you can spare a minute, I'd like some feedback from you about a project I've been working on for a while now.

If you haven't heard of it already, check out the project home page on Google Code: http://code.google.com/p/moodle-swf/ and check out a few demos on my Moodle: http://matbury.com/moodle/course/view.php?id=9 (login as a guest)

What I'd like to know is your answers to the following basic questions:

* What is the module for? / What does it do?

* How would it be useful to course content developers?

* What possible applications does it have in an e-learning environment?

Like I said, they're basic questions and I'd like to know your honest answers to see how well I'm communicating my ideas. If you have any questions, please don't hesitate to post them here too. It'd help me enormously.

I look forward to your replies.

Matt smile
Average of ratings: -
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Craig Gunderson -
This from one of my Flash developers:

"That’s pretty cool. It will definitely make it bit easier for dynamic content. Especially uploading dynamic base flash pieces rather than always updating the source."
In reply to Craig Gunderson

Re: Feedback wanted on SWF Activity Module

by Mary Cooch -
Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Hi Matt. Well I just went and had a look at this and I agree - it does look really cool - but- I'm not a technical person so I am a bit confused and would appreciate some clarification: (and I hope I don't sound too ignorant!)
This is an activity module enabling people like me easily to upload and display flash based content -yes? Am I right in assuming it doesn't include such content -apart from the Word search generator which I think could have so many uses especialy for younger students and in language learning - but is a place to put flash content you or somebody else has already created? What about xml-based games where you enter information in the xml file and it goes to the swf file -such as the bish bash bosh game here or these language games Would they go here? If not, what sort of stuff would it be? I am thinking - how could I use it in my classes?
In reply to Mary Cooch

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Mary,

Thanks for the feedback. It's really helpful.

# Yes, the SWF Activity module allows non-developers to upload and deploy Flash movies.

# No, it doesn't include such content and yes, the word search activity is included to ensure that everything is working as it should.

# Yes, it's for deploying any Flash content created by anyone, although I'd caution developers to be careful about any Flash content that they deploy on their servers.

# Yes, the SWF Actvity Module can easily be used for XML based learning applications and it has a specific FlashVars parameter designed for this. Future versions will include the ability to define the names of FlashVars parameters, so that it can be made compatible with as many XML based Flash e-learning applications as possible.

I'll include these points as clearly as possible in the project documentation.

Thanks again! smile
In reply to Craig Gunderson

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Craig,

And thanks.

I hope that this module will become a widely accepted way of deploying Flash based dynamic e-learning applications in Moodle.

It also leaves open the possibility of dynamically assembling e-learning applications from a variety of SWFs, multimedia and XML/database data. The possibilities are endless! smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Ger Tielemans -
Matt,

I have toyed with "Magnet words".
(the website code with the .swf, before it became a widget)

It combines a flash with a separated background and a (start) wordlist
If I put it on my server:
  • I can change the background
  • I can add the start list
  • students can sort the words on the screen
  • IF they press refresh, the current screen is stored
  • ALL users look at the same screen and see the changes (after refresh? auto?)
  • Users can add new words if you make the link(= another page) for adding words also available
Attachment magnet.png
In reply to Ger Tielemans

Re: Feedback wanted on SWF Activity Module

by Ger Tielemans -
I toyed with this and came to a very interesting version: a screen where students can elaborate and sort-out things":
(see the screen, sorry for the Dutch)

Now my questions:
  1. is it possible to put this in your application?
  2. is it possible to work in groups, like we can in the wiki:
    1. one link for personal
    2. or for a group
    3. or classview on the (new instance) of the screen?
  3. is it possible to make the word list also unique for that instance
  4. and if I offer them to upload their own background, (instead of the blue venn-diagramm: I consider also to offer a dropdownlist of backgrounds.)
    can this also be only for their own instance?
  5. The easiest way would be to have a combination of 2 html-pages, the list and the background(set) editable available in the application
  6. Extra Question: how secure is the "add to wordlist option?
(I was considering to toy with wiki to test it there, bit would prefer it here smile
Attachment vb117.png
In reply to Ger Tielemans

Re: Feedback wanted on SWF Activity Module

by Mary Cooch -
Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Yes Matt - and Ger - that is exactly the kind of application I am interested in too smile
In reply to Mary Cooch

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Yes, yes, and yes. Flash Player can handle far more than HTML and Javascript and with relative ease and of course it's many times faster.

Re collaborative projects: It's possible to set up a "live screen" using a simple socket-server and Flash Player can handle all the usual stuff like uploading and downloading too. I set up a chat application with a socket-server a while back using Flash Player 8 (Actionscript 2.0). They're very cheap to set up and run, unlike media servers, and create a connection between the client and the server that is "always on".

Re backgrounds: For security reasons, users can't directly load files from their desktops into Flash Player, but they can upload them to the server and then select them from there.

If it's real-time interactivity between groups of on-line users you're after, I'd wait for Google Wave to come out sometime later this year. It'll be free and feature rich and they're already encouraging the open-source developer community to create applications for it. It looks like it could replace a lot of web conferencing and screen sharing services. I hope that they'll provide an API for Flash developers to hook into their service, like they've done with Google Maps. I wrote a blog article about Wave here:

http://matbury.com/wordpress/?p=263

Another thing that may be useful to scientific and engineering education is that Flash Player 10 includes a built-in 3D graphics engine. I've also toyed around with 3rd party 3D graphics engines. Here's a couple of quick examples, using Papervision3D that I knocked up:

http://matbury.com/wordpress/?tag=3d

It's possible to create Flash applications that can read standard molecular data files and render them into interactive 3D models. It would also be possible to create an editor to manipulate the chemical compositions, once loaded, and save the new compositions on a database. Here's a developer who's been working on a similar project:

http://www.tufat.com/s_3d_molecule_viewer.htm

Does this tickle your fancy? smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Quentin Roper -

hi Matt

Your module will be very useful in teaching microbiology and other subjects where the student views microscope slide images that they must click on to identify areas. This can be done very well using flash swfs. Likewise where the student is clicking areas on a radiograph to identify fractures. 

I havent yet figured out why Scorm is not the favoured method, but one problem is possibly that the image must be embedded within each swf.

If this is the case, Scorm is not useful because a sequence of swfs will usually refer to the same jpg image, so the image should be downloaded only once and called by subsequent swfs that require that jpg. As each jpg is 200-300k at best compression/size/clarity compromise this is a lot of unnecessary downloading!

So your solution looks like it should become Moodle standard, and of course you are using swfobject. In my example object/embed is very disadvantageous when the student must click more than once!

Scorm has other uses I am sure, but for integration within moodle where the data is sent just from the swf to the gradebook each time like a normal multichoice question, Flash swf deserves its own connector exactly like the one you are developing.

In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Been a while since I've had chance to come back to this (trackable Flash is only part of what I do) - great to see how things are progressing. Great work to get this far Matt! smile

Our Moodle Administrator as been asked to install your Swf Activity Module (SAM) as we need it soon now that coding is in AS3 (so the old workaround using FP6 is invalid).

It'll be tested on the test server before I can give it a serious go, but I'm hopeful it'll do the business wink at least in outputting results as before. (We still have to deal with the Grade Book connection).

Quick query: We're on 1.9.4 with (I believe) intent to upgrade soon. As far as you know will the SAM ok with this? I know that a re-upload may be needed if we upgrade. If necessary, I'll see if they'll postpone upgrade until after January, as this latest Flash project I'm on is for online assessments (hence, the need for Module trackability).

Idea - it may be worth putting a link to you SAM post from the Flash Module forum, whence all this began, in case folk searching there will think it all died way back then. This may also get more feedback for you through this forum? thoughtful

I shall get back to you as soon as I can with feedback and any questions (hopefully no real problems).

All the best

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Thanks for the words of encouragement Cathy! smile

I've successfully tested the SWF Activity Module on my test server where I've got Moodle 1.8+ and 1.9+ installed. It's a very basic module so I can't see there being any real compatibility issues. The only one I've encountered so far is how Moodle 1.8 and 1.9 handle the $SESSION->cal_course_referer variable but I managed to find a workaround that works with both versions and should work with Moodle 2.0, unless they radically change it!

Just a word of warning - The project is still in beta. I haven't successfully implemented the backup and restore scripts. I can sort of see how they work in theory but I haven't had much of a chance to work on it. Been spreading myself too thinly! Of course, it would be a piece of cake for an experienced Moodle coder to implement. I'd gladly add members of this forum to the Google Code project so that they can contribute ;)

As for the gradebook issue, another coder named Dmitry Pupinin is working on a new Flash question type to add to the Quiz module. It looks really promising and makes a lot of sense to have a Flash module directly hooked into the Quiz framework with all its advantages. It's still in the early stages and I'm contributing as much as I'm able at the moment.

Yes, a link. Good idea. I'll do that.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Just had a quick test with the SWF Activity Module (SAM). I'm afraid I may have misunderstood what SAM is...

I thought it was a replacement for the Flash Activity Module (FAM) which uses a service.php to output the results (but can't seem to cope beyond Flashplayer 6). Using SAM just acts as a normal standalone swf (as if using 'Add a resource/link to a file or web page') with no output of results after selecting the submit button.

Do I actually need to use AMFPHP, and not SAM, to have the new FAM abilities?

Or am I missing something with SAM?

Any help at all please.

Many thanks smile.

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Yes, I've hit a brick wall with the gradebook feature. I can't work out how to push results into it. I'm not really a PHP developer - I'm more of a Flash and ActionScript guy.

With AMFPHP, an ActionScript class and a PHP service class it would be very easy to send just about anything, back and forth, between Flash and Moodle. If you have a look at the Flash apps. on my demo course (guest access) you'll see some AMFPHP already in action - All the data for the learning interactions, links to photos and audio, and text is being pulled out of Moodle DB tables as SQL query results, converted to Action Message Format by AMFPHP and sent to the Flash apps: http://matbury.com/moodle/course/view.php?id=9 So far this is just proof of concept.

I understand that Moodle 2.0 includes Zend_AMF, which is another version of AMFPHP by the same developer: http://framework.zend.com/wiki/display/ZFPROP/Zend_Amf+-+Wade+Arnold Zend_AMF is much better but AMFPHP is easier to install in any version of Moodle and it includes a service browser application that is particularly useful for debugging.

In the context of the SAM, think of it as an alternative to JSON and being much faster, lighter, easier to implement and more versatile. I believe Jamie Pratt is working on the Zend_AMF part of Moodle 2.0.

For the SAM to be able to push grades into the grade book, it's only necessary to create a single service script to put in the moodle/lib/amfphp/services/ library. Despite my previous efforts, I know next to nothing about the grade book so I'm unable to proceed with this feature.

I'm only just getting to grips with backup, restore and upgrade. I'd be more than happy to give anyone here who knows about the grade book access to the project code repository.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply. Now let me see if I'm beginning to understand things here.

I'm looking to get the old Flash Activity Module (FAM) functionality, which was using a service.php to output results from the swf to Moodle's result page (not necessarily to the grade book; never been sure that worked!) updated to work with AS3 and flashplayer 9+. (FAM can't work beyond flashplayer 6 and it's been abandoned anyway).

To illustrate what I'm trying to explain, below is an actual example from FAM of the service.php and AS2 scripting that provided the feedback shown in the attached screen shot.

//service php for MPE Engine Parts/Functions (e7v910):
<?php
//get global data from credentials
global $CFG;
require("$CFG->dirroot/mod/flash/movies/library.php");
class service  {
    var $_frmCredentials;
function service($_frmCredentials)   {
       global $USER;
        $this->_frmCredentials=$_frmCredentials;
    }
//send 'result' of selections (.as theResult.text -> $response) and time to server
//save global data, result and time for gradebook...
function send_response($response, $time, $score){
if ($response=="all 10 parts correctly. Well done, you have passed this question."){
            flash_save_response($this->_frmCredentials['accessid'],$this->_frmCredentials['courseid'],
$this->_frmCredentials['cmid'],1,
                         array('answer'=>$response, 'time'=>intval($time)/1000, 'score'=>$score), 100);
                }else {
           flash_save_response($this->_frmCredentials['accessid'],$this->_frmCredentials['courseid'], $this->_frmCredentials['cmid'],1,
                         array('answer'=>$response, 'time'=>intval($time)/1000, 'score'=>$score),0);
                   }
    }
}
?>

//moodle functions: initiate, timer (moodle needs timer)(initiate() just sets initial screen and variable settings in flash movie)

moodleService.XonInit= function() {
initiate();
startTime = getTimer();
};

//return feedback (feed is moodle internal); clean up (sends results to gradebook)moodleService.send_response_XonResult= function(feed) {
moodleService.cleanUp();
};

//sendResult: (the submit button) moodle function gives feedback, sends result, response wrt score
//(_root.theResult.text & num are user-unseen storage).
//(.php $response (feeds into <answer>) needs to be a textfield, but $score is ok with variable).
function sendResult() {
wrong = (String(_global.wrongMenu+"\r"+_global.wrongMCQ));
_global.theMarks = _global.theMarks;
num = _global.theMarks;
_root.submit.XonRelease= function() {
tell = "Calculating score, please wait...";
if (num == 10) {
_root.theResult.text = "all 10 parts correctly. Well done, you have passed this question.";
} else {
_root.theResult.text = (String(num+" of the 10 parts correctly. Sorry you will have to resit this question."+"\r"+wrong));
}
_global.theScore = math.round((_global.theMarks/_global.totalMarks)*100);
moodleService.send_response(_root.theResult.text, ((getTimer()-startTime)), _global.theScore);
};
}

//call moodle
moodleService.init();

From your lines:
" With AMFPHP, an ActionScript class and a PHP service class... send just about anything, back and forth, between Flash and Moodle." and
"For the SAM to be able..... create a single service script to put in the moodle/lib/amfphp/services/ library."
It looks as though in order to do this, I need both SAM and AMFPHP?

But looking at the Moodle docs (http://docs.moodle.org/en/AMF_Moodle) it looks like I only need AMFPHP/AMF3.

What about AMF Moodle? (still in development? (http://docs.moodle.org/en/Development:AMFPHP)

I've been getting a little confused, and I don't want to ask our Moodle Master to install anything unnecessarily.

Could yourself or Jamie clarify please which is the currently best solution?

Many thanks again for any help smile!

Cathy

Attachment fam_result_eg.png
In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

I started the SAM project with usability in mind. For a Flash application to connect with AMFPHP, the SAM isn't necessary, but in order to deploy a Flash application in Moodle without the SAM you need to be pretty well versed with Flash embed code. This is well beyond most Moodle users capabilities.

The SAM is a PHP wrapper that makes it easy to deploy dynamic Flash applications Moodle. It provides a wizard with standardised parameters that users can set or select and which can be presented in a way that is meaningful to non-developers. Any Flash application developed for this module will work on any Moodle with the SAM installed.

I've thought about providing a separate grade book for the SAM but decided against it as grades from Flash applications really should appear in the core grade book. If this isn't feasible for some reason, i.e. the grade book only works with the Quiz module, I'd like to know so I can go in that direction. Developing and managing a grade book via Flash and AMFPHP would be relatively easy.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply. I'm still not quite clear here, sorry, please bear with me.

I have always been able to a "deploy a Flash application in Moodle" - just by using 'Resource / link to file or web site'. I don't need any embed code for that. Unless I'm misunderstanding whatyou mean, this is all that the SAM seems to do - i.e. upload a standalone swf.

What I thought was being developed was an updated version/replacement for the Flash Activity Module (FAM) that was able to work beyond Flashplayer 6. Unless, I'm missing something, the SAM does not seem to be this application.

However, you do say that the "SAM is a PHP wrapper". So does this mean that the SAM can work with function calls to a the service.php, as given in my previous example? If so, that would be great!  - But how? When I tried that example with the SAM, the calls to the service.php didn't work (i.e the submit button did not exit to the results page as it would with the FAM). Does the SAM use Flashvars to do this?

Or do I need AMFPHP instead? Does this do what I'm lookingfor?

Many thanks again for any help smile

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

If you embed Flash apps. in the way you've described, it exposes problems for users with Internet Explorer, especially with poorly maintained networks. Firstly, there's the "Click to activate" issue caused by a legal dispute between Microsoft and another software company which has since been resolved but some browsers on some networks still haven't been updated.

Then there's the ActiveX issue which means that the Flash plugin won't run without installing ActiveX. If a user doesn't have admin. privileges, they can't view the Flash app.

Moodle's Flash embed code isn't W3C standards compliant either.

Using SWFObject to embed Flash apps. gets around all these issues. So in that respect it's better to use the SAM or the FAM (which also uses an older, buggy version of SWFObject) to simply embed.

Another issue is having a standardised way of dynamically passing FlashVars into embedded Flash apps. At the moment, I think most people are using hacky embed code, which requires web developer skills that most instructional designers/course content designers don't have, typed directly into Moodle's HTML editor which then gets filtered and sometimes breaks the code. It's quite unpredictable. That was my main motivation for starting the SAM project - to make things easier, more reliable and more consistent.

BTW, FlashVars only passes data in the form of strings (text) into Flash apps. at the moment that apps. initialise. Ongoing communication cannot be achieved with this method. It's simply to pass in information about the particular module instance, i.e. its ID, name, etc. and where to look for things like files, web pages and services in the form of links, and perhaps some very simple learning interaction data in the form of comma separated lists or name value pairs.

As an end in itself, by rights, the SAM should be a filter not an activity module, but that's only part of the picture.

With regards to connecting to Moodle's web services, of which there are comparatively few, such as the grade book, I don't believe that the FAM does that either. I think it creates its own grade tables which aren't fully integrated with the main Moodle grade book but I'm not sure. The FAM has its own service.php script which only works in a very narrow context in relation Flash apps. embedded using the FAM. Actually, it doesn't embed apps., it loads them into a Flaah "container" app. which is why it isn't upwardly compatible. Anyway, the SAM doesn't share any services with the FAM so in answer to that question, no, you can't copy and paste FAM (AS 2.0) code into Flash apps., deploy them using the SAM and expect them to call the service.php script in the FAM.

Anyone who's still developing in ActionScript 2.0, version 6 can of course, carry on using the FAM.

Flash communication with Moodle is an issue that goes beyond the scope of a single plugin module which is why it's necessary, in my opinion, to install a Flash Remoting <-> Moodle interface like AMFPHP or Zend_Amf. With this installed, any Flash app. anywhere in Moodle can communicate with Moodle securely via service scripts in a service library. Just installing AMFPHP in Moodle won't directly enable Flash apps. to push grades into Moodle's grade book. We still need to develop the service scripts for that.

It's also my intention to provide a well documented open source ActionScript 3.0 class library so that Flash developers can easily create Flash apps. that hook into Moodle's services without having to study exactly how it all works, i.e. they just import a few classes, write a few lines of code and the communication with Moodle gets handled. With this approach, it possible to develop the services and class library further without "breaking" previous versions of the module and developers can easily write custom services for particular Flash apps., e.g. a Google Maps app. that displays a particular area on Google Maps, with defined markers, travel routes, 3D models of buildings, etc. that could also connect with Google Wave to keep all users' maps coordinated when anyone makes changes to it (once Wave goes fully public of course) - rather like web conferencing software. All this and much more is possible now, if we can develop the Flash Remoting service library.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for comprehensive reply smile.

Yeah, I remember now we did have a "click to activate" issue in the past. Guess we're lucky to have our network looked after, as we've not had any other noticable issues.

So then, it looks like the SAM is simply a user-friendly means of implementing SWFObject, and nothing at all to do with making an AS3 post-Flashplayer6 FAM replacement.

Yes, I agree, the FAM connection to grade book was never really there. But the output to the results tables was all that was required for assessment purposes. Most of our online assessments are done using the Quiz Module, but occassionally  particularly complex assessments need a Flash activity. Hence why I'm only on this subject from time to time and why I'm still trying to catch up on what is/not being developed to replace the FAM.

We're no longer developing in AS2 (and so can't publish for Flashplayer6). Everything is scripted in AS3 and there'll be no going back. So it would be great if a replacement to the FAM -or a means of doing the same thing only better - could be developed.

You say that AMFPHP allows Flash and Moodle to communicate via service scripts, though not to the grade book. But does it allow output to the results page in the same way that the FAM does? That is all that's required for now (and hopefully in the future the grade book can be implemented as well). Or is this something still in development - i.e. your open source AS3 class library?

So, I guess the key question then is, does AMFPHP currently allow the use of a service script to output results from Flash into Moodle's results page (not grade book, yet) or do we still need development of Flash Remoting service library to do this?

Thanks again for any help smile

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Re: AMFPHP and Zend_Amf (AKA Flash Remoting) - It's simply a translator - PHP and ActionScript are different languages so they need something to translate between them, well in fact it's more like a simultaneous interpreter like you get at the European parliament. With only AMFPHP installed in Moodle, you can't do anything. Someone, with a better knowledge of Moodle core code would have to write the service scripts to push the grades into the grade book or push results into custom Moodle DB tables that can be displayed in the results page. SO the short answer to your question is not yet.

Moodle 2.0 includes parts of the Zend Framework including Zend_Amf. We may have to wait until the official release of a stable version of Moodle 2.0 before integrating Flash with Moodle becomes as seriously viable option.

In the meantime, Dmitry Pupinin has started a project that looks good for Moodle 1.8+. It's a new question type for the Quiz module so it should give full integration with Moodle's grade book when it's finished. It doesn't use Flash Remoting, it uses JSON (a JavaScript wrapper) which is a more widely known format of communication between different programming languages so it's probably easier for non-Flash developers to understand. The main sticking point I see with this is that it can be difficult to get ExternalInterface, especially the call backs, to play nice with JavaScript. He's also developing in AS 2.0 and I've offered my services to develop an AS 3.0 class library to work with it. Adobe already supply a JSON ActionScript library so it shouldn't be too difficult just to fill in the Moodle specific code.

Here's the related thread: http://moodle.org/mod/forum/discuss.php?d=127735
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for this.

" ..not yet" -  ah well..

However, I have checked out your link to Dmitry's Flash Quesion Module (FQM) thread. It looks very promising! If you guys can get the AS3 implementation then this could be just what we're looking for towards replacing the FAM smile!

If the current development of the FQM can be made to work with AS3, that will be something we can use before Moodle2 is released, and any further developments thereafter.

For now, your suggestion of a "..translation of the current AS 2.0 services into AS 3.0" (in Dmitry's thread) seems like an excellent idea to me. Are you still keen to try that for the FQM?

I've also downloaded your QuizQuestionTypeFlash.as and data_class_demo from that thread to try get a handle on where things are going. But it looks like your .fla must be CS4 ('unknown format' error). Would it be possible to save out a CS3 for me to look at please?

Many thanks for keeping Flash in Moodle alive. There's got to be potential between FQM and SAM!

Keep up the great work smile!

Cathy




In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

I don't think there's anything in the FLA provided so you can just create a new one in CS3 and set the AS file as the doc class.

Hope this helps. smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Yep, just had a go at that, it works fine (should have thought of that at the time really blush - too much going on here!)

Further to my query about your translation of Dmitry's FQM AS2 services to AS3, is this us actually on our way with your flashquestion_data_test demo?

Is the next step to make this kind of output connect with Moodle's results page (and also/later grade book)?

Or are we still a long way off getting a SAM-FQM combo (or anything workable)?

Thanks again smile

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

From what I understand, you'll have to ask Dmitry about this, the Flash question type is an extension of the Quiz module and therefore integrates with the grade book. Needlass to say, the quiz module is very complex and has a lot of infrastructure that another separate module, like FAM and SAM, would have to duplicate. This is why I think the Flash question type is probably the best way to go.

I wish Moodle had a decent API - It would resolve a lot of issues with developing plugins. The UK's OU seems to be pushing the Moodle development team in that direction, which is good news.

As far as I know, one of the difficulties is that the grade book differs substantially between different major versions of Moodle. I'm beginning to think that developing a simple SAM grade book, without all the bells and whistles might be the way to go.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -
Hi Matt

Thanks for reply. Hopefully Dmitry will follow your link in his thread and get involved in this discussion - looks like we really need to get him on board. Would be great if yourself and Dmitry can get together and develop a working FQM and/or SAM approve!

How's it going with your translation of Dmitry's FQM AS2 to AS3? Or are you concentrating now on developing a SAM version?

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

I haven't heard back from him. I see from his forum posts that he's busy on some other projects and I guess this one isn't of a very high priority for him.

I'm concentrating on the SWF Activity Module for now because I know whatever I develop for that can be easily ported over to another module or question type.

I'm making some progress towards adding a skinning feature to the SAM. It's a similar idea to the skins on the JW FLV Player: http://www.longtailvideo.com/addons/skins which allows you to change the visual appearance of the player by loading in an external skin SWF.

Mine has to be a bit more sophisticated than that since learning applications usually need a wider variety of controls and they have to be able to create new instances of UI objects at runtime, not just ones that are already on the stage. So far I've created a dynamic class library that can access subclassed DisplayObjects in the externally loaded SWF's library (like the FLA library where you normally have such DisplayObjects). I think the trick will be to create an AS 3.0 API and library that allows even beginner coders to use the skinning features.

The skin SWFs themselves will be easy to create and edit, following a naming convention, or just copying and template and editing the graphics in the DisplayObjects in the Flash IDE. That way graphic designers can create SWF skins that go with their CSS styles and themes for Moodle. Neat huh?
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

It's a pity that Dmitry has apparently move off the FQM. This is not good. In fact it's rather desperate, I'd say. When I'm done making the standalone versions (i.e unplugged without a FAM substitute) of the assessment questions I'm currently working, on I'll have a look at the FQM (which has just been installed on our test Moodle) and see if/not I can work out as AS3 version. But I'm not an advanced coder or an API developer, but hey, need to try something - wish me luck?

Work on your skins is interesting, but at the mo', not a priority for the educators here, I'm afraid. Sorry.

What about another ponder on your idea of ."...developing a simple SAM grade book, without all the bells and whistles..." (your 3rd Dec post)?

I wonder if Jamie Pratt, or other developer(s), would take up the gauntlet of helping to develop the FQM, or something similar that would do the job? thoughtful

Seems like we're so near yet so far....

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Even if you were a developer who worked with APIs it wouldn't be much help with developing for Moodle. There's a shocking lack of APIs and no discernible service layer. That's what makes developing plugins for it so time-consuming and buggy. To help matters, they've provided a couple of templates but without a lot of necessary stuff like upgrading, backup and restore, grade book, etc. I hope some improvements will come in the not too distant future because Moodle is already falling way behind as far as content management systems go.

I'm currently looking at what kind of data structure I need for a custom SAM grade book. What subject area do you work in in e-learning? I'm in foreign languages - I teach EFL/ESL - so my ideas will have a slant in that direction. I'd like to sort out what user data would e best to record. Any help or suggestions from you or anyone else would be welcome. So far, off the top of my head, I think:

userid:int - to identify user
courseid:int - to identify course
swfid:int - to identify instance of SWF Activity Module

starttime:int - time user started according to server
finishtime:int - time user finished according to server
completed:int - % of SWF Activity Module instance completed by user
grade:int - % grade
maxgrade:int - maximum % grade weight*

* SWF Activity Module instances can be "weighted" to give scores out of less than 100% which means some learning interactions can be given higher marks than others. A calculation could be as follows:

starttime = 1260213479
finishtime = 1260213979
maxgrade = 50%
completed = 75%
grade = 60%

Grade for what user has completed: (60 / 75) * 50 = 40%;
Total grade: (60 / 100) * 50 = 30%;
Time elapsed: 1260213979 - 1260213479 = 500 secs;

In foreign language learning it's essential to know how long a student has taken on a particular activity, since effective linguistic communication is a time-dependent skill. These are just my preliminary ideas. I have to have a look at other ways of recording progress and success too.

Looking forward to reading your ideas! smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply. I agree, Moodle development (or lack thereof) in certain areas is woeful. Given we're in an age where folk are seriously moving into interactive,  game-based learning - which needs to be tracked and graded - letting something like Flash integration fall by the wayside has not done Moodle any favours, in my opinion.

Our subject area is land-based: Agriculture, Animal Care, Engineering, Equine Studies, Fisheries, Forestry, Horticulture and Veterinary Studies. There are also integrated courses in Core Skills, Communication, Employment Evaluation etc.

I'm currently working on a simulation for an Animal Care assessment. This assessment is in March/April so I need some kind of AS3 workable system for spitting out the results into Moodle from the Flash activities. (I don't want to have to recode it into AS2 and publish for FP6 - which may not still be working by then anyway. As it is, I've had to tweak a couple of older AS1/2 FP6 activities this year due to loss of functionality. FP6 back-compatibility won't last much longer I think.)

As far as I can tell, you seem to have covered all the main data for output. The only additional current Grade Book elements that I can think of are the following, which are currently put in manually:

* Pass
* Not Yet Achieved (in 'Scales')
* Feedback

In addition to the %, Moodle also gives a "grade" of x/y depending on the number of questions set in a quiz. But this may not be critical.

What I would say is that the feedback that we put out from Flash to Moodle's Results page has very specific feedback, scripted in AS, to tell the students in which areas of the question (activity) they went wrong. But this is a bit clunky as it means a lot of array output into Moodle's results field.

However, even better the Grade Book (which, as you know, FAM couldn't talk to properly) has an Item Analysis functionality which allows the educator to analyse the students' performance question by question. If the SAM could be developed to do this, that would be excellent smile!

Hope this helps towards a workable solution in the not to distant future.

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

I'd like to keep the SAM grade book as simple as possible but also as useful as possible to the greatest number of users.

I'm not quite sure what you mean when you described this system of feedback. Scripted in AS? Could you give an example?

Also, I'm not 100% sure of what you mean by "Pass". Presumably, this is the minimum acceptable grade for a particular interaction.

I have no idea of what you mean by "Not yet achieved (in 'Scales')". Could you elaborate?

BTW, passing objects and arrays back and forth between Flash and Moodle is no problem at all. You can send quite a long list of native Flash data types over AMF3 (Flash Remoting, AKA AMFPHP, Zend_Amf), as long as there are PHP equivalents to translate them into.

Matt
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply.
Re. feedback system, my post of 27 Nov gives a very basic AS2 one of passing or failing (sendResult() uses moodleService.send_response to pull the content of _root.theResult.text to feed into the service.php). Below is example (from current project) of a function that gives more specific feedback on where the student went wrong (MyGlobal is a custom package):

//this is a temporary output frame while in development
//will be removed when connected to Moodle system
stop();
if (MyGlobal.myScore == MyGlobal.myTotalMark) {
 this.finalScore.text = "Excellent! You scored 100%. You have PASSED this question.";
} else {
 this.finalScore.text="You scored "+MyGlobal.myScore+" out of "+MyGlobal.myTotalMark+". Sorry, you must RESIT this question."+"\r";
 var curText:String = this.finalScore.text;
 if (MyGlobal.myScore1<MyGlobal.mySectionMark1) {
  var wrongMenu:String = "In Part 1, you made the following wrong selection(s): "+"\r"+MyGlobal.myMenuErrorArray.toString();
  this.finalScore.text=curText+"\r"+wrongMenu;
  curText = this.finalScore.text;
 }
 if (MyGlobal.myScore2<MyGlobal.mySectionMark2) {
  if (MyGlobal.myNumDrags<14) {
   MyGlobal.myDragErrorArray.push("you didn't use all the required items");
  }
  var wrongDrag:String = "In Part 2, you did the following: "+"\r"+MyGlobal.myDragErrorArray.toString();
  this.finalScore.text=curText+"\r"+wrongDrag;
  curText = this.finalScore.text;
 }
}

MyGlobal.myMenuErrorArray and MyGlobal.myDragErrorArray are from functions that check dropmenu selections and the drag&drops respectively which store feedback into the arrays. (This now needs a means of feeding into Moodle's Results page in post-FP6 FAM-style way. This bit is the problem.) Hope this helps.

For the next bit, I've consulted our expert Grade Book user again...

- Yes, the "Pass" is the minimum acceptable grade for an interaction. Manual grading is a way of recording things in the Grade Book that Moodle hasn't scored itself, for example projects that have been put up in the Assignment Module. This is also where the "Scales" thing comes in. It's a Grade Book thing that has nothing to do with a Flash interaction that scores itself. So this is perhaps not an issue to concern you with SAM development.

- The "Not Yet Achieved" is related to competence-based accessment rather than pass marks. This relates to the manual grading and the "Pass" in that there is a minimum acceptable grade towards attaining the competence.

Now to the AMF3 bit. I tried to get an understanding of this earlier, but I'm still missing something it seems. Please bear with me:

On 1 Dec, I asked
"...does AMFPHP currently allow the use of a service script to output results from Flash into Moodle's results page..?"

You replied:
"With only AMFPHP installed in Moodle, you can't do anything. Someone, with a better knowledge of Moodle core code would have to write the service scripts to push ...results into custom Moodle DB tables that can be displayed in the results page. SO the short answer to your question is not yet."

Now you say that it's no problem with the AMFPHP, so long as there's the PHP equivalents for translation. Is it these PHP equivalents that's the sticking point?

Sorry if I'm repeating queries. Just trying to pin this down.

Many thanks for your patience and help in all this smile!
Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

From what you've described re: feedback, it looks like you're passing the commenting back and forth unnecessarily, or perhaps I'm missing something. I think it would work well to just add a column or two to the main mdl_swf DB table, store the comments there and pull them out with a get_record() query whenever required. We could retrieve them via AMFPHP in the Flash applications themselves or add them to any results page(s) that we print out. So the comments would be added in the module instance form while deploying the learning interaction, much the same way as the Quiz module does but on a simpler level.

I started work on a custom grade book. Oh, and I'm also moving the SWF Activity Module project to a new account - the old one has become corrupted somehow and the Wiki is uneditable. The new site is at: http://code.google.com/p/swf-activity-module/ You might be interested in this page: http://code.google.com/p/swf-activity-module/wiki/GradeBook

I've also created a Google Code discussion group related to the project: http://groups.google.com/group/swf-activity-module I'm a member of other Google groups and they've been having trouble with spamming recently so I've set it so that all new members have to be approved. I anticipate an increase in interest in the SWF Activity Module once people hear that it can record grades and user data and I'd like there to be a specific and distinct place where developers and users can go to find answers and share ideas.

So, deploying any version of Flash learning application in Moodle, quickly, easily and reliably that can record users' grades will be possible soon. smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply. Sorry, I maybe didn't explain very well. The feedback is only sent one way - from Flash to Moodle. It's the only way I could think to do it without (as you suggest later) a proper module interface, such as Quiz, to do so.

I'm afraid your next bit is getting beyond my knowledge. I take it the mdl_swf DB table and get_record() are part of the back-end of the SAM? (I can't find mdl_swf anywhere and get_record() seems not to be a Flash function) and you are saying that this is what needs to be developed to do what we want?

So, am I understanding correctly, that to retrieve the data via AMFPHP in Flash, or to send it the Moodle's Results page, still requires the development of PHP equivalents? - Is this the same as service.php scripts? Or something different? Or is the intent to have the SAM make use of AMFPHP to transfer the data? Sorry, I'm still trying to narrow things down to exactly where we're at and what is actually needed to do what is required so I can keep a track.

Thanks for new link, have stored this away and have also forwarded the GradeBook link to our Grade Book person.

Your Google group seems like an excellent idea cool. (I shall request membership when I'm done here.) Do you intend to have it link back to the Moodle discussion thread(s) as well? The "..record grades and user data" should certainly get them interested (especially as Dmitry seems to have left the FQM, and Jamie has no interest in FAM development) - it's what folk have been looking for after all.

I love your last line - positive thinking, that's the way to go - all power to elbow my good man! I dare to believe that things are moving forward again!smile

All the best with it,

Cathy



In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Sorry, I wasn't being very clear. Re your questions:

* mdl_swf is the DB table where the embed parameters data for each instance of the module is stored. Basically, the module form information.

* get_record() and get_records() are custom PHP functions in Moodle for retrieving data from DB tables, so yes, it's the back end of the SAM.

* Yes, we send and retrieve user data to/from Moodle via AMFPHP. I'll use custom Moodle PHP functions as much as possible to make Moodle<->SAM integration as seamless as possible. A basic score table/system isn't particularly difficult to develop and so I don't think this will be too much of a problem.

You mentioned your "Grade Book person". Does this mean you have someone who can help with developing the SAM grade book? Any help would be greatly appreciated. I've upgraded your status on the group to "Manager" so you should be able to invite new members. Please feel free to invite anyone you think might benefit or could contribute to the project.

I get regular questions and requests about recording user data and grades from Flash and I think this feature would be the main attraction to people wanting to deploy Flash learning applications in Moodle. It'll certainly provide a simpler, more efficient alternative to SCORM and I hope it'll eventually get integrated with Moodle's core grade book.
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for reply.

My Grade Book person is the main Grade Book user/administrator- and my Line Manager. We actually perused your fore-going queries on the Grade Book together so the replies regarding that were as a result of discussion. She has read through your SAM Grade Book development page and seems happy with what you're doing. (Though were was a concern that this was a separate Grade Book from the main Grade Book, but was seen that, until Moodle's API system is sorted out, it's the best solution for now.) She's not a developer but could maybe help with any specific queries you may have concerning requirements/workings.

Thank you for promoting me surprise. When she's back on Monday, I can ask her in person ask if she'd like to join. I see we're the only 2 members at the mo', as well as being the only currently active people on this thread. I wonder if there's some way of 'promoting' this development and the Google group in a related thread (probably in Flash Module - or Grade Book if there's a Flash query in there) to bring it to the fore again. I fear that the subject may have become buried and needs to be revived. What do you think? - Though, of course, you may have lots of messages that won't be known about in the forums, so it may be OK.

All the best

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Yes, a little promotion is necessary from time to time. Projects typically go on for months or years and the wheel grind round slowly. The occasional bit of news or questions usually keep stuff like this on people's radar. Lots of proposals get made and lots of mini projects get started but not many see it through to completion let alone receive continuing support to make it worthwhile to invest time and effort into. Like our experience with the Flash question type so far, does anyone have any idea if it'll ever get finished? I think this is one of the typical drawbacks of open source software and something we have to learn to live with.

I quite confident that once there's a working version of the SWF Activity Module that can easily record users' grades and has a reasonably abstracted but flexible AS 3.0 API, it'll receive more interest. I think one of the key points to a projects success is good documentation and it being quick and easy to implement from the word go. Once developers get more familiar with it and can get some positive results, they can then start looking into it in more detail.

From instructional designers', course content designers' and teachers' points of view it should be just another useful tool in the Moodle toolbox - install it, try it out and start designing learning interactions and/or working with Flash developers to exactly the learning applications they want. Then the sky's the limit! smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Yep, I think it wise not to pin hopes on the FQM going anywhere fast (if at all).

I noticed Jolvin Goh's post re. Flex and Moodle. Let's hope he's noted your 11 Dec post for your SAM site and perhaps joins in with your project thoughtful.

I also had a look at the links to your code in your 13 Dec reply to Jolvin. I'm not a PHP person, but it looks to me that your on the right track, and that any PHP coder interested in Flash integration should also take the opportunity to join in and lend a hand if needed.

Looking forward indeed to this project progressing and fulfulling hopes smile.

All the best with it

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

I've been working on the Gradebook.php service and the corresponding actionscript classes. So far it's taking shape nicely. I've got the methods of Gradebook.php handling objects instead of parameters which means we can make everything more flexible and not break previous versions with updates.

I've discovered a few more idiosyncrasies of the way Moodle's DB functions return query results. I'll have to make some decisions about how to best handle them. Convert them to something more expected?

The main sticking point at the moment is how to deal with user permissions securely. Apparently, permissions are stored in a session object but I'm having trouble finding them. Without this we won't be able to control who can access the SAM DB functions so students would be able to read, write and delete everyone's grades! If you know anyone who can help us with that, it'd be great.

I haven't uploaded the changes to Gradebook.php or Swf.as yet. I want to do some more work on them first.

Matt
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

A quick update. I think I've worked out the basics of defining and checking roles and capabilities in Moodle so I can proceed with creating a Flash grade book for the SWF Activity Module.

I'm now thinking about using Flash to display and edit users' grades:

I think it'd be a good idea to create services that return users' grades to Flash in an easy to manage format for quick and easy display, but also have services that return 'raw' grade data so that they can be manipulated and displayed/edited in a more sophisticated way.

So far, going from edit to edit runs much, much faster than doing it on web pages plus Flash is so much better at handling and displaying this kind of thing. I think it'd also be good to provide a default grade book display/editor Flash application but also allow the option to deploy custom developed Flash grade book displays/editors on a course by course basis. I've already seen a plethora of grade book plugins in the downloads section of moodle.org so I think this would be a popular feature.

Of course, if we ever can work out how to push and access grades in Moodle's grade book, I don't think it would be too difficult to convert the code I'm working on now to do it.

All the best,

Matt
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Thanks for this. It's looking good approve.

Does this mean that although Flash is being used to display and edit the grades, the educator can still have a digitally stored and accessible record of the grades, and which can also, for example, use the services to output as an .xls etc?

As it is now, our post-FP6 Flash can output scores/grades in Flash itself, but can't output to Moodle results page. Nor is the output accessible outwith the Flash activity itself (unless AMFPHP can be used for that, but I don't know how yet).

I've passed on your query about the sessions store (your previous post) to our Moodle Master who deals the IT and Administration side of things. Maybe he can help with that.

All the best

Cathy


In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

From what I understand from Moodle docs, we can integrate with Moodle's capabilities policies (what each user can and can't do) and allow Flash clients to interact with any of Moodle's DB functions (DML). At the moment, I'm keeping the scope of what Flash clients can do as narrow as possible so that I don't create any security breaches.

So far, I've create an access file in mod/swf/db/access.php that defines who can:

* view all SAM instances on current course,
* view their own grades on current course,
* view all users' grades (I'm going to change this to all users' grades on the current course),
* edit users' grades on current course

I'm presuming that we'd like students to:

* view all SAM instances on the current course
* view all their own grades for those instances (with statistics about multiple attempts)
* make attempts on the learning interactions in those instances

and teachers and higher to:

* view all SAM instances on the current course
* preview all SAM instances on the current course
* view all students' grades for those instances (with statistics about multiple attempts)
* edit those grades where necessary (i.e. if they require personalised feedback from a teacher as text)

We can also do things like display student profile avatars and other data, and add quick links to students' profile pages in the SAM grade book to allow teachers to go to them with a single click (open a new window/tab) or perhaps managing personal messages through the Flash client too. A lot is possible but I think we need to concentrate on getting the basics up and running first.

Things like allowing students to view all their own grades across all courses on a site-wide basis or allowing admins to have an overview of everything can be added later. I've uploaded a couple of service classes to the project repository but please remember that they're a work in progress and shouldn't be installed on a public/production Moodle installation!: http://code.google.com/p/swf-activity-module/source/browse/#svn/trunk/src/moodle/lib/amfphp/services (It's object oriented PHP5 so it should be a little easier for an AS 3.0 coder to read).

I still have to add logging of all user activities to Moodle logs, which is incomplete at the moment, then I can start on developing a Flash client for viewing and editing grades. I think I'll use the fl.controls.DataGrid component to view and/or edit grades. It's good at handling arrays and objects and offers a flexible and compact way of displaying grade data. I'll also make the layout as similar as is practical to Moodle's grade book, simplified of course, so that Moodle users will already be familiar with the format.

Re: XLS (MS Excel) files. I presume you mean convert the DB table data into a standard Excel document to be exported/imported. If you can find the Moodle API that handles these conversions, then we can write services for it. The sooner we have details about this, the better, so that we can accommodate any idiosyncrasies without having to redesign or rewrite significant parts of the grading system.

I'm also working on the com.matbury.sam package to make integrating Flash applications with the SWF Activity Module as easy and painless as possible. At the moment, developers only have to import the classes and add a few lines of code to handle everything. Of course, automating it too much will make it inflexible. I'll have to strike a good balance.

Man, my posts are long... :o phew!

All the best,

Matt
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Wow, there's a fair bit to take here. For specific Grade Book requrements, I can't readily comment on without 1 or 2 others getting involved in the discussion here.  But as folk are starting to go off on holidays, it could be into mid-January before there's likely to be any progress there!

However, I can say, yes, I agree, best to deal with the basics of outputting results and grades to Moodle from SAM.

We have SAM on our test server. Are these service classes at a usable stage for testing with SAM just now or should I hang on a bit? If/when they are ready is it just a matter of putting them in the /mod/swf/ folder? Or do we need to install AMFPHP to use these files?

I've just been checking out the fl.controls.DataGrid pacakge. Yes, it certainly looks workable (and something I should try and get a handle on for our own Flash activities as soon as I can get an opportunity). Getting something like this to communicate with Moodle would be great cool!

Re. the XLS, yes I'm meaning Excel just as an example of a format in which the lecturer (etc) can download the Grades - for example under the Quiz Module's Results tab, the grades can be exported in ODS, Excel and Text formats. As for the API, it might be lib/gradelib.php? You may know of these already, but if not, would these links be of any help at all? http://docs.moodle.org/en/Development:Grades#Export_plugins,
http://tracker.moodle.org/browse/MDL-14187

I agree, we need the balance to allow flexibility and creativity as well as user-friendliness for non-developers who simply want to use off-the-shelf Flash activities or those that are customised through a user-interface, such as Raptivity, for example.

I'm confident you're getting there.

All the best smile

Cathy

In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi Cathy,

Re: service classes. Yes, they can only work with AMFPHP installed. Installation is easy. I've made the necessary changes so all you have to do is put the app. into MOODLE/lib/ so you've got MOODLE/lib/amfphp/...

I'm still fiddling around with the exact workings of the services, capabilities, etc. and they're changing on a daily basis. I'd say hold-off installing anything yet until we've got something a bit more concrete.

I've already included an additional column in the SAM grade book DB table to include user specific feedback (text) so that teachers can comment on each attempt on an activity. I think it'd also be a good idea to include a link so that a teacher can recommend another activity or some other resources to look at to the learner. This would be in addition to general, automatically generated feedback stored in the learning interaction DB table that can be included in feedback, although this might start to get a bit too complicated for now. I think it's something to allow for for the not too distant future, i.e. Add it to the project road map.

A Flash client, using the DataGrid component is an easy, lightweight way of managing DB tables because there are no screen reloads in the browser, only the data you change or reload gets refreshed in the Flash client, not the whole page and all of its Javascript, which Moodle developers seem to be so fond of.

Thanks for the links. I'll have a look at them when I have more time.

All the best,

Matt
In reply to Cathy Macdonald

Re: Feedback wanted on SWF Activity Module

by Matt Bury -
Picture of Plugin developers
Hi again,

I've also found this discussion about plans for a new Moodle grade book: http://moodle.org/mod/forum/discuss.php?d=51107

I hope they include an API in it! smile
In reply to Matt Bury

Re: Feedback wanted on SWF Activity Module

by Cathy Macdonald -

Hi Matt

Just had a look at that Grade Book thread. It looks like they're intending a new API for Moodle 2, though Tim Hunt seems to think it's doable now. However, I suppose it may depend on how readliy other modules, such as his suggested Lesson, relate to how SAM works.

Anyway, hopefully now that you've made a connection with that thread, perhaps you'll see more folk coming on board for SAM development thoughtful.

Further to your previous post, that's fine, I shall hold off on having AMFPHP and the AS3 services installed for now then.

Meantime, all the best

Cathy