Jump to content
View in the app

A better way to browse. Learn more.

Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Invision Community Blog

Profiles are one of the key sections of a community, as everyone knows. They are what represent your users; where their information is shown and their content is gathered. When users contribute quality content to your community, their profile is where other users go to find it in one place. In short, it's an important area.

In IPS4, profiles have had a complete makeover. There's a lot to cover, so I'll start with a numbered screenshot, and address each section individually (please note this is a large image; if you're on mobile, you may wish to wait to view it full-size).



1 - Header images

In 3.x, users could customize their profiles by uploading a background image. In practice, this didn't work well when the software was integrated into an existing website design, and the options presented often ended up with a garish profile. In addition, social networks like Facebook and Twitter have adjusted user expectations on how profiles are customized.

In IPS4, instead of page backgrounds, users instead get to customize their profile header image. This provides the best of both worlds - ample space to choose something creative, but it's contained and won't mess up a website design.

2 - Reputation

The user's current reputation count is shown prominently in the info column, letting other users know if this member is an asset to the community.

3 - Warnings

For moderators/staff, the profile now provides quick access to warning tools. By expanding the panel, they can see a brief history of recent warnings:



And clicking one of these pops up the warning details:



New warnings can also be issued inline, of course.

4 - Followers

Followers replace friends in IPS4, and the user's followers are shown in this block. Instead of requiring mutual acknowledgement as with the traditional friends system (an approach that isn't entirely useful in a community of anonymous users), in IPS4 you follow users whom you find interesting in order to be updated when they contribute to the community. Users can of course prevent others from following them, if that is a concern to them. We'll have more details on how followers works in a later entry.

5 - About the user

Traditional information about the user is shown in the next block, including custom profile fields.

6 - Recent visitors

Recent visitors to this user's profile are shown next. As with 3.x, this can be toggled on and off by the profile owner. In 4.x, this is done by clicking the X in the corner of the block.

7 - Follow/Message member

These primary buttons enable others to follow the user (if enabled), and send a new message inline, without leaving the page.

8 - User's content

In 3.x, browsing a user's content was handled by the search area of the community (though links were available in the user's profile and hovercard). We felt this wasn't the best place for it, though. After all, a user's content should be available in their profile.

That's what this button does. It switches the profile view to 'content browsing' mode, where you can see everything the user has done. It's smooth and buttery, and because it all loads dynamically, it feels like a true part of the profile. Here's a video of it in action (14MB)



9 - Long-form custom profile fields

IPS4 supports various kinds of custom profile fields, including rich-text editors for long, styled content. Those custom profile fields will be shown in the main section of the profile where they get the space they need to be effective. About Me is a default field, but you can of course add your own too for your users to fill in.

10 - User's 'Nodes'

A node is a fancy developer term for content containers that a user creates themselves, like gallery albums and blogs (as opposed to forum categories, which are created by the admin). In IPS4, a user's 'nodes' are shown right on their profile page, making it easy to find more interesting content from the user. In this screenshot, you can see my profile is showing my albums, my blogs, and other blogs to which I contribute.

For developers, supporting your application in this section is easy too.

11 - Status feed

The status feed from 3.x is of course still present, and the interaction is all inline without leaving the page.


Conclusion

That's profiles in 4.0. We hope the new focus on content and streamlined design provides a better experience for your users!


As always, screenshots are from pre-release software and are subject to change before release.

  • 26,001 views
A while ago I blogged about some of the internationalization and localization changes in 4.0. One of the things I mentioned is a "Visual Language Editor" which allows you to quickly change any of the verbiage used throughout the suite just by clicking on a word of phrase.

Not only is the really useful for those who want to translate the IPS Community Suite into another language, it can also be used to easily change words and phrases as you like (for example if you want a link to say "Register" rather than "Sign up") - it can even be used to rename forums, categories, etc.

Before I couldn't show you it in action as we weren't quite ready to show the front-end interface but now here's a video of the feature in action:


  • 15,219 views
IP.Board 3.x supports "My Media", which enables you to share other content from within the community by using the "My Media" button on the editor. This results in:


http://community.invisionpower.com/files/file/4464-ips-gdk-for-ipboard-32-amp-33/


While this works, it has a few shortcomings:
The styling of the block isn't really designed for each type of content it might show Users have to click the My Media button, then browse for the item, when they probably already know the URL they want to link to Not all content types are supported; e.g. you can't use My Media to link to a topic. For developers, implementing support for My Media in other applications was a process involving extension files and multiple methods


We wanted to make sharing existing content much easier in IPS4, both for users and developers. "Embeddable content" is our solution.

How to use it

To embed content from elsewhere in the community, here's a step by step guide:
Paste a link to it


That's it! When you paste a link to almost any kind of content, whether it's a forum topic, calendar event, gallery album or more, IPS4 will automatically embed a small preview of the content, designed specifically for that content. In order to not disrupt an existing paragraph of text however, the embedded block won't be used if the link is surrounded by text. Embedded content only shows if the link is pasted on its own line, giving users more control over their post.

Here's what a post looks like with a few embedded types shown:



Embedded content can be used anywhere as you'd expect, including posts and comments, but also status updates, IP.Content articles, and so on.

For developers

Supporting embedded content in your apps is very easy; your content model simply has to implement IPSContentEmbeddable:

class _Topic extends IPSContentItem implements ... IPSContentEmbeddable
Your controller then simply looks for an embed request and returns HTML - that's it. Our default blocks also have their own template and CSS file, so theme designers can change the styling on a per-theme basis.

Conclusion

Our hope is that this easier method of embedding content encourages more cross-posting and highlighting of good content in IPS4. The process is almost wholly automatic, meaning users don't have to think in order to share great content with others.

As always, screenshots are from pre-release software and are subject to change before release.
  • 18,054 views
One of the most distinctive uses for a forum is that of a 'knowledge community', where users visit in order to get help with a problem or question. Our own Pre-sales forum uses this model, but we also have many customers who run forums that are almost exclusively knowledge-based (such as Roxio and Evernote).

IP.Board 3.x introduced the concept of a "Best Answer" flag, allowing topic creators and staff the ability to highlight the reply to a topic that they deem best answers the question. This shows a snippet of the post in green at the top of the topic. Many sites now use this feature, but for IPS4 we wanted to expand the functionality offered for these types of forums.

Question & Answer Forums

