Customizing data types / relations

Hello!

I would like to thank everybody for creating the Omeka project. It seems like the perfect thing to work with. We are looking into using it in our video art archive with ~4000 video works and ~3000 books. It was said somewhere that Omeka is meant more for showing than organizing, but I can't say that with few features it would be possible to make it better for organizing, too.

I would like to ask if You are already considering these featured for the future releases. Or You have ideas how to solve them.

Customizing fields and data types. I can see there is a db table for data types, but I can't find a place where the properties of these types are set. It would be nice to create custom data types for easier editing.

With custom data types it would be possible to use them as references to other Items. For example would be possible to make a data type "Persons" that fetches all the persons in the items database and shows it in a select box or input with autocomplete. It would make possibilities for relations inside the items. Dublin Core fields like "Has Part", "Is Required by" etc would be much easier to use with this functions.

I am not too good programmer, but I think I could do some simple hacks. If there are no plans to include them, I might try to write a plug-in, but the quality would most probably suck :)

What do You think?

Timo
Argos center for art and media / Brussels

Hi Timo,

A couple of quick things:

You can modify existing types or create new ones through the admin interface. http://omeka.org/codex/Managing_Item_Types
For instance, there is a Person type and you could create a custom browse page that shows all of the "person" type items you've added. But it is not possible to pull out all of the personal names mentioned within all items of different types for display.

You might be interested that we have a plugin that provides a full set of Dublin Core properties (Dublin Core Extended): http://omeka.org/codex/Plugins/DublinCoreExtended

And, here is a thread about relations. One thing to note, Omeka does not support unambiguous relationships between items.
http://omeka.org/forums/topic/how-are-relations-supported-in-omeka

Hack away! You might want to consider joining the Developer's Google Group:http://groups.google.com/group/omeka-dev/

Good luck!

Thanks for answer!

Actually I was thinking about the data types, not the item types. Text, integer, date range and so on. I was thinking I would like to create a new one. For example a radio button with three predefined choices or a select box with data queried from the database. I believe it would be relatively easy to implement new types, but I can't find a place where they are defined. There is the database table, but the properties are not defined there.

Yes, I am using DC extended, but the editing process is a little bit complicated if You have to enter all the data (that is actually already there) manually in the (30+) text boxes. Select choice or auto-complete input field with data available would be much more user-friendlier.

Greets!
Timo

The recommended approach is to emulate data types using a combination of the following filters:

Use the first to format the saved element text for display; the second to format the form element; the second to prepare the user input for validation or saving (if needed); and the third to validate the result (if needed).

You can find an example of the former two here.

Hi Timo,

Thanks for your interest in the Omeka project. Jim's right in pointing out that much of what you want can be established by developing a plugin, particularly by creating a controlled-vocabulary and changing the display of forms on the administrative panel. For example, if you had only four different values for "Subject", you could add a drop-down menu instead of a free-text input.

Here are the instructions for Writing Your First Omeka Plugin, and then you'd use the Form Input Filter within your plugin. I'd encourage you to take a look at these and let us know how helpful (or unhelpful) they are. Depending on how far you get into hacking around, there's also the developer mailing list where these discussions sometimes occur.

Good luck,
Dave