I notice that the new Contribution plugin is no longer posting the Contributor fields to items/show, at least on my site. Was this functionality removed from the plugin? And how might I bring it back?
NOTE: I made some minor hacks to the plugin to try to add tagging, though I later disabled the hack. I don't think that should have an impact but if so, I may try re-installing.
Advice? Thanks -- Erin
"Contributor fields" like the name of the contributor aren't output by show_item_metadata anymore.
If you want to print this information out in your public theme, you can do so by using the
contributor() helper included in the plugin (the only pieces of data available are "Name" and "Email Address").
echo contributor('Name') returns nothing.
Now that I'm looking more closely, the plugin is not even adding contributor info to the item record. The Contribution Form tab in item/edit shows the fields but they are all empty for all contributions -- even those that I find via the admin/Contribution/Contributors tab. They seem to be associated only within the plugin but not in the record.
I also noticed today that the Terms of Service are not showing up when a user submits the form, nor are they displaying in the item record.
In any case, even if I can manually make this stuff appear in the item/show page, I'm going to have some real problems telling Omeka when to display them and when not to (e.g. when the older plugin has already added it to the record).
I'm kind of wondering why this functionality was removed from the plugin in the first place. Seems like it could have been made optional or something instead.
Anyway, I'm going to re-install and see if that helps any of this, at least for future contributions.
Assuming that you're working from a page where $item is an item contributed under the "new" contribution plugin, contributor('Name') should return the contributor's name. You should also be able to see the contributor metadata in the sidebar of the admin item/show page for a contributed item.
As for the terms of service, they should be accessible from a link on the contribution form (in the text for the "I agree" checkbox).
The plugin is not creating any contributor metadata for any contributed items. Only the file and the Dublin Core metadata from the form are making it into the record.
Sorry, I forgot about the changed location of the TOS, though it also is not being appended to the item in any fashion.
Again, the only place where contributors and items are connected seems to be in the plugin's admin interface.
I installed a fresh version of the plugin and tested and it's the same issue. I haven't fully "un-installed" (because I'm not ready to reset all the options) though I'm thinking that will be my next step.
I uninstalled and reinstalled the plugin and the Contributor fields are still not being appended to the item, neither in admin view (in the Contribution Form and Dublin Core tabs) nor in the public view. That means none of the following are attached to the item in any form
- Name of Contributor
- Terms of Service
- Posting Consent
- Submission Consent
These are all very important on our site. What can I do to make the plugin go back to collecting and displaying this information?
Using Contribution 2.1 and Omeka 1.3.2
Erin, just to confirm, you cannot use this to echo the Contributor on your items/show.php page?
<?php echo contributor('Name'); ?>
<?php echo contributor('Email Address'); ?>
<?php echo contribution_is_item_public(); ?>
Or any of the exact text of the questions you ask on the Contribution form?
To clarify, these are the same functions used on the admin panel to display this information, so it should also work on the public side.
I have the same problem, and can verify that the echo contributor commands you suggested above output nothing.
I can't find any evidence that the Contributor Fields are being saved anywhere, in either admin or public views.
Well, that's not quite true: In the admin view of a contributed item I see a sidebar box labeled Contribution. That box lists the contributor's name, but that's the only bit of the contributed info I can find anywhere.
I'm completely new to Omeka, and assumed I was doing something wrong. But I saw this issue here and thought I'd chime in. I've even gone spelunking in the mysql database a bit, and can't find the contributor fields' submitted data there either (thought I admit that search isn't exhaustive).
The plugin is saving the data like the contributor's name and the contributor questions, it's just that there's a bug in the
contributor() helper that you can use to easily get this information.
Data about contributors is saved by the plugin in the tables 'contribution_contributors', 'contribution_contributed_items', 'contribution_contributor_values'. The plugin does not use (or add) the element set that was used by older versions of Contribution, and items contributed with a previous version won't respond to these helpers.
(chaefele: To see the custom contributor metadata on the admin interface, just click the link for the contributor's name)
To temporarily work around the bug in
contributor(), you can use a slightly-uglier syntax to get at your data:
$contributor = contribution_get_item_contributor();
$metadata = contributor->getMetadata();
$public = contribution_is_item_public(); // Whether or not the user specified that their contribution could be made public.
echo $contributor->name; // Name
echo $contributor->email; // Email
echo $metadata['My Contributor Question']; // Custom metadata
Alternatively, you could wait for an updated Contribution plugin. The necessary change doesn't affect the data saved by the plugin, it's only a change to the code for that specific helper function.
Oh, um... yes I suppose I should have tried clicking on that. Sorry!
And the workaround is much appreciated! Enough to get me up & running, thanks so much for the help.
There's a new Contribution version available, 2.1.1, that fixes this issue with
Omeka will ask you to upgrade, your data will not be affected.