Forums in IPS4 will enable you to set a forum as a "Q&A Forum". This adjusts the forum to be specifically designed for knowledge sharing. Instead of topics and posts, it has questions and answers.

On the forum index, the forum will be shown as a Q&A forum with its forum icon (unless you've set a custom forum icon for that forum):



Forum View

When you enter the forum, instead of the normal topic listing, you see a list of questions:



You'll see here that questions that have a best answer are indicated with a green checkbox. You'll also notice that one of the stats on the right hand side is 'votes'. In Q&A forums, questions can be voted up or down by users, in order to give them more visibility. More popular questions will bubble to the top (depending on the age of the question). You can of course still order by more traditional methods, if you wish.

Popular questions from the past 30 days are also highlighted at the top of the forum, providing an up-to-date 'knowledgebase' that other users can see. Using our own presales forum as an example, if someone asked a question about an important feature and it was voted highly, other users visiting the forum would see it right at the top, which is great for content visibility and helping users get the answers they're looking for with minimal fuss.

Question View

Clicking into a question shows an adjusted topic view:



The question (i.e. the first post) is shown at the top of the page on all pages, with answers listed below. You'll see that replies can also be voted up and down - in fact, this determines the order in which answers are shown inside the question. Popular answers, as determined by the community, will appear at the top, with worse or incorrect answers being pushed down. This is great for quickly finding the best information for the question at hand; in IP.Board 3.x, all too often a high-quality answer will appear in the middle of a topic and unfortunately go unnoticed by the topic creator or others looking for an answer. You can still sort answers by date, if you prefer.

In the screenshot above you can also see the first post is marked as the best answer. "Best Answer" always appears at the top, regardless of its vote count.

Question/answer ratings are separate from reputation, so you can of course still "Like" posts even if you don't think they're a good answer to the question.

Conclusion

So that's the new Q&A feature for IP.Board. We think it'll a big step forward for knowledge-driven communities using IP.Board, or even individual forums in other communities (like our pre-sales forum), helping users find answers to their questions more efficiently, and ultimately making your communities more useful.


As always, screenshots are from pre-release software and are subject to change before release.
  • 24,503 views
One of IPS Community Suite 4's main goals was to overhaul the user interface. We wanted to go further than just a few cosmetic changes to the theme, we wanted to examine each part of the user interface and see what could be improved. The community suite has a lot of functionality and there's a lot of tools that we all use regularly so we felt that any improvements on these common areas would be very welcomed.

I'd like to focus on such a change in IP.Downloads.

IP.Downloads has always had version control. Essentially, this allows you to upload new versions and keep a historical record of the older versions. You can read change logs and even download older versions where allowed.

Let's take a look at how IP.Board 3 does it currently:



Although there's nothing particularly wrong with this form, we can see that it mixes up the ability to upload a new version with the general file settings such as title and description. The end result is a bit confusing and a little intimidating the first few times you use it. The section to add your change log is a little lost in the file information block.

Now lets take a look at how IPS Community Suite 4 handles this:

The first step is to enable download revisions for this category inside the Admin CP.



Now that this has been enabled, lets navigate to the "File Actions" menu to upload a new version.



This loads the "Upload a new version form". As you can see, it's very clean, very easy to follow and isn't cluttered with settings and text fields that you aren't interested in editing.



Once you've uploaded your new version, you can see what's new on the file listing page.



You can even view previous change logs and the download link without leaving the page.



Conclusion
As this blog entry shows, IPS Community Suite 4 is really focused on making real improvements to everyday interfaces. We believe that these changes are very important to modernise the suite and to make it as easy to use as possible.

  • 14,184 views
Effective moderation features are essential for online communities. Forums, blog entries and member-to-member messaging are particularly attractive for spam bots and nuisance users alike. IPS Social Suite has always been best in class when it comes to moderation features with features like the free IPS Spam Service that are completely unmatched by other web applications. Over this series of 5 blog entries I'm going to introduce you to some of the new moderation features in the IPS Community Suite 4.0.

Part 1: Setting up moderators
Part 2: Approval Queue
Part 3: Reports
Part 4: Effective Moderation
Part 5: Warnings





Introduction

A lot of what I'm going to cover in this blog entry is similar to the warning system in 3.x which was recently overhauled. Since warnings and moderations are such an important aspect of running a community though, I wanted to reintroduce the system, showing off the new UI for 4.0 and highlighting some of the tweaks that have been made.

The warnings system in the IPS Community Suite is point-based. When issuing a warning to a member, you select a reason, and each reason is tied to a number of points, and then when a member reaches a certain number of points, an action (such as to ban them from the site) is taken.

This is the setup page for reasons - I've set up each one to give one point which is never removed.



For each reason, I can choose if moderators can override that or not:




This is the setup page for actions:



I've set up a number of actions so that the following flow happens: You can control whether members can see their previous warnings or not. Moderator Permissions For each moderator you can control is they can see, issue and revoke warnings, and control how often they can give warnings: Viewing Warnings You will be able to see the current warning points for a member from their hover card (which shows whenever you hover your mouse over their name throughout the suite) and can see the details in their profile. Clicking on a warning brings up the details which show a link to the content the user posted which prompted the warning, the notes both for the member and for other moderators, and lists the actions taken (points given, if the member was suspended, etc.): In addition, when viewing content (posts, comments, etc.) if that post prompted a warning, this will be shown to moderators: Issuing Warnings When issuing a warning, selecting a reason will automatically fill in the number of points and actions to take based on the number of points the member already has (these can be changed if the administrator has allowed it). You can clearly see the pre-defined actions for each point level on the right. You can optionally add notes, both a note for the member and for other moderators. Acknowledging Warnings You can optionally set the system so that members have to acknowledge a warning before they can post again. When this is the case, the member will se a message on every page: Viewing the warning details will have a button allowing the member to acknowledge the warning: Even if you do not require warnings to be specifically acknowledged - members who have restrictions applied to their account (are on moderator queue, are restricted from posting or are banned) can clearly see this and the reason why. For example, this is what a member who is on moderator queue sees when making a comment: Revoking Warnings A new feature in 4.0 is that warnings can be revoked. You can reverse all the actions of the warning, or just delete the record of it: [*]On the first warning, nothing happens (it's a verbal warning only) [*]On the second warning, all posts the user makes for the next day will need to be approved by a moderator. [*]On the third warning, the user will be banned for one day and all posts the user makes for the next week will need to be approved by a moderator. [*]On the fourth warning, the user will be banned for a week. [*]On the fifth warning, the user will be permanently banned.























































  • 13,657 views
I can distinctly remember 5 years ago reading a blog entry on this site about the "personal conversations" feature in IP.Board 3.0, which we were working on at the time. Up until then, the messenger system in community software and other websites was much like email - you sent one message at a time, with little continuity between messages. We were one of the first, on the entire of the web, to introduce what we called "personal conversations" - a sort of "private topic" between invited members - it was a really exciting idea back then.

For 4.0, we wanted to really focus on the experience of using the messenger - making it super fast and easy to compose, navigate and participate in conversations.

Starting a conversation

When browsing the site, you'll see a messenger icon at the top of every screen just like you do now. When hitting the "Compose Now" button inside though, the form to send your message will appear as a modal window, and when you send, it will disappear again with no page reload. This makes it incredibly fast and easy to send a message from wherever you are, without interrupting your flow. You can also send a message to a specific member by hovering over their name wherever you see it on the site and clicking the "Send Message" button in the hover card that shows.



Browsing conversations

We've completely redesigned the main messenger pages. You now see a (infinitely scrolling) list of all your messages on the left-side. Clicking on any message opens it up in the main pane. All the common actions are enhanced with AJAX so you can open a conversation, add a user and reply all really quickly.



Mobile

We've not forgotten about mobile devices! The new responsive design in IPS 4.0 means the whole messenger works and looks great whether you're on a desktop or on your phone.



Summary

We recognise that when members send a new message, it is often as a response to content read in all areas of the suite. You can now send messages in place without disrupting your flow. We have improved all aspects of sending, receiving and managing messages and are confident these changes will make communicating with other members in private simpler and faster.
  • 17,536 views
The site eGullet.org was literally the first client of Invision Power Services when our company was founded over 12 years ago. Steven Shaw, along with his partner, stepped up and supported IPS in its first days and stayed with us all these years. They were our first paying client, our first hosting client, and often the first to get early betas of our releases.

It was with great sadness that I read today of the passing of Steven Shaw.

Steven was a friend and mentor to me personally. He advised me as IPS grew, provided valuable feedback, was our first attorney (he actually registered the first code copyright of IPB), and was always on board to hear out ideas. My first trip to New York City, my first cruise, and many great dining ideas (the man who convinced me to try wine) were all based around his friendly advice. He honored me with a copy of his book when it was released. And of course he introduced me to the joys of Julia Child by shipping me some old recordings of her show.

Steven Shaw will be missed. I personally am in debt to his generosity and advice over the years as is IPS as a company.

For other great tributes please Google his name.
  • 8,225 views
Some sites make use of multiple calendars to help differentiate what type of events are being contributed to the community. You might have a staff calendar that allows staff members to add events and a community calendar for the rest of your users. Or you may have a holidays calendar as well as a gaming "raids" calendar on your community. Individual calendars are a form of categorization in IP.Calendar, and we wanted to bring some enhancements to them in the 4.0 Community Suite.


Colors

You will now be able to specify colors for each calendar you create. The software will automatically suggest a new unique color each time you create a new calendar with several pre-determined colors to start with (and then falling over to randomly chosen colors if you happen to create enough calendars to use these defaults up), but you are able to specify any color you wish for any calendar you create.



(As an aside for developers - you can easily implement similar "color" fields in your own forms using the form helper class IPSHelpersFormColor)


Merged view

If you are familiar with the current iteration of IP.Calendar, you might be wondering what good implementing calendar colors actually does. After all, the software does not show events from different calendars mixed together right?

As of 4.0, IP.Calendar does indeed support a merged-calendar view. In fact, it is the default in IP.Calendar. Your users will see all events from all calendars (that they have permission to view) merged into one view, but can click a menu at the top of the page to filter by calendar if they so desire.



They will see events from all calendars merged together



When viewing an event the calendar it has been saved to is of course indicated here as well.




The merged calendars model is supported for all of the major views in IP.Calendar: the monthly view, the weekly view, the daily view...and the new "event stream" view which we will talk about in a future blog entry (shhh).


Conclusion

We feel these minor changes makes Calendar more intuitive, and especially makes handling multiple calendars within your IP.Calendar installation more practical and useful. We hope you find working with multiple calendars to be easier and clearer with these changes, and we hope you find new ways to make use of the multiple calendar support present in IP.Calendar as a result of the merged views and better calendar differentiation.
  • 7,604 views
Copying Settings

Sometimes you need to change the same setting across multiple categories. For example, let's say up until now I've not allowed comments on files and now I want to enable it for most categories. In IP.Downloads for 3.x, I'd have to go into each category one by one and toggle the setting on.

In 4.x, when editing a category, each setting has a "Copy" button next to it, when opens a window asking which categories to copy that setting value to, so I can make the change to one category and then copy it to others (or all) quickly.





This feature is also available when editing things in other applications, such as forums in IP.Board or products in IP.Nexus.


New Settings
We've moved some settings which were previously global settings into per-category settings to give you even greater control over your community:
"Require approval of comments" "Log all downloads" and "Prune download logs" - we also added a new per-category setting: "Allow file submitter to view log?" "Allowed file extensions" (this used to be managed using complicated "Mime Type Masks" - now you can just provide the extensions which are allowed in that category, or allow any file type). "Enable versioning control" and "Number of revisions to keep"

  • 8,930 views
Effective moderation features are essential for online communities. Forums, blog entries and member-to-member messaging are particularly attractive for spam bots and nuisance users alike. IPS Social Suite has always been best in class when it comes to moderation features with features like the free IPS Spam Service that are completely unmatched by other web applications. Over this series of 5 blog entries I'm going to introduce you to some of the new moderation features in the IPS Community Suite 4.0.

Part 1: Setting up moderators
Part 2: Approval Queue
Part 3: Reports
Part 4: Effective Moderation
Part 5: Warnings





Multi-moderation

It's really important that moderators can quickly take action against undesirable content without spending too much time or effort. If your community is the victim of a spam attack, or perhaps even just an over-enthusiastic poster, you want to be able to hide, lock, move, merge and delete content quickly.

Throughout the entire suite, whenever you content (be that topics in IP.Board, files in IP.Downloads or even comments on a particular file in IP.Downloads or anything else you can think of), as a moderator, when you move your mouse over it, you will see a checkbox, and at the top of the list, you have controls to quickly select particular items:



As you can see, in addition to checking individual items or all items, quick options are available for me to select all hidden, unapproved, pinned, locked or featured items, or even the items that I personally have read or not read.

After selecting one or more items, you will see a menu appear at the bottom:



This menu is incredibly smart. It automatically shows you options available based on the type of item you're looking at and the specific items you've selected. For example, here in IP.Downloads I see the options (from left-to-right): feature, pin, hide, lock move and delete (if you hover over any of the buttons a tooltip will show you what it is). If, I'm in IP.Board instead, I see a slightly different bar:



Here, I have two new options: merge and Saved Actions (the new name for the IP.Board "Multimod" feature which allows you to define specific actions to do multiple moderator actions quickly).

Also, it takes into consideration the specific items I've selected - if I select items which are not currently hidden, there is the "hide" button - if I select items which are currently hidden, there is the "unhide" button - and if I select a mix of both, I see both buttons.

After clicking a button, the action is performed on all items and I'm taken back to the screen.

Here's a short video demonstration of this in action:




Quick editing

Editing posts and comments is something moderators do on a daily basis. We already have quick reply (where when making a post or comment, it appears using AJAX without a page reload) and now in 4.0, we have quick edit too.

When you click edit, the post/comment immediately changes into an editor:



And when you click save, the editor disappears and is replaced by the new content.

Here's a short video demonstration of this in action:

  • 12,397 views
Different staff members typically have different roles within a community - especially larger communities, where you may have staff responsible for the theme, others handling tickets and different staff maintaining the system. In 3.x, we had a 'Bookmarks' system in the AdminCP that allowed you to create a menu of frequently-used sections in an effort to make them easier to get to, rather than navigating the main menus.

As with every feature in IPS4, we took some time to think about what this Bookmark feature aimed to achieve, and whether it was the best way to achieve it (seriously - we have considered everything you'll see in IPS4 very carefully; nothing gets a free pass).

We determined through speaking to administrators that the primary use of this feature was actually to get to one place quickly - whatever place that might be. It appeared to be rarely used as an actual bookmarks menu, and besides, duplicating browser functionality should always send up a red flag. We decided to rethink the idea.

What we decided to do instead is allow AdminCP menus, both primary and secondary, to be reordered on a per-admin basis. This means each admin can set the AdminCP menu up however works best for themselves. If you use the theme system a lot, you can make that your first menu item. Or, if you use the ticket system in Nexus, you can put that first.

Here's how it works:


  • 9,837 views
One of the goals for IPS Community Suite 4.0 was improving content discovery. In other words, making sure content still receives exposure even if it is posted in less used areas of the suite.

The sidebar that shows on the IP.Board index page in 3.x helps with this goal to some extent, however people who visit the forums app infrequently may miss out on valuable content. This became an even more important issue when the decision was made to decouple IP.Board as a standalone application. What if the focus of your site is Gallery or what if IP.Board is not even enabled for example?

Our solution was to extend the sidebar across all applications as shown below in IP.Downloads.



You may notice from the screenshot that the announcements block is not specific to the downloads application. Any block can show in any application and they are configurable using moderator permissions. This immediately addresses the issue of content discovery.

While the sidebar is now global in 4.0, it is important to note that individual areas can enable and disable the sidebar if necessary. Some areas of the suite simply require more room in order to display ideally, so the sidebar is disabled in these cases (e.g. the calendar "monthly" view needs a full page table grid to display in its ideal format). Further, you can configure sidebars differently for different areas of the suite in context-sensitive manner. You may show a recent topics block in the IP.Board application, for instance, while showing a recent files block in IP.Downloads. Or you can show both blocks in both areas - the choice is yours.

Many areas of the suite have specific things they wish to automatically show in the sidebar and will do so. This is determined at a programmatic level and is not something that can be shut off. For instance, in IP.Downloads the primary screenshot and the download button show in the sidebar, while in IP.Calendar a map and a button to download an event show. Each application has the ability to output arbitrary content to the top of the sidebar where-ever necessary.

It is also worth noting that advertisements have the inherent ability to display in the sidebar site-wide as well.

Editing

Editing is carried out inline from the front-end, rather than the ACP, and can be customized based on the application, module or individual view. The technicalities of this are beyond the scope of this blog entry but what this means in practice is that you can vary what is shown in the sidebar for each individual area of your site. Ordering of the blocks is of course fully supported using a simple drag and drop interface, and some sidebars additionally have configuration options available to them as needed.

Here is a video demonstration of how editing the sidebar works in IPS Community Suite 4.0.



Caching

With this approach it was important that performance was not compromised and for that reason sidebar blocks support varying degrees of output caching. The active users block which must always be kept up to date utilizes no caching, a more general block showing overall statistics is cached for all users at once and other blocks that rely on permissions are cached for each user group combination. The level of caching used is determined by the developer when writing the block so, while it is important to mention that this performance aspect has been considered, it is something that is transparent to end users and admins in day to day use.

Summary

Community integration is a key strength of the IPS platform and the new sidebar in version 4 expands on this even further allowing you to share content across all areas effectively.
  • 25,279 views
IP.Calendar has supported an RSVP system for events for the last several versions, and this has been a well received addition to Calendar. Where allowed, users can request RSVP for events submitted to the calendar, and where allowed, other users can RSVP (and subsequently un-RSVP) for these events. This functionality is useful for real-world events being coordinated through your site to help event organizers know who will attend. Some minor but useful enhancements have been made to the RSVP functionality in calendar for 4.0.


RSVP Limits

Often times, you may only have a limited number of spots available for an event. You may only be able to accommodate 10 users or 20 users at an event, and you typically will know this up front. Subsequently, it makes sense to limit the number of users who can RSVP for a given event in such scenarios. To this end, event submitters can now limit the number of RSVP responses allowed on a per-event basis. If you know only 10 users can be accommodated at an event, you may now specify this up front.


Yes? No? Maybe?

While being able to RSVP for an event is useful, many users online are familiar with other attendance systems that allow you to specify yes, no or maybe when RSVP support is available. In other words, instead of simply allowing you to say "yes I'm coming", sometimes it is just as useful to allow users to specify they are not coming, or that they might attend (in which case the organizer may plan to have extra food available, for example). The 4.0 Calendar will now support yes/no/maybe responses when RSVP is requested for an event.
One caveat to mention - when an upper RSVP limit has been specified, the "Maybe" option is not available. A gray area becomes apparent when there is a limit to the number of attendees allowed for an event and users begin to RSVP as "maybe". Does that fill up a spot? If not, what if they decide to come after all? It is much clearer for all involved to simply limit responses to yes or no when there is an attendee limit specified for an event.


When you have RSVP'd for an event, you will be presented with the option to leave the event in case you change your mind.





Download guest list

When RSVP has been enabled for an event, anyone who can see the list of attendees will be able to download a guest list in PDF format. This is especially useful for the event organizer in case they need to print out the guest list to bring with them to the event.


RSVP for imported events

When you configure iCalendar feed imports in the admin control panel, you will now be able to enable or disable RSVP status for events from the feed. As the administrator, you had no control over whether events imported from a feed had RSVP enabled or not in previous versions of Calendar. As of 4.0, you can specify whether to enable or disable RSVP for imported events on a per-feed basis.

As with 3.x, events exported through iCalendar feeds will include the attendee list with them.

When events are imported through an iCalendar feed, if an attendee is specified (through the iCalendar specification) and that attendee is also a member of your site (based on their email address), the member on your site will automatically be set as RSVP'd for the event.



We believe these several minor but useful enhancements to the RSVP capabilities in Calendar will make the feature more useful in real world usage scenarios, and will allow you and your event coordinators to get more out of Calendar than ever before.
  • 8,366 views
IP.Calendar allows your users to schedule and share events through a centralized community calendar and supports many features that allow your community to coordinate, organize and interact with each other through the calendar. For instance, event organizers can request RSVP for events in order to note who will be attending before hand, and you can allow commenting on events submitted through IP.Calendar to allow users to share their thoughts about an event.

The latest version of IP.Calendar will see some minor yet useful enhancements that will allow you and your community to make better use of IP.Calendar in a more social manner than ever before.


Location support

Users will be able to specify a physical location (i.e. an address) when submitting an event to the calendar in the 4.0 Community Suite calendar application. When an address is specified and Google Maps integration is enabled in the admin control panel, a map will be presented when viewing the event that allows users to see where the event will be taking place.



Clicking on the map will take you to Google maps, allowing you to get directions to the event or otherwise find out more information about the location.

The event location, when available, will also be included in iCalendar exports using the GEO property supported by the specification. This means when sharing your calendar events with another application that supports iCalendar imports (and supports the "GEO" property), your event location will be available in those applications as well.


Downloading individual events

In previous versions of the calendar, you were able to download an iCalendar export of an entire calendar on the site, but you were unable to download an individual event as an iCalendar export. The 4.0 Community Suite calendar application will now allow you to download individual events, as seen by the "Download Event" button in the previous screenshot. Users can download individual events and import them into supported calendar applications if they desire. Events are downloaded with an ".ics" extension, which is supported by Windows Calendar, Apple Calendar, Google Calendar, Outlook, Mozilla Lightning and pretty much every other calendar application available.


Cover photo

Another small yet useful enhancement in the next version of Calendar is the ability to upload a cover photo with your events. You may now, optionally, upload a cover photo image with your events which will be displayed as a background image in the event header.



Please keep in mind that these are early screenshots and the interface is very much subject to change, however you can get an idea from this screenshot how you might end up specifying a cover photo for an event to give it some unique visual differentiation to stand out.


  • 8,776 views
Effective moderation features are essential for online communities. Forums, blog entries and member-to-member messaging are particularly attractive for spam bots and nuisance users alike. IPS Social Suite has always been best in class when it comes to moderation features with features like the free IPS Spam Service that are completely unmatched by other web applications. Over this series of 5 blog entries I'm going to introduce you to some of the new moderation features in the IPS Community Suite 4.0.

Part 1: Setting up moderators
Part 2: Approval Queue
Part 3: Reports
Part 4: Effective Moderation
Part 5: Warnings




Back in IP.Board 3.0, we introduced a feature which at the time we called the "Report Center". Before this, if a user clicked the "Report" button, it would send a personal message to all the moderators for the forum the post was in (seriously). The Report Center was one of my favourite features in IP.Board 3.0 - it provided a great way for moderators to collaborate on reports and know the action that was taken.

For 4.0 - we wanted to make this even more useful. We had 2 goals:It should be easy to set up and use. It currently has lots of configuration options dotted around the Admin CP and can feel a little confusing ("statuses" have "points" which leads to different coloured "flags" on reports) - it should be much easier for moderators to see what's important. When viewing the report itself, moderators should be able to see all the information they need immediately, and take action, without leaving the screen, making it quick and painless to deal with reports.


The first part was making it easy for users to submit reports (if submitting a report is difficult or time-consuming, users won't do it, which defeats the point of having the feature). We've made it so when clicking the "Report offensive content" button next to posts, comments, messages, etc. a modal window will pop up - here the user can optionally fill in a reason for their submitting the report, and when submitting, the modal window just disappears, with no page reload, so the user is not interrupted from what they're doing.



Video Demonstration


Next we wanted to improve how moderators deal with reports - here's a screenshot of the report screen:


Right from this page I can:See the content that was reported - I don't have to click anywhere to view it (naturally, I can click on the title to be taken to the actual content if I want to see it in context).

Edit or delete the content. If I do this, it will do it via AJAX, without me ever leaving the page.
Video Demonstration
See any warnings that have been given in the past to the user who posted the content being reported, and issue them with a warning (which will be issued without me leaving the page).


Flag the member as a spammer, which will automatically take all the appropriate action for that, depending on how I've set it up in the Admin CP.

See who has reported this content, and the message they provided with the report. By hovering on their photo I will see their hover card which allows me to send them a message (which will be sent without me leaving the page).

See any comments on the report from other moderators and make a comment on the report - comments are submitted by AJAX so I can make a comment quickly.

Change the status of or delete a report.

Move to the next/previous reports pending.


  • 13,818 views
IP.Calendar has a few primary important views: the monthly grid view (i.e. a typical calendar table), the weekly view which lists a calendar week and any events occurring during that week, a daily view which lists all events occurring on a given day, and the actual event views where you view details about a specific event. All of these views have their usefulness, however we felt that there was a missing piece to the puzzle. During planning meetings we discussed adding a popular feature request known as an agenda view, which basically lists all events between a given time period (or from a given date forward) and while we liked the idea, we felt we could accomplish the end goal while taking the interface a step further.


The calendar stream

The new "stream" view is what it sounds like - a stream of calendar events listed in order of date, from oldest to newest. This calendar view is based upon a given month and will show all events occurring within that month (including recurring events). You can view the calendar stream for each month individually if you wish, just like you would view the calendar "month" view.

The events are displayed as small blocks of event data.



This is a general idea of what the stream looks like


As you can see, events are listed from oldest to newest in a "stream", i.e. a grid of blocks showing event details. The stream is an option for end users to choose from, and the admin can set it as the default viewing method for Calendar if they wish.


Conclusion

We believe this new stream will accomplish the same end goal an agenda view is designed to accomplish, but in a more robust and stylish manner. We look forward to your feedback on this new enhancement to the calendar product.
  • 10,400 views
Working with an image handling suite to resize uploaded images, build thumbnails, apply watermarks and perform other similar image-handling tasks has been improved in 4.0 to be easier than ever. It is important to know that many of the built-in helpers in 4.0 will automatically handle image-related tasks for you, such as building thumbnails when appropriate. In the instances where you need more control or cannot simply make use of an existing helper, however, you will find working with images is as simple as can be.

First and foremost, it should be noted that ImageMagick support is now suite-wide. In past versions of our software, only IP.Gallery could make use of ImageMagick. The image handling configuration options are now part of the core framework and choosing to use ImageMagick as your image handling suite will apply to all image handling suite-wide, including attachment thumbnails, screenshots in IP.Downloads, image uploads in IP.Gallery and everywhere else that makes use of our core image handling classes.

As was mentioned above, you will typically work with images by requesting a user upload one through a form. In this case, using the "Upload" form helper is the simplest route you can go for this purpose, and when doing so all image handling is done for you automatically. You need only pass an option to the helper to specify that the upload must be an image, and optionally you may restrict the maximum dimensions of the image.

If you need finer-grained control or if you need to perform other manual image handling tasks, you simply use IPSImage for this.

The following represents an actual test script that takes an image (named a.png), resizes it to 200x200 proportionately, and writes it to disk as b.png. The script then takes the same a.png file, resizes it to 200x200 but this time crops the image, and writes it to disk as c.png. This script honors the ACP configuration and will use GD or ImageMagick, depending upon what is selected, and will adjust the JPG quality and PNG compression levels based upon the ACP preferences.

<?php require_once '../../init.php'; $resized = IPSImage::create( file_get_contents( "a.png" ) ); $resized->resizeToMax( 200, 200 ); file_put_contents( "b.png", (string) $resized ); $cropped = IPSImage::create( file_get_contents( "a.png" ) ); $cropped->crop( 200, 200 ); file_put_contents( "c.png", (string) $cropped );
Now, typically you should not expect to write directly to disk, and instead should use IPSFile::create() to store a file (which, out of the box, can store files on disk, in the database, in Amazon S3, or on a remote server using FTP). The above test script was merely written to facilitate easier testing of the image handling scripts specifically during development, but they highlight just how easy it is to work with images in 4.0.

If we wanted to apply a watermark to the first image we need only call the watermark() method.

<?php require_once '../../init.php'; $resized = IPSImage::create( file_get_contents( "a.png" ) ); $resized->resizeToMax( 200, 200 ); $resized->watermark( IPSImage::create( file_get_contents( "watermark.gif" ) ) ); file_put_contents( "watermarked-image.png", (string) $resized );
We hope you find the new easier to use image handling routines beneficial while developing within the IPS framework.
  • 1,482 views
Effective moderation features are essential for online communities. Forums, blog entries and member-to-member messaging are particularly attractive for spam bots and nuisance users alike. IPS Social Suite has always been best in class when it comes to moderation features with features like the free IPS Spam Service that are completely unmatched by other web applications. Over this series of 5 blog entries I'm going to introduce you to some of the new moderation features in the IPS Community Suite 4.0.

Part 1: Setting up moderators
Part 2: Approval Queue
Part 3: Reports
Part 4: Effective Moderation
Part 5: Warnings




Sometimes content needs to be approved before it can be viewed. This can happen when:Approval is enabled for a particular member (perhaps for a particular time after giving a warning) Approval is enabled for a group (perhaps for new members until they have been registered for a certain number of days) Approval is enabled for a forum/category/etc.

Currently, if there is content requiring approval, badges display next to the forum/topic to alert moderators. While this works well it has some drawbacks: it means clicking around the community to find content, and if there's an area of your community you don't visit very often (personally I don't often check the gallery here) sometimes you might not notice something needs to be approved.

For 4.0, we wanted to improve this. There were two main goals we set: What we've created is a new area of the moderator control panel which we call the Approval Queue. When you visit the approval queue, you see the first topic/post/comment/whatever which is pending approval: As you can see, the page shows you clearly who posted it, what it is and the content. You can click on the badge on the right (in the screenshot above where it says "File Comment") to be taken directly to it if you want to see it in context. At the top, you can see 3 really clear actions: approve, skip and delete. Clicking any of these will do that action, and then immediately show you the next thing pending approval. This allows moderators to move through the queue really quickly and effortlessly. By clicking on the author's name, you can also issue a warning, flag the user as a spammer and send the user a message - all this is done without leaving the page: And when all content has been approved, you can enjoy the satisfaction of an empty queue: Here's a video of it in action: As an incidental feature - previously if a member made a post and it needed to be approved, they would get a confirmation message telling them so but wouldn't be able to see the post. This sometimes led to confusion when members missed the confirmation message and thought their post hadn't been submitted. In 4.0, users can now see their own posts which are pending approval: [*]Content from across the suite should be pulled into a single area for moderators so moderators can locate content pending approval manually. [*]Moderators should be able to act on content pending approval (usually by approving or deleting) quickly.






























  • 16,928 views
Day to day administration of your site and particularly managing member permissions has been greatly improved in IPS Community Suite 4.0. It is now easier than ever to see who has access to what but there are still times when being able to see exactly what a member sees can be useful. Perhaps a member is reporting that they can't view a section of the site or they need assistance altering settings on their account? For this reason administrators can log in to other users accounts automatically via the admin control panel where allowed.

Security

When dealing with access to other people's accounts security is of critical importance and we take this very seriously. Permissions for this are of course controlled by the ACP restrictions system so the ability can be toggled easily on a per user or group basis only to trusted administrators. The member also does not need to reveal their password to the administrator and all login actions are recorded in the logs so security and an audit trail is maintained.

Logging In

The process of logging in as a user starts in much the same way as in previous versions of the suite. When viewing a member in the ACP you simply click sign in and a new window with your user session is created.



For IPS Community Suite 4.0 we have improved several areas of this implementation. Firstly, when logging in as a user you do not lose your existing admin session. You still show logged in as yourself but acting on behalf of somebody else. The user menu updates to show this and serve as a reminder so you do not forget to log out and continue posting using another account. All actions you now perform are as if you were logged in as the user themselves. Viewing and posting permissions reflect the user you are logged in as and any content created will show as if posted by that user.



In previous versions not having this workflow was frustrating as you would log in as another user and then when you were finished need to log back out and then log back in with your administrator account. We have now made this seamless. When logging out from another user account in IPS Community Suite 4.0 you are simply returned back to your original admin session with no need to log back in.

Summary

We hope that these small but powerful changes make for a much more productive workflow. Helping members with access issues and making sure your user permissions are set up correctly should now be much more practical and intuitive.


  • 16,877 views
Effective moderation features are essential for online communities. Forums, blog entries and member-to-member messaging are particularly attractive for spam bots and nuisance users alike. IPS Social Suite has always been best in class when it comes to moderation features with features like the free IPS Spam Service that are completely unmatched by other web applications. Over this series of 5 blog entries I'm going to introduce you to some of the new moderation features in the IPS Community Suite 4.0.

Part 1: Setting up moderators
Part 2: Approval Queue (New Feature)
Part 3: Reports
Part 4: Effective Moderation
Part 5: Warnings




Up until now, each application has been responsible for managing it's own moderator permissions (for example, you go and set up a moderator in the forums app, then in the gallery app, etc.) and there's been a concept of "global" or "super" moderators who can perform all moderator actions in all applications.

In IPS Community Suite 4.0, we're centralising the creation and assigning of moderator permissions, and are doing this separate from groups (so you can now make just a member a moderator without putting them in a special "moderator" group). It works very similar to Admin Restrictions in 3.x.


Here is the Moderators page:

(In this screenshot I've given moderator controls to everyone in the groups Administrators or Moderators, and to the user "Brandon")

When editing a moderator you see all of the permissions available across all applications.

This screenshot shows global moderator permissions which apply across all applications:


If you do not want to allow any of these globally, you can make them available only to certain areas - when any option is toggled off, the equivalent option will show under each application tab, along with an option to select which areas of that application it can be done in. For example, if I disable the "Can edit all content?" option, a "Downloads" tab appears with the following options:

This allows me to choose what the moderator can edit, and in which categories they can do it. A similar tab appears for each application I have installed, or additional options appear on the tabs.

Also when editing a moderator I can control permissions not related to content, for example, how they can use the warning system:

Member management permissions:

And more.


When editing a moderator, I also have the option to "Give All Permissions" which makes them akin to "global" or "super" moderators in 3.x.


When editing a member which has been given all permissions, I will see a message reminding me that if I remove any permissions they will no longer be a global moderator:
  • 22,152 views
For many years, IP.Board has featured a "Moderating Team" page where the community moderators are listed so that users can quickly and easily identify who to contact in the event they need assistance. This page has typically been a somewhat generic table-style view of users who are a moderator of some level. The page is not configurable and has limited usefulness and relevance when you consider the entirety of the suite. It is a relic of an older age and it really stood out as needing an overhaul, so that is exactly what we have done in 4.0.


Configurable

As mentioned above, the moderating team page has never been configurable in IP.Board. If a user is a moderator (either a super moderator, or a forum-level moderator) then they are displayed on this page. The users are displayed in basic alphabetical order in a table-style view and you cannot easily see which user is responsible for which roles on the site. Furthermore, if you add a moderator to another application (for instance, IP.Downloads or IP.Gallery) then they may not be displayed on this page if they aren't also a moderator in the forums.

We have completely done away with the way this page used to work and rethought it from the ground up. Its purpose is simple: show the viewing user which users on the site are "important" and their relevance to the site. To implement our goal, we have decided to make the entire page configurable.

In the admin area you can now create groupings for this page. This means that you can put some users in one group, some users in another group, and so on in order to better reflect the hierarchy of your organization. For instance, here at IPS we would list Management staff at the top, followed by Developers, followed by Support Agents, and possibly followed by community moderators. You can reorder the groups however you see fit to ensure that the most important users are listed first.

You can also now associate a template with each group. When you view the staff page, you will probably want to show a little more information for the most important users, but you may want to just show simple links to a profile for the regular community moderators. By default we will ship with 3 or 4 basic templates that we feel will allow you to display staff groups in different ways to better reflect your organization, however any administrator can add new templates by simply creating a template with the appropriate prefix in the appropriate template group.

When you add users to a group, you can specify a custom name to show (which will fall back to the member's username), you can specify a custom title to show (which will fall back to the member's title) and you can specify a bio to show. Users who are displayed on this page can edit their details right from the staff page directly.




Viewing the page

We wanted to allow this page to be set up to better reflect the staff on a community. A simple listing of moderators is no longer relevant for many users of the Community Suite - you may want one moderator to not be displayed because they only manage pre-sales questions, or you may want an administrator who is not a moderator to be displayed, or perhaps you want to create a game roster instead of displaying staff but you don't want to give those users moderator privileges on the site. Now you can do that, and you can better present the page to your users.



As you can see here, the first grouping (labeled "Management") is displayed in full width. The second grouping called "Developers" are blocks that take up half of the available width. The last grouping called "Support Agents" are rows of 4 blocks each. It is important to note that the interface is subject to change and we are still putting some finishing touches on this screen, however hopefully the screenshot will give you a good idea of how the page can be laid out to improve communication between your staff and your visitors.
  • 14,889 views
Almost all of our applications support commenting or reviewing to some degree. You can comment on events in IP.Calendar, images in IP.Gallery and blog entries in IP.Blog, and you can review products in IP.Nexus, for instance. The differences between reviewing and commenting are subtle, yet important. Commenting allows you to say something about a content item that has been contributed, while reviewing is intended to allow you to give feedback about the item based on your experience. You should not be able to review something you have not seen or used, for instance, and you should only be able to review it once.

We have worked on developing these concepts further for 4.0, and bringing both capabilities easily to all applications in the suite.


Comments

Any application in the 4.0 suite can support commenting easily. From a development perspective, you need only create a content comment class that extends IPSContentComment (and define a few methods in this class, such as how to generate the URL to the comment), and then in your main content item class you specify this new content comment class in a specific property. For example, with IP.Downloads we have the following in the content item class

/** * @brief Comment Class */ public static $commentClass = 'IPSdownloadsFileComment';
And then there is, as you would expect, a commenting class found at IPSdownloadsFileComment which extends IPSContentComment. This comment class defines a few properties, and then defines a single url() method (which must return the URL to the comment). Almost everything else is handled automatically by the suite.

Otherwise, comments work largely similar to the way they work in 3.x. Moderators can edit, hide, approve and delete comments. You can allow certain users to reply to locked content (e.g. to leave a comment on something that is locked), but otherwise locked content cannot be commented on. You can use multi-moderation on comments and you can quote and multi-quote comments. All of the functionality you would expect to see is still present.




Reviews

There are only a few primary differences between reviews and comments.
You may only leave a single review on a content item. Once you have left a review, you will not be able to leave another. When leaving a review, you are presented with a 5-star panel from which you should select your star rating. Some applications may further restrict your ability to leave a review. For instance, there is an option in IP.Downloads to only allow users who have downloaded a file to leave a review.


As of the 4.0 Community Suite, any application can now support reviews just as easy as commenting. Further, as a developer you can support both simultaneously (and, typically, the administrator can disable one or both systems if they choose). Reviews work almost the same as comments from an implementation perspective. You create a review content comment class, and you define a specific property in the content item class. For IP.Downloads you will see this in the content item class
/** * @brief Review Class */ public static $reviewClass = 'IPSdownloadsFileReview';
And then you will find a review class at IPSdownloadsFileReview, which extends IPSContentReview (which in turn actually extends IPSContentComment). The review class for IP.Downloads, just like the commenting class, only contains a single method to define how to generate the URL, as well as a few required properties.


When reviews are left and a star rating is applied, this rating is averaged and applied to the content item. A content item could in theory support both the traditional star rating system (like you might see in IP.Downloads or even in IP.Board in the 3.x product line) and reviews at a technical level, however it is recommended to prevent confusion that you either use the traditional rating system OR reviews, but not both simultaneously. Most applications in 4.0 that support reviews will not support the traditional rating system as a result.



You will note in this screenshot that because I have not yet downloaded the file (which is an optional reviews-related restriction in IP.Downloads) that I am unable to review the file at present. When a user does not have permission to do something, the 4.0 community suite makes every effort to clearly indicate why the user is unable to accomplish a given task.

Other users reading a review can determine if they found the review helpful or not (although you are unable to specify this on your own reviews of course), and these yes/no votes are subsequently tallied in order to allow users to sort reviews by "most helpful" per the sorting buttons at the top right of the above screenshot.




Wrapping up

Applications are capable of displaying either reviews or comments (or both) in any manner they wish, however you will find that most applications in the 4.0 suite that support reviews and/or comments will display them in a fashion similar to the above screenshots (noting all the typical "these are early screenshots and the final product may appear different" disclaimers). By supporting both of these similar yet slightly different functionalities out of the box, we believe our first party applications as well as third party applications by our talented development community can really shine and allow end users to interact with the community in logical and focused ways. We hope these changes allow you to set up your own community to cater to your users in the manner best suited to your community.
  • 14,350 views
IP.Calendar has supported basic recurring calendar events for many versions now. You can create events that recur weekly, monthly or yearly in IP.Calendar, and they will automatically show up on their specified schedule. While this capability is certainly useful, we felt it was time to enhance event recurrence capabilities in the next version of IP.Calendar.


New options

Recurring every week, month or year is useful, but there are many other ways events can recur and IP.Calendar has no provisions to accommodate those recurrence types in the 3.x IP.Calendar release. For 4.0 we have added several new recurrence-based options to the calendar.

Recur daily, weekly, monthly or yearly
In addition to the three options available in previous versions, you can now configure events to recur daily.

Recurrence frequency
You are no longer restricted to recurring every week (or month or other time period). You can now configure events to recur every 2 weeks, or every 3 months, or every 10 days, or whatever period of time you need to.

Weekly recurrence: days of the week
If your event recurs weekly, you can now specify the days of the week the event should recur on. This means you can configure an event that recurs weekly on every Tuesday and Thursday, for instance.

Recurrence timeframe
In previous versions of IP.Calendar, the end date specified when the event should stop recurring. In 4.0, the end date/time specifies when the original recurrence end date/time are. This means you can have an event that lasts 2 days and recurs annually, for instance (in other words, recurring ranged events). When configuring the event, you now have three options for specifying the recurrence information:
Never end End after a certain number of occurrences End on a certain date


You can now configure events like Christmas which never end, you can configure meetings which have a certain number of occurrences before they are finished, and you can configure recurring events that end on a certain date.


As you can see, the options have been greatly expanded to accommodate many more types of recurring events.




Some technical details

At a technical level, event recurrence data is stored as an "RRULE", just like the iCalendar specification will specify. In fact, the data should be a 1:1 equivalent. If you import iCalendar events which have recurrence capabilities not supported by calendar, those events will be skipped during the import routine (as they are presently), however there are now far fewer recurrence capabilities that are wholly unsupported.

By storing the exact RRULE value we have a few benefits over previous versions of Calendar:Event importing is simpler, as we can copy the rule directly into the database unmodified (after verifying we support all parameters) Event exporting is simpler for the same reason We can expand recurring event support in the future if necessary with few database changes necessary


Using PHP you can easily find future event recurrence details using the nextOccurrence() method.
/** * Find the next occurrence of an event starting from a specified start point * * @param IPScalendarDate $date Date to start from * @param string $type Type of date to check against (startDate or endDate) * @return IPScalendarDate|NULL */ public function nextOccurrence( $date, $type='startDate' )
This instance method is run against a calendar event, passing in a date to find the next occurrence from. You can look for either start date or end date.
  • 10,490 views

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.