awesomemotive / easy-digital-downloads

Sell digital downloads through WordPress
https://easydigitaldownloads.com
GNU General Public License v2.0
868 stars 473 forks source link

New customer management UI #2548

Closed pippinsplugins closed 9 years ago

pippinsplugins commented 10 years ago

With the introduction of the new customer API in #2256, we need to now look at dramatically improving our customer management UI.

A few things I can think of that we need:

  1. a better list table for customers that is not buried in the Reports page
  2. a new Customer Details screen
  3. a visible link between the View Order Details screen and the Customer Details screen
  4. the ability to more easily change the customer a purchase belongs to
  5. reporting on customers
pippinsplugins commented 10 years ago

@cklosowski @sumobi I'd love both of your thoughts on this. Anything and everything you've got.

amdrew commented 10 years ago

Absolutely, do you see #1 as a top level section similar to downloads/payment history?

What kind of reporting do we need in additional to what's already available from reports -> customers?

For #4 WooCommerce seems to have a select field to choose a customer and it also allows searching. This seems like the most logical way to assign the order to a new customer.

screen shot 2014-09-16 at 8 08 02 pm

pippinsplugins commented 10 years ago
  1. That was my initial thought, though I'm not really loving how many menu items we're getting. It's awful crowded.
  2. Yep! We can make a new HTML Element for customer_dropdown()
spencerfinnell commented 10 years ago

I like the WooCommerce split of menu items related to actual downloads/products and the other menu items related to store administration.

Without putting it as a submenu item in the menu I can't think of a place that wouldn't be as hidden as it is now. But that makes 11 submenu items under one.

pippinsplugins commented 10 years ago

I'm not opposed to having two top level menu items. What about:

Store

Downloads

chriscct7 commented 10 years ago

That would work for me, but what it would mean is extensions who've added submenu pages under download, and those items really would be for store administration, like for example the one in Discounts Pro, would appear under "downloads" when they should be under "store"

pippinsplugins commented 10 years ago

@chriscct7 That's kind of annoying but may need to be a necessary evil. The good news is that the menu items would still be where users are used to them being: under Downloads.

chriscct7 commented 10 years ago

Yep that's true. Just wanted to point that out, so there's a record that this is the cause of it appearing under the wrong place for developers if we move forward and they miss our announcement on the topic, and then search github for answers

pippinsplugins commented 10 years ago

:+1:

spencerfinnell commented 10 years ago

Store was just what I was thinking as well. And I don't think having a misplaced link for a version is horrible either; it was the same when the Extensions tab was introduced and settings were in two places for a little while as well.

pippinsplugins commented 10 years ago

Nothing breaks, just a few items aren't 100% logically organized for a bit. :+1:

chriscct7 commented 10 years ago

Right

amdrew commented 10 years ago

That works and feels like a nice split. So Customers would be included under Store right?

pippinsplugins commented 10 years ago

Yes

On Tuesday, September 16, 2014, Andrew Munro notifications@github.com wrote:

That works and feels like a nice split. So Customers would be included under Store right?

— Reply to this email directly or view it on GitHub https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/2548#issuecomment-55844299 .

cklosowski commented 10 years ago

Agree. 2 menus seem to be the best course of action. We're getting a bit cluttered on one. Also could allow better role access to things.

Will think about this some more

cklosowski commented 10 years ago

@pippinsplugins @sumobi We need to be careful with the customer dropdown. I know for a fact, getting a list of users to put there, at about 100k users will bomb out. We will need to look at using the ajax that you see in the Core Network add user approach.

image

amdrew commented 10 years ago

@cklosowski good point

pippinsplugins commented 10 years ago

My plan to make it an ajax-search drop down, similar to the product drop down.

pippinsplugins commented 9 years ago

Notes from meeting:

pippinsplugins commented 9 years ago

Let's flesh out the main customer management UI before we touch the View Order Details.

cklosowski commented 9 years ago

How is this looking for a 'view/edit' format. Currently it's just a view, no edit just yet. Thoughts?

....look below for updated view.

pippinsplugins commented 9 years ago

This is looking great!

chriscct7 commented 9 years ago

Do we want to have per-user reporting, like graphs + exports?

pippinsplugins commented 9 years ago

Not for the first iteration.

On Thu, Jan 15, 2015 at 3:48 PM, Chris Christoff notifications@github.com wrote:

Do we want to have per-user reporting, like graphs + exports?

— Reply to this email directly or view it on GitHub https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/2548#issuecomment-70168539 .

cklosowski commented 9 years ago

What elements of a customer should be allowed to be edited? And also, if there is a user tied to a customer, should editing the user edit the customer as well (name, email)?

cklosowski commented 9 years ago

Here's the concept I have for the customer notes: image

cklosowski commented 9 years ago

image

pippinsplugins commented 9 years ago

To be editable:

Email Name Known ip addresses (maybe) Connected user ID Stored billing address

I'd vote that changing name / email also changes it on the connected user account.

On Thursday, January 15, 2015, Chris Klosowski notifications@github.com wrote:

[image: image] https://cloud.githubusercontent.com/assets/1390124/5770656/a4097d60-9cfb-11e4-91a5-7db11eedd08b.png

— Reply to this email directly or view it on GitHub https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/2548#issuecomment-70198599 .

cklosowski commented 9 years ago

Sounds good. I'll start the editing tomorrow.

What do you think of a custom post type for the customer notes.

pippinsplugins commented 9 years ago

No custom post type. If they go in a default WP table, they should be in comments or user meta.

On Thursday, January 15, 2015, Chris Klosowski notifications@github.com wrote:

Sounds good. I'll start the editing tomorrow.

What do you think of a custom post type for the customer notes.

— Reply to this email directly or view it on GitHub https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/2548#issuecomment-70200437 .

cklosowski commented 9 years ago

Ok. I'm can live with those options. Will probably use comments.

cklosowski commented 9 years ago

Ok Just pushed some changes that I think should be reviewed. Note that this DOES NOT include EDITING a customer just yet. Want to get the interface down first: Viewing and searching for customers: image

Viewing a single customer: image

Viewing the customer notes (via the tabs on the right of the 'Customer Card'): image

Some notes, customer notes are a custom comment type with a restricted view. I envision the 'edit' will be enabled by clicking on the 'Pencil' icon next to the name, and all editable attributes will be converted to inputs.

I'd love some UI/UX feedback from everyone before we go too much further.

SeanTOSCD commented 9 years ago

I definitely like the direction here. Menu link, customer table, and structure/layout for each customer page is great. My initial feedback would all be style related.

I can help with the front-end stuff for sure. I like the initial direction, though. Super excited to see this completed.

pippinsplugins commented 9 years ago

This is looking great. Here's a few more thoughts on top of what @sdavis2702 said:

cklosowski commented 9 years ago

@sdavis2702 Agree on both sides there.

@pippinsplugins

pippinsplugins commented 9 years ago

Let's link Purchases # to a filtered Payment History page and do away with the View All Payments button, or link the two together somehow.

I was referring to the one that shows next to lifetime value. That is begging to be a link :)

I'm not sure I agree there. Seems overkill to kick up an entire list table class for 10 items, and it's style is REALLY bloated for the smaller area.

It does seem overkill. How about just bringing the styling a bit closer?

cklosowski commented 9 years ago

I was referring to the one that shows next to lifetime value. That is begging to be a link :)

Ah, yes that makes sense

It does seem overkill. How about just bringing the styling a bit closer?

Can do.

cklosowski commented 9 years ago

Here's some updates. More like core, and most of the changes above are done. Still needed are ajaxing in comments, and responsive, and the edit view: image

evertiro commented 9 years ago

That, sir, is beautiful

chriscct7 commented 9 years ago

@cklosowski I like that alot. Can we let extensions register custom tabs?

pippinsplugins commented 9 years ago

Yes, extensions will be able to register tabs.

cklosowski commented 9 years ago

@chriscct7 yes, custom tabs and views can be registered.

In fact, core uses the filters in order to register those two tabs and views.

JustinSainton commented 9 years ago

i just wanted to stop by and say i love all of you dearly and this looks amazing and the chances of us stealing, i mean, becoming very inspired by it for WP eCommerce are very high and oh my gosh I love you all.

pippinsplugins commented 9 years ago

:)

evertiro commented 9 years ago

And that's how you know you're doing something right.

chriscct7 commented 9 years ago

lol @JustinSainton :-)

cklosowski commented 9 years ago

@pippinsplugins Would you object to the introduction of an EDD_Customer class? It would make dealing with individual customers a much cleaner experience and I think could really benefit future development.

evertiro commented 9 years ago

:+1: from me

pippinsplugins commented 9 years ago

Definitely not opposed.

On Tuesday, January 27, 2015, Ghost1227 notifications@github.com wrote:

[image: :+1:] from me

— Reply to this email directly or view it on GitHub https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/2548#issuecomment-71766528 .

cklosowski commented 9 years ago

Ok, that's 2 votes for...going to build one in for this. It will allow easy access to info for the customer as well as easy access to stats, queries, etc.

Will also include a way to update the customer information. It will use parts of the EDD_DB_Customers class as that's more of a database abstraction class...not an actual Customer object.