updates
This commit is contained in:
parent
938c7eb898
commit
a5fb2d40f6
5 changed files with 194 additions and 0 deletions
|
@ -38,7 +38,27 @@
|
|||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-11694
|
||||
:END:
|
||||
*** Remove dependency on AWLists from Stripe
|
||||
**** Stripe master branch does not allow null values in product recurrence
|
||||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-12072
|
||||
:END:
|
||||
*** Remove dependency on AWLists from Subscriber Import
|
||||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-12071
|
||||
:END:
|
||||
**** Update Subscriber Import client to fetch list data from the new lists service
|
||||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-12073
|
||||
:END:
|
||||
*** Remove dependency on AWLists from Sites
|
||||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-12074
|
||||
:END:
|
||||
*** Remove dependency on AWLists from Email Verification
|
||||
:PROPERTIES:
|
||||
:JIRA_ID: CCPANEL-12070
|
||||
:END:
|
||||
** Retire AWSubscribers in favor of Recipient
|
||||
*** Back Recipient with AppDB
|
||||
*** Retire sync consumers
|
||||
|
@ -70,3 +90,6 @@ https://jira.aweber.io/browse/TRAC-118
|
|||
- User Management
|
||||
- Stripe Payments
|
||||
- Commissions Processor
|
||||
|
||||
* Ongoing
|
||||
** Update project configuration and gitlab pathing to match our taxonomies in Imbi.
|
||||
|
|
29
aweber/20220329103252-identifying_active_accounts.org
Normal file
29
aweber/20220329103252-identifying_active_accounts.org
Normal file
|
@ -0,0 +1,29 @@
|
|||
:PROPERTIES:
|
||||
:ID: e97adcf4-86ad-4d97-9c63-41476b52b111
|
||||
:END:
|
||||
#+title: Identifying active accounts
|
||||
|
||||
A query to identify active accounts in [[id:dd113e53-6144-4cb2-a4aa-da3dc2e3e6ea][AppDB]]
|
||||
|
||||
Per [[file:~/git/appdb/functions/coreapi_account/get_account_status.yaml][coreapi_account.get_account_status]]:
|
||||
|
||||
#+begin_src sql :exports code :eval never
|
||||
CREATE FUNCTION coreapi_account.get_account_status(in_account_id integer) RETURNS coreapi_account.account_status
|
||||
LANGUAGE sql STRICT
|
||||
AS $_$
|
||||
|
||||
SELECT accounts.status_id,
|
||||
accounts.status_id = 7,
|
||||
CASE accounts.status_id
|
||||
WHEN 1 THEN 'New Order'
|
||||
WHEN 4 THEN 'Unpaid - Un-notified'
|
||||
WHEN 5 THEN 'Paid'
|
||||
WHEN 6 THEN 'Unpaid - Notified'
|
||||
WHEN 7 THEN 'Cancelled'
|
||||
WHEN 8 THEN 'Unpaid - Overdue'
|
||||
WHEN 9 THEN 'Place Holder'
|
||||
ELSE 'Unknown'
|
||||
END
|
||||
FROM public.accounts
|
||||
WHERE accounts.a_id = $1;
|
||||
#+end_src
|
|
@ -211,3 +211,6 @@ event. This is to ensure the campaign is only triggered when the subscriber is
|
|||
/being tagged/ with one of the chosen tags. This check will have to be made
|
||||
tag-aware such that it normalizes the values before comparing them if and only
|
||||
if the event being compared is a =tag.v1= event.
|
||||
|
||||
Updated =rulesengine= in
|
||||
https://gitlab.aweber.io/CC/Libraries/rulesengine/-/merge_requests/117.
|
||||
|
|
56
daily/2022-03-23.org
Normal file
56
daily/2022-03-23.org
Normal file
|
@ -0,0 +1,56 @@
|
|||
:PROPERTIES:
|
||||
:ID: d1aeb8df-b5f0-48a3-970a-d6b7f94415ba
|
||||
:END:
|
||||
#+title: 2022-03-23
|
||||
* Testing tag normalization on comparison changes
|
||||
Testing [[id:d06d3ab4-c2d0-47c3-aae1-4395567fc3d2][Tag Normalization]] changes in campaigns and subscriber search that
|
||||
normalizes tag values when comparing them.
|
||||
|
||||
|
||||
|
||||
- Campaigns should trigger on normalized and non-normalized tags as if they were
|
||||
the same tag
|
||||
- Campaigns should ignore subscribers having normalized and non-normalized tags
|
||||
as if they were the same tag
|
||||
- Subscriber search should return subscribers having normalized and
|
||||
non-normalized tags as if they were the same tag for each tag operator
|
||||
- Broadcasts should be sent to all subscribers on a segment matching the
|
||||
selected tag filters as if normalized and non-normalized tags were the same
|
||||
tag
|
||||
|
||||
#+CAPTION: Campaign Triggers
|
||||
| | Campaign trigger | Campaign triggers except |
|
||||
|----------------------------------+------------------+--------------------------|
|
||||
| Valid tag | Pass | Pass |
|
||||
| Repeated embedded spaces | Pass | Pass |
|
||||
| Leading / trailing space | Pass | Pass |
|
||||
| Non-printable control characters | Pass | Pass |
|
||||
| Commas | Pass | Pass |
|
||||
| Quotation marks | Pass | Pass |
|
||||
|
||||
#+CAPTION: Subscriber Search
|
||||
| | Tag is | Tag is not | Tag is any of | Tag includes all of |
|
||||
|----------------------------------+--------+------------+---------------+---------------------|
|
||||
| Normalized tag | Pass | Pass | Pass | Pass |
|
||||
| Repeated embedded spaces | Pass | Pass | Pass | Pass |
|
||||
| Leading / trailing space | Pass | Pass | Pass | Pass |
|
||||
| Non-printable control characters | Pass | Pass | Pass | Pass |
|
||||
| Commas | Pass | Pass | Pass | Pass |
|
||||
| Quotation marks | Pass | Pass | Pass | Pass |
|
||||
|
||||
#+CAPTION: Broadcast Segment
|
||||
| | Tag is | Tag is not | Tag is any of | Tag includes all of |
|
||||
|----------------------------------+--------+------------+---------------+---------------------|
|
||||
| Normalized tag | Pass | Pass | Pass | Pass |
|
||||
| Repeated embedded spaces | Pass | Pass | Pass | Pass |
|
||||
| Leading / trailing space | Pass | Pass | Pass | Pass |
|
||||
| Non-printable control characters | Pass | Pass | Pass | Pass |
|
||||
| Commas | Pass | Pass | Pass | Pass |
|
||||
| Quotation marks | Pass | Pass | Pass | Pass |
|
||||
|
||||
** DONE Is any and includes all search filters are failing
|
||||
When running an "is any of" search, this error is logged:
|
||||
: ERROR: operator does not exist: text[] && text\nHINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.\nCONTEXT: while executing query on dblink connection named "aweber_app" in /home/sites/cake_core/1.2b/cake/libs/model/datasources/dbo/dbo_postgres.php on line 153, referer: https://www.aweberstage.com/users/leads
|
||||
|
||||
When running an "includes all of" search, this error is logged:
|
||||
: control-panel-847df5767-4dsds control-panel [Wed Mar 23 11:18:38.645523 2022] [:error] [pid 6856] [client 204.194.222.13:0] PHP Warning: pg_query(): Query failed: ERROR: operator does not exist: text[] @> text\nHINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.\nCONTEXT: while executing query on dblink connection named "aweber_app" in /home/sites/cake_core/1.2b/cake/libs/model/datasources/dbo/dbo_postgres.php on line 153, referer: https://www.aweberstage.com/users/leads
|
83
daily/2022-03-29.org
Normal file
83
daily/2022-03-29.org
Normal file
|
@ -0,0 +1,83 @@
|
|||
:PROPERTIES:
|
||||
:ID: 266d19c2-5ecd-48af-a9d4-4b0a7d3d5696
|
||||
:END:
|
||||
#+title: 2022-03-29
|
||||
* Get list of subscribers with non-normalized tags on active accounts
|
||||
:PROPERTIES:
|
||||
:header-args:sql: :engine postgresql :cmdline "-U postgres postgres" :dir /docker:postgres: :exports both :cache yes
|
||||
:END:
|
||||
|
||||
Investigating the impact of the new [[id:d06d3ab4-c2d0-47c3-aae1-4395567fc3d2][Tag Normalization]] rules on existing
|
||||
subscribers on active accounts.
|
||||
|
||||
** Gathering data
|
||||
I imported a dump of the =subscriber_tags= table from [[id:dd113e53-6144-4cb2-a4aa-da3dc2e3e6ea][AppDB]] as well as the
|
||||
=list.subscribers= table data for all active accounts (~SELECT s.* FROM
|
||||
list.subscribers s JOIN accounts a ON (a.a_id = s.account_id) WHERE a.status_id
|
||||
< 7~)
|
||||
|
||||
I then built a table of subscribers having tags that do not match our validation
|
||||
rules.
|
||||
|
||||
#+begin_src sql :exports code :eval never
|
||||
CREATE TABLE invalid_tags AS
|
||||
SELECT s.list_id, s.account_id, t.subscriber_id, tag
|
||||
FROM subscribers s
|
||||
JOIN subscriber_tags as t ON (s.id = t.subscriber_id)
|
||||
, unnest(tags) tag
|
||||
WHERE tag != normalize_tag(tag)
|
||||
#+end_src
|
||||
|
||||
** Subscribers on active accounts
|
||||
#+begin_src sql
|
||||
SELECT COUNT(*) FROM subscribers
|
||||
#+end_src
|
||||
|
||||
#+RESULTS[073c7d5b524a0577c83785ca6051ad010990c18a]:
|
||||
| count |
|
||||
|----------|
|
||||
| 16650026 |
|
||||
|
||||
** Subscribers with invalid tags
|
||||
#+begin_src sql
|
||||
SELECT COUNT(DISTINCT subscriber_id) FROM invalid_tags
|
||||
#+end_src
|
||||
|
||||
#+RESULTS[6ff96db184978da7271a89499c58d40cff8daebf]:
|
||||
| count |
|
||||
|--------|
|
||||
| 239291 |
|
||||
|
||||
** Accounts with subscribers with invalid tags
|
||||
#+begin_src sql
|
||||
SELECT COUNT(DISTINCT account_id) FROM invalid_tags;
|
||||
#+end_src
|
||||
|
||||
#+RESULTS[f45bb88f747f30295132bcd75861b98721cd5341]:
|
||||
| count |
|
||||
|-------|
|
||||
| 16 |
|
||||
|
||||
#+begin_src sql
|
||||
SELECT DISTINCT account_id FROM invalid_tags
|
||||
#+end_src
|
||||
|
||||
#+RESULTS[ff2ba7ea0c8dc285f2be2a20afb0d0c786f4dac1]:
|
||||
| account_id |
|
||||
|------------|
|
||||
| 1833 |
|
||||
| 211344 |
|
||||
| 13492 |
|
||||
| 212837 |
|
||||
| 216738 |
|
||||
| 213819 |
|
||||
| 16479 |
|
||||
| 215217 |
|
||||
| 104120 |
|
||||
| 215067 |
|
||||
| 213122 |
|
||||
| 14656 |
|
||||
| 111262 |
|
||||
| 214928 |
|
||||
| 44749 |
|
||||
| 91 |
|
Loading…
Reference in a new issue