OxCLIC_MDID

TableOfContents([2])

Overview

MDID is a web application designed to deliver digital images for Teaching and Learning. It was designed and developed at James Madison University and has been continually refined since 1998. It is used by around 80 colleges and made available under an open source GPL license.

From the MDID site http://mdid.org/

"The Madison Digital Image Database is an online image database and multimedia instructional system designed to create and show Internet-based lectures using digitized images. The system permits instructors to remotely generate "slideshows", which can be annotated, placed online for student study, or archived for testing or future use. Though many image databases provide flexible faculty and student access to online images, those systems generally do not provide a tool via which faculty can teach and student can learn. MDID brings the digital image and data library into the teaching and learning process, in and outside the classroom."

OxCLIC MDID resources

Further References

The Curator Workshop manual

The Curator Workshop manual available for the MDID web site is a key guide for importing, administrating and maintaining collections in MDID.It covers the step by step process of converting and moving a .csv metadata catalogue (e.g. Exported from Portfolio) and the associated images into MDID.

The process of importing a catalogued collection in Portfolio is also covered in the OxCLIC Importing document, ["importing"]

An visual overview of how image material can be added to MDID

attachment:OxCLIC_Workflow.jpg

Suggestions for work by OxCLIC to improve MDID

Work for ACDT

There is a fair amount of IIS and ASP work that could be done locally.

Investigate running MDID under WebAuth, probably using the new IIS module rather than the proxy solution http://www.oucs.ox.ac.uk/webauth/index.xml.ID=body.1_div.3 WebAuth. This requires that we:

Work for MDID Developers?

rewrite the import script to generate better XML files.

MySQL database, table and column names have certain restrictions:

max Length 64 characters May not end with a space, and may not contain the characters: ‘/’, ‘\’, ‘.’

The utility currently converts field names from the CSV file into XML element names. XML element names have a different set of restrictions:

This means that it is inappropriate to convert column names that could contain spaces and other characters into XML entity names. Rather the solution would be to do the following

CSV file: Title,Description,ID,File Name,DC:Date.created,Author/Creator,Catalogued By, etc.

The headers should be made MySQL-safe by removing / \ and . from the column names and limiting the length to 64 characters. The whole file should be made XML safe by converting < > & to < > and & respectively.

MDID Work Packages

Work Packages for ACDT

MDID under WebAuth

Any authentication work needs to be designed and documented in a way that the goal is a department or division can install MDID and the Authentication work as a complete package.

Thoughts on authentication and WebAuth

We need to work out the best practical solution to getting the system working under Oxford Authentication in a manner that is sustainable and could be recreated with a departmental installation. Authorisation information is harder to achieve in a devolved manner as there is no access to lookups of the LDAP from outside of the OUCS domain.

Installation on a high end server.

It would be sensible to buy and install a new server, possibly a Blade for all this new work and try and replicate the WebAuth setup and MDID work on another departmental server too.

Authentication

Method a) Using WebAuth proxy server. As MDID needs to run under Windows IIS server which doesn't support the normal WebAuth Apache module then the workaround is to use a "proxy server" that passes the username in the URL. See

This might mean two stages,

Method b) MDID has a way of using what it calls "SSO" but is really configuring it to expect the username in a URL with a security token from a customised php script that is under say a WebAuth server. See attached my attached graphic. .pdf

<http://mdid.org/mdidwiki/index.php?title=Authentication_section>

<http://mdid.org/mdidwiki/index.php?title=Single_Sign-on_Integration>

Method c) IIS WebAuth solution

Stanford may have a IIS WebAuth solution. It didn't work as of 2005 on the Tip project but things may have changed.

Authorisation

LDAP work

Some work could be done on pulling in LDAP user ID information after gaining the WebAuth username for the test system.

Is there a way that we could pass any group or attribute details from the LDAP from within OUCS or if the server is located outside of OUCS. Yes, perhaps using the single sign-on method built into MDID. This trusts another server to be the authentication stage and to pass to it the username and IT attributes such as roles. If this trusted server was in the OUCS domain then it could have access to the LDAP details. The mechanism suggests that this trusted MDID auth server would be able to support multiple instances of MDID. this federated set-up might just be to difficult to support in terms of resources and expertise and the central model might win out.

MDID has an LDAP authentication configuration script where you specify the IP address of the LDAP server but at first glance it looks like it uses LDAP to cover both authentication and authorisation. Can we decouple it presuming the authentication is done elsewhere, could this be built in as a config script for the application.

Customisation

a) Notes and Annotations / Browsing and Searching

Gathering user requirements might discover some needs here especially for the non-HOA users. They may wish to template out the search display in some way. Although I believe each individual collection has different fields displayed depending on the preferencess for those fields.

b) Video and multimedia support

We need to gather some Oxford requirements for video and audio and see how they map to the new features in this area coming shortly within MDID

The developer has indicated that there is a draft version with support for media player on the website for pulling in Podcasts from another server.

c) Linking to Weblearn

Is there any work to be done here? SSO obviously helps, simple links between the two would help. What would be a standard use case for this.

d) The ability to have a public open version a collection would appeal to research projects who want a quick fix for getting visual material such as research collections or digitisation projects on the net with open access and with a search interface. At the moment you can do this with MDID as guest access to the collection but there isn't a thumbnail display view once you are in, just a Search and/or Browse view.

External work by the MDID developers

a) Adding authentication config script to the bundled version of MDID that tells it to check the WebAuth usernname session variable to see if someone is login in. i.e when they click login it uses a different script for checking credentials. (LDAP look up is difficult here in a federated model.)

MDID under Linux/Mac OS X: Fun and Games

It is apparently possible to run MDID under Linux by making use of the http://www.mono-project.com/ MONO software. MONO is a port of ASP to Linux, and includes an apache module mod_mono that will allow ASP pages to be run under apache httpd.

The basic process should be as follows:

  1. Obtain and install MONO for your platform I used the Mac OS X Framework installer, and it worked very nicely, and includes xsp, so you don't need to worry about installing that.
  2. Install mod_mono into your current apache setup. This was essentially a case of download, ./configure make and make install, I just had to point it to the appropriate apxs ( /opt/apache2/bin/apxs under OSX ) and apr-config (/opt/apache2/bin/apr-config) and tell it where to install ( /opt/apache2 )
  3. Install nant on your system (requires pkg-config to be installed, and that you set PKG_CONFIG_PATH=/path/to/your/mono/installation/pkgconfig/directory and export $PKG_CONFIG_PATH before running make
  4. The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.:

    NAnt.Core.BuildException: The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ---> Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.: NAnt.Core.BuildException: Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.

I also had to edit the nant Makefile:

This appears to be because nant is building against the mono 2.0 framework, rather than the 1.0 framework. The only way that I can see to alter this setting is by editing Nant.exe.conf and changing <platform name="unix" default="auto"> to <platform name="unix" default="mono-1.0"> and then running "nant go' again - all seemed to work.