Jump to content

KT Walrus

Clients
  • Posts

    1,325
  • Joined

  • Last visited

  • Days Won

    1

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Everything posted by KT Walrus

  1. I want to offer subscriptions based on age. I don't want minors to see these subscriptions. I require all members to provide full birthday in profile when they sign up so know their ages. I have a secondary group for adults. Would like to move all members over the age of 18 into the adult secondary group. Currently, my profile hook does this, but would like to see built in support for secondary group promotion and subscriptions based on age (if known). Do I need a hook for Commerce to support this use case, or might you add this as a feature in an upcoming release?
  2. Turns out that swipe right/left do work in the PWA on iOS, but it is very finicky unlike in Safari.
  3. Before you release 4.7, please consider fixing the PWA navigation on iOS. If you use the PWA on this site right now, the iOS limitation of no BACK button in the PWA is a major usability issue. The default theme has a navigation button in the top left menu bar, but it always seems to go to the forum listing and not BACK to the topic listing (or the page that you navigated from). For example, I like to browse content from the "All Activity" page. But once I view a content item in this listing, there is no way to get back to the "All Activity" page directly. You need to navigate to the page again using some other means (which means multiple taps/scrolling). The button in the top left goes to the forum that contains the topic which is only okay if I came from that forum index page, which is not always the case. This button is not that convenient if you have scrolled to the end of the topic and have to scroll all the way back to the top to see/tap and then it becomes very frustrating to have it always go to the index page (and not the page you navigated from). I don't want to enable the PWA if the UX is poor, and the missing BACK button is just about the only thing that makes the PWA's UX poor (at least on invisioncommunity.com). You might be able to force the PWA to open content pages in Safari. If that was done, you could simply tap the "Done" button to exit the iOS built-in browser (Safari) and return to the page in the PWA that opened the content page in the built-in browser. But, maybe simply adding a proper BACK button to the default theme is easiest (especially on content pages or when using the PWA and not the browser). Supporting swipe left/right (as back/forward) on iOS in the default theme might also be another way to "fix" this problem. See the Discourse PWA for how they chose to handle the missing BACK / FORWARD buttons (only in the PWA). The Discourse app is open source, so you might be able to peek at the Javascript they use to work-around this problem on iOS.
  4. Maybe someone could write a plug-in to replace the original files with resized versions? Plug-in could be a simple system task to do these conversions weekly or monthly. If thumbnails ever regenerated, the resized version will be used as the original even though it is a smaller file. Note that users who download originals would receive the resized smaller file.
  5. I found this 3rd party cloud service for converting HTML to PDF: https://www.paperplane.app Maybe someone can implement a Commerce plug-in for generating invoice PDFs (from a template) using this 3rd party API? Looks like this service costs $25/month at a minimum. I have attached the PDF created from this page. Obviously, the theme used here needs some tweaking (and maybe some page breaks), but this would probably work great for invoice PDFs. paperplane.pdf
  6. I also found this Google documentation on running headless Chrome: https://developers.google.com/web/updates/2017/04/headless-chrome
  7. The best way to generate server-side PDFs is to use headless Chrome to convert HTML to PDF running in a docker container. I suggest that IPS implement and deploy an API for HTML to PDF conversion like the Spam Service and update Commerce to use this API to generate and store PDFs of invoices for download/email attachment. Here is a link to a docker container that could be used to implement such a server-side HTML to PDF generator: https://hub.docker.com/r/selenium/standalone-chrome There already may be other 3rd party web services available that Commerce could use, but I think it would be better for IPS to host the HTML to PDF service and make that service available to Commerce and app/plugin developers through an HTMLtoPDF class.
  8. You don't need the $20/month option since the free account will probably work just fine. You can always upgrade as you need the additional features that go with a paid plan. As for set up, this is very easy and should only take a half hour or so. You will need to point your domain's DNS to Cloudflare's servers, but Cloudflare helps by importing your existing DNS records when you add your domain to your Cloudflare account (or you can manually create the DNS records you need).
  9. I don't know what your specific issue is all about, but I recommend you sign up for a free Cloudflare account regardless. You will need to move your domain's DNS to Cloudflare to put Cloudflare in between your users and your VPS. Cloudflare will really make a difference, even if you don't end up upgrading to a paid account.
  10. Note: Just tried the PWA on my Mac (installed with Chrome), and the Back/Forward actions are available in the PWA top menu (with Command-[ and Command-] shortcuts) so the PWA is very useable on the Mac. I can now launch the Invision Community PWA from the Dock and it feels like a real Mac app. Only on my iPhone is the Invision Community PWA frustrating because of the missing BACK button. Don't have Android device so not sure if it suffers from the same limitation on those devices.
  11. I've been using the PWA on my iPhone and the number 1 usability issue is the lack of the browser's Back/Forward buttons. I went to your competition to see how this issue was addressed by their developers and found that they implement Back/Forward buttons in Javascript when the user is using the PWA on iOS. Go to https://try.discourse.org on your iOS device and Add to Home Screen to check out their solution to this problem. Discourse is open source so you can even look at how they chose to implement this. The Back/Forward buttons are hidden until you scroll the page (which is a nice touch). If you fix this one issue, I will encourage my users to use the PWA. Here are screenshots of the page in Safari and in the PWA:
  12. I just installed 4.6.11 and this has been fixed. I was running 4.6.9.
  13. Sorry, I'm using 4.6.9... Should have checked that first before reporting...
  14. Ran into this exception today when I tried to Export Ranks in the ACP. My core_member_ranks table doesn't have a 'posts' column. I am using a DEV install and I think I am on the February release (haven't upgraded to March yet).
  15. I don't want to take any more of my time on this issue. Just wanted to make you aware of this small issue... BTW, I have vision issues so may have the default Zoom/Text sizes at 125% or more in Safari. This could be causing some issues in replicating this issue on your side. Maybe not an issue for users with normal vision.
  16. As you can see, Recommended Comments don't collapse nicely (in Safari on Mac). The "Go to this comment" div should not push the post body text down to a very narrow column. Perhaps setting a minimum width on the text body column would help to collapse better? I've seen this issue with printing pages also in some browsers. This finally collapses nicely once reaching mobile width.
  17. Respectfully, my post was not about my decision to remove posts/attachments after 90 days. I want IPS to fix printing of complete topics (including all replies) to PDF and have the resulting document look like a paper version of the topic, not like a webpage (mangled as it current is). If this is implemented, I can tell my users to archive any topics they want to keep locally by printing to PDF. This is a good solution to a common problem I have with using this software. Another solution would be to add an "Archive to PDF" feature available on the topic view page, but I think it would be too much work to generate PDF when it is easy to generate an HTML page and let the browser's Print/Export to PDF feature to handle archiving the document locally. I'm a Mac user, and Safari has a Reader View feature for webpages. This Reader View is very convenient for printing the content only of a webpage (just change to Reader View and Print to PDF). Unfortunately, the default theme here doesn't support Reader View for topics. Support for Reader View in the default Theme is another feature I plan on posting a Feature Request for sometime. I just haven't done so yet, but it would also make my new site even more usable.
  18. For a new community I am working on, topics will be deleted after 90 days (for keeping a lid on my long term hosting costs). I want to give my users a way to archive selected topics to their local devices. The best way I have figured out for them to do this is to print the topic to a PDF. But, currently, printing a topic results in an ugly PDF and for topics with more than 1 page of replies is very cumbersome (as you have to print each page separately. So, can you: Fix printing CSS. Add a Print option for a topic post or a reply in the '...' menu. The Print menu item should give the option of "including all replies" or "only print the specific post". Submitting this form should take you to a page that only contains the posts formatted for printing (including conditional page breaks between replies near the bottom of a page). No board headers/footers and all the other unnecessary cruft. The user can then Print to PDF this page to save the topic to a local file. Here is a mangled looking first page done using Chrome on my Mac:
  19. I decided to just add an extra 'id' column (auto-increment, unique index). This is unneeded except that the System Classes seem to all expect primary keys and secondary unique indexes to be single-columns.
  20. I have an ActiveRecord table with a multi-column primary key. The ActiveRecord class has $databaseColumnId that appears to require a single Id key. My table doesn't need a single column key as it only adds another secondary index for the table (that wastes disk space, memory, and processor time). Is my only option to set $databaseColumnId to an auto-incremented column and define a secondary index for this column? This is a waste (to have an extra secondary index) when the ActiveRecord has a multi-column primary key. Seems to me the ActiveRecord class should support an array of column Ids for $databaseColumnId when the primary key is multi-column. I require a multi-column primary key to keep all rows that have the same value for the first column in the primary key clustered closely in the clustered index. These ActiveRecords are list elements for lists (where the list_id is usually a member_id). When I select list elements for a given list_id, I want the row data to reside in adjacent pages of the clustered index (for maximum MySQL server performance).
  21. How is this not a bug? My query requires DISTINCT flag, and getItemsWithPermission() doesn't honor DISTINCT when it does "COUNT(*)" instead of "COUNT(DISTINCT(id))". That said, I am no longer using DISTINCT but fetching IDs first and using 'id IN(...)' in WHERE clause... So, not a bug affecting me, but still a bug waiting to bite me or other developers in the future...
  22. Not enjoying this reply 😀 I don't like that the current getItemsWithPermission() returns wrong count when my query needs DISTINCT. But, since the Nodes I am querying with getItemsWithPermission() will have less than 1000 distinct Items, even if an Item may exist in multiple nodes (via a map table), I have decided to query for Item IDs prior to calling parent::getItemsWithPermission() and use "id IN (1,12,34,423,...)" where clause to find those items. This avoids the bug in "COUNT(*)" versus "COUNT(DISTINCT tid))" in IC4 Core. Would still like to see this bug fixed as it can be a subtle error in returning an overcount for some SELECT DISTINCT queries I might write in the future (long after I have forgotten this defect).
  23. @MattCould you at least make the 'COUNT(*) as cnt' be returned by a protected static function in \IPS\Content\Item class and called in getItemsWithPermission()? Then in my Item class, I could simply override and return 'COUNT(DISTINCT(puce_topics.tid))' so I get the correct count. In my case, the cnt will be less than 200 without DISTINCT and less than 100 with DISTINCT, so I don't care if COUNT(DISTINCT) doesn't "scale well at all" as this query will never return a huge number for my table. I want the correct count so my code can rely on the count being exact and not approximate.
  24. I'm using \IPS\Helpers\Form\CheckboxSet in a form to show a list of options for the user to check/enable. The first 2 options should always be checked. I want to disable these 2 checkboxes so the user can't uncheck them. When I disable the first 2 checked options, the None link at the bottom toggles off ALL the checkboxes including the first 2 disabled ones. Once unchecked, there is no way for the user to change them back to checked. I think this is a bug. The All / None buttons should not change disabled checkboxes.
  25. Has anyone from IPS read this, or should I contact Customer Support for resolution? I need this fixed in the November release. I've fixed it locally (at least for my use case), but SELECT DISTINCT COUNT(*) just doesn't work. It needs to be SELECT COUNT(DISTINCT(<pkey>)). Also, there may be several places where this needs to be fixed since it seems fairly common to use COUNT(*) and not COUNT(<pkey>) throughout.
×
×
  • Create New...