Code Monkey home page Code Monkey logo

plugin-userprofiles's Introduction

User Profiles

Description

User Profiles allows administrators to create highly configurable user profile forms for site users.

Installation

User Profiles requires the Record Relations plugin.

Copy the files to the plugins directory, and install from the Omeka plugins page

Configuration

User Profiles can be configured to automatically add a link from an item page to the profile of the user who created the item.

If the Guest User plugin is installed, User Profiles will integrate into the user bar at the top of public pages. Text about user profiles should be added to the Guest User configurations

Usage

User Profiles allows administrators to define different profile types. For example, you could create a "Basics" profile type for name and location, and a separate "Education" profile type for educational background. You can (and should) also give a description for the profile type. Within each type, you define the fields you want to use by giving them a name, a description, and a field type (short text, long text, single checkbox, multiple checkbox, radio buttons, or dropdown). For the non-text, also provide the valid values.

Types can be made private, meaning only site administrators can see the information. This is useful for sites collecting items and information from users in order to do research. They can also be made required, which prompts users to complete their profiles is they have not done so.

plugin-userprofiles's People

Contributors

patrickmj avatar zerocrates avatar kimisgold avatar gsbodine avatar sheilabrennan avatar

Stargazers

Eli Pousson avatar

Watchers

Jim Safley avatar  avatar  avatar Sean Takats avatar  avatar  avatar Sharon Leon avatar  avatar James Cloos avatar  avatar Robin Fay  avatar  avatar Zach Francis avatar

plugin-userprofiles's Issues

Error Related to Contribution Upgrade

@patrickmj
After installing the plugin in an upgraded site with Contribution plugin installed w/user questions, when clicking on the User Profile, "Contributor Info"
admin/user-profiles/profiles/user/id/2/type/1

I get this error:

Notice: Trying to get property of non-object in /websites/omekadev/home/www/sbrennan/occupy_install/contributiontest/plugins/UserProfiles/views/shared/profiles/user.php on line 43

I am able to edit the user profiles and find the 2 questions added to the earlier version of the plugin.

User profile questions not available for 1st-time contributions

@patrickmj when registration/login required for contributing to a site via the contribution form, and a user profile has been designated in the Contribution plugin's submission settings, the user questions do not appear on the contribution form after the user logs in to contribute their first item.

When user returns and logs in again, the questions appear on the form for their 2nd item.

Test: edit user profile type form

Previously, the "edit profile type" form was breaking due to an update to how we generate markup for fields for accessibility. The footer wouldn't load, throwing an error about helpers/ProfileElementInput.php.

This should now be fixed in efd6bf6. Test on the master branch for both Omeka Classic and UserProfiles.

Breaks on upgrade

Need to replace first string in upgrade hook to:

ALTER TABLE `$db->UserProfilesProfile` CHANGE  `modified` `modified` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT '2000-01-01 00:00:00', CHANGE  `added` `added` TIMESTAMP NOT NULL DEFAULT '2000-01-01 00:00:00'

Contributor fields on Contribution form

@patrickmj after upgrading, when logged into the admin as super (which I know is not the user case), is it expected that the Contributor info section of the contribution form a. will appear, and b. duplicate the field titles?

contributor_info

(not sure if this goes with this plugin or with Contribution)

Testing tinymce updates

On the tinymce4 branch of UserProfiles, and master of Omeka core, creating and editing is ready for a look.

Admin side: create UP structures, and create profiles for individual users
Public side: edit profiles, and especially check the process across themes and theme settings

Fatal error: Call to a member function addHelperPath()

I just installed version 1.1.1 of UserProfiles on Omeka 2.4.1. After creating a profile type and loading the public home page of my Omeka site, while logged in, I get the following error:

Fatal error: Call to a member function addHelperPath() on null in .../plugins/UserProfiles/UserProfilesPlugin.php on line 255

Do you have any idea what's going on here? Since I don't see this error reported in any existing issues, I'm wondering if this error is unique to my setup?

Stored values of HTML not being represented as such when editing

The first HTML value for an element happily appears with the HTML checkbox active, and tinymce going
If there's a second one, though, that's not presented as HTML with tinymce when editing.

That's both public and admin side.

Second value also doesn't get tinymce correctly styled in some public themes.

Public-side interface fixes

As noted in #19, there are some fixes to be made to User Profiles and/or themes to make improve the functionality of interacting with profiles on the public side.

Consistent issue across themes is that the names of different profiles aren't well distinguished - they're just words next to each other, often without clear indication where one begins and the next ends (spacing between titles is the exact same as between words)

Another issue that persists across multiple themes is very different styling on the "save" and "delete" buttons when editing a profile, for example:
screen shot 2018-02-14 at 9 26 20 am

Confirm configuration and profile types creation

@sheilabrennan
I'm breaking out testing steps into a couple different issues. This one comes first, for setting up the basics. You'll want to have at least one non-admin user in your site.

Install both RecordRelations and UserProfiles as usual.

Configure UserProfiles to add a link from item pages to user profile. Ignore for now the option to import Contribution data

Set up at least one profile type. (Some info about them is in draft form on the documentation http://omeka.org/codex/Plugins/UserProfiles ). Give it at least one of each type of field, and make some required and some not. Also try reordering the fields. Save the changes and make sure that all the info appears correctly when you go back to edit the profile type.

Confirm profile creation

@sheilabrennan

With both your super and non-super users, create your profile(s) by going to the same User Profiles tab and clicking edit next to the profile type(s). Check that required fields are actually required, and that HTML input works.

Also check that private profile types don't give an option to make a profile public.

With your super user, check that you can follow the links to profiles in the users browse page.

On the public side, check that the links from items to profiles get to the profile page. Check how the profile pages look in all the themes you have installed.

Possible Conflict with another plugin

Not sure where best to put this, so I'll start here, @patrickmj

After installing Lincoln's CatalogSearch plugin (and was logged in as a super user), I went to the public side and got the error pasted below.

I uninstalled UserProfiles and error went away, on public side--when logged in.

I reinstalled UserProfiles, uninstalled CatalogSearch, no error on public side, when logged in.

Then, looked at public site w/both UserProfiles and CatalogSearch installed but not logged in as a user, and I didn't get an error. CatalogSearch stuff appeared on item/show pages and worked as designed.

Any ideas?

Zend_Db_Statement_Mysqli_Exception

Mysqli prepare error: Unknown column 'required' in 'where clause'

#0 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare('SELECT user_pr...') #1 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Db/Adapter/Mysqli.php(381): Zend_Db_Statement->__construct(Object(Zend_Db_Adapter_Mysqli), 'SELECT user_pr...')
#2 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Db/Adapter/Abstract.php(478): Zend_Db_Adapter_Mysqli->prepare('SELECT `user_pr...')
#3 [internal function]: Zend_Db_Adapter_Abstract->query(Object(Omeka_Db_Select), Array)
#4 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/Db.php(79): call_user_func_array(Array, Array)
#5 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/Db/Table.php(484): Omeka_Db->__call('query', Array)
#6 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/Db/Table.php(484): Omeka_Db->query(Object(Omeka_Db_Select), Array)
#7 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/plugins/UserProfiles/models/Table/UserProfilesType.php(33): Omeka_Db_Table->fetchObjects(Object(Omeka_Db_Select))
#8 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/plugins/UserProfiles/helpers/LinksToIncompleteProfiles.php(10): Table_UserProfilesType->getIncompleteProfileTypes()
#9 [internal function]: UserProfiles_View_Helper_LinksToIncompleteProfiles->linksToIncompleteProfiles()
#10 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/View/Abstract.php(350): call_user_func_array(Array, Array)
#11 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/plugins/UserProfiles/UserProfilesPlugin.php(180): Zend_View_Abstract->call('linksToIncomple...', Array)
#12 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/plugins/UserProfiles/UserProfilesPlugin.php(180): Omeka_View->linksToIncompleteProfiles()
#13 [internal function]: UserProfilesPlugin->hookPublicContentTop(Array)
#14 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/Plugin/Broker.php(157): call_user_func(Array, Array)
#15 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/globals.php(188): Omeka_Plugin_Broker->callHook('public_content
...', Array)
#16 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/themes/default/common/header.php(69): fire_plugin_hook('public_content
...', Array)
#17 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/View.php(117): include('/websites/omeka...')
#18 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/View/Abstract.php(888): Omeka_View->_run('/websites/omeka...')
#19 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/View/Helper/Partial.php(105): Zend_View_Abstract->render('common/header.p...')
#20 [internal function]: Zend_View_Helper_Partial->partial('common/header.p...', Array)
#21 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/View/Abstract.php(350): call_user_func_array(Array, Array)
#22 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/globals.php(1614): Zend_View_Abstract->__call('partial', Array)
#23 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/globals.php(1614): Omeka_View->partial('common/header.p...', Array)
#24 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/globals.php(1628): common('header', Array)
#25 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/themes/default/index.php(1): head(Array)
#26 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/View.php(117): include('/websites/omeka...')
#27 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/View/Abstract.php(888): Omeka_View->_run('/websites/omeka...')
#28 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Controller/Action/Helper/ViewRenderer.php(900): Zend_View_Abstract->render('index.php')
#29 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/controllers/IndexController.php(16): Zend_Controller_Action_Helper_ViewRenderer->renderScript('index.php')
#30 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Controller/Action.php(516): IndexController->indexAction()
#31 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('indexAction')
#32 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#33 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#34 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#35 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/application/libraries/Omeka/Application.php(79): Zend_Application->run()
#36 /websites/omekadev/home/www/sbrennan/SearchTestO2/SearchTestO2/index.php(23): Omeka_Application->run()
#37 {main}

Allow attributes to be set for linkToOwnerProfile()

As a theme writer, I'd like to be able to set classes and other attributes for a link to an owner profile. For example, in conjunction with the Groups plugin, I'd like to set an "owner" class on a link to the profile of a group owner.

The linkToOwnerProfile() helper needs to be able to take an array of attributes and values and works if it prints out those attributes and values within the <a> tag.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.