Forum

Thread tagged as: Question, Runway, Shop

Perch Shop - Data Protection/Gift Aid and additional information

Hi,

I'm just wondering how people using the Perch Shop app deal with a similar issue I have and what recommendations could be made, as I am struggling a little bit.

Currently, the shop I have implemented is used for selling online membership, but part of this 'product' is to receive either an offline (printed) or online magazine.

My current workflow is that the user selects the type of membership they want, they are directed to the cart and then (if not already registered) sent to the 'customer_create.html' registration page.

This would be where I would like to add additional items as it seems the most logical place. For example, when registering, I would like to add a checkbox to allow the capturing of whether people are happy to receive information from the client, say via email and other more general data protection elements. Ultimately this could/would be sent to the Perch MailChimp integration, so we could easily get a list of all the members that would like to receive an email.

The probelm is any data captured via customer_create.html does not seem to be stored in an applicable manner.

For example, all new members are displayed within admin, but only with data (first_name, last_name, email) and I cannot see how I can add a checkbox item to this to flag of the user has accepted or not.

This is further compounded that there is no obvious way to get a 'data dump' of members in say a CSV file.

Surely there is someway to get data from the create_customer.html template to the backend. Even if it wasn't downloadable initially, as long as it could be exported into some sort of list within perch, or if needs be into the perch mailchimp app, that would be great.

I have not yet installed the Perch Mailchimp app, as it seemed I needed to understand how to capture this data first.

The other issue would be that it should be opt-in, opt-out, so should also be sent to the members profile page.

At the moment I have added a checkbox to the customer_create.html file.

<perch:label for="data-protect">
In accordance with the Data Protection Act, we will not pass your details to another party. However, from time to time we may wish to contact you with surveys or new information that may interest you. If you do not wish to receive such information please tick this box. <perch:input class="form-control" type="checkbox" value="true" id="data-protect" />
</perch:label>

I can see from the DB that it is getting stored as part of the 'memberProperties' within the 'perch3_members' table.

So, I am wondering, how do I extract this information into something useful, say an item displayed against the members list in the admin and/or as part of the profile page, so users can adjust.

I will go and look at the MailChimp app as perhaps there is a perch tag to allow subscription that could be inserted into the required templates and potentially have the form submit to both the shop and mailchimp and somehow use this as a workaround, rather than getting the data directly from the admin / members area.

Any ideas are gratefully recieved.

Thanks

Diagnostic Summary


Perch Runway: 3.0.8, PHP: 5.6.31, MySQL: mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $, with PDO Server OS: Linux, cgi-fcgi Installed apps: content (3.0.8), assets (3.0.8), categories (3.0.8), perch_blog (5.5.1), perch_events (1.9.5), perch_forms (1.9), perch_shop_orders (1.2.2), perch_shop_products (1.2.2), perch_shop (1.2.2), perch_members (1.6.2), perch_twitter (3.7) App runtimes: <?php $apps_list = [ 'perch_blog', 'perch_twitter', 'perch_events', 'perch_forms', 'perch_members', 'perch_shop', ]; PERCH_LOGINPATH: /admin PERCH_PATH: /home/auk/public_html/admin PERCH_CORE: /home/auk/public_html/admin/core PERCH_RESFILEPATH: /home/auk/public_html/admin/resources Image manipulation: GD Imagick PHP limits: Max upload 12M, Max POST 12M, Memory: 64M, Total max file upload: 12M F1: 0c66c2e1f82f9e0b7617b2cb8270f2c7 Resource folder writeable: Yes DOCUMENT_ROOT: /home/auk/public_html HTTP_HOST: anticoagulationuk.org REQUEST_URI: /admin/core/settings/diagnostics/ SCRIPT_NAME: /admin/core/settings/diagnostics/index.php
Andrew Kennedy

Andrew Kennedy 0 points

  • 4 years ago
Drew McLellan

Drew McLellan 2638 points
Perch Support

It's on our roadmap to add more ways to manage these sorts of custom fields, but I don't have an immediate solution.

Gutted. Suprised this wasn't within the original remit as asking people to tick preferences such as mail sign-up, data protection et al is pretty standard.

Hmm, I will have to get my thinking cap on for this.

I do not suppose there is any way you can send the captured new member data from the Members App to a Form in the CMS ?

At the moment, I am managing to capture extra data in the 'profile' page when a member logs in.

This data is stored in 'perch3_members_sessions'.

Hmm, I tried adding 'perch_forms' to the 'customer_create.html' file, so that I have:

<perch:form id="register" method="post" app="perch_shop perch_forms" type="shop" data-address-duplicate="true">

Frustratingly, this sends the details to both the members app and a form so I can at least get a CSV dump of everything, but it makes the purchase fail by dumping me out to a page within the site and not continuing to the checkout. No errror messages.

It's just a shame that the shop and members app are not more connected so that you can keep some sort of profile against a member with preferences et al.

Could I not extend the 'confirm.html' template ?

This has the accept terms element. I could put extra checkboxes at this point, but I presume this is just a standalone and no data is captured as it is literally, if you do not select, you do not progress with the sale, you cannot, not accept and continue and have this data stored.

Seems crazy that I will have to somehow have a checkbox within the profile and have people opt-in / opt-out of whether they receive further information from the client. This being further compounded that we cannot easily get a listing of those that have and those that have not. Maybe I can build some 'admin' page to produce this.

Thanks for your help as always.

Drew McLellan

Drew McLellan 2638 points
Perch Support

Yes, there's any number of ways to work with it if you write the code to do it. It might seem 'crazy' but I'm just one person with limited resources and I can't write code that works in every imaginable scenario, right from day one. All I can do is listen to what people need, prioritise that by what might sell more licenses, and try to work it in as quickly as I'm able.

I think sadly you are the victim of your own success. Do not get me wrong, I think Perch (Runway et al) is fantastic, absolutely and I suppose I wouldn't really be doing my job if I didn't start to push the envelope of what is capable, especially straight out of the box. I am sure that no matter what Perch does in the future, I will have a requirement that does not 'fit' :-)

Keep up the good work, as if you are managing to do this all on your own, that is a magnificent effort.

Hopefully the amount of licences sold starts to reach a point where you can support another developer or support staff.