User Roles, design issue

I using Omeka 2.0 and have several items using custom data sets in item type metadata. We added those since Dublin Core only partially meets our needs.

I would like to to show just some item type metadata to all users, and more to those who login.

I have the login navigation menu link going to an external authentication page, which right now just returns to the omeka really doesn't do anything at present.

I'm trying to come up with an approach to show more item type metadata data sets if logged in.

I thought about just having a second website which shares the same database, but the number of resources as files is too large to make that work.

I thought about trying to go about it by tweaking users roles and using a wildcard login to handle the large volume of potential logins on our domain.

I thought about having the authentication php return to newly coded php placed in the omeka site code which would allow/dis-allow certain items to be seen.

Just not sure what would be the best practice design for going about this?


2.0 doesn't really add much that would change the situation for this kind of functionality.

It's not something Omeka natively supports, but you could modify your theme to only conditionally print certain metadata elements. You'd have to switch to individually printing fields instead of using all_element_texts, though.

You could directly test against the current user's role (current_user()->role), or you could set up or piggyback on Omeka's existing ACL permissions and use is_allowed for testing who can see what.

The output formats could throw a monkey wrench into these plans though, since they're more difficult to modify, and something like omeka-xml will include all the element data normally.

Thank you for the info.
...from theme show.php

<div id="primary">
<?php echo all_element_texts{'item'); ?>

That code definitely eliminates the item-metadata fields. Powerful stuff.

But how to individually print fields? I mean how do you get the names and/or IDs of newly created Item Type Metadata fields in order to know how to echo each one after user login validation?

It seems those go into an array, and are probably listed in the database somewhere? View with phpmyadmin?

Thank You.

Jhearon, did you ever figure this out?