Jump to content

Maxxius

Members
  • Posts

    2,107
  • Joined

  • Last visited

  • Days Won

    2

Reputation Activity

  1. Like
    Maxxius got a reaction from IPCommerceFan in How to use {expression="\IPS\Member::loggedIn() ?   
    Hey thanks! I seem to be getting some results now. Though not all of them. For testing purposes I just paste the code to show near the logo. After I find code to be working I paste it in head. The code is not visible on the site. The variables are wrapped in <script> and get collected by google tag manager.
    What worked is quite a number of member object values mentioned in here https://invisioncommunity.com/developers/rest-api?endpoint=core/members/GETindex#object-rank
    HOWEVER outputting RANK did not work with the example you provided:

  2. Like
    Maxxius reacted to Gabriel Torres in Robots.txt suggestions   
    @Matt Following up our conversation about the excelente upcoming Robots.txt feature, the new, updated tutorial on Robots.txt is excelent, as it has several lines that we didn't have in our robots.txt. However, we ended up with a few lines that we have added in the past that we want you opinion/feedback on:
    Disallow: /notifications/ Disallow: /tags/ Disallow: /checkout/ Disallow: /subscriptions/*/?do=purchase Disallow: /index.php?* Disallow: /*?app=* Disallow: /*/?do=download Disallow: /*?do=email Note: we have the tags feature disabled.
    Should we keep them? Should we remove them? What is your opinion?
    Thank you in advance! 🙂
     
  3. Like
    Maxxius reacted to Nathan Explosion in How to use {expression="\IPS\Member::loggedIn() ?   
    Works fine here:

    But it also doesn't (and there is a good reason as to why, in my case):

     
    Question: what version of IPS 4 are you working on?
  4. Thanks
    Maxxius reacted to IPCommerceFan in How to use {expression="\IPS\Member::loggedIn() ?   
    Hey @Maxxius, yeah, using a Pages block is just my way of quickly testing something out.
    If we're talkin' page templates, then one thing to remember is anything encapsulated by double curly braces is parsed as PHP, and anything in single curly braces echoes the variable.
    So, in a template, this would look like:
    {{$apiOutput = \IPS\Member::loggedIn()->apiOutput();}} {$apiOutput['joined']} {$apiOutput['rank']['name']} You could not, however, do:
    {\IPS\Member::loggedIn()->apiOutput()['joined']} since there is not a variable in the single curly braces.
    Where in globalTemplate do you want this to appear, exactly?
  5. Like
    Maxxius reacted to Daniel F in How to use {expression="\IPS\Member::loggedIn() ?   
    You could either take a look at the core_members database table or the system/Member/Member.php class to see all the available fields.
     
    The lazy way would be probably Member::logged()->apiOutput() , which would return an array with following data:
    /** * Get output for API * * @param \IPS\Member|NULL $authorizedMember The member making the API request or NULL for API Key / client_credentials * @param array|NULL $otherFields Array of additional fields to return (raw values) * @return array * @apiresponse int id ID number * @apiresponse string name Username * @apiresponse string title Member title * @clientapiresponse string timezone Member timezone * @apiresponse string formattedName Username with group formatting * @apiresponse string ipAddress IP address used during registration * @apiresponse \IPS\Member\Group primaryGroup Primary group * @clientapiresponse [\IPS\Member\Group] secondaryGroups Secondary groups * @clientapiresponse string email Email address * @apiresponse datetime joined Registration date * @clientapiresponse string registrationIpAddress IP address when registered * @clientapiresponse int warningPoints Number of active warning points * @apiresponse int reputationPoints Number of reputation points * @apiresponse string photoUrl URL to photo (which will be the site's default if they haven't set one) * @apiresponse bool photoUrlIsDefault Indicates if the value of photoUrl is the site's default * @apiresponse string coverPhotoUrl URL to profile cover photo (will be blank if there isn't one) * @apiresponse string|null profileUrl URL to profile * @clientapiresponse bool validating Whether or not the validating flag is set on the member account * @apiresponse int posts Number of content item submissions member has made * @apiresponse datetime|null lastActivity Last activity date on the site. * @clientapiresponse datetime|null lastVisit Last distinct visit date on the site. * @clientapiresponse datetime|null lastPost Latest content submission date. * @apiresponse int profileViews Number of times member's profile has been viewed * @apiresponse string birthday Member birthday in MM/DD/YYYY format (or MM/DD format if no year has been supplied). * @apiresponse [\IPS\core\ProfileFields\Api\FieldGroup] customFields Custom profile fields. For requests using an OAuth Access Token for a particular member, only fields the authorized user can view will be included * @apiresponse [\IPS\core\Achievements\Rank] rank Rank * @apiresponse int achievements_points Points */  
  6. Like
    Maxxius got a reaction from Sonya* in IP.Board BULK MAIL suggestion. Send to members based on their interests.   
    Its been years since I posted this and would like to draw attention to this once again.
    We had a talk with a client. He has a huge forum but has no idea how to directly target his members with bulk mail/nexus ads.
    There are many things that his forum has discussions about and these range from website creation, advertising, seo, classifieds and so on.
    How is he supposed to target members that engage let's say in advertising discussions? He can't at least I have no idea how. Why it is not possible to filter members in bulk mail let's say by profile fields/interests? Can this be done what do you think?
    @Jordan Miller
  7. Like
    Maxxius reacted to PPlanet in Help!! All my Twitter style emoji change to question sign   
    @beats23Have you migrated your database to a new server? or restored a backup from a Mysql dump?
    I've been through that before and I lost my emojis due to those doing the server migration for me being careless. They generated a manual backup of the database, and unfortunately Mysql dump default is UTF8 and not utf8mb4, which is what's needed for Emojis to work.
    If you haven't done anything, and this happened maybe the server connection collation has been changed somehow. In that case you may be able to revert it to utf8mb4 in the general settings of your database.

    Failing that maybe you have a backup that the server automatically generated when this setting was correct. But even in that case it depends on how much new content has been added since, so it may be a tough choice between old emojis and latest content. In my case I only realised about the broken emojis 3 months later, so I basically didn't have a choice.
    Regardless, you want that set above to utf8mb4_unicode_ci for new emojis.
    It could be some other reason behind the problem, but what you say sounds very familiar to me.
     
  8. Thanks
    Maxxius reacted to Sonya* in Template plugin: datetime   
    Thank you! In case someone looking for:
    {expression="\IPS\DateTime::ts($record->record_publish_date)->format('j. F, Y')"} This method does not use locales. All output is in English. https://www.php.net/manual/de/datetime.format.php
    strFormat does respect locale
    {expression="\IPS\DateTime::ts($record->record_publish_date)->strFormat('%e. %B, %Y')"}
  9. Thanks
    Maxxius reacted to SeNioR- in Adding font-display to Font Awesome   
    Hi. I would suggest considering adding the font-display attribute to Font Awesome & Google Fonts to remove the warning in Google PageSpeed Insights.
    More at: Ensure text remains visible during webfont load
    Warning:

    Solution:

    and add parametr display=optional to https://fonts.googleapis.com
    <link href="https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,500,700,700i&display=optional" rel="stylesheet" referrerpolicy="origin"> Best regards.
  10. Thanks
    Maxxius reacted to The Old Man in Afterburner S3 Advanced Caching (Lite)   
    Afterburner - S3 Advanced Caching (Lite) is a plug-in which helps improve cache performance on compressed, cacheable IPS Community managed CSS and JS files (Theme Resources) stored remotely on Amazon S3.
     

     
    Afterburner - S3 Advanced Caching (Lite) provides:
     
    Increased Caching Performance - Helps reduce page loading times. Increased Caching Efficiency - Helps reduce server load, bandwidth costs. Potential to boost SEO performance, since Google favours faster loading websites. Low cost provides a high Cost to Benefit Ratio.  One off price, includes free compatibility updates for current major version of IPS.  Easy to install. Starts working immediately in conjunction with IPS background tasks. Lite version requires no additional configuration in AdminCP. After installer/updater completes, just run the Support Tool to rebuild your theme cache at S3. Works on all installed themes JS/CSS resources, both official and third party themes, with no limit on number of themes. Just leave Enabled. Can be removed at any time, but of course you would instantly lose the extra headers & related benefits if disabled or uninstalled. Adds additional Request Headers automatically to each relevant, publicly cacheable, compressible IPS theme JS/CSS file. Works silently in the background, whenever IPS Community Suite exports theme resources  to AWS S3. Even if you install a new theme. Improves the individual Vary: Accept Encoding PageSpeed test score at GTMetrix, and overall GTMetrix scores. Improves the Add Expires related YSlow test score at GTMetrix. Helps maintain an A(100) GTMetrix Pagespeed score on your Amazon S3-hosted IPS Theme JS and CSS theme files in the background. (If you also have other third party compressed files hosted elsewhere, such as Google APIs etc, they are beyond our control but Afterburner will still boost the test rating for your relevant IPS Theme Resource files that you host at S3). Requires working AWS S3 or S3 compatible storage bucket. Works either with or without an optional CDN such as Cloudfront, Cloudflare etc.  
     
    What's it for?
    This plugin was created for IPS Community admins who in particular seek the benefits and efficiency of increased caching performance. After a lot of research, trial and error trying to resolve the problem of Amazon S3 hosted, compressible IPS4 theme resource not passing the GTMetrix.com Vary: Accept Headers and YSlow Add Expires tests, which effectively means lower GTMetrix scoring. 
    After finally confirming the additional caching headers needed for compressed, cacheable files to pass the Vary: Accept Encoding PageSpeed and YSlow Expires tests, it quickly became clear that if you want to maintain persistent higher score ratings and the associated performance and efficiency benefits there was a slight caveat.
    Due to the frequency that those resource files get regenerated, re-cached and re-uploaded in the background to your S3 bucket, it can quickly become a time-consuming, frustrating and repetitive task as it requires the admin to keep manually replacing the additional headers via the Amazon S3 Management Console (sometimes multiple times a day depending upon the circumstances).
    When AWS S3 hosted Gzipped/Brotli-encoded JS and CSS theme files change, either manually by the admin such as installing or updating a theme, plug-in or app, running the Support Tool or following various automated system tasks, the additional manually added headers are lost.
    Therefore, a plug-in to automate the process of adding the additional headers would seem an ideal, easy to use alternative solution compared to say, writing and maintaining an Amazon Lambda script to inject the necessary headers.
     
    So how does it work?
    IPS 4.4 has a lot of great performance improvements already, but if you opt to use Amazon S3 to store your IPS Community theme files, Afterburner S3 Advanced Caching (Lite) will automatically add additional caching headers to each of the relevant publicly cacheable, compressible theme JS and CSS files, whenever IPS Community Suite exports them to S3.
    Afterburner Lite automatically adds Expires headers to each .gz file which are set in this Lite version to automatically expire after 8 days, sufficiently long enough to pass the relevant GTMetrix Vary: Accept Encoding test. See the attached screenshots on the download page for more.
    Afterburner automatically works via Curl or Socket IPS file transfers by hooking into both, depending upon how your server is configured.
    Afterburner therefore helps improve caching performance on those S3 hosted theme files, which in turn helps reduce page loading times throughout IPS Community Suite, whichever apps or third party add-ons or themes you have installed it doesn't matter.
    Thanks to BFarber for suggesting alternative HTTP hook-points.
     
    How do I use it? Does it have any adjustable settings?
    This is the 'Lite' version which requires no further configuration after installing. I recommend running the Support Tool afterwards, see TIPS section below. The necessary caching headers it creates are pre-set to expire after 8 days, the minimum recommended. Afterburner (Lite) doesn't alter anything else but S3-hosted theme JS and CSS files in transit to your S3 bucket.
    This is my first plugin for IPS. If there is enough interest, I'm hoping to create a more fully featured app version with additional features, stats and admin configurable Settings etc, so you can tweak the caching performance to suit your individual needs.
     
    Requirements
    Compatible with latest IPS Community Suite 4.4 series. Developed on 4.3 and tested on 4.4. Requires a pre-configured and properly working Amazon AWS S3 storage bucket (Versioning mode recommended), correctly set up in IPS Community AdminCP to host your Theme Resources (Files > Storage Settings under Theme Resources).  See the IPS Help Guide for more.  
    How do I install Afterburner?
    This is an IPS plugin, so after downloading it, install the Afterburner XML file via the AdminCP > System > Plugins > Install New Plugin facility. 
    IPS Community will install the plugin and enable it, and Afterburner will then inject the relevant additional caching headers to your js.gz and css.gz files as they next upload to your pre-configured S3 bucket used for Theme Resources.
     
    TIPS
    I do recommend running the AdminCP Support Tool after installing/updating the plugin to re-cache and upload ALL relevant files rather than waiting for the next scheduled task or manual action that will update them.
    If you are also using a CDN such as Cloudfront, Cloudflare etc, I also found it useful in testing to clear/invalidate Cloudfront/Cloudflare afterwards, instead of waiting for them to next update themselves when they check for updated files and send to their respective Edge locations.
     
    How to update to a newer version of Afterburner?
    To upload a newer version, just use the usual Upload New Version button next to Afterburner in your list of plugins.
     
    Does it work on cloud hosted IPS Communities (CiC)?
    I don't see why not, as long as you have S3 hosted theme resource files. I only have self hosted IPS sites myself.
     
    How do I know it's working?
    There are a few ways to test.
    You can benchtest your site at GTMetrix before and afterwards. Look out for the Vary: Accept Encoding Pagespeed test score.
    Before example:-
    GTMetrix is advising us that these theme JS and CSS files hosted at S3 do not specify a Vary: Accept-Encoding Header.

    After example:
    You should see a A(100%) score for the test after installing Afterburner (unless your site also uses other external cacheable compressed files etc which you don't have control over such as at Google APIs etc which would reduce it).

     
    If you then look at the Waterfall tab, you should see similar to this:
     

     
    Alternatively, you can use the Amazon S3 Management console to view the Metadata headers on the actual stored gz files as seen in the screenshot below:

     
    Another way to see if the additional Expires headers have been added to S3 hosted cacheable JS/CSS files is to use the developer console in your Chrome or Firefox browser (hit F12 and reload the page):

     
     
     
     
  11. Agree
    Maxxius got a reaction from rllmukforum in When will you fix the fluid view ?   
    That looks bad. I don't think it was addressed yet. Why not make it so that the entire forums list in sidebar could be expanded/collapsed? If you have a lot of sections sidebar becomes a huge mess.
  12. Agree
    Maxxius reacted to pequeno in Add "Remove" Action Events for the Invision App in Zapier   
    Hello and thanks for adding Zapier to self-hosted.
    Currently Imvision Power has several tiggers but from my point of view there are some missing that I consider interesting.
    Tiggers sugestions:
    Promote content (When a content is promoted) Clubs (tiggers related with clubs: new club, new club member, ...) Topic solved (when topic is marked as solved) Topic pinned (When topic is pinned) Topic featured (When topic is marked as solved)  
  13. Thanks
    Maxxius reacted to Sonya* in Restrict "Sign in as..." for some admins   
    Read the description of this plugin 😉
     
  14. Agree
    Maxxius reacted to slarrr in 4.6: How to restore custom member titles   
    After about 15 minutes of scrolling through and peeking at other topics I found it.  For anyone else looking:
    https://invisioncommunity.com/forums/topic/461760-has-member-title-been-removed/
     
    Marc,
    In my other life I am a software PM who also works with clients directly.  I say this to communicate that I 100% understand the problems of feature creep; I understand that you can't satisfy everyone all of the time.  Compromises have to be made.  And I understand how hard it can be to deal with customers who just want what they want, and don't see all the work going on under the hood, or the reasons why certain features can't co-exist.
    But there is still a line between making compromises to achieve good releases (which is necessary!) and ignoring customer feedback entirely (which is ultimately counterproductive).
    In reading threads here, a few things pop out that concern me, and make it feel (rightly or wrongly! -- but this feedback is about the impression Invision is giving off) that Invision would rather "paint the roses red" than provide good service to its existing customers:
    - the fact that issues are marked "resolved" when they are replied to, rather than when the issue has actually been resolved
    - the fact that there is a rule banning user plug-ins that replace functionality (however popular) that Invision has removed
    - the developer replies...
    At best, the developer replies are what you put here - "Thank you for your feedback."  This is a good way to respond to unreasonable customers (I guess it feels like my feedback is unreasonable!).  More frequently, they are dismissive and defensive.  Nobody ever says "I hear you guys, we're going to give this a think."  I see devs accusing users of lying or inflating situations they have encountered.  This is not a good faith customer relationship!  It seems like Invision begins with the presumption that all customer feedback is unreasonable or wrong, and you just have to make us understand why.
    Despite all the comments in the other thread explaining how much people and their members were invested in text ranks and custom titles, the existing ways to use them were removed.  Using text ranks can now only be done with manual CSS edits -- if somebody made a plug-in for it, it wouldn't even be allowed to be shared here!  Custom titles can sort of be retained using a combination of settings, but the display is now tied to other profile fields as well, and frankly, if you enable them using that method, the display is pretty ugly.  Again, manual CSS edits are required to preserve the old functionality.
    Although I appreciate that you guys at least did preserve existing data in response to the customer feedback... it's insane that feedback was required, for you not to obliterate user data.  And all of this feedback was given PRIOR to the rollout... and all the popular functionality was still removed.  I know (believe me I know!) that sometimes things are more complicated to implement than they appear, but we're literally talking about a toggle, a conditional statement, and a small patch of (existing) CSS.
    Respectfully, I think there may be room for improvement in your user testing process, and maybe your development timelines, given the data obliteration issue you narrowly avoided, and the Invision responds to paying customer feedback.  It just doesn't make any sense.  And your customers deserve better.  There are reasons we choose IPB (and obviously I'm still choosing it or I wouldn't be posting here 🙂 ) but it isn't the only option, and the approach I see on these forums makes me feel a lot more lukewarm about it.
    Sincerely, constructively, and in good faith,
    -slarrr
  15. Agree
    Maxxius got a reaction from Yamamura in IPS please reorder your APPS   
    hi, I noticed throughout the years that you have Forums app pushed down below here on company forums and it gets annoying to access my own posts and topics - you have to scroll down to the very bottom of profile. How about pushing it a bit to the top, huh?

  16. Agree
    Maxxius reacted to opentype in IPB as a LMS   
    I usually use Pages for this purpose. A category is a course—a record is a Lesson. A problem I run into with this method is that a “category” can’t hold any other information than title and description. There is no category image, no category rating (to rate the course), no custom fields to add additional information about the course. So that is something I would like to see improved. More power to Pages categories. 
  17. Agree
    Maxxius reacted to growroom in IPB as a LMS   
    Hey Jordan! Thats cool!
    You just forgot to share the link of your 10 videos with us here! 
  18. Haha
    Maxxius reacted to CoffeeCake in IPB as a LMS   
  19. Agree
    Maxxius got a reaction from AlexWebsites in IPS please reorder your APPS   
    hi, I noticed throughout the years that you have Forums app pushed down below here on company forums and it gets annoying to access my own posts and topics - you have to scroll down to the very bottom of profile. How about pushing it a bit to the top, huh?

  20. Like
    Maxxius reacted to annadaa in IPB as a LMS   
    I understand that if one thing will not really change at IPS, it is more or less how the forum works (discussion-message) and it has been this system for about twenty years or more.
    It seems to work very well for discussion forums about sports, games, ...

    But on the point that I have strong doubts, and which I think it is time today to stop hoping and believing, is that in the coming years there will be even more new communities created around of this system of discussions concerning all themes.
    ______________

    Today if a person has a health problem, will they end up on a discussion forum talking about It and then post their problem to discuss it?
    I think not, it is very likely that she will come across an article site related to the subject and offering training to get out of this problem.
    We'd rather have a rich article straight to the point than read lots of people discussing it.
    Therefore, I think it would be good in the future if it is possible to write a quality article on page with a tool similar to optimizpress, thrive architect on wordpress

    Below this article, guest comments about this problem.
    And to go further, a private forum, coaching, videos, quizzes, interaction, and motivation to get out of this problem between private members.
    I think downloads needs to be updated to become an LMS because just sharing files is no longer attractive today.
    This is the logical continuation after the creation of downloads 10 years ago now.
  21. Like
    Maxxius reacted to Charles in IPS please reorder your APPS   
    I use https://invisioncommunity.com/discover/178/
  22. Like
    Maxxius reacted to Durango in Classifieds System   
    Hi @InvisionHQ
     
    hope you're fine !
    If you could add on next update the option "Parent category show also subcategory adverts" that would be great 🙂
    Thank you !
  23. Like
    Maxxius reacted to Sonya* in Translit URL   
    A new version has been submitted a while ago. Unfortunately, still not approved. 
    @media, I have tested it in 4,6. No changes are required. You can upgrade your community and use the plugin in the 4.5 version.
  24. Agree
    Maxxius got a reaction from OptimusBain in Creating Multi Languages Friendly Environment   
    @Matt @bfarber guys please take note. You did a real disservice with putting all translation in one pile. Please consider adding at least an option to filter admin / public / admin+public shared strings. That would make it so much better than what we have now.
    Nobody in their right mind would translate ACP which if I remember correctly from 3.4 days is like 2/3 of the whole suite while forums makes up about 1/3 or total strings.
  25. Like
    Maxxius reacted to Sonya* in (Pages) Noindex for some databases -> SEO   
    @RandyCalvert, it's a part of the solution. We provide conflicting information to the search engines, if we add "noindex" in the meta but include the URLs in sitemap at the same time. You will get critical issues in Google Search Console for every URL 😐
×
×
  • Create New...