[SOLVED] CBSubs Report Functionality

14 years 4 months ago #118204 by JeremyFP
[SOLVED] CBSubs Report Functionality was created by JeremyFP
Here's a feature idea for the next version of CBsubs...

I've got a client who switched their membership program from an offline database system to CBSubs. The functionality is great, and meets their needs in many ways. As much as possible, they're using CBsubs site integration and plugins to automate membership administration. There's one thing that they keep asking me for, though...

The membership committee chairperson has to present several dead-tree reports to the board each month. Specifically, she needs to make a report that lists the name/address/ID/email/phone of users who have recently renewed, another for new signups, and a third for recent expirations. Another thing she needs to create are mailing labels for sending welcome packets and other snail-mail materials to members.

So far, I've got her using CBJuice, and then slicing and dicing the info as needed. I've needed to add some CBfields and SQL integrations to output everything she needs, but it works.

Here's what I'd really like to do, within CBsubs.
  • Export a CSV member roster, customizable by changes in member status + date. It'd output the same data that is on the registration form, and could be limited to new signups/expirations over certain time spans (by specific/combined plans).
  • The charts and payment details that CBsubs provides are great. It'd be awesome if I could just customize those to include the member-specific info for her different reports, then export them as a PDF.
Like I said, it's possible to do all of that using CBJuice, but think of how inelegant that is: we're pulling from a separate database, customizing CBSubs to dump redundant data into that DB, unable to filter the output prior to exporting, then we have to schlep through that output to pull what we need, and manually create any visuals for the report.

If I knew PHP, I could probably write a plugin that would do this, but I don't know PHP. Even if I did, it probably not include the groovy visuals generated by the payments center, payments, and statistics pages. So, it seems that the core team is going to do a better job than a third party. It'd be a great addition.

Cheers!

Post edited by: krileon, at: 2010/10/20 21:27

Please Log in to join the conversation.

14 years 4 months ago #118205 by krileon
Replied by krileon on topic Re:CBSubs Report Functionality
We've already got a feature ticket in place to allow CSV export of subscriptions; this should be sufficient to meet your needs if the feature implementation is approved as CSV can be imported into spreadsheets and formatted as necessary with charts, etc... B)

Sense you don't know PHP I won't recommend creating something to query the database, etc.. instead I recommend going into your database and doing an export of the Subscriptions table as CSB format (easily doable if using phpmyadmin) then import it into your spreadsheet program and format it as necessary; this should be more accurate/sufficient then using CBJuice. It won't provide usernames, but it will provide user_id, which is actually more accurate for your records as it is possible to change username whether for frontend (if enabled to do so) or backend. However, user_id can't be changed.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

14 years 4 months ago #118206 by JeremyFP
Replied by JeremyFP on topic Re:CBSubs Report Functionality
Great. Thanks for the quick reply.

By the way, is it possible to include special statements in the CB Fields plugin, or is it just straight-up text? I searched around and didn't see anything.

I'd like to modify the regular CB member info to update the "Member Since" field when a plan is upgraded, expired, or renewed (or, to update a secondary field if it's a bad idea to touch the "since" entry for some reason).

Please Log in to join the conversation.

14 years 4 months ago #118209 by krileon
Replied by krileon on topic Re:CBSubs Report Functionality
I don't understand what you mean by special statements? Substitutions? If so then no it does not support substitutions at this time.

You can also use CBSubs SQL Actions if you need more advanced control of the update or even CBSubs URL to execute a code script to update a field for even further functionality.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

14 years 2 months ago #123080 by Robert_ITMan
Replied by Robert_ITMan on topic Re:CBSubs Report Functionality
We would also like to see the same reports as requested by Jeremy.

name/address/ID/email/phone of users who have recently renewed, another for new signups, and a third for recent expirations.


As a suggestion... if the CBSubs fields were available in the CB Lists Management we could create our own reports.

CSV export combining CB and CBSubs would be a most welcome alternative.

CB and CBSubs rock!
Thank You!

Post edited by: Robert_ITMan, at: 2010/01/28 22:25

Please Log in to join the conversation.

14 years 2 months ago #123102 by krileon
Replied by krileon on topic Re:CBSubs Report Functionality
As a workaround you could just use a query on your database and export the results. See the following example:

[code:1]
SELECT a.`id`
, a.`name`
, a.`username`
, a.`email`
, c.`status`
, c.`plan_id` AS plan
, c.`subscription_date` AS subscribed
, c.`last_renewed_date` AS renewed
, c.`expiry_date` AS expires
FROM `jos_users` AS a
INNER JOIN `jos_comprofiler` AS b
ON b.`user_id` = a.`id`
INNER JOIN `jos_cbsubs_subscriptions` AS c
ON c.`user_id` = b.`user_id`
WHERE a.`block` = 0
AND b.`confirmed` = 1
AND b.`approved` = 1
AND b.`banned` = 0
AND ( c.`status` = 'A' OR c.`status` = 'R' )
[/code:1]

This query would print users as follows:
user_id - name - username - email - status (A=Active or R=Renewed) - plan_id - subscription date - renew date - expire date

You can of course change the query as necessary and bookmark it in your MYSQL management software (I used phpMyAdmin). It may require changes such as jos_ if your database uses a different prefix. No damage can be done to your database as it's simply a SELECT query, so no worries there. ;)

Once you've got the results simply export as CSV and you've got what you needed and making it bookmarked makes it readily available when you need it. :P

Post edited by: krileon, at: 2010/01/28 21:22


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.249 seconds

Facebook Twitter LinkedIn