kylures
Forum Replies Created
-
Forum: Plugins
In reply to: [New User Approve] Woocommerce user compatibilityThanks for the reply. After reading and studying your reply, I am still uncertain whether this product can work with Woocommerce users. The scenario is as follows. New customers purchasing a product from the store automatically have a user record created with a role of Customer. As you point out, we could set that role up to be auto-approved. They really need that because the Customer may need to login and check status and make other purchases prior to anyone seeing the approval. However, the default manual registration also sets the role to Customer. We don’t want those to be approved because that is where 90% of the hackers and spammers register. Which is what your product is for. The question is, can User Approve only pend the manual registrations and not the ones done through Woocommerce? Your Woocommerce documentation does not address that, which is why I am asking the question.
I did confirm that exporting an excel file that contains formulas and then importing it to TableSpace does in fact allow the formula values to be correctly interpreted. My concern over text values that contain commas was not warranted, because the csv file correctly escapes the text fields with imbedded commas. So in conclusion, there are two solutions to the issue in this thread. 1) export the excel file to csv and import it 2) create a new column in the excel and copy the formula values into the new cell and delete the old formula cell. It would appear that solution 1 is fewer steps. However, solution 2 may be preferable if you need to review and validate a file before import, since it is more readable.
Thanks again for your support and continued product improvement. This version 2.x is so much faster and easier to work with.
You are correct that exporting our table to csv results in formula values however in our case we use commas throughout the text data fields and the only delimiting character that would work might be the pipe |. However, it is easy enough to also just create a new column next to the formula, copy and paste values only into the new column and delete the old formula column and then import. But it would be nice not to have to do that.
I should report that this version 2 is 10X faster at editing and managing the tables. Previously I received many waits of 30 seconds to get the 1200 row table to render in the edit screen. It is 5 seconds or less now. However, there is odd editing behavior that I did not see in the previous version related to cut and paste of text fields that contain double-quotes. Sometimes when I copy this field directly from an excel sheet:
<a href="[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN202301.pdf]" target="_blank" rel="noreferrer noopener">2023-1</a>
Then highlight a TableSpace cell and click paste I get
<a href=[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN202301.pdf] target=_blank rel=noreferrer noopener>2023-1</a>
Why is is removing double-quotes? That never occurred in version 1.x. However, if I add the quotes back in with edit and copy to another cell and paste, it accepts them. It is as if there is some interpretation code looking at syntax and somehow changing contents.
I can start another thread or contribute to any thread on the topic of cut and paste behavior. It is not really related to the import, except I thought that the reason some formulas do not work may be related to missing double quotes or extra double quotes.
Thanks again for your response and consideration.
I have the same issue reported. Unfortunately, the concat formula does not work.
The behavior of the import has changed for fields that contained a formula that produced an html link using text excel concat functions. The previous versions imported the interpreted contents, the new version 2 imports the actual formula.
Previous in the 1.x versions, a formula such as
=CONCAT("<a href=", CHAR(34), "[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN", [@Year], "0", [@Iss], ".pdf]", CHAR(34), " target=", CHAR(34),"_blank", CHAR(34), " rel=", CHAR(34), "noreferrer noopener", CHAR(34), ">", [@Year], "-", [@Iss], "</a>")
would be imported with the interpreted contents, which in this case produces a simple html link:
<a href="[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN202301.pdf]" target="_blank" rel="noreferrer noopener">2023-1</a>
The new TablesPress import for version 2 now imports the field as a formula instead of contents, and produces:
"=_xlfn.CONCAT(""<a href="", CHAR(34), ""[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN"", Table1[[#This Row],[Year]], ""0"", Table1[[#This Row],[Iss]], "".pdf]"", CHAR(34), "" target="", CHAR(34),""_blank"", CHAR(34), "" rel="", CHAR(34), ""noreferrer noopener"", CHAR(34), "">"", Table1[[#This Row],[Year]], ""-"", Table1[[#This Row],[Iss]], ""</a>"")"
This formula produces an Error during preview, for reasons I could not figure out. I suspect that it is importing extra double-quotes. I understand the intent of the import was to enable certain excel functions, but in this case it does not seem to work. The only workaround I have is to create a new column that contains only the interpreted contents of the formula column (by copying and pasting contents into a new column), and then import that. This extra step does not cause enormous work, I just have to manually clean up the table and delete the formula column.
I just wanted to report this as an issue since it may be that you could make a change to make the formula for concat work like it does in excel, to the benefit of all users, or perhaps you can provide an option for importing Contents rather than Formula for a column or better yet the entire import.
Thanks for a great product, just trying to make it better!
Thanks for the consideration Tobias. I have decided to workaround this issue for now by splitting the table and providing navigation between the 2 tables. Not ideal, but hope to fix in the future.
The AWS S3 plugin and other cloud access plugins do not violate the 2015 WordPress update, and in fact one of the leading use cases noted in the threads is media access in the cloud. It is not a matter of “luck” but rather a matter of aligning to developer partners that closely follow standards and practices as they evolve to the cloud. It is not possible to deliver HTML code where API access keys are required at the server level for security reasons. Shortcodes (or snippets or other code) are required to call an API with an access key.
In my case, I have determined that page efficiency can be improved with updates to the Theme and removal of code overhead on the page. As I previously mentioned, the TablePress preview actually works 100%, which tells me there is no inherent reason that I could not get the table to work in the future with some hard efficiency improvements.
I do see a longer term issue with limitations in general based on the number of rows given the client side architecture. At some point, client side resources are exhausted, whether that is 3,000 rows or 30,000 rows. I do see that some table plugins try to manage this with server-side pagination and filtering, some of which is problematic with respect to various features.
Thanks again for a great plugin, and we can close this thread.
I have been working with Woocommerce to see about improving the efficiency of the AWS S3 plugin. However, my tests are showing that whatever the improvement, there will always be some limit of rows that are interpreted at page load, rather than at row display with pagination. Is it possible that the architecture of the TablePress automatic URL extension enables the shortcodes to be interpreted only for the pagination display (rather than the entire table)? My understanding of how shortcodes are interpreted at runtime is that they require processing when exposed to the pipeline. This means that most any shortcode in a table would have some limit. Ideally, TablePress might accommodate that. I do see in some other table applications that large tables are accommodated in a similar way, ie, with “server side processing” of pagination.
Of course, I do realize that the URL extension does not say it would work with shortcodes. It would have to translate this
[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN200806.pdf]
to this
<a href="[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN200806.pdf]" target="_blank">TRN200806</a>
What I have experienced with other hyperlink treatment of shortcodes is that they want to add a https: to the output hyperlink, and this does not work since Woocommerce also substitutes the shortcode with a call to AWS that also includes https: and with two of them the link fails. So I would acknowledge that shortcode processing is a special case.
Lastly, I would just put in a word for the use case for shortcodes rather than direct hyperlinks. In a world where objects exist in the cloud and malicious actors exploit the security of cloud objects, you need to have links that are not publicly accessible. We need a way for all objects to be access from the server with private keys, but the URLs generated to enable the authorized users to access that. That can only be done with APIs from shortcodes. So a product that supports such an architecture is valuable for the use case of accessing media objects securely. Many sites just try to obscure the links, which is not really secure at all.
Any thoughts on taking this use case on with some tweaks to URL enhancement?
Thanks Tobias, appreciate your help.
The server error log does not contain anything of note except Jetpack google analytics plugin errors. Nothing on TablePress or Woocommerce.
However, the enabled debug log shows an error for each line of the table loaded whenever the woocommerce S3 shortcode (embedded in the hyperlink) is interpreted. The error is
[05-Apr-2022 16:54:10 UTC] PHP Notice: A non well formed numeric value encountered in /home/dh_vexq2g/orcaonline.org/wp-content/plugins/woocommerce-amazon-s3-storage/woocommerce-amazon-s3-storage.php on line 248
I am just guessing that if enough of those are encountered, then the page will not load for unknown reasons. Pages do load with 1200 of those errors, just not 2500 errors.
Since the links work as expected if the page loads, I can contact Woocommerce to see if they have any ideas. The format of a woocommerce AWS S3 hyperlink including the shortcode is:
<a href="[amazon_s3 bucket=orcasecure object=ReelNewsDigital/TRN200806.pdf]" target="_blank" rel="noreferrer noopener">2008-6</a>
These links are not publicly accessible.
Your thoughts are appreciated.