Participants Database 1.5 WordPress Plugin

Call for Beta Testers!

Release of version 1.6 is coming, with new features & many code improvements.

I need beta testers, so if you have an install of Participants Database in a non-critical application and want to run it through it’s paces for me, email me.

what’s new in 1.5

There’s lots of improvements under the hood, and a list of new and better user features too:

Plugin Overview

This WordPress plugin is for the purpose of creating a database for use in a WordPress site. It is primarily intended as a way to manage information pertaining to people such as the members of a club or team, volunteers, students, anything like that. It gives you the ability to allow people to create and edit their own record while additional information can be managed by administrators or managers. The plugin may also be used as the basis for an index, directory or catalog.

>> Quick Setup Guide

The database is made up of fields, and each field may be one of several types that are uniquely suited to store a particular kind of information. These fields can also be divided into groups to help organize the information. Fields can also be provided with help text to assist users in providing the information.

Please read the documentation fully, as this is a complex plugin that can be used in a lot of different ways.

I have created a page that gives a step-by-step method for setting up a typical application of the plugin. I suggest you begin with that, it will help you understand how the plugin works and also give you a working baseline so you know the plugin works on your site. You can make your modifications to the plugin functionality from there.

[email protected]

Next… Using The Participants Database Plugin

2,497 comments

Hey Roland

Thanks Roland, really appreciate the coaching.

Re : changing the group. I’m pretty sure thats what I’m doing. Theres a drop down menu that allows to choose the group. I’m selecting the group for each one then going down to the bottom and clicking on update, but it doesn’t save. I’ve refreshed I’ve closed out the pluggin and come back and the old “main” group is there and not the one I selected

Also, after I finished adding the fields to PDB I made another attempt again to upload the CSV file and now once again its gone back to the error message thats says …” There was an error uploading the file. This could be a problem with the permissions on the uploads directly. Destination:home/mich6600/public_html/wp-content/uploads/participants-database?PDB-Combinedlist2.csv ”

Before I added the fields you may remember I said it was giving me this gray screen (with out an error message) . Now its gone back to giving me the error message again

Are uploading csv files generally a challenge like this ? Whats generally the problem. The web designer and I have been trying to upload this one for over a week now …and with even all the help you’ve given us, we are still pretty much in the same space. When we saw the gray screen we thought we were getting closer, but now we are back at the error message.

Karl

by Karl on December 18, 2014 at 9:44 am. Reply #

I;m also putting a checkmark in the CSV checkbox and updating , but it wont save

by Karl on December 18, 2014 at 9:55 am. Reply #

Roland

I am adding the fields to PDB as you said needed to be done before the CSV file is uploaded (I assumed thats what you meant by saying define the fields)

Couple questions ….

Q1.) Do the fields I add to PDB have to be in the exact same order that they are in the CSV file to load correctly or will the data, once uploaded automatically load under the correct fields?

Q2.) A number of the fields that I have added I noticed I grouped incorrectly when I added them (they were added under main). In an effort to correct this I changed the group name (from main) to the correct group name and tried to update but it wouldn’t save them. Is there an easier way to do this other than going under the new group name tab and adding or copying those fields to the new group (there are 80 fields) ?

My assumption is that the reason the file would not originally load was because I had not added the fields to PDB. So I’m adding them and I’m just trying to make sure I am adding them a correctly. We’ve been trying to load tis file for a while now

Hope you can help.

Karl

by Karl on December 18, 2014 at 5:17 am. Reply #

Sounds like you’re on the right track. The order of the fields doesn’t matter at all. The only way to move a field from one group to another is to change the group assignment of the field. You can edit several fields at once, then save your changes.

by Roland on December 18, 2014 at 8:24 am. Reply #

Roland, thank you very much for such a wonderful plugin.
I have a small issue, i want my clients to be able to edit certain aspects of their record. For example, they can edit most information except their names. how do i make that field read-only after the first sign up?

by donmed on December 17, 2014 at 6:32 pm. Reply #

The trick is to make the field not read only in the signup. You need to use a custom template, read this article for the basic instructions for doing that.

For each field you want to change to being editable, clear the readonly flag like this: <?php if (in_array($this->field->name, array('first_name','last_name')) { $this->field->attributes['readonly'] = 0; } ?>

by Roland on December 18, 2014 at 8:18 am. Reply #

What’s the best way to make sure an uploaded image is constraint to a thumbnail size unless clicked on?
Currently I get images either displaying too large in a list or else still tiny once clicked on.

by Oliver on December 17, 2014 at 1:40 am. Reply #

Also, after uploading a file, how can this be made downloadable in the list, please?

by Oliver on December 17, 2014 at 3:22 am. Reply #

I also can’t get the link text to show in the list. The entry shows the URL instead of the link text.

by Oliver on December 17, 2014 at 7:45 am. Reply #

OK, I’m just guessing here because I don’t have much to work with here…if the field is a "link" type field, both the link text and the url need to be filled in and stored with the record. If the URL is placed where the linktext should go, you'll see the URL…and that may be your problem. Did you check to see what the URL of the link was? If the field is a plain text field and a URL is stored in it, the plugin will place a link to the URL on the field if enabled in the settings.

by Roland on December 17, 2014 at 8:01 am. #

I've figured out the image size issue.

by Oliver on December 17, 2014 at 6:46 am. Reply #

Thanks Roland. I have emailed you a couple of screenshots.

by Oliver on December 17, 2014 at 12:03 pm. Reply #

Then that has got to be one of the reasons we are not seeing or cant find the data from the upload.The file we’ve been trying to upload has about 80 fields. There are probably 78 fields from that file that I have never added to the plug-in (There are currently only 22 fields from the old database about 17 which need to be deleted). I didn’t know they had to be added first before the upload

(I’m assuming when you are saying “define ” its the same thing that I’m saying when I say “adding”)

So we probably need to stop trying to upload the file, until we go into PDB and add the fields

I will add the 78 fields to PDB and then try to do the upload, I’m thinking its probably why we cant find the data and just see a gray screen because it seemed like it uploaded.

Because according to you if we did it at this point the pluggin is going to ignore about 98% of the data we are trying to upload anyway.

I hope I’m understanding you correctly.

Karl

by Karl on December 15, 2014 at 2:17 pm. Reply #

Roland

So are you saying that once the file is properly uploaded I still will never be able to use or even see the data through PDB from the uploaded file until I manually add those fields to PDB as it won’t be added automatically?

If thats true than I guess while we’re trying to figure out how to upload the file I can start adding the fields to PDB now so when the file is uploaded I’ll be ready to use the data. I’m getting that with out manually adding the fields I wont be able to access them in PDB.

Karl

by Karl on December 15, 2014 at 1:35 pm. Reply #

Before uploading the CSV, you must define all the fields in the plugin you want to import from the CSV. You can&#039;t do it after you upload because the data won&#039;t have been saved by the plugin. The plugin ignores any fields in the CSV that don&#039;t match a defined field in the plugin, so the fields you want to import have to be defined first…the names of the fields as defined in the plugin must match the names of the fields in the CSV.

by Roland on December 15, 2014 at 1:52 pm. Reply #

But what I’m asking is …. would I need to delete the 22 fields or the current file in order to upload the new file with the 80 fields? Could that be why this file is now not uploading ?

I’m not necessarily trying to delete fields, unless its something necessary that must be done, in order to upload this file?

by Karl on December 15, 2014 at 12:26 pm. Reply #

No, that wouldn’t affect your ability to upload the file. The plugin just ignores any fields in the CSV that don’t correspond to defined plugin fields.

by Roland on December 15, 2014 at 1:13 pm. Reply #

I’m not sure how much insight you have about our current database but may by by sharing might help you help us determine the problem.

We currently have 22 fields set up in our database. The file we are trying to upload has about 80 fields nor do we have a PDB form for the new fields (We will just be using that database this time and no a PDB form) What we are actually trying to do is actually replace those 22 data fields with new data fields

Would we, may be need to, delete the old fields to put in the new fields and if so can we and how is it done? (The data from the old fields have already been copied to the new spreadsheet so losing it would be no problem)

by Karl on December 15, 2014 at 11:55 am. Reply #

Plugin fields can be added or deleted on the “Manage Database Fields” page. When fields are deleted from the plugin the data that was saved prior to that is not lost. Once the fields for your application are defined you can easily use any of them in forms generated by the plugin.

Take a look at this page for the details: Defining Participants Database Fields

by Roland on December 15, 2014 at 12:07 pm. Reply #

Hey Roland

I talked with you last week about trying to upload our Excel CSV file to t PDB (we kept getting the error message about permissions). Upon it becoming to technical of a project for myself, I informed our web designer . He (Brian then contacted you and sent you the file after following your instructions and the advice of a couple others , we have finally gotten rid of the error message. It appears now to be uploading as its a huge file and takes about a minute. Once finished though, all the instructions on regarding uploading the CSV file disappears and what appears in its place is now just gray screen.

What might be the problem now as we are getting no error messages nor do we see or know where to go to see if the file is uploaded? Thought it’d be pretty simple but apparently it is a little harder than it appears.

Hope you can help

Karl

by Karl on December 15, 2014 at 10:33 am. Reply #

Karl,

Sorry you’re having trouble with this. I really don’t know what is going in there, I’ve never run into this issue before and I have several users working with larger uploads than you’re dealing with here. So it’s not that the plugin can’t handle it…there’s really no limit there. I’m guessing that you need to up your PHP configuration to handle bigger uploads and longer script execution time. Probably, a look at your PHP error log would be helpful here. A grey screen like you describe could be cause by the server just being unable to cope, so there is a really long lag between uploading the file and adding the data to the database. Giving the script more execution time might help…and then just give the upload a lot of time to complete.

by Roland on December 15, 2014 at 11:19 am. Reply #

Hi Roland,

This is a fantastic plug-in and I am exploring it’s many customizable features. Thanks for your support so far.

I’d like our community to be more engaged and motivated to maintain their data.

Your excellent tutorials mention:
“An individual record can be edited on the frontend of your website by someone who has the private link to that record. The purpose here is to let people maintain their own records.” The data owner then uses that email link to view their editable record.

I am building a form that the user can type in their unique code and send it the page so their record appears in the edit form [pdb_record]. This will be useful so that links to edit a record are more direct. The average person does not understand adding ?pid=UNIQUE to the location URL but could manage typing UNIQUE into a form. This would be more user friendly in that it keeps them in the browser. Currently they have to go back to their eMail account and we loose them.

Perhaps there is an existing shortcode that expands on [pdb_record] like [pdb_record submitPid=true] to print out a form to submit their PID. I suspect this might be more adoptive for our users than maintaining an external link. If you think that it is ill advised for security reasons I’d be interested to hear that too.

Thank you for this supurb plug-in.

Geo

by George on December 15, 2014 at 8:07 am. Reply #

Hi George,

Thanks for your thoughtful post. I’ve had a lot of suggestions how to manage the private record access differently, yours is certainly more practical than most, and presents a simple interface. The security of your suggestion is no different than using a private link, it’s just a different way to do the same thing…and I understand how it might be better for your users. The private link was never intended as a kind of login or something that would be used repeatedly…but of course plugin users have come up with a lot of creative (and unanticipated by me) ways to make use of the plugin.

Implementing your plan would be quite simple: you’d need to create a WordPress template for your page, then add a simple form the the page that would simply reload the page with the private id in the URL. The [pdb_record] shortcode could be on the same page or on a different page.

Some very simple HTML could be used to show the record edit form on the same page could be as follows:


<p>Type in your Private ID and hit return to edit your record.</p>
<form method="get">
<input type="text" name="pid" />
</form>

by Roland on December 15, 2014 at 8:37 am. Reply #

Thank you for the clear response.

I added this simple bit
$pid = $_GET[“pid”];?>

<?php If(!$pid){
echo 'Type in your Company ID and hit return to view your record.
‘;
}?>
to a Word Press page template I titled editor-tplt.php. I selected that as the page template in the WordPress Edit Page and its working perfectly.

Geo

by George on December 15, 2014 at 10:28 am. Reply #

Hi Roland!

So far this plug in works great or me, except for one issue that I think might be a bug. I installed the plug in on my site yesterday and added some test entries to explore the functionality, and everything worked great, but today when I try to search for an entry, the loading wheel appears, but then nothing happens. What makes it even weirder, is that every time I click either the search or the clear buttons, it adds another loading wheel right next to the first one, and then next to tat one, etc, but nothing else happens. This happens both when I set it so tat the list is initially displayed and when I don’t.

Am I doing something wrong, or is this indeed a bug?

by John on December 14, 2014 at 9:13 pm. Reply #

Sounds like a problem with the javascript. Could be caused by some other functionality on the page, this is not normally a problem. If you go into the settings, under the “advanced” tab and uncheck “Use AJAX Search” that will change the search to use a refresh method instead of the javascript.

by Roland on December 14, 2014 at 10:07 pm. Reply #

Hi,

This plug in is really nice. I like the functionality of it, and it is what I have been looking for to set up one of my sites.
Although it is really good to use, I have some challenges, which I am hoping you can help me with.

1. I changed the fields, and then tried a test. I receive the email stating that I have registered, and it sends me the link to complete the rest of the form. I go onto the link, it takes me back to the site to complete the form. I enter all the info required. I then get an email notification on my main email address notifying me of a new participant. I go into the back end, BUT no information appears. I also get an error that NO DATA RECEIVED. I try exporting onto a csv, but that does not give any info except the initial data on the first step of registration. How can I fix this?

2. When I upload images, I cannot access the images uploaded. On the settings, it states that the image files are stored in wp-content/uploads/participants-database/
Where can I locate this, and how would I match it to the person registering?

I look forward to your speedy reply.

Regards,
Avish

by Avish on December 12, 2014 at 1:59 am. Reply #

Be sure you are using the [pdb_record] shortcode on your “Participant Record Page” (as defined in the settings under the “Record Form” tab.

As to the images, I’m not sure I understand what you mean by you can’t access them. If you have configured the plugin to show the image field, the image will display. In each record, the name of the image file is saved, that’s how the plugin knows which image goes with each record.

by Roland on December 12, 2014 at 11:40 am. Reply #

Hi,
Is it possible to :
1. record display or edit link open in a new window?
2. display only values of a field without the field name?

Thank you

by Peter on December 10, 2014 at 8:52 pm. Reply #

Hi Roland,

I’m trying to put the sign up form in a text widget in a sidebar, however the fields don’t fit and the captcha isn’t displaying. Do I need to set up a template for this? Try as I might I cannot find the relevant css to adjust. Thanks for any advice.

by Jason Roberts on December 9, 2014 at 4:48 am. Reply #

Hi Jason,

While it may be more elegant to do this with a custom template, it will certainly require a good understanding of how HTML and CSS are working there. You may find it easier to just use some custom CSS rules to resize the elements to fit. Usually, the best approach is not to modify existing CSS, but to override it with new rules that apply to your situation. The plugin has a “custom CSS” setting where you can put your rules.

Check this article out for some basic instructions on modifying the CSS: Simple CSS Techniques for WordPress

by Roland on December 9, 2014 at 6:27 am. Reply #

Have been trying to setup the plugin so that members who signup get a link NOT to edit the details but Just View ONLY their info.

Please could you help me with that?

by Peter on December 6, 2014 at 9:31 am. Reply #

Peter, you need to do this in the email template. Build a link that includes the base URL of your record detail page and add the record ID, something like this:

<a href="http://yoursite.com/show-record/?pdb=[id]" >View Your Record</a>

The [id] tag fills in the id of the record.

by Roland on December 6, 2014 at 10:01 am. Reply #

thank you very much for your swift reply. very helpful plugin. If I could bother you some more…
The admin list (admin interface) shows a column which links to viewing the detailed record, there is another column by default (Private ID) which links to editing the record. Is it possible to have the link for editing records (on the Private ID column) appear on the front end when you call eg.[pdb_list field='name, private_id']???

by Peter on December 7, 2014 at 1:08 pm. Reply #

Sorry, I just saw an elaborate tutorial on how to achieve that on the site when i was walking through the pages. Nice work. Thank you

by Peter on December 7, 2014 at 7:44 pm. #

went through the procedure about 4 times. link doesnt show on “edit link”.
even edited the pdb-list-default.php in the plugin itself, still link doesnt show.
(column with edit link shows alright, but no clickable text) not sure where i went wrong.

by Peter on December 7, 2014 at 8:17 pm. #

Hard to say what the problem is, could be something in the template. Don’t set the element type of your “edit link” to link, should be text line. Make sure you have the field name right in the template where it checks which field it’s printing.

by Roland on December 7, 2014 at 9:57 pm. #

I understood why nothing showed. I was using a detailed list shortcode on the page.
However on a page where i had only [pdb_list], i got this error message in the field…
Fatal error: Call to a member function get_edit_link() on a non-object in /hermes/bosoraweb157/b1313/ipg.dmpcons/wp-content/themes/skt-full-width/templates/pdb-list-default.php on line 67

the code on line 67 is as follows:
$this->field->link = $record->get_edit_link();

i dont know what is wrong there, i copied straight from this site.

I was just reading through the codes in pdb-list-default and pdb-list-details, i realized the code for generating the links for the single record link was a little bit different. it goes…..

if ( $this->field->is_single_record_link() ) {

/*
* normally, when a value is empty, nothing is shown…but if the field
* has been designated as the single record link, we must have something
* to click on, so, we use the default value of the field if there is no
* stored value. This makes it possible to create a ‘static’ link to the
* single record by defining a read-only field with a default value
*/
$value = empty($value) ? $this->field->default : $value;

// add the record ID to the single record link
$single_record_uri = Participants_Db::add_uri_conjunction($single_record_link) . ‘pdb=’ . $this->record->record_id;

/*
* print the opening tag of the single record link
*/
echo ‘‘;

Please i have very very limited knowledge in coding, i can just read and understand rudimentary stuff.

Kindly assist. thank you.

by Peter on December 8, 2014 at 7:02 am. #

OK, well you’re missing the part where you assign the $record value, so it’s giving you an error when you try to use it.

I know this stuff is hard to get right when you’re unfamiliar with the code, makes it hard to see all the details. You definitely should not try to create your custom template using the detailed template as your starting point, that will just confuse things. I suggest you start again using the pdb-list-default.php template. You really only need to swap out that one block of code (as shown in the article) and it will work.

by Roland on December 8, 2014 at 7:25 am. #

Not sure what i did differently, but a good night sleep and a fresh start through the steps made it work. Thank you.

by Peter on December 9, 2014 at 7:57 am. #

Hey Roland
I thought because it was on WordPress it was hosted by WordPress. I will check with our webdesigner. Its now turning into a bigger project than I thought

Thanks for all your help

Karl

by Karl on December 5, 2014 at 8:39 am. Reply #

Hey Roland

I sent a reply to your last post but I don’t see it that instructed me to contact the host, but I don’t see it posted. Did you get it or do I need to repost?

by Karl on December 5, 2014 at 7:55 am. Reply #

Wow !! So exporting a file is not as simple as just uploading it as they say.

You say to do it I need to know how to change permissions, and of course I don’t know that because I have never done anything like this before.

So I need to contact the web host ? Does that mean I need to contact WordPress ? Wouldn’t they be the host of the page? Or would the host be the original designer of the page?

Changing permissions doesn’t sound like something I should be doing in our site. It sounds really technical and I’m not techy like that. Sounds like I could mess up something real bad in the site if I don’t know what I’m doing.

All I wanted to do is upload a new set of records to our database, since I can’t upload it to the default file in Formcraft. If I contacted our web designer (who designed our site years ago) and sent the file to him, do you think he could probably upload it without changing the permissions? If its as simple as just uploading it then I’ll send it to him, but if its going to be more than that I don’t want to bother him. I was told this would have to be a project I’d have to handle on my own.
as our web designer has a number of other things going on right npw.

So I’m trying to do as much as can on my own.

So is my next step contacting WordPress or the web designer
or is this something simple that I can do on my own? I did a little research on it , so I known it has to do something with that 600 number in the error message. If its as simple as changing a number, I just have to know where to go to change it and what to change it to. If its more than that or risky I just need to know which of the 2 I should talk to.

Karl

by Karl on December 5, 2014 at 1:51 am. Reply #

Hi Karl,

Unless your website is hosted on WordPress.com, who you need to contact is the company you pay to host your website. They will be able to provide you with the technical support you need. Just tell them what is happening, what you need, and they will make the change for you.

If your website is hosted on WordPress.com, well it probably won’t work. WordPress.com is not a good place to host a website with custom functionality.

by Roland on December 5, 2014 at 7:58 am. Reply #

Leave your comment

Please note: comments are moderated by someone who is usually pretty busy and may not appear for several hours.

Required.

Required. Not published.

If you have one.



css.php