New resource type: Object repository

New resource type: Object repository

by Helen Foster -
Number of replies: 71
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Thanks for everyone's comments and feedback to New module: Object. As promised, the module has been developed into an object repository resource type for Moodle 1.6 (though it works in 1.5.3 too wink)

This resource type allows teachers to browse and preview learning objects in a central repository, then add them to their courses.

The location of the central repository is moodledata/1/repository (though this may be changed in the resource type config.php) i.e. within the site files folder.

As with the Object module, the directory structure of the repository is used to create the navigation, so it's important to set this up in a logical way to enable teachers to easily find relevant learning objects.

In response to Object module feedback requesting the ability for teachers to upload object packages, we've "borrowed" Eloy's code for New resource type: IMS CP and included it in the object repository resource type i.e. teachers may choose to upload an object package or browse the central object repository.

When teachers upload packages, they are stored in the course files folder, however a possible future development would be to provide the option of packages being uploaded to the central repository.

Either of the options to upload a package or browse the central object repository may be disabled in the resource type config.php.

Future development of the object repository resource type will include a search facility.

As always, comments or suggestions for improvement are appreciated! smile

PS. We're just playing with the code a little more before posting it. wink

Average of ratings: -
In reply to Helen Foster

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
To install the onject repository resource type, please download the attached zip file and extract it to moodle/mod/resource/type. This will create a folder called "ims" in the type folder. Install the language pack by extracting en.zip to moodle/lang.

To set up the repository, either make a folder called "repository" in the site files folder or upload repository.zip (containing sample learning objects) to the site files folder and unzip.

Have fun! smile
In reply to Helen Foster

Re: New resource type: Object repository

by Chris Jeffries -

I don't have a problem with the object being a resource type rather than an activity. However, by its nature, it could be either, which rather mucks up the (in my view rather arbitrary) division between activities and resources.

This set me thinking. The LMS interface that was dummied out in the object activity module (is it still?), but is implemented in Bobo's should really be at a much higher level in Moodle so that any module, wherever it is run in Moodle, can interact with bookmarking and student progress recording. We'd then a have a consistent system for Workshops, Hot  potatoes, SCORM format units like those in the object repository and so on.

The next step on this jounrey would be to have a Moodle standard (much like the datalib interface for example) that could be a wrapper for any type of activity or resource that would allow it to be packaged as an object that could communicate throught the same LMS calls.

In reply to Helen Foster

Re: New resource type: Object repository

by Keith Allpress -
Hi
I have just picked up on Moodle and I am having my first go at developing some functionality.  I am trying to pick up on the design philosophies in Moodle, so feel free to jump on me if I get things wrong.

Maybe its all a bit like cooking, a resource is essentially something like a cake tin, a knife, an oven, a cookbook, whereas an activity is more like a recipe, a dish.  These latter things are also resources, but in a different sense.  If there is a suggestion of cooking, baking stirring, etc. then it belongs on the activities side.  These "activities" are resources in a different sense, in that they can be reused in the creation of meals.  I would be interested in any reasons why it was decided not to implement Learning objects as activities.

OK now here's my problem. Basically the people round here want to do a bit more with resources, like rate them, something like Amazon really.  I mean a book review for example, with a rating by a philanthropically-minded teacher, that could be read by other teachers.  The review of resources is a teacher centered activity which is where Moodle looks weak to me. 

The question was raised above, what is the distinction between activities and resource types in Moodle?  Well it sees to me that activities are just that, things to be done by students in a student-centered view, whereas resource types essentially have been conceived of as physical rather than logical.  They appear to be the online classes of thing that teachers and students might grapple with.  A file to upload, an HTML page to read, a passage of text.  A directory/folder of files even.  The existence of files and directories on the server allows for a measure of generality, and thats enough to get started, because you can get to your files from elsewhere.

I found the moodle source quite easy to follow and modify, kudos to the author.  Resources as implemented in Moodle seem to suffer from a lack of generality, for example a completed student assignment should be able to be also a resource for future students, and also resources are effectively "nailed" to the course structure, which makes the reuse etc. difficult.

In order to extend the information available about resources it seems logical to me to create a block called "Resource review".  The alternative would be to modify the core moodle too much.  A few database tables/fields can be added easily enough to support the additional information.

Extending the resource view like this still does not solve the problem of
reviewing books when the book itself if not physically online.  Moodle allows for the creation of a "freeform" webpage or text passage which could represent an offline resource, but is lacking a means of creating a structured resource record.
In the moodle scheme this record would be a physical database record, but from the user perspective the internal representation is actually irrelevant.  It could be an XML or a relational storage format, so it seems to make sense to me to extend Moodle with a resource type to represent offline resources  (and I could easily get Moodle to generate a webpage from a database record anyway).  I just called it "registry" to keep it open, because I want to represent an offline resource in an internal registry system and the physical basis now actually doesn't matter.

It was surprisingly easy to add this resource type and to modify the dropdown resource menu to read "Reference an offline resource".   The idea is that you can then enter a book review of your own, or some offline resource, and at the same time get more information about the quality of resources, in a more reusable framework.

As a Moodle newbie I would appreciate feedback.




























In reply to Keith Allpress

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Chris and Keith,

Thanks for your comments. You may be interested to read the 2004 discussion Proposal to separate resources from activites.

The main reason why we have developed the Object module into a repository resource type was because it was Martin's wish for it to be so.
In reply to Helen Foster

Re: New resource type: Object repository

by Robert Brenstein -
The original reasons for splitting the resources and activities were fine and just. However, life muddles things over time and the distinction is not so clear anymore.

For example, the book module is really a static resource from teachers perspective but it shows up in the Activities popup. Another example, the glossary can be used either as a resource or as an activity but it is in the Activities popup. At the same time, the Object module can also be a resource or an activity as discussed here but it shows in the Resources popup.

May be it is time to review this and see whether it can be improved along the lines what Chris suggested. For example, easy to implement would be to have an option for each module to be assigned to either popup (or both) by the developers or site administrator.
In reply to Robert Brenstein

Re: New resource type: Object repository

by Chris Jeffries -

Glad I have some support for this point of view.

Some practical specific suggestions for how to do it....

a) Recast existing resource types so they follow the same coding structure as activities. The activity model is more pluggable than the resource one.

b) Provide for an in topic/week 'block'. We could then use one of these to contain the drop-down menu for the resources and/or activities and/or any other combination or other useful thing that might at some time be thought of.

The block would of course automatically be repeated in every topic/week.

Although it wouldn't be necessary in the case of 'Add resource' 'Add activity', the block's code could usefully have access to a course/topic variable to allow it to adjust its behaviour if necessary.

In reply to Robert Brenstein

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Robert,

Thanks for your comments.

Regarding the Book and Object modules, please note that neither are standard modules. As far as I know, the plan for the Book module is to develop it into a multi-page resource type. The Object module was only a temporary solution, whilst we learnt how to re-write it as a repository resource type. wink

The Glossary module is quite different in that it provides options for students to add entries, comments and/or ratings.
In reply to Helen Foster

Re: New resource type: Object repository

by Keith Allpress -

'That's a great deal to make one word mean,' Alice said in a thoughtful tone.

'When I make a word do a lot of work like that,' said Humpty Dumpty, 'I always pay it extra.'

'Oh!' said Alice. She was too much puzzled to make any other remark.

'Ah, you should see 'em come round me of a Saturday night,' Humpty Dumpty went on, wagging his head gravely from side to side, 'for to get their wages, you know.'

In reply to Keith Allpress

Re: New resource type: Object repository

by Robert Brenstein -
Great quote smile

Well, I understand what you are saying, Helen, and I have no problem buying it as a developer and administrator. I don't want to sound too contrary but Moodle is for teachers and users not just us, and I think what we have is confusing. And I am just sometimes tired of explanations that go along the line: if you want to add a static resource like blah blah, use the resource popup menu on the left. Ah, if you want a multipage resource, look for the book module under activities. Ah, and glossary is also under activities because it has an option be used as an activity. clown

Nota bene, the book module, whilst not part of standard distribution, already is a multipage resource wink And since I installed it right away, other users have no clue it is not part of the standard distribution. black eye
In reply to Robert Brenstein

Re: New resource type: Object repository

by Keith Allpress -
I read back where physical resources were invented into moodle, but the reasons were not apparent.  One motivation might have been just to make the droplists shorter?  What is fascinating to me is that the resource types were reportedly conceived of as static things.   Or at least this conception is abroad.

This is wrong, or at least it is not how Moodle implements resources.  Resources (as implemented) and learning activities are not necessarily mutually exclusive, as the examples above readily demonstrate.  Learning objects are yet another case in point, and I see where developers have been uncertain where to lodge these.  The dictum to lodge these as resources further breaks the conception of "static" things being resources.  I think that this point is agreed.

So what in a Moodle resource?  The primary distinction is obvious, the resource droplist menu in fact presents a classification of "Resource Types", not of resources per se.  We need to look then more closely at what distinguishes these "Resource Types".   These types are NOT about teaching or learning or constructivism, or education, they are about computers.  The definition is operational based on process (locating)  rather than on pedagogical character (static vs interactive).  So we have files/directories/links/objects as resource types.

Now what about my need to reference an object such as a book or a public lecture, or anything at all that does not necessarily have a corresponding object on the server to locate?    So we have the resource types of "webpage" or "text" for references created on the fly for such cases, but as I mentioned above, these are inadequate, I really want database-like features for these.  

Perhaps "Learning objects" can subsume such things, that might be a clean solution.  At least then we could be liberated from the tyranny of physical technology distinctions, after all these choices ought to be buried in something we computer people call an "abstraction layer".

Whilst I am in a reflective mood, a fascinating thought occured to me when composing during this post.  Initially when people learned that computers could model reality, the phrase "virtual reality" was coined.  But that generation was formed by people who marvelled at their creations.  Nowadays we have younger people growing up with this technology.  What is so "virtual" about something that you need to desperately need to submit for real grades to pass a real course and earn real money?  A resource is "real" if I can download the file, or hear it on my iPOD, or find it in Google, that is the reality.  So in Moodle for example if I can get to the resource then it is real.  But if I have to go to the library, then it is not real, in this world view, digital objects are real, physical objects are virtual.  Virtual resource type?  Oh well, I always try to have at least one paradigm shift before breakfast. ;)
In reply to Keith Allpress

Re: New resource type: Object repository

by Chris Jeffries -

I'd like there to be a level of indirection both within and above learning objects.

In the repository, I'd like there to be a convention that if it is public, that there is a file with a well-known name actually in the root of the repository that lists the locations of all the manifest files in the repository. This could be of the format of a manifest file itself (since they also list resources) however it ough to have a different name. This would allow you to reach all the individual manifest files, and thereby all of the resources that they point to.

By this means, you could reach into any remote repository.

The imsmanifest file could indeed list resources of type 'real' (or virtual if you prefer), or collections of resources if appropriate.

The other side of this would be a link file that could be placed in one's own repository that would form a type of sym-link into that other repository and could be followed transparently.

In reply to Chris Jeffries

Re: New resource type: Object repository

by Keith Allpress -
Does anyone know where I can find some kind of spec for the backuplib and restorelib scripts for new modules to save a bit of time reverse engineering?  Its for a new activity module for contributing and reviewing "user resource" references that are kept in a database, the coding is basically all done apart from that.
Thanks
In reply to Helen Foster

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Please find attached latest version. According to Tom, changes made since the last version are as follows:
1. Caches the IMS manifest navigation information (in cache.ser) to avoid reprocessing data every time. Speeds up the program considerably. Cache created whenever md5 of imsmanifest.xml changes. Stores md5 hash in cache.ser. Use get variable force=true to force refresh the cache.

2. Handles titles of materials better improving reliability.

3. Detects more errors in XML and silently ignores the offending material.

4. Can cope with repository directories not in moodledata/1 now. Useful if you don't want to use file.php to view things since this is painfully slow. Also could be used to centralize information for several different moodles. NB. Won't work on just URL yet since must write cache to the repository.
In reply to Helen Foster

Re: New resource type: Object repository

by Chris Jeffries -

1. Minor - if there is no repository in modledata/1 then it fails ungracefully.

2. I can't find cache.ser - I think I have another use for this and would like to see it.

3. Language strings. A plea to central developers to make it possible for the needed strings to be addedwithout overwriting resource.php in lang/en. O BTW, the instructions say expand en.zip in moodle/lang, but you need to do it in moodle/lang/en.

4. Is putting the repository in moodledata going to cause problems? Internal relative URLs inside courses are not going to know to use file.php to resolve their references, and if as recommended moodledata is outside the web root (mine isn't) then won't those references fail?

5. Where do you configure resource types?

6. I'll try to add the search functionality I wrote for the object activity module to this new resource type.

In reply to Chris Jeffries

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Chris,

Thanks for your comments.

1. You're right about a repository folder being required. The readme file contains instructions for setting up the repository. However, if the repository folder does not exist, we could do with an appropriate error message explaining the situation.

2. When an object is browsed in the central repository, cache.ser is created in the object folder, containing the serialized data structure for the object navigation.

4. We initially thought that it wouldn't be possible to put the repository in moodledata, however Eloy's IMS CP resource type helped show how to make it work. (A big THANK YOU to Eloy! smile)

5. A GUI for configuring custom resource types does not exist (yet). The object repository resource type is configured using ims/config.php.

PS. Please find attached latest version tidied up. Apologies for including backup files previously - a Friday-style error! wink
In reply to Helen Foster

Re: New resource type: Object repository

by Chris Jeffries -

ok, I'll have a look at adding my config code into ims/config.php

In my version of the search for the resource version I have made minor changes to finder.php (modded 1 line) and ims.html. (added one line). These are clearly documented in the code (tip: search for CGJ).

All the remaining code is in searcher.php and its library searchlib.php.

In reply to Helen Foster

Re: New resource type: Object repository

by Colin McQueen -
Thanks to all at Alton and testers for this. On my test system this works with the example objects but I have a very large ims from Nelson Thornes that shows up in nthe repository but gives the error

Warning
: reset(): Passed variable is not an array or object in c:\program files\easyphp1-8\www\moodle\mod\resource\type\ims\imslib.php on line 155

when you try to choose the object.

Any ideas? I'd attach the manifest file but it's 2MB.
In reply to Colin McQueen

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Colin,

Thanks for your testing and for your feedback - much appreciated. approve Please could you provide further details of your set-up.

It's reassuring (for me, at least) that the warning message has been reported previously. No doubt we will find the cause when we have chance to investigate the issue thoroughly.
In reply to Colin McQueen

Re: New resource type: Object repository

by Andrew Walker -

Hi Colin,

Would it be possible to zip up the object that's causing the problems and email it to andrew.walker@altoncollege.ac.uk so I could take a look at it to try to see what is going wrong? Thanks!

I'm pretty sure some versions of PHP have issues with reading files of about 2MB+ (PHP 5.0.4?) but I don't know if this could be the cause of the problems here – it could well be something unrelated entirely wink  What operating system and version of PHP are you using?

Andy

In reply to Helen Foster

Re: New resource type: Object repository

by Chris Jeffries -

I've taken this version and added in the search facility.

HOWEVER, the search facility needs to be able to build an index, and I can't find a place where I can put the button allow the administrator (but not a teacher) to do this. It takes much to long to be triggered when someone does a search, it really must be done when someone intends to do it.

Any ideas?

Also, I have some database tables starting with object_ any suggestions how/whether these should be renamed so they can be used with the resource type.

In reply to Chris Jeffries

Re: New resource type: Object repository

by Julian Ridden -

could you possibly add the index creation to the cron?

In reply to Julian Ridden

Re: New resource type: Object repository

by Chris Jeffries -
It is unlikely to need to be updated that frequently, so it will need some incremental system or it would be a severely unnecessary load.
In reply to Chris Jeffries

Re: New resource type: Object repository

by Chris Jeffries -

I have now built in the incremental functionality. It checks the datestamp and file size of the imsmanifest files. If they are different to last time the file is re-scanned and the metabase updated. It is very quick if there are no updates, so it is practical to add it to the cron.

Now I have a different problem.

This is a RESOURCE. Resources aren't currently 'cron'ed. I had to

a) set 'cron' to 1 in '_modules'  for the 'resource' module
b) I had to add function cron() to mod/resource/lib.php - this change is just to do an include for mod/resource/type/ims/cron.php

These are core changes, and I can't really distribute them with the code. What to do?????

In reply to Chris Jeffries

Re: New resource type: Object repository

by Julian Ridden -
H guys andGals,

Going a little insane here. Have followed install instructions to the letter and have set up a repository folder in the corerct directory.

Yet no matter what I do, I get the following error:

Warning: opendir(home/moodle/moodledata/1/repository): failed to open dir: No such file or directory in /home/moodle/public_html/mod/resource/type/ims/finder.php on line 253

Warning: readdir(): supplied argument is not a valid Directory resource in /home/moodle/public_html/mod/resource/type/ims/finder.php on line 256

Warning: closedir(): supplied argument is not a valid Directory resource in /home/moodle/public_html/mod/resource/type/ims/finder.php on line 283

-------------

I have tried using a URL link instead, I have tried moving the repository to different locations. Yet no matter what I do the code says it cannot find the repository.

For testing purposes I filled the repository only with your testing data.

Any Ideas what I am missing? I am using the code submitted online on Dec 21.

Many Thanks
In reply to Julian Ridden

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Julian,

It appears that the script is looking for the repository folder in moodledata inside the moodle directory. Please could you confirm whether it is the case that you have set things up so that moodledata is inside the moodle directory.
In reply to Helen Foster

Re: New resource type: Object repository

by Julian Ridden -
no..sorry abot the confusion there Helen. Moodle is the name of my user on the unix box.

my moodle is actually stored in:
home/moodle/public_html

while my moodledata is in:
home/moodle/moodledata
In reply to Julian Ridden

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Julian,

Apologies for the delay in replying.

It seems that the error you describe is related your using Unix, as Eloy has reported the same. Unfortunately it's a problem for us to test on anything except Windows. sad We'll try our best to investigate your error, though any offers of help with this, and/or with further testing, would be much appreciated...
In reply to Helen Foster

Re: New resource type: Object repository

by Eloy Lafuente (stronk7) -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Hi Helen (and the rest),

my automatic-hipersensible name detector has been able to inform me about my name being used in your previous post. It worked! big grin

I've pasted below the entire content of the email message I sent you, where some problems are reported and some ideas are shared. Thanks for the recommendation about sending it here!

Hi Helen,

I've been playing a bit with your IMS resource type and here
there are some ideas and some problems I've found with it.

1.- The premise: I really think that to include it for 1.6
would be really good. Anyway, first we should talk about the
next

2.- Conditions: In order to fit inside Moodle distro, source
code must comply this characteristics:

   a) No DOS linefeeds at all. This is easy. ;-)
   b) Follow Moodle coding style guidelines. Basically, I've
      find that some parts of your code don't satisfy this
      completely (variables always lowercase, if/else
      brackets syntax...). Not too much (it's overall very
      nice code) but we need to follow that common style.
      (you know, http://docs.moodle.org/en/Coding) ;-)
   c) Avoid local config.php files. There are two
      alternatives for this:
        1) By default, use the most common settings and
           allow to modify them by defining them in the
           main /config.php file ($CFG).
        2) By default, use the most common settings and
           allow to modify them in the Admin/Configure/
           Modules page.
   d) Make it work like a charm, solving these

3.- Issues/Bugs: When I was using your resource type, I've
found some problems that I explain below:

   a) Having the repository option disabled (default), when
      any .zip file is selected in the course area, there
      isn't visible feedback (location) of it.
   b) While I select any .zip file from the course area,
      the package seems to be properly deployed (to moddata)
      but,  with debug enabled, I got this warning:
        Warning: md5_file(): Unable to open file in
        /Users/stronk7/cvs_moodle/moodle_head/mod/
        resource/type/ims/imslib.php on line 51
      followed by thousands of:
        Warning: reset(): Passed variable is not an array
        or object in /Users/stronk7/cvs_moodle/moodle_head
        /mod/resource/type/ims/imslib.php on line 152
      and the process never ends and I've to stop the
      browser.
   c) When I press the "Repository" button, I see one blank
      page with this error:
        Warning: opendir(Users/stronk7/Sites/
        moodle_data_head/1/repository): failed to open
        dir: No such file or directory in /Users/stronk7/
        cvs_moodle/moodle_head/mod/resource/type/ims/
        finder.php on line 253
      And I think everything is ok in my settings:
        dirroot='/Users/stronk7/cvs_moodle/moodle_head';
        dataroot='/Users/stronk7/Sites/moodle_data_head';
      And the /1/repository under dataroot exists and is
      readable.

And these are the problems/requirements about the whole
thing. Now I would write something about the resource way of
work itself and how we could improve it (under my opinion).

Currently the resource does two different things:

1) Deploy and display course area IMS packages.
2) Navigate and display repository area IMS packages.

What if we do this:

1) If the zip file is inside course area:
   a) Copy it under its moddata/resource/xx dir.
   b) unzip it.
   c) deploy it building the "standard" files:
     1) moodle_inx.ser: Where the structure of the
        package is stored in an easy to read format.
     2) moodle_hash.ser: Where we store a hash of
        the package. The md5 of the .zip file. Used
        to detect if the original package has changed.
2) If the package dir is inside repository area:
   a) Copy it under its moddata/resource/xx dir.
   b) zip it!
   c) deploy it building the "standard" files (above).

If we do this we always will have the resource under
moddata/resource, both its .zip version, the unzipped one
and the "standard" files to be able to re-deploy it if
necessary and ready to display it properly.

The reason of my interest about having all the stuff under
moddata is that then we can "transport" it over backup files
without problems (while maintaining it in the repository
area will break backups).

Also it has another interesting feature: resource will
continue working although the original files (course
area/repository) were deleted!

Once we have the common structure under moddata/resource we
can rely on the moodle_inx.ser contents to display the ims
package structure (as you are doing currently), or the
navigation menu (as I was doing in my original ims resource
type). I really think that such file has all the needed info
to display both of them. I'm ok about defaulting to "display
structure" in resource settings but I'm pretty sure that a
lot of ims packages will require only the navigation bar or
none of them at all (or both). It depends about how everyone
has built the packages.

Also, using the moodle_inx.ser as base for display will do
the imslib unnecessary (if I'm not wrong) and we'll have
centralized the parser (at deploy time) and will avoid to
parse the original imsmanifest file everytime it's displayed
(I haven't checked if this is the actual approach, is it?)

Finally, we can use the moodle_inx.ser file to check
periodically if the package has changed and, if so, perform
all the work again.

And this is all. How does it sound for you? I think that
following this path we'll have the best of both worlds with
a new ims resource type able to work against both areas,
with the max of shared code and great functionalities like
changes-auto-detection, separated from original files and
transportable inside backups and capable of run SCORM files
with the dummy RTE included. Bravo!

That's all moodlers! The discussion is open, of course ;-)

Ciao, Eloy :-)

Also, the IMS resource type has its own category in the bug tracker now, so feel free to use it for your needs. Everything about this category will be assigned, by default, to Helen.

And this is all. I hope the email was useful. Ciao smile

In reply to Eloy Lafuente (stronk7)

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Eloy,

Thanks ever so much for your feedback - much appreciated! smile

It seems that the repository feature would benefit from further discussion, plus we need to resolve the issues you describe. So, rather than becoming stressed about including our resource type in 1.6, I've put the code in cvs:/contrib/ims (download link: http://download.moodle.org/download.php/modules/ims.zip). Perhaps the code may be included in a later Moodle release.

Ciao smile
In reply to Helen Foster

Re: New resource type: Object repository

by Andy Diament -

Hi Helen

Tried to install from http://download.moodle.org/download.php/modules/ims.zip

Can you check the version in this file - came up with error messages

1. couldn't read version.php (so I copied the file from the object module)

2. couldn't read db/mysql.php - this directory is missing.

Andy D

In reply to Andy Diament

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Andy,

Apologies for not making it clear that the zip should be extracted to moodle/mod/resource/type. This will create a folder called "ims" in the type folder.

Because this is a resource type, i.e. part of the resource module, it doesn't have it's own version.php or mysql.php.


In reply to Helen Foster

Re: New resource type: Object repository

by Bhupinder Singh -

Hi Helen,

I extracted the (ims) resource to the ../resource/ type folder

Nothing happened it doe not showup.

Is there anything that I am missing.

Do we need to add lang files to the Lang files folder???

Garry 

In reply to Helen Foster

Re: New resource type: Object repository

by Andy Diament -
That makes sense - presumably that means that the help files in ims.zip replace the existing resource.php

Will try again

Andy D
In reply to Julian Ridden

Re: New resource type: Object repository

by Chris Jeffries -

Looking at the error, it looks to me like the directory for the repository has been specified without a leading slash. This means that PHP/Moodle will be looking for the repository in

{moodlelocation}/moodle/mod/resources/type/ims/home/moodledate/1/repository

which is presumably not what you meant.

Not quite sure why it would be doing this. I have looked at the code, but it seems well buried. But in the meantime, it would be worth checking how you have configured the path to the data directory in Moodle if this is the first time you've tried storing anything that uses moodledata.

In reply to Chris Jeffries

Re: New resource type: Object repository

by Julian Ridden -
Here is my config...running as standard I beleive:

$ISINMOODLEDATA = true; // ./moodledata/1/$REPNAME (true) or $REPNAME (false) as the repository root
$REPNAME = 'repository'; // In this case, /moodledata/1/repository
$REPURL = ''; // Not used, unless $ISINMOODLEDATA = false

Funny thing is..when cron run, it starts indexing my learning objects just fine. So it obviously was able to follow the path.

New issue...when cron runs the indexing seams to be timing it out (I have a large amount of objects)

Fatal error: Maximum execution time of 30 seconds exceeded in /home/moodle/public_html/lib/adodb/drivers/adodb-mysql.inc.php on line 687

For the time being I have removed the extra ims cron code. Just thought it was worth noting.
In reply to Julian Ridden

Re: New resource type: Object repository

by Paul Preibisch -
Hi everyone,

I have a strange problem,
I got the IMS module working fine on my localhost windows sandbox machine, but when I upload it to my server, I get the same errors listed above

Warning: opendir(var/www/html/moodle/1/repository) [function.opendir]: failed to open dir: No such file or directory in /var/www/html/moodle/mod/resource/type/ims/finder.php on line 253

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/html/moodle/mod/resource/type/ims/finder.php on line 256

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/html/moodle/mod/resource/type/ims/finder.php on line 283

Objects Index

Also, if I choose upload, and then select my learning object zip, I get this error:

Warning: md5_file(var/www/html/moodledata/1/moddata/resource/43/imsmanifest.xml) [function.md5-file]: failed to open stream: No such file or directory in /var/www/html/moodle/mod/resource/type/ims/imslib.php on line 51

Warning: file_get_contents(var/www/html/moodledata/1/moddata/resource/43/imsmanifest.xml) [function.file-get-contents]: failed to open stream: No such file or directory in /var/www/html/moodle/mod/resource/type/ims/imslib.php on line 69

Warning: reset() [function.reset]: Passed variable is not an array or object in /var/www/html/moodle/mod/resource/type/ims/imslib.php on line 152

Fatal error: Cannot access empty property in /var/www/html/moodle/mod/resource/type/ims/imslib.php on line 155

very strange... any helping hands would be REALLY appreciated...

thanks!


In reply to Paul Preibisch

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi fire,

Thanks for your testing and for your feedback - much appreciated. approve Please could you provide further details of your set-up, particularly about your server.

As promised previously, the issue will definitely be investigated. However, please be patient - we may not have chance to do so until mid-April. In the meantime, you may wish to consider trying the following:
  • IMS content package resource type - standard in Moodle 1.6, also works in Moodle 1.5+. For further details, please check the discussion New resource type: IMS CP.
  • Object module - a contrib module we are using on our production sites, works in Moodle 1.5+ and 1.6. For further details, please check the discussion New module: Object.
In reply to Helen Foster

Re: New resource type: Object repository

by Paul Preibisch -
Hi Helen,  thanks for your help, and your excellent module. it has so much excellent potential!  I really want to get it working on my site, so I can share my objects with other teachers.

I checked my server config - here are some details:
(attached is my php info as an htm file)
  • Apache Webserver 2.0
  • docroot: /var/www/html/
  • moodle data 777
  • php 5.1.1
  • MySQL 4.0.24-standard
  • moodledata/1/repository exists
Config:
    $ISINMOODLEDATA = true;        // ./moodledata/1/$REPNAME (true) or     $REPNAME (false) as the repository root
    $REPNAME = 'repository';    // In this case, /moodledata/1/repository
    $REPURL = '';   

I hope this helps to find out the problem.

Cheers!





In reply to Helen Foster

Re: New resource type: Object repository

by Julian Ridden -
Hey Helen,

As always, many thanks for you and your teams fantastic work on the ongoing development of the object repository. Can't wait to finally see this becom standard in Moodle (maybe 1.6?)

A question I would like to raise, and sadly without answer, is how to manage teacher additions to the repository.

I have three trains of thought and would like to know where you see this going.

First of course is that the teacher adds to the central repository. Makes sense for sharing and eqsy access for other teachers. However it will also create issues if teachers upload duplicate content, put it in the wrong place or upload something just plain inapropriate. Essentialy it makes it just plain hard to manage from the site level.

Second option is that when teachers add to the repository it sits only within their own course. This creates the opposite issues and benefits of the above solution.

A third possibility is that the repository stores objects in folders (categories) that match the moodle installation. This would allow for better catagorisation of objects and allowing of sharing while forcing objects into the folder that was relevant based on the course from which it was uploaded by the teacher.

Hard part would be hooking repository folder maintenance to the course category functions. How would it know to create a new repository folder? If a category is deleted what would happen to objects stored in the related folder? I'm sure more issues can be thought of by yourselves.

So essentially, I would like to open up this dilema to discussion and see what you all think would be the best to do.
In reply to Julian Ridden

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Julian,

Thanks, as always, for your ideas and encouragement. smile

A fourth option for managing teacher additions to the repository would be to use data from the imsmanifest file to put the package in an appropriate place in the central repository.

All comments and suggestions are appreciated! smile
In reply to Julian Ridden

Re: New resource type: Object repository

by Chris Jeffries -
Here is the version hacked for search functionality. PLEASE don't try to use this unless you are prepared to hack some code - it WON'T WORK unless you carefully follow the stuff in readme_cj.txt
In reply to Chris Jeffries

Re: New resource type: Object repository

by Mark Little -
Hi Helen,

This new feature is excellent and we are already using this on our site.

I was thinking about Julian's question about how staff would upload materials to the Repository without replicating other materials....

It thought it might be a good idea to use some kind of temporary holding area which staff could upload to and then a Mederator would then approve the materials at a later date.

The Moderator would have an admin screen which would let them approve the upload and add a brief comment and also let them move the upload into the right folder. The brief comment would then be automatically emailed to the Moderator f and the staff member who uploaded the material.

I don't know if this is a good idea, any comments...
In reply to Mark Little

Re: New resource type: Object repository

by Chris Lamb -

The way we do it with NLN materials is that the materials aren't uploaded via Moodle at all.  The Administrator/Moderator actually puts the materials in the Repository folder on the server directly.  Moodle's Object module then finds the folder automatically on its next visit.

Doing it this way gives us total control over what materials are added and where they go, otherwise staff will be adding all sorts of stuff and creating bizarre folder structures which suit them but mean that no-one else will be able to find the materials they need.

Regards

Chris

In reply to Chris Lamb

Re: New resource type: Object repository

by Art Lader -
Doing it this way gives us total control over what materials are added and where they go, otherwise staff will be adding all sorts of stuff and creating bizarre folder structures which suit them but mean that no-one else will be able to find the materials they need.

Good point!

-- Art
In reply to Helen Foster

Re: New resource type: Object repository--PROBLEM

by Bhupinder Singh -

Hi Helen,

I have placed IMS in the ..../resource/type/ ims.

Made changes to the config file therin as under

set repository = true

set path to the repository in moodledata/1/repository/

Still I do not see the resource typr in the resources.

Can you please guide me into understanding wher I may be going wrong.

Garry 

In reply to Bhupinder Singh

Re: New resource type: Object repository--PROBLEM

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Garry,

Apologies for the delay in replying.

The most likely cause of the problem you describe is having a folder called "ims" within mod/resource/type/ims. Please check you have only one folder called "ims".
In reply to Helen Foster

Re: New resource type: Object repository--PROBLEM

by Bhupinder Singh -

Hi Helen,

Thanks for the guidance.

I have done a recheck.

1. There is only ONE ims folder in " .....mod\resource\type\ims"

2. I have added the Lang files as under:

"...en\help\resource\type... added the ims.html here"

"...lang\en\help\resource... added the imsbuttons.html here"   

Could the problem lie in the config file.

The path for the location given my me is as under.

"$REPNAME = 'C:/moodledata/1/repository'; " This is the location where the repository is located.

UNDER the resource type I only see the resource " ADD AN OBJECT".

I guess this is the setting and there is no additional drop down in the resource menue.

Shall appreciate a confirm.

Thanks once again.

GARRY

In reply to Bhupinder Singh

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Garry,

Yes, this is how it should be. smile Please try adding an object.
In reply to Helen Foster

Re: New resource type: Object repository--HELP TO RESOLVE ERROR

by Bhupinder Singh -

Hi Helen,

I have installed the New object Module and on trying to create a Object as a resource in a lesson I get the follwoign erros:

"Warning: main(lib.php): failed to open stream: No such file or directory in e:\program files\easyphp\www\lms\mod\resource\type\ims\deploy.php on line 43

Fatal error: main(): Failed opening required 'lib.php' (include_path='E:\Program Files\EasyPHP\php\pear\') in e:\program files\easyphp\www\lms\mod\resource\type\ims\deploy.php on line 43"

I am using Moodle 1.5.3. CVS download

OS Windows 2000

I need your help in resolving this.

Garry

In reply to Bhupinder Singh

Re: New resource type: Object repository--HELP TO RESOLVE ERROR

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hmm, the error message you obtain is very strange. Please could you double-check that the ims folder is installed in mod/resource/type and that you haven't accidently deleted or moved any essential lib.php files.
In reply to Helen Foster

Re: New resource type: Object repository--HELP TO RESOLVE ERROR

by Bhupinder Singh -

Hi Helen,

Checked the folder location.

It is in the location suggested.

I am using the IMS zip date 28 Jan 

The IMS option is visible but the deplyment of the dummy lession in the repository does not load.

Any other checks you suggest???

Garry

In reply to Bhupinder Singh

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Garry,

Apologies for not noticing your post before now. If the problem remains unresolved, please could you provide further details of your set-up.
In reply to Helen Foster

Re: New resource type: Object repository

by Bhupinder Singh -

HI Helen,

My Problem persists and I am unable to make full use of this beautiful functionality.

My Environment: OS windows 2000 SP 4

Moodle 1.5.3 CVS Download.

PHP 4.3.3

Easy PHP 1.7

MySql 4.1

Apache 1.3.7

If there is anything specific you want me to check out and post I could do so and give you a feed back.

Problem: When I want  to add the demo resources type The resource type shows up and I can drill down to the object in the present case. The central object repository button is clicked which opens up the Object Index. In the object index is a folder --> MAths. On clicking this I get Two object Descision Maths and Puzzle.

On clicking Descision Maths Open Up Linear Programming

When I click to add this I get the error.

"Warning: main(lib.php): failed to open stream: No such file or directory in e:\program files\easyphp\www\lms\mod\resource\type\ims\deploy.php on line 43

Fatal error: main(): Failed opening required 'lib.php' (include_path='E:\Program Files\EasyPHP\php\pear') in e:\program files\easyphp\www\lms\mod\resource\type\ims\deploy.php on line 43"

On Review of ..\ims\deploy.php   on line 43 we have the following code:

 require_once('lib.php');

I am at a loss at how to proceed further.

Look forward for your help.

Garry

In reply to Bhupinder Singh

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Garry,

Thanks for providing further details. Your problem will be investigated when we have time, though this may not be for a while.
In reply to Helen Foster

Re: New resource type: Object repository

by Bhupinder Singh -

Hi Helen,

Any chance you had a chance to look at my problem.

Garry

In reply to Helen Foster

Multiple Moodles sharing same repository

by Paul Preibisch -
Hi there,

I have successfully installed your module... wow.. what a great idea. 
I have a question though,  how can I get multiple moodles on my webserver to share the same repository?

Is this possible?


In reply to Paul Preibisch

Re: Multiple Moodles sharing same repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi fire,

Thanks for your feedback. smile

If you wish to share the same repository between multiple Moodle sites then the repository should be located outside moodledata. Please check ims/config.php for further details.
In reply to Helen Foster

How do I create my own learning object that I want to share?

by Paul Preibisch -
Hi there,

This discussion is great! but a little confusing for newbies... ie: what does NLN stand for?

Also how can I create a new object (my own object)?

I know how to upload... but for example, what if i have a fantastic flash .swf lesson, or moodle lesson, or powerpoint file, that Id like to upload to the repository for other teachers.... how can I change one of these into an object?

Please let me know
I am excited to try it out!

cheers

In reply to Paul Preibisch

Re: How do I create my own learning object that I want to share?

by Paul Preibisch -
After a little research, I have found an answer to my origional question... so for those of you who want to know how to create a learning object read on:

basically, you need to create assests, format your material, and package it...
... er what???? 
Well fortunetally found all of this information packaged nicely into a learning object itself which you can follow as a tutorial... so if you have installed the object resource in this forum, you can unzip the accompaning file attached (which came from the ilearn website) and unzip it into your repository folder.
And then add it as an object to your course.

There is also a  dreamweaver extension that you can use to make learning objects: found here

I have also copy and pasted some of the content of the learning module below in case the above links become invalid over time.

What is a Learning Object?

A Learning Object can be anything from a single piece of digital content to an entire course.

For this discussion, we'll consider a Learning Object as a number of assets covering a particular topic, which are assembled or compiled to form a unit of learning.

The page you are reading now will itself serve as an example of a Learning Object. This whole website, Making Learning Objects will be packaged as a course, a collection of Learning Objects.


What is an Asset?

If a Learning Object is a collection of assets, then what is an asset?

An asset is a defined fragment within a Learning Object. It is the smallest piece of instruction or information that makes sense on its own.

The graphic to the right is an asset within the current Learning Object of this website, as is the banner graphic above, and the text of this page.


Compiling Assets

The first step in making a Learning Object is to bring together all the digital assets that will be required.

This may first mean designing and creating graphics, digitizing video sources, or editing copy text, before collecting (compiling) these assets into one location.

For the purposes of this websiteour example of Learning Objectswe prepared our graphics (in Photoshop) and body text (in Notepad), and collected the resulting digital files into a single folder, in preparation for formatting into web pages.


Format the Learning Object

Once the assets required by our Learning Object have been compiled (identified or created, and collected), the next step is to format them into the actual object.

This process will depend on the types of assets used, and on the authoring tool appropriate for the task of formatting assets of those types.

For the purposes of this example website, we used Macromedia Dreamweaver (an Web Authoring Tool) to format our text and graphic assets into HTML pages.

Making Learning Objects

What are Metatags?

Metatags are where metadata are stored. Metadatadata-about-dataare a codified way of describing an object and its assets.

Metadata allows an organization to systematically describe and classify its learning objects and assets, to be better able to archive, search for, share, and reuse them.

Metadata is stored in a separate file, called a "Manifest". The manifest file is included with the other files in the Learning Object when the files are gathered together, or "packaged". The metadata is stored using a specific coding language called XML.

Metadata may be entered manually, though the chosen Learning Object authoring or packaging tool will likely provide a mechanism for entering this information.

Making Learning Objects

Packaging a Learning Object

To package a Learning Object is to document in one place the description of the object and its assets, and list these in a manifest file called imsmanifest.xml.

If multiple Learning Objects are packaged, information about sequencing them into a course would also be included in the SCORM manifest file.

SCORM stands for Shareable Content Object Reference Model. SCORM 1.2 is one specification for packaging learning content, and is derived from the larger IMS Content Packaging specification, version 1.1.2.

For this Making Learning Objects website example, our use of Manifest Maker not only recorded our few simple metatags, but also created the SCORM wrapper (another term for the package) that will facilitate our ability to transport or deploy this course.

Transportability of our Learning Objects is further achieved by finally archiving all components together into one placea "zip" fileusing the file compression tool WinZip.

Here is the zip file of the final packaged version of this example course.

You may download this zip file (right-click the link above and choose the Save As... option) if you would like to examine the elements of our Learning Objects package more closely. (You will require WinZip or a similar tool to unzip the archive.)




In reply to Paul Preibisch

Is there a moodle wizard to create a learning object within moodle?

by Paul Preibisch -
Hmm, it would be pretty cool if moodle had a wizard to create  a learning object.... ie: convert a lesson to a learning object....

is this possible?
In reply to Paul Preibisch

Re: Is there a moodle wizard to create a learning object within moodle?

by Dan Stowell -
Yes, it would be really cool. I would be really in favour of a button to convert a lesson to a learning object. I don't know if the developers of that module have anything in mind for that.

In the meantime, try out the eXe authoring tool - I've just started using it and I'm impressed. It makes it nice and easy. You don't even need to know what an imsmanifest is!
In reply to Dan Stowell

Repository not found

by Paul Preibisch -
Thanks for the Tip Dan.

I haven't tried the eXe authoring tool yet, but tried the RELOAD one instead.  The reload one works pretty nicely too...

have you had any luck installing the OBJECT module into moodle online?  My local machine works but online I get a warning message that the repository can not be found -

yet my moodledata dir is outside my moodle dir, and the config correctly points to it...  its very strange...

do you have any ideas?

also, what kind of learning objects are you creating?

In reply to Paul Preibisch

Re: Is there a moodle wizard to create a learning object within moodle?

by Ger Tielemans -
Great proposal, because from all the Moodle modules, Lesson is most close to building a IMS/CP learning object.
In reply to Ger Tielemans

Re: Is there a moodle wizard to create a learning object within moodle?

by Paul Preibisch -
Thanks! I agree, if there was a wizzard to convert quizzes and lessons into IMS Compatible lesson objects, then a lot of the work each of us does each month could be shared!

Ie: all English Teachers / Computing Science Teachers etc using the same curriculem could share each others quizzes etc -

A lot of work duplication could be avoided...

hopefully this will evolve into ther Object module!
In reply to Paul Preibisch

Re: How do I create my own learning object that I want to share?

by Paul Preibisch -
Ok well, I have tried using that zip file all day and to no avail, didnt get a learning object created.... HOWEVER, I managed to find ANOTHER lead - which ACTUALLY helped me to create my own learning module and bring it into moodle!

Thanks to the folks at:  OSLOR I managed to follow their excellent tutorial, and used a software package called RELOAD to create a learning object that works with the object module.

Anyhow, good luck!


In reply to Helen Foster

Is there a central learning object repository at Source Forge?

by Paul Preibisch -
I was just wondering if the Object module could support an object repository at a central domain, like say, source forge...

If such a place exists, couldn't anyone with the object module installed, just point their config at the repository and access millions of learning objects?

woah... that would be mega cool...

please let me know if this is possible, or in the works.

Also, any ESL English teachers out there who are building learning objects, please send me an email!  I'd love to share content!
In reply to Helen Foster

Object repository doesnt work

by Paul Preibisch -
Hi everyone, I have tried for a week without luck.

This mod just doesnt seam to work on a webserver.
Ive tried two different servers now, and 3 different installations - 1.5.3, and 1.6 development,

it appears that finder.php can't read the moodledata/1/repository folder... it cant find it I guess.

The strange thing is, on my local machine, everything works, but when uploaded to a live webserve, it dies.

I thought maybe finder.php forgot the begining "/" when trying to read the repository because my error message was:

Warning
: opendir(var/www/html/moodledata/1/repository) [function.opendir]: failed to open dir: No such file or directory in /var/www/html/moodle/mod/resource/type/ims/finder.php on line 253

(notice no "/" by var)
so I changed line 253 in finder php to $dir = opendir("/" . $this->materialpath("$this->fileroot"));

and voila! no more error messages... but alas, also still no objects listed...

so... Im pretty frusterated...
I sooo want this feature on my site, but ... have had no luck


PLEASE PLEASE if someone out there can help me, or has successfully installed this on thier site, please let me know...

actually, that is a good question - has ANYONE got this mod working?


In reply to Paul Preibisch

Re: Object repository doesnt work

by Chris Lamb -

I've got the Object Module working okay, with over a dozen different Moodles accessing it, so yes, it does work!

You say that "The strange thing is, on my local machine, everything works, but when uploaded to a live webserve, it dies."   When this happens it's a dead giveaway that it's a path problem.  In Moodle generally the paths are defined in config.php, but the Object Module has its own path definitions as well.

Have a look in Administration » Configuration » Modules » Object, and check object_dirroot and object_webroot.  That might solve your problem.

HTH

Chris

In reply to Chris Lamb

Re: New resource type: Object repository

by Helen Foster -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hi Paul,

Please note that the Object repository is a resource type, not a module, and requires further testing and development before being considered for a production site.

However, as Chris describes, the Object module works fine. Please check the discussion New module: Object for further details.
In reply to Helen Foster

Re: New resource type: Object repository

by Eduardo Hernandez -

Hello!

I'm facing problems with manifests including special characters from Spanish. Words including special chars, such as á or é or any other,  are being truncated. Please see attached pic.

See how "Localización" appears as "ón", but "geográfica" appears correctly.

The HTML code generated looks like this

<a href='?object-display=true&current-material=parte01.htm&id=4'>ón geográfica de Chile</a>

The Manifest looks like this

<item identifier="ITEM-6D5ADB09-ABA3-011F-CE74-BD5A02F3B13F" isvisible="true" identifierref="RES-148A1A58-09D7-4ED4-7A13-F97ADAE6BA01">
        <title>Localización geográfica de Chile</title>
 </item>

Is this a bug or something related to UTF-8?

Thanks for any info

Attachment MOODLE-0000.gif