Can blog tagging functionality be used by other modules as well?

Can blog tagging functionality be used by other modules as well?

by Jan Dierckx -
Number of replies: 8

The Metadata article in MoodleDocs mentions

Build on the keywords in 1.6 to provide metadata for all activities and courses, linkable to standard lists of metadata such as State-based learning outomes and curricula.

I can't really find what is meant by the keywords in 1.6? Is it the tagging already available in blogs?

I was wondering because I would like to reuse the tags functionality of blogs to build a link collection. It is nice that the tags can be used across different courses, which is needed for the link collection as well. Is this idea futureproof or should every module implement it's own tagging system?

Would it be worthwile adding a tagging fieldtype to the database module?

Average of ratings: -
In reply to Jan Dierckx

Re: Can blog tagging functionality be used by other modules as well?

by N Hansen -
I hope not, as there is nothing I hate more than allowing users to come up with new tags haphazardly. Once, I needed a photo of a hippopotamus. So I go to Flickr-what do I search by-hippopotamus, hippo, hippos, some other term I am not aware of, or even a misspelling? Metadata ceases to be useful when you allow it to grow like a weed. It needs to be centrally managed and defined, and standards need to be applied to what each metatag applies to.

I speak from experience converting a 15 year archive of paper records into a database where each person had been using a different term to refer to exactly the same thing in the paper records. It would have been absolutely useless if I hadn't applied some standardization to it. Before that I had a job doing the same thing with an already existing database.

This doesn't mean users can't submit suggestions for new metadata or that new tags couldn't be created, but it really needs to have some sort of oversight to keep it useful.
In reply to N Hansen

Re: Can blog tagging functionality be used by other modules as well?

by Jan Dierckx -

You can have it both ways ...

  • Teachers can use their personal tags to apply to entries. I wouldn't want to enforce yet another "Official Way of Doing Things". If our school's biology teacher is comfortable tagging every hippo-related entry as Nijlpaard, fine with me...

  • some sort of oversight to keep it useful is supplied by the tags an administrator can add to the site

The tag field would just be a fieldtype, like the date, textarea, picturefield, etc... If you don't like tagging, then simply don't select it.

I'd just like to know if the tagging functionality is here to stay. The tags table isn't called mdl_blog_tag, but just mdl_tag as if it were some kind of separate thing. That's what made me wonder... but currently there is no backup/restore code for the blogs, so I am not sure if it would be possible to use the tagging system in other modules. What should happen when you restore a backup to a course where other tags are in use?

In reply to Jan Dierckx

Re: Can blog tagging functionality be used by other modules as well?

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Yes, the tagging functionality is meant to be extended to all other modules as you surmised.

And the reason there are "official" tags and "personal" tags is precisely to allow more (or less!) flexibility.
In reply to N Hansen

Re: Can blog tagging functionality be used by other modules as well?

by Samuli Karevaara -
"Metadata ceases to be useful when you allow it to grow like a weed. It needs to be centrally managed and defined, and standards need to be applied to what each metatag applies to."

For a lot of purposes, yes. But on the whole I disagree. Otherwise there would be no such things like Google or Flickr at all.
In reply to Samuli Karevaara

Re: Can blog tagging functionality be used by other modules as well?

by David Hicks -
My own experience: I was involved (in Cambridge, England) in a project across a "federation" of secondary schools, all using this one database of learning resources. Teachers could log on to the system, enter the URL of a learning resource, then type free-form text "keywords" that could be searched through to let other people find the resource. This didn't work at all. For a start, some teachers didn't know what we meant by "a URL", and couldn't understand that they needed to upload files to a webserver before they could be made into "resources". Then, they had to log in to a web-based system to enter the URL of their resource, so they needed to spend five minutes logging on and typing or cut-and-pasting their URL. After this, they had to enter some keywords - most either skipped this bit, or typed a full-text description, or typed "stuff", or used different keywords from others...

This proved to be a useful system because it gave me a good idea of how not to construct a database of learning resources. I would say that a good learning resource database:

 - Should be quick and easy to use. The quickest and easiest method of getting a URL into a database that I could think of was to have a web page that takes the referer URL as the URL to be added to the database (don't ask for login), then asks for keywords to associate with it. Then, simply hook this page up to a button on the user's browser toolbar - any time they want to add a URL they simply hit this button, they don't even need to know what a URL is.

 - Should use defined tags, clearly laid out in a taxonomy, preferably one that lots of other people use (e.g. the UK's National Curriculum) - learning resource creation companies are starting to release their products ready-tagged with metadata. Exactly how you attach each resource to appropriate tags is a good question. It takes a bit of explaining and concentration to get teachers to understand that it's important that resources be associated properly with metadata - it's hardly an interesting subject, and teachers have other, much more imporant things to think about. I thought that one idea might be to have the add-some-keywords form ask for  a free-text list of keywords then, on submition, have these keywords checked against the ones in the database. Any that don't match up exactly and unambigously get a "Did you mean..." message next to them. You could also swap synonims for approved keywords. If the user is sure that the unrecognised keyword they've typed in is appropriate, then they could choose to have that keyword added to the database.

 - Needs to be large-scale. Google and Flickr work because they have such large databases (obtained through much investement in masses of hardware and top-secret search algorythms) that even if you don't see every item, you've still got a good selection. In anything smaller scale, each entry to the database needs to be checked to make sure it is associated with appropriate keywords, has an appropriate title. Some resources expire after a while, or their URL moves. New keywords need to be added to the appripriate place in the taxonomy. All this is the kind of thing best managed by a professional database manager - the project I was involved with tried to delegate this stuff to teachers, but this just mostly annoyed them. Also, we only had five schools contributing to the project, and we started off with an empty database. No one wants to put work into an empty-looking database, so the database doesn't get full, so no one wants to...

I'm guessing that this is the idea behind the Moodle Community Server - share metadata and reources aound organisations (the country? the globe?). Maybe even have someone sitting full-time in Moodle headquaters in Australia checking over the global database of resources. The only problem is how to pay for their wages - charge to subscribe to the database? Advertise company's products, Google-style, in appropriate places?

--
David Hicks
In reply to Samuli Karevaara

Re: Can blog tagging functionality be used by other modules as well?

by N Hansen -
For the most part, I don't think Google works on the basis of metadata, it is looking at the whole of the text. If you are performing a simple search, you might get what you are looking for that way, but you might not.

Metadata is something that requires human interaction, and Google certainly doesn't have people adding metadata tags to every web page.

Controlled metadata is not a new concept-look at the Library of Congress classification system. That is one giant metadata system that has been around forever.

Now Flickr and Google might work for some purposes, but not all. If all I need is one good photo of a hippopotamus and I find one using 'hippo" then it is good enough. But in some cases, the lack of standardized metadata could seriously impact the work one is doing. In some cases it is not good enough just to get a sample of answers out of one's database, sometimes one needs to be sure to get all instances of whatever they are looking for, for statistical purposes, for studying distribution patterns, whatever. And those results will only be accurate and meaningful with a controlled set of metadata.
In reply to N Hansen

Re: Can blog tagging functionality be used by other modules as well?

by Samuli Karevaara -
Google gives much much better results than a just plain "search for the words" would give. It extracts a lot of metadata for the documents automatically. Sure, it gives incorrect results also. And yes, things like Google and Flickr work best on the premise that it's ok to just get something (it could be a kind of "right something", though) out of a large pool of items.

I've searched a lot of bibliographical/scholar databases. It's usually that I can't use them right, but Google seems to have a better "intelligence" for what I'm searching than any set of criteria that I give those library databases. If searching those databases has a learning curve, then "loose metadata" wins any day. Of course I wouldn't use it for medical records, studying distribution patterns or the like, but those things are marginal for the average user and not the main point here.
In reply to Samuli Karevaara

Re: Can blog tagging functionality be used by other modules as well?

by David Hicks -
> Google gives much much better results than a just plain "search for the words"
> would give. It extracts a lot of metadata for the documents automatically.

Indeed, and there's no particluar reason why Moodle shouldn't have a similar search facility - heck, you can even have that exact system! Google will cheerfully sell you a search appliance that uses their painstakingly developed search algorythms and that extracts data from things like Word and PDF documents. Cheaper and Open Source systems are also available (Moodle already lets you search a whole site and search through forum posts, although the algorythm it uses probably isn't the most sophisticated available). If your Moodle site is available to the public, Google's (and others) crawler will probably visit it whether you want it too or not, indexing your site. It's a one-banana job to add a Google search box to a web page, or if you want to be a bit swisher you can use Google's web service API to return results for you to display yourself.

However, I think the discussion we've (somehow) gotten into here is whether a Google-style "let items be described anyhow and have a sophisticated automatic system figure out what best to do with them" system is suitible for indexing items placed in Moodle. If those items are going to be learning resources, then no, I don't think such a system is appropriate. The field of available resources would be too narrow to accomodate mistakes - miss 75% of 10,000 items and you've still got more results than most people will be bothered to browse through. However, from my experience, with education-related resources, 10 results might be the best you can hope for (hey, exactly how many resources dealing with The Life Cycle Of The Common Gnat can there be on the planet?), and missing any percentage of 10 items is noticable.

Whilest we're talking about Google and metadata and stuff, has anyone else seen Google Base? It seems to be exactly what we're discussing here - a global metadata database of resources. If anyone's developing a metadata tagging system for Moodle, how's about adding a quick web services call to Google every time an item is added to add that item to their database? Or could we even rely completly on Google - have a resource tagging system that simply uploads resources to Google and tags them according to {insert the name of your favoured taxonomy here}. This would benifit from others adding resources to Google  - a truly global resource storage and retrival system!

--
David Hicks