Hi, sorry I’ve taken so long on this – there should be one more large project next month on this site too if I can get my act together…. Also, no desperate hurry – I don’t know if you have a holiday season where you are but if you do, don’t feel pressured to work through it:-) Anyhow:
The totals you implemented last time are perfect. However I would also like to know the total hours and money spent on each project since the last time a client paid…
Therefore I attach a screenshot of the back-end ‘client payments’ post type. Each record has several custom fields – I select a client and a date the money was requested plus also a checkbox to say whether the money has been paid yet. It also has a checkbox to say whether that record is ‘liason’ or ‘dev’
So to create an additional ‘since last payment’ summary box you will need to:
– for both ‘liason’ and ‘developer’ find the latest two ‘paid’ ‘client payment’ records for the project’s ‘client’ (one ‘liason’ and one ‘developer’) and extract their dates
– then using those dates as the starting point run the summaries as before.
Also please remember that if there is no paid record yet then starting point is ‘all time’ as per the original summary box.
How clear is this? please feel free to ping me questions here or on slack!
Please can you get the signup form (the black bar at the top of the page) from:
/media/penzance/dev.ank.freedomonlineservices.net/public
…and put it at the top of:
/media/washington/dev.akp.freedomonlineservices.net/public
the urls of the sites are in the paths.
users are dev.ank.fpm and dev.akp-fpm-fpm respectively (sorry I know the last one is a mess…) Your key should work for both.
Please make sure the mechaism for loading is the same js based one and also that the captcha works.
I’ll change the details so that it goes to a difference email list.
Billing totals: Please can I have an option panel in wp dashboard with two number options: dev rate and liason rate
Then: the ‘all time hours’ stat first on the template. eg between ‘created on’ and ‘hourly logs’ a section ‘Summary stats’ with:
Liason Hours / GBP (all time):
Dev Hours / GBP (all time):
So it just shows the total all time hours and total all time GBP for Liason and Dev for that task. Work out the GBP by multiplying the hours by the figure set in the options panel.
Please work to a limit of 5hrs for this task this month. If it’s not all done in that time you can wait and do more next month no problem – I’m just a bit low on funds right now!
mautic setup
– install/connect shop (so purchases get tagged)
– add subscribe bar as for ank which gets you free membership
2hr liason
4hr dev
250usd
– add custom mautic segment code to onboard/offboard so that mautic always has correct segments for subscriber levels
4hr liason
200usd
– import/segment existing subscribers/patreons
– 2hrs – can continue to update manually/synch the free ones on deployment of shop
switch between variable products
can update price of level (bit fiddly but can be done)
can charge setup fee/recurring period (make it every 2months?)
has programmer hooks to connect with everything else
17gbp/month
2hrs to set up products
reccomend initially manual trigger of captivate/discord/mautic change as hooks are complicated for different circumstances
discord:
$10 – month iftt member
6hrs liason work – 300usd
4hrs dev work – 100usd
Please set up a discord account if you don’t already have one and enter your discord username here, then save your profile
– enter discord username then save
If you’re not already a free member of our server, pressing save will send you an invite (please cheok your spam!)
When there’s a discord username visible then checkbox appears.
When you have joined our discord server as a free member please check the checkbox below and press save – then we will grant you access to the members message boards for your subscription level!
– checkbox ‘i am already a member of the discord server/have accepted my invite’
– save gets id if not present, set permissions by trigger on/offboard – needs to trigger a 2step ifttt
change role in subs triggers on/offboard – just needs to save discord uname in rss and not do anything in ifttt
1 – done
2 – pls look at: <> What I need is a template for the logged in user that displays their hosting data.
Admin user can easily view/edit in the wp back-end so no need to display for them – though may as well leave it there now as it looks nicer than wp back end… I must admit the copy button is pretty cool… But please try to stick to what I’ve actually asked for…
Fields are good and confirmed also good that can’t display for not logged in.
For user logged in display of hosting probably best to make fields full width, a few lines high and vertically stack as they will contain a lot of data sometimes.
Hi Rob,
2. For this task I did create custom fields for customer user role and only admin can change it from wp dashboard>users section.
Created a page named “Hosting” And show the details for all the user details.
Now as per my understanding you want:
1. Create a template/page for individual user role=”customers” to show them their hosting details, right? And also the user should be logged in.
2. Rest functionality is correct till now, right?
3. If the first point is right then should I add the page to the header?
Yes correct re ‘Create a template/page for individual user role=”customers” to show them their hosting details, right?’
I just was complaining about the page for admin to view these details as I didn’t ask for it/don’t need it. I must admit it is pretty cool though… And that ‘copy’ function will be useful.
But i need some more explanation on 5th one, it sounds complicated to me as of now.
but for the 4th one as per me understanding
You want with two number options: dev rate and liason rate
For the developer rate, do you want all the developer listed according to user roles and along with input field for their rates or just a single rate box?
For the liason rate, is it just a simple single input box?
And for this line: On the hours log by the hours total I’d like a total due for liason and for dev. ie hours * rate.
Where to get the logged hours data for both, should i get it from “Client Hourly Logs” or somewhere else?
Hi, please can you stack the fields vertically and make them full width. The ones that are one line of text can just be one line but the multi line ones can be 8 lines long (only approximately – not important to be precise…).
Then please update your hours and I’ll give it a final check and push changes live.
Then the rest we can tackle next month when I’ve earnt a bit of money to pay for it:-) Thanks for your your help!
Please ignore original task/descr/comments etc her – Karan and I were working on this so it’s here as a record. This comment has a everything for you to work on but I’m guessing we’ll need to chat about it on slack as it’s complicated. Please Karan if you have any hints on easiest way to do things pass them on…
Also Shubham, please do tasks in order one by one as each one builds into the next in complexity…
1) I synched up dev.fos.freedomonlineservices.net to match the live site but there’s a warning on the front page – please can you take a look…
2) Hosting: Please could I have some custom user meta on customers
– Live Sites on hosting (repeater field with url/wordpress user/file user)
– Staging Sites on hosting (repeater with url/user) Note to display – to reach your site directory please ‘cd ../public’ ie the site is in the public directory in the parent directory of the sftp user’s home.
– public key (free text)
-private key (don’t worry re security – they have a passcode that will not be stored here)
– sftp host for hosting (line text)
– sftp host for backups
– mysql url (add a text subtitle saying ‘mysql user/password is visible in wp-config.php)
– payment details (free text field)
– Notes on external services (free text field)
I would then like a template for a page ‘Hosting’ that works on the logged in user and displays the above in copyable but not editable text fields. NOT visibile unless you’re logged in!
3) I’d like the Developer option in the Hourly logs records to actually show on front end… (try switching the developer of an hours record and then see if it displays on hours log on front end) I’d also like the option of displaying all developers…
4) Billing totals: Please can I have an option panel in wp dashboard with two number options: dev rate and liason rate
On the hours log by the hours total I’d like a total due for liason and for dev. ie hours * rate.
5) Billing Calculations:
Then I’d like three php functions:
fos_task_last_paid()
fos_task_since_last()
fos_task_all_time()
last_paid takes a post of type ‘task’ as input and also specifies either ‘dev’ or ‘liason’. It looks up the Client field for that task then looks for the latest ‘Client payment’ record for that client marked either ‘dev’ or ‘liason’ that is marked ‘paid’ (it’s a little checkbox) and returns its Date field value (not the wordpress creation date but the custom acf one!)
since_last takes a post of type ‘task’ and either ‘dev’ or ‘liason’ and runs fos_task_last_paid then finds all the Client Hourly Logs for that task since (not including) that date marked as either ‘dev’ or ‘liason’ as specified.
all_time tasks a post of type ‘task’ and either ‘dev’ or ‘liason’ and finds all the client hourly logs of ‘dev’ or ‘liason’ for that task.
Then on the template that displays the task please put the following calculations at the top:
Liason Hours / GBP (all time): (ie fos_task_all_time(this task, liason) / then same * liason rate)
Dev Hours / GBP (all time): (ie fos_task_all_time(this_task,dev) / then same * dev rate)
Liason Hours / GBP (since last payment fos_task_last_paid(this task, liason)): (ie fos_task_since_last(this task, liason) / then same * liason rate)
Dev Hours / GBP (since last payment fos_task_last_paid(this task,dev)): (ie fos_task_since_last(this_task,dev) / then same * dev rate)
I have made the changes on staging. Please check here http://ti.freedomonlineservices.net/
You will need to make changes in following files on live:
1) The code has been added to Top right widget https://prnt.sc/t8-yGr5Xxt_2
2) Some css code have been added to theme stylesheet
3) Currently icon images link to third party website. These will need to be uploaded on live server and update the url https://prnt.sc/7L7kFz3vOcTp
Hiya – he wants to go ahead:-) Good since I host both his site and email too… This is the mockup with one small change. Please can you add a link ‘PDF Download’ below the social icons. Therefore the social icons are pushed up but both are still attached to baseline OR the whole lot is attached to the top group with the contact details – which ever you prefer the look of… Send us png if you’re really not sure.
Don’t worry re logo/slider. I need to query his logo and the slider’s just a plugin anyway…
I’ll just make sure you’ve got access now and message you any passwords on slack now. Really this one could do with doing this week – mpyke are all on holiday now anyway;)
Please can you set the ‘policy tab’ (NOT ‘evidence’ – that’s fine as is) so that it’s visible for both patient and instructor. (currently only instructors can see it)
Hi! After a lot of complaining an argueing re budget we have the go ahead on this one:-) I’m starting to think for every dollar the big mail providers spend on spam prevention, we make a few cents on something to ensure delivery of genuine emails!
In the concluding part of the article, the author shared the following information:
——————–
“While WordPress core has a way to go before it offers good support for HTML emails, plugin developers have helped to pick up some of the slack. I don’t believe we’ll see a truly accessible solution until WordPress fixes the bug that interferes with multipart/mixed content emails so that both the plain text and HTML version is sent out.
It’s probably not time-effective to roll your own solution that works on multiple clients (although I might write a bit about that in the future). Instead, I recommend leaving emails as plain text and letting plugins (like WooCommerce, etc.) include their own HTML emails. If you’re running a WordPress site that sends out lots of emails, or if you need a consistent design across your emails, then maybe a plugin like WP HTML Mail could fit the bill for you.”
————-
Do you think the client would consider using Amazon SES for sending emails?
Otherwise, we may need to send emails in plain text, as multipart/mixed content is not properly supported in WordPress at the moment.
I have been testing with wp_mail before. its basically a wp class wrapper for phpmailer. Very frustratring to know it doesn’t properly support multipart/content even in 2024.
The links you have shared are quite outdated.. same thing happened when I tested with wp_mail from old stackoverflow answers thinking it might work.
Maybe direct phpmailer solution can work but I wonder how effective delivery rate might be without WP core functions. I will get back to you once I test it.
I think the links are outdated because email has hardly changed in like 20yrs… Makes it all the more ridiculous that wp_mail doesn’t work though… I can’t think of any problems phpmailer would cause with delivery though I guess their wp mail log would no longer work. Though come to think of it I think of the two I’d prefer the woocommerce solution because that would continue to work in the wp mail log (makes you wonder how in the heck woocommerce gets wordpress to do text+html?!)
3 slight changes to above spec.
1) He wants the tab called ‘Evidence’ – not ‘Research’.
2) Need to be able to set a date for each document (just go to the documents page in wp back-end and scroll down to see where they’re set)
2) He wants the front end to show the date in front of each Document in the list
3) He wants them to sort by date order!
Hi Rob,
this changes are done on stage server along with the sorting functionality.
currently working on the 3rd point from the actual upper task list.
please check the rest.
Hi, sorry I’ve taken so long on this – there should be one more large project next month on this site too if I can get my act together…. Also, no desperate hurry – I don’t know if you have a holiday season where you are but if you do, don’t feel pressured to work through it:-) Anyhow:
The totals you implemented last time are perfect. However I would also like to know the total hours and money spent on each project since the last time a client paid…
Therefore I attach a screenshot of the back-end ‘client payments’ post type. Each record has several custom fields – I select a client and a date the money was requested plus also a checkbox to say whether the money has been paid yet. It also has a checkbox to say whether that record is ‘liason’ or ‘dev’
So to create an additional ‘since last payment’ summary box you will need to:
– for both ‘liason’ and ‘developer’ find the latest two ‘paid’ ‘client payment’ records for the project’s ‘client’ (one ‘liason’ and one ‘developer’) and extract their dates
– then using those dates as the starting point run the summaries as before.
Also please remember that if there is no paid record yet then starting point is ‘all time’ as per the original summary box.
How clear is this? please feel free to ping me questions here or on slack!
Many thanks!
Please can you get the signup form (the black bar at the top of the page) from:
/media/penzance/dev.ank.freedomonlineservices.net/public
…and put it at the top of:
/media/washington/dev.akp.freedomonlineservices.net/public
the urls of the sites are in the paths.
users are dev.ank.fpm and dev.akp-fpm-fpm respectively (sorry I know the last one is a mess…) Your key should work for both.
Please make sure the mechaism for loading is the same js based one and also that the captcha works.
I’ll change the details so that it goes to a difference email list.
screenshot of where on task template to put new section.
For next steps maybe best way is to do:
Billing totals: Please can I have an option panel in wp dashboard with two number options: dev rate and liason rate
Then: the ‘all time hours’ stat first on the template. eg between ‘created on’ and ‘hourly logs’ a section ‘Summary stats’ with:
Liason Hours / GBP (all time):
Dev Hours / GBP (all time):
So it just shows the total all time hours and total all time GBP for Liason and Dev for that task. Work out the GBP by multiplying the hours by the figure set in the options panel.
Please work to a limit of 5hrs for this task this month. If it’s not all done in that time you can wait and do more next month no problem – I’m just a bit low on funds right now!
This task is done.
admin: https://prnt.sc/H7hXMEPJlsUh
task page:
https://prnt.sc/Rnzp2JcyAgQw
Let me know if i miss something.
1 – sort disord
2 – sort mautic/subscribe form
3 – add shop products
mautic setup
– install/connect shop (so purchases get tagged)
– add subscribe bar as for ank which gets you free membership
2hr liason
4hr dev
250usd
– add custom mautic segment code to onboard/offboard so that mautic always has correct segments for subscriber levels
4hr liason
200usd
– import/segment existing subscribers/patreons
– 2hrs – can continue to update manually/synch the free ones on deployment of shop
plus 80/usd/yr hosting
switch between variable products
can update price of level (bit fiddly but can be done)
can charge setup fee/recurring period (make it every 2months?)
has programmer hooks to connect with everything else
17gbp/month
2hrs to set up products
reccomend initially manual trigger of captivate/discord/mautic change as hooks are complicated for different circumstances
discord:
$10 – month iftt member
6hrs liason work – 300usd
4hrs dev work – 100usd
Please set up a discord account if you don’t already have one and enter your discord username here, then save your profile
– enter discord username then save
If you’re not already a free member of our server, pressing save will send you an invite (please cheok your spam!)
When there’s a discord username visible then checkbox appears.
When you have joined our discord server as a free member please check the checkbox below and press save – then we will grant you access to the members message boards for your subscription level!
– checkbox ‘i am already a member of the discord server/have accepted my invite’
– save gets id if not present, set permissions by trigger on/offboard – needs to trigger a 2step ifttt
change role in subs triggers on/offboard – just needs to save discord uname in rss and not do anything in ifttt
1 – done
2 – pls look at: <> What I need is a template for the logged in user that displays their hosting data.
Admin user can easily view/edit in the wp back-end so no need to display for them – though may as well leave it there now as it looks nicer than wp back end… I must admit the copy button is pretty cool… But please try to stick to what I’ve actually asked for…
Fields are good and confirmed also good that can’t display for not logged in.
For user logged in display of hosting probably best to make fields full width, a few lines high and vertically stack as they will contain a lot of data sometimes.
3 – fixed thankyou
Hi Rob,
2. For this task I did create custom fields for customer user role and only admin can change it from wp dashboard>users section.
Created a page named “Hosting” And show the details for all the user details.
Now as per my understanding you want:
1. Create a template/page for individual user role=”customers” to show them their hosting details, right? And also the user should be logged in.
2. Rest functionality is correct till now, right?
3. If the first point is right then should I add the page to the header?
Yes correct re ‘Create a template/page for individual user role=”customers” to show them their hosting details, right?’
I just was complaining about the page for admin to view these details as I didn’t ask for it/don’t need it. I must admit it is pretty cool though… And that ‘copy’ function will be useful.
Hi Rob,
The 1st point is fully done.
But i need some more explanation on 5th one, it sounds complicated to me as of now.
but for the 4th one as per me understanding
You want with two number options: dev rate and liason rate
For the developer rate, do you want all the developer listed according to user roles and along with input field for their rates or just a single rate box?
For the liason rate, is it just a simple single input box?
And for this line: On the hours log by the hours total I’d like a total due for liason and for dev. ie hours * rate.
Where to get the logged hours data for both, should i get it from “Client Hourly Logs” or somewhere else?
Thanks,
Shubham
Hi, please can you stack the fields vertically and make them full width. The ones that are one line of text can just be one line but the multi line ones can be 8 lines long (only approximately – not important to be precise…).
Then please update your hours and I’ll give it a final check and push changes live.
Then the rest we can tackle next month when I’ve earnt a bit of money to pay for it:-) Thanks for your your help!
Ok, and also please explain the point 4 on slack.
Hi Rob,
The stacks are aligned vertically and designed.
Please have a look.
Hi Shubham,
Please ignore original task/descr/comments etc her – Karan and I were working on this so it’s here as a record. This comment has a everything for you to work on but I’m guessing we’ll need to chat about it on slack as it’s complicated. Please Karan if you have any hints on easiest way to do things pass them on…
Also Shubham, please do tasks in order one by one as each one builds into the next in complexity…
1) I synched up dev.fos.freedomonlineservices.net to match the live site but there’s a warning on the front page – please can you take a look…
2) Hosting: Please could I have some custom user meta on customers
– Live Sites on hosting (repeater field with url/wordpress user/file user)
– Staging Sites on hosting (repeater with url/user) Note to display – to reach your site directory please ‘cd ../public’ ie the site is in the public directory in the parent directory of the sftp user’s home.
– public key (free text)
-private key (don’t worry re security – they have a passcode that will not be stored here)
– sftp host for hosting (line text)
– sftp host for backups
– mysql url (add a text subtitle saying ‘mysql user/password is visible in wp-config.php)
– payment details (free text field)
– Notes on external services (free text field)
I would then like a template for a page ‘Hosting’ that works on the logged in user and displays the above in copyable but not editable text fields. NOT visibile unless you’re logged in!
3) I’d like the Developer option in the Hourly logs records to actually show on front end… (try switching the developer of an hours record and then see if it displays on hours log on front end) I’d also like the option of displaying all developers…
4) Billing totals: Please can I have an option panel in wp dashboard with two number options: dev rate and liason rate
On the hours log by the hours total I’d like a total due for liason and for dev. ie hours * rate.
5) Billing Calculations:
Then I’d like three php functions:
fos_task_last_paid()
fos_task_since_last()
fos_task_all_time()
last_paid takes a post of type ‘task’ as input and also specifies either ‘dev’ or ‘liason’. It looks up the Client field for that task then looks for the latest ‘Client payment’ record for that client marked either ‘dev’ or ‘liason’ that is marked ‘paid’ (it’s a little checkbox) and returns its Date field value (not the wordpress creation date but the custom acf one!)
since_last takes a post of type ‘task’ and either ‘dev’ or ‘liason’ and runs fos_task_last_paid then finds all the Client Hourly Logs for that task since (not including) that date marked as either ‘dev’ or ‘liason’ as specified.
all_time tasks a post of type ‘task’ and either ‘dev’ or ‘liason’ and finds all the client hourly logs of ‘dev’ or ‘liason’ for that task.
Then on the template that displays the task please put the following calculations at the top:
Liason Hours / GBP (all time): (ie fos_task_all_time(this task, liason) / then same * liason rate)
Dev Hours / GBP (all time): (ie fos_task_all_time(this_task,dev) / then same * dev rate)
Liason Hours / GBP (since last payment fos_task_last_paid(this task, liason)): (ie fos_task_since_last(this task, liason) / then same * liason rate)
Dev Hours / GBP (since last payment fos_task_last_paid(this task,dev)): (ie fos_task_since_last(this_task,dev) / then same * dev rate)
I have made the changes on staging. Please check here http://ti.freedomonlineservices.net/
You will need to make changes in following files on live:
1) The code has been added to Top right widget https://prnt.sc/t8-yGr5Xxt_2
2) Some css code have been added to theme stylesheet
3) Currently icon images link to third party website. These will need to be uploaded on live server and update the url https://prnt.sc/7L7kFz3vOcTp
Hiya – he wants to go ahead:-) Good since I host both his site and email too… This is the mockup with one small change. Please can you add a link ‘PDF Download’ below the social icons. Therefore the social icons are pushed up but both are still attached to baseline OR the whole lot is attached to the top group with the contact details – which ever you prefer the look of… Send us png if you’re really not sure.
Don’t worry re logo/slider. I need to query his logo and the slider’s just a plugin anyway…
I’ll just make sure you’ve got access now and message you any passwords on slack now. Really this one could do with doing this week – mpyke are all on holiday now anyway;)
Please can you set the ‘policy tab’ (NOT ‘evidence’ – that’s fine as is) so that it’s visible for both patient and instructor. (currently only instructors can see it)
Then please can you create a page on live with: https://docs.google.com/document/d/1JgFeYs02kjoRHfraf9r4UgUF6hzE7bxzTC2ocZM0-Dg/edit?usp=drivesdk called ‘Policy’
Then please can you deploy live and set the policy tab to the above page.
Hi! After a lot of complaining an argueing re budget we have the go ahead on this one:-) I’m starting to think for every dollar the big mail providers spend on spam prevention, we make a few cents on something to ensure delivery of genuine emails!
I am working on this.. will give you an update by tomorrow.
I’ve spent quite a bit of time researching and trying different solutions, but none of them really worked.
Finally, I came across this article: https://deliciousbrains.com/sending-html-email-wordpress/. It’s written by the developer of the WP SES plugin, which is known for its high deliverability of emails using Amazon SES.
In the concluding part of the article, the author shared the following information:
——————–
“While WordPress core has a way to go before it offers good support for HTML emails, plugin developers have helped to pick up some of the slack. I don’t believe we’ll see a truly accessible solution until WordPress fixes the bug that interferes with multipart/mixed content emails so that both the plain text and HTML version is sent out.
It’s probably not time-effective to roll your own solution that works on multiple clients (although I might write a bit about that in the future). Instead, I recommend leaving emails as plain text and letting plugins (like WooCommerce, etc.) include their own HTML emails. If you’re running a WordPress site that sends out lots of emails, or if you need a consistent design across your emails, then maybe a plugin like WP HTML Mail could fit the bill for you.”
————-
Do you think the client would consider using Amazon SES for sending emails?
Otherwise, we may need to send emails in plain text, as multipart/mixed content is not properly supported in WordPress at the moment.
We could send text emails with their present provider no problem but I doubt they’ll be happy with text emails… And I’m not sure of the delivery implications either. (ie is just text any better than just html…) I’m sure I’m missing something but what’s wrong with phpmailer? eg https://stackoverflow.com/questions/22507176/send-html-and-plain-text-email-simultaneously-with-php-mailer or https://gist.github.com/Maxdw/2d6c4763d4b283b0100c
or maybe using woocommerce as the sender? https://gist.github.com/craigedmonds/b65c65e02fd40bd381bf023ffef2c80e
send me a voice on slack if response is complicated:)
I have been testing with wp_mail before. its basically a wp class wrapper for phpmailer. Very frustratring to know it doesn’t properly support multipart/content even in 2024.
The links you have shared are quite outdated.. same thing happened when I tested with wp_mail from old stackoverflow answers thinking it might work.
Maybe direct phpmailer solution can work but I wonder how effective delivery rate might be without WP core functions. I will get back to you once I test it.
I think the links are outdated because email has hardly changed in like 20yrs… Makes it all the more ridiculous that wp_mail doesn’t work though… I can’t think of any problems phpmailer would cause with delivery though I guess their wp mail log would no longer work. Though come to think of it I think of the two I’d prefer the woocommerce solution because that would continue to work in the wp mail log (makes you wonder how in the heck woocommerce gets wordpress to do text+html?!)
3 slight changes to above spec.
1) He wants the tab called ‘Evidence’ – not ‘Research’.
2) Need to be able to set a date for each document (just go to the documents page in wp back-end and scroll down to see where they’re set)
2) He wants the front end to show the date in front of each Document in the list
3) He wants them to sort by date order!
Hi Rob,
this changes are done on stage server along with the sorting functionality.
currently working on the 3rd point from the actual upper task list.
please check the rest.
That’s awesome thanks – I will be able to look tomorrow.