Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 11/01/2024 in all areas

  1. Invision Community 5 is currently in beta testing for all customers with the Invision Community Classic license. Invision Community Cloud customers can request a private demo to test the latest version. After months of development work, we're pleased to move Invision Community into beta testing, the final phase before its stable release. We'd love your help to find the last few bugs. You can join our Invision Community 5 Beta Testing Club and download the beta onto your test site or request a cloud demo. During the early stages of testing, we've implemented a lot of feedback, and I wanted to show you a few of the key changes we've not discussed in previous news blogs. Image Resizing Our brand new Invision Community 5 editor has many great features and quality-of-life improvements, one being the ability to resize images via drag handles. You can still specify a precise pixel value in the image menu, but the ability to resize using grab handles makes it easier to find the right size for your images. ResizeImage.mp4 Embed Resizing We can also resize embeddable media, such as YouTube, in the same way as you resize images. You can resize by using the grab handles or set a specific pixel value, giving you fine control over the size of your embedded media. embedresize.mp4 Page Editor Widgets We spoke about our new page editor in a recent blog, but a common request was to make it easier to find the right widget without a lot of scrolling up and down the menu bar. We've implemented a search filter enabling you to quickly find the right widget and a favorites system to pin your most used widgets to access them much quicker. widgets.mp4 Pages Database Layout Options A common request has been to make changing the look of the Pages database index and listing easier. Currently, with Invision Community 4, this means coding new templates by hand or using one of the many excellent pre-designed templates available from third-party developers. With Invision Community 5, we've brought the same magic we used with widgets to databases, allowing you to select from many layout options such as rows, grids, and wallpapers. You can still use a custom template, but these new layout options make it much easier to get the UI you need for your community. pagesDatabase.mp4 These are just a few of the many changes implemented since we opened Invision Community 5 for testing. We hope to see you in the beta club soon!
    24 points
  2. Invision Community 4.7.19 contains a significant upgrade to the Report Center to improve compliance and professionalism within the reporting workflow. The existing report center functions well enough but lacks some of the more professional tools modern communities need when managing complaints. In previous versions, a member or guest reported a piece of content, such as a comment or topic, which was then handled by the community team behind the scenes, and the report closed when dealt with. It was up to the community team to inform the original content author if any decision was made and to inform those who reported the content of the outcome. The Invision Community November update improves the report center with a better workflow, including asking those reporting the content the reason for the report, notifications on the report outcome, and the content author being notified as to why their content was moderated. Now, a report can be closed as valid or rejected. These new completion statuses allow you to signal whether your team found the report valid or whether you decided that the report was not required and thus rejected. Let's look at what has changed. Admin Control Panel The initial Report Center interface now has various options to control how the public reporting form works. From here, you can configure how reporting works for guests, whether they are required to leave a name (email is always required), and whether a message is required for the report. Content Author Notifications In this section, you can create notification templates that can optionally be sent to the author of the original content when choosing to complete or reject the report. Report Types In previous versions, report types were solely for automatic moderation. In this update, we've brought report types to both automatic moderation and public reporting. Gathering the reason content has been reported is vital in deciding the outcome. Each report type can also accept a message sent to the person who made the report depending on the valid or rejected outcome via an email notification that can be opted out of. Reporting Content Now, when a logged-in member or a guest user reports content, they can select from one of the pre-configured report types. If a guest is making the report, they are asked to leave their details along with a message to accompany the report. Managing Reports When managing reports via the ModCP, the interface has been updated to make the status of the report and the reasons for the report clearer. This screenshot shows green rows, which are new reports that still need to be managed by the team, along with yellow rows, which are currently under review. Each row of reported content can have multiple reports from different members, and the reason for those reports (such as Spam, Offensive, etc) is shown in labels. Viewing reported content now shows more detail in the user reporting section. If a guest has reported the content, the guest's name and supplied email address are shown, and clicking this allows you to send an email to them. The reason for the report is now shown. For each user report, you can change the submission reason, and this change is logged in the moderator comments to create an audit trail. You can now mark the report as Complete or Rejected, which will trigger an email for all those who have reported this piece of content. You can also send one of the notification templates to the content author to update them on why their content has been moderated. This email to each person who reported the content contains the date, content title, and reason for reporting, along with the pre-configured message for the report outcome. In this case, the report was flagged as valid, and the message to the person who reported it confirmed the outcome. Putting it together These changes help automate notifying both the author of the content and the person who reported the content on the outcome. Let's look at an example flow to understand how these new tools help the workflow. In this example, User A (Author) creates some content, and User B (Reporter) decides to report this content, choosing "Offensive" as the reason for the report. The moderation team picks up the report, examines the reported content, and decides that the report is valid, so they mark the report as complete and choose to use a notification template to tell the content author (User A) that their content has been removed. As the report has been flagged as complete, the person who reported the content (User B) receives an email telling them the report has been upheld and action has been taken. We hope these changes improve your experience with the report center. Let us know what you think below.
    19 points
  3. As we move closer to releasing Invision Community 5, I wanted to review a few key features I believe your members will love after you upgrade to Invision Community 5. The all-new editor We have to start with the brand new editor, recoded and redesigned from the ground up. The new editor is not just faster and leaner, but also remarkably user-friendly, ensuring an upgraded experience for your members in Invision Community 5. Your members will love the streamlined toolbar that no longer hides buttons on smaller devices. They'll also appreciate the new emoji and icon panel, which allows them to insert over 1,700 icons to enhance their posts. Content boxes, resizing images, and media embeds via drag handles will also be well received. Finally, small UI improvements, such as new line arrows on blocks that can be tapped or clicked to insert new lines accurately, will end fiddly cursor placement and settling for poor spacing. The editor is the most important touch point within your community, so we wanted to ensure that Invision Community 5 does this perfectly. New live community features I can speak from experience that when I see other people typing, I'll stick around to see what they say. Likewise, if I post a topic and I see multiple people reading it, I'll keep tabs on it to see if any replies come in. These are not just great engagement features but also an exciting experience. Invision Community 5 takes it further, blurring the lines between group chat and a traditional topic. Now, when a new reply or reaction is made, it will appear magically on your screen, keeping your members on site for longer. Your members will love feeling like they are part of the live community and watching reactions and replies in real-time. They'll also appreciate seeing their notification bell numbers increase without having to refresh or move between pages. Topic Summaries Time is our most valuable resource. Your members use many apps and communities in a day, so when they make time to visit your community, we want to ensure that they get the most from your forum in the shortest amount of time possible. Long topics are great but few have the time to read through dozens of pages. Topic summaries take the very best of a topic and remove the rest, allowing your members to optimize their time well while on your community, making their experience more efficient and productive. They'll love keeping up to date with more topics without scrolling past gifs and side quests. Dark mode and the new mobile experience Late-night scrolling becomes much more comfortable with Invision Community 5's native dark mode. Your members will love being able to choose a mode or allow it to sync with their devices, giving them a uniform experience across the many apps they browse. They'll also appreciate the new user experience, which includes improved performance, better accessibility for screen readers, and a vastly improved phone experience. We've made sure Invision Community 5 is mobile first. The new tagging experience Invision Community 5 reinvents tagging to make it more community-focused and increase content discovery across all apps. With its new tag pages, you can easily bring gallery photos, forum topics, events, and blog entries into a single page in Invision Community 5. Your members will love following their favourite tags to get notifications on new content and discover more of your community they are interested in without having to browse many forums and different areas of your community. These are just the top five features we think your members will love. Are you looking forward to these features or perhaps some of those not mentioned here? As always, let us know in the comments.
    16 points
  4. Invision Community 4.7.19 will be released in November and contains many updates along with the report center improvements. While Invision Community 5 moves through the beta process, I wanted to let you know about all the updates coming in Invision Community 4. I've already spoken about the Report Center updates, which bring more professionalism and compliance to that area, and this blog will outline a few other highlights for the forthcoming release. Dormant Account Login Notification Keeping member accounts secure is a top priority for all community teams, and with data breaches containing usernames and passwords regularly shared on the dark web, it makes sense to be vigilant to a potential account takeover. Your members will now receive an email if a successful login occurs six months or more since the last log in to ensure the account is still in the right hands. If the account owner is not responsible for logging in, they can contact the community team to ensure the account is returned to the owner. Prepare for Invision Community 5 We have added a new information dashboard to the AdminCP so you can review the impact of the upgrade and ensure the PHP and MySQL versions are suitable. Of course, our Invision Community Cloud customers need not worry about this as we take care of it for you. You can also see impacting items you may want to know, such as deprecated and removed features that your community currently has enabled. This dashboard is a great starting point for evaluating your upgrade when the time comes. SEO Improvements We regularly review SEO best practices to ensure that your community presents itself in the best way to search engine bots and spiders. This update comes in two parts; the first is a new crawler setting to reduce links on the page for guests and search engine bots. This new feature removes hyperlinks around dates in comment feeds and removes the sharer menu item that shows the sharing box. These links dominate the crawl budget for little value, leaving little time for crawlers to work their way deeper into your content. The second SEO-focused feature is the permalinks to specific comments throughout the community. Currently, the permalinks point to a content handler (do=findComment&comment=123) that locates the correct page number and then issues a 301 redirect to the correct page (topics/1-topic-title/page/2/#comment-123). While 301 redirects are not a problem for search engines, and it's been a long time since a 301 redirect incurred any SEO penalty, the permalink is in a different format to the actual comment URL, which is handled via a fragment. Putting aside search engine optimization for a moment, working to eliminate a lot of redirects positively impacts performance. The new permalink is simply the actual link using a fragment to locate the post in the browser's viewport. This removes the need for a 301 redirect and reduces any search engine confusion over the permalinks canonical URL. Of course, the page number may change if topics are merged or many posts deleted, and we have some client scripting magic to handle that eventuality. It's an exciting time here at Invision Community with a brand new version in development and several new features for our stable product line. Let us know if you have any questions in the comments. View full blog entry
    15 points
  5. Invision Community 5 is currently in beta testing for all customers with the Invision Community Classic license. Invision Community Cloud customers can request a private demo to test the latest version. After months of development work, we're pleased to move Invision Community into beta testing, the final phase before its stable release. We'd love your help to find the last few bugs. You can join our Invision Community 5 Beta Testing Club and download the beta onto your test site or request a cloud demo. During the early stages of testing, we've implemented a lot of feedback, and I wanted to show you a few of the key changes we've not discussed in previous news blogs. Image Resizing Our brand new Invision Community 5 editor has many great features and quality-of-life improvements, one being the ability to resize images via drag handles. You can still specify a precise pixel value in the image menu, but the ability to resize using grab handles makes it easier to find the right size for your images. ResizeImage.mp4 Embed Resizing We can also resize embeddable media, such as YouTube, in the same way as you resize images. You can resize by using the grab handles or set a specific pixel value, giving you fine control over the size of your embedded media. embedresize.mp4 Page Editor Widgets We spoke about our new page editor in a recent blog, but a common request was to make it easier to find the right widget without a lot of scrolling up and down the menu bar. We've implemented a search filter enabling you to quickly find the right widget and a favorites system to pin your most used widgets to access them much quicker. widgets.mp4 Pages Database Layout Options A common request has been to make changing the look of the Pages database index and listing easier. Currently, with Invision Community 4, this means coding new templates by hand or using one of the many excellent pre-designed templates available from third-party developers. With Invision Community 5, we've brought the same magic we used with widgets to databases, allowing you to select from many layout options such as rows, grids, and wallpapers. You can still use a custom template, but these new layout options make it much easier to get the UI you need for your community. pagesDatabase.mp4 These are just a few of the many changes implemented since we opened Invision Community 5 for testing. We hope to see you in the beta club soon! View full blog entry
    13 points
  6. Invision Community 4.7.19 will be released in November and contains many updates along with the report center improvements. While Invision Community 5 moves through the beta process, I wanted to let you know about all the updates coming in Invision Community 4. I've already spoken about the Report Center updates, which bring more professionalism and compliance to that area, and this blog will outline a few other highlights for the forthcoming release. Dormant Account Login Notification Keeping member accounts secure is a top priority for all community teams, and with data breaches containing usernames and passwords regularly shared on the dark web, it makes sense to be vigilant to a potential account takeover. Your members will now receive an email if a successful login occurs six months or more since the last log in to ensure the account is still in the right hands. If the account owner is not responsible for logging in, they can contact the community team to ensure the account is returned to the owner. Prepare for Invision Community 5 We have added a new information dashboard to the AdminCP so you can review the impact of the upgrade and ensure the PHP and MySQL versions are suitable. Of course, our Invision Community Cloud customers need not worry about this as we take care of it for you. You can also see impacting items you may want to know, such as deprecated and removed features that your community currently has enabled. This dashboard is a great starting point for evaluating your upgrade when the time comes. SEO Improvements We regularly review SEO best practices to ensure that your community presents itself in the best way to search engine bots and spiders. This update comes in two parts; the first is a new crawler setting to reduce links on the page for guests and search engine bots. This new feature removes hyperlinks around dates in comment feeds and removes the sharer menu item that shows the sharing box. These links dominate the crawl budget for little value, leaving little time for crawlers to work their way deeper into your content. The second SEO-focused feature is the permalinks to specific comments throughout the community. Currently, the permalinks point to a content handler (do=findComment&comment=123) that locates the correct page number and then issues a 301 redirect to the correct page (topics/1-topic-title/page/2/#comment-123). While 301 redirects are not a problem for search engines, and it's been a long time since a 301 redirect incurred any SEO penalty, the permalink is in a different format to the actual comment URL, which is handled via a fragment. Putting aside search engine optimization for a moment, working to eliminate a lot of redirects positively impacts performance. The new permalink is simply the actual link using a fragment to locate the post in the browser's viewport. This removes the need for a 301 redirect and reduces any search engine confusion over the permalinks canonical URL. Of course, the page number may change if topics are merged or many posts deleted, and we have some client scripting magic to handle that eventuality. It's an exciting time here at Invision Community with a brand new version in development and several new features for our stable product line. Let us know if you have any questions in the comments.
    13 points
  7. It'll be as simple as upgrading to 4.7.20 (when it's available!)
    12 points
  8. Matt

    Here's Beta 6

    Beta 6 is now available 😮 Another week, another beta! More bugs squished thanks to your feedback and testing. The full list is available as always on our release notes page. Let us know how it goes.
    9 points
  9. There's a lot for your members to love with Invision Community 5, and we recently covered five of the best features. Today, I want to discuss five features your team will love. One of the main concepts for Invision Community 5 was to reduce the complexity of power-user tools like theming and page building. These functions had been built around those with deep technical and coding knowledge, locking out many community teams. We also wanted to build new tools to help busy community teams organise, moderate and identify trusted members. Did we achieve that? Let's look at five new features we think your team will love in Invision Community 5. The new theme editor I can't describe how much I love the new theme editor. It is everything we wanted for Invision Community 5 and more. Now, anyone can manage their theme without needing to be knowledgeable in HTML and CSS. There's so much to discuss, so it's best to head over to the news article we put together. From an easier way to select colours and drag-and-drop header arrangements to simpler ways to upload logos and preview your community on tablets and mobiles, the theme editor puts all the power and complexity of managing themes into the hands of your community team. The editor, combined with the new views, such as the feed view for forums, article-like featured first post in topics, and the new sidebar view, Invision Community 5, really does take things to the next level. The new page editor We've taken the concepts of drag-and-drop widgets to a higher level with Invision Community 5. You no longer need to create custom blocks using HTML and CSS to produce fantastic custom pages. With the new page editor, you can access a library of pre-built widgets with multiple view options, such as grids, rows, and carousels. Coupled with the power of Pages databases, you can quickly build custom pages to showcase the best content from your community. Jimi, a valued customer, recently created a walkthrough video showcasing the new theme and page editors. It is a must-watch to experience the system's power. Assign topics Getting the right help to your members at the right time can take time and effort. Pairing a community question with the expertise of specific team members can require some manual overhead with external systems. It can also be difficult to hold your team accountable, ensure they are answering questions in good time, and get an overview of their assignments. These issues are fixed in Invision Community 5 with the topic assignments feature. You can assign a topic to a specific member of your team or a group of members. You also have complete oversight on the volume and time required to reply to your entire team. It's a great feature that helps keep your community running smoothly. Badge creator and icon picker This feature is a dark horse. At first glance, it looks like a nice feature, but perhaps it is something that you may not use. However, I believe this is a feature your team will love. There are many areas where you may need custom graphics. We have rank badges, one-off celebration badges, custom reactions and more. In the past, you'd have been required to do this with apps like Illustrator or Photoshop and import them back in. As part of our vision to bring power tools to everyone, we built a badge creator that allows you to combine over 1,700 icons and hundreds of emojis with badge backgrounds to quickly create custom badges and reaction icons. It really only takes a few minutes to create all the custom graphics your community needs. In addition, there are now many areas, such as menu items, where you can use icons and emoji to enrich your user experience. Who doesn't love the ability to create badges without needing a designer? Community Experts Community experts are vital to the well-being of any community. The Pareto principle holds true in your community. Twenty percent of your members create eighty percent of the interactions across your community, but featuring those members to newer users can be difficult. In the past, we've relied on metrics such as the date they joined and the number of posts they've made, but these celebrate longevity but not expertise. Invision Community 5 uses a bespoke algorithm to identify and feature experts based on the speed, accuracy and helpfulness of their responses. This not only celebrates those members with an exclusive badge and notification, but it also helps other users identify those community leaders who are more likely to help them and guide them through their journey with you. We think your team will love that Invision Community 5 identifies these members for you and allows them to help lead your community. I could have easily written about ten features your team will love, but these are my top five. Do you agree? Which features are you most looking forward to? Let us know in the comments.
    9 points
  10. Matt

    Beta 5 is alive!

    Beta 5 is out, and you can blame Mick for the title of this post. 😅 If you're under 40, you'll have no idea what that gif is all about, don't worry. It's just an ancient movie from the before times. Anyway, Beta 5 is working its way through the cloud system and will be available in your AdminCP shortly. As always, the full change log is here: https://invisioncommunity.com/release-notes-v5/ Thanks!
    9 points
  11. Several questions have arisen regarding the v5 Editor Extension system. While we have yet to create a fully fleshed out dev docs center, I wanted to share a tentative, high-level rundown of what's possible. What you need Before continuing, I want to state this material is intended for developers. It is expected you have prerequisite knowledge of JavaScript, and have also read through and understand the tiptap core concepts. Lastly, I want to restate the extension framework is a work in progress subject to change, and therefore the specifics in this post are all tentative, whereas the final v5 docs will be posted elsewhere. Introduction It is possible to add 3rd party plugins which have direct access to the Tiptap APIs from the following editor methods ips.ui.editorv5.registerExtension(name, definition) ips.ui.editorv5.registerNode(name, definition) ips.ui.editorv5.registerMark(name, definition) The definition is forwarded to the corresponding Tiptap extension generator Extension.create(definition), Node.create(definition) or Mark.create(definition). Several important concepts and differences between the Tiptap definitions and the ones in ips.ui.editorv5 are noted below Add Buttons Perhaps the most important addition to the underlying Tiptap definition is the ability to specify an addButtons() method which adds buttons to the toolbar The method should return an object mapping strings to ButtonDefinitions, for example const buttonDef = { addButtons() { return { test1: { html: '<div>Red background</div>', command: ({commands}) => commands.toggleMark(this.name), locations: [ { after: 'bold'} ], isAvailable: editor => editor.can().setMark(this.name), isActive: editor => editor.isActive('bold') } } } } Button Lang Strings Make sure to register a lang string for the button either in the jslang.php file of the app or by calling ips.setString(key, value) directly. This string is used for the tooltip on the button, set it to an empty string to remove the tooltip. The button lang key is generated as follows ipsCustom{ExtensionType}__{ExtensionName}_{ButtonKey} where ExtensionType is Extension, Node or Mark and is determined by the type of plugin ExtensionName is the name you passed to registerExtension, registerNode or registerMark ButtonKey is the key in the object returned by addButtons() Button Content There are 2 ways to add content to a button: ButtonDefinition.html - String - This string is parsed, sanitized then set as the innerHTML of the button in the toolbar. All attributes except 'class', 'style', 'id', 'src', 'title', 'rel', 'alt' are removed All the following elements are removed: 'script', 'link', 'style', 'pre', 'code', 'iframe', 'object', 'embed', 'noscript', 'video' Only the first element is preserved. For ex, <div>some content></div><img /> would have to be wrapped in another element ButtonDefinition.element - HTMLElement - Alternatively, you can use a HTMLElement instance. It is sanitized in the same way as the html Also, note that, even if you specify an HTMLElement, only a copy of its outerHTML is inserted in the toolbar, so things like event listeners or references to the element will not return the element in the toolbar ButtonDefinition.command - function({...CommandProps, event?: MouseEvent}):void Called whenever the button is clicked. This function is passed the arguments object provided by editor.commands.command(props), with the additional property event which is the click event. ButtonDefinition.isActive - function(Editor):boolean|boolean|undefined This is called to determine if the button should have an 'active' class applied. It's passed the editor instance. Alternatively, you can pass a boolean to make it always active or inactive. If omitted, the button will never have the 'active' styling ButtonDefinition.isAvailable - function(editor):boolean|boolean|undefined This is called to determine if the button should be available in the toolbar. Like the isActive property, it gets passed the editor and returns a boolean ButtonDefinition.locations - (LocationDef|Location|null)[] The locations determine where the button will appear. Each element should be either the Location directly or a LocationDef. You null is interpreted as "put this at the end of the toolbar" Omit the locations array to add the button to the end of the toolbar Location - string - A location is a string representing a button key of another button in the toolbar. You can also put the button in dropdown toolbars using the following strings as a Location align__nested - the text align options format__nested - the extra options that exist inside the ... dropdown insert__nested - the + insert button (where the boxes and quotes natively live) LocationDef - Object LocationDef.before - Location|undefined - Optional: The key of another item in that toolbar that this button should be placed before. If there is no button with the provided key, the button is added to the end of the toolbar. LocationDef.after - Location|undefined - Optional: Same as before, except this button will appear after the provided button. If you define both LocationDef.before and LocationDef.after, the after rule will apply unless that item is nonexistent See the [data-toolbar-item] attribute of items in the toolbar to get the key of items. Use traditional JS functions All the root-level methods of the definition object get bound to the built extension, so it is very important you use traditional functions instead of arrow functions for the root-level methods. For example, the following would not work ips.ui.editorv5.registerNode('myextension', { addButtons: () => ({ makeRed: { html: "<div>make red</div>", isActive: editor => editor.isActive(this.name), ... } }) }) But this would ips.ui.editorv5.registerNode('myextension', { addButtons() { return { makeRed: { html: "<div>make red</div>", isActive: editor => editor.isActive(this.name), ... } } } }) Conversely, it is recommended to use arrow functions instead of traditional functions for any closures (functions created inside the root-level methods). Doing it this way ensures the this keyword is preserved. For example ips.ui.editorv5.registerNode('myextension', { addKeyboardShortcuts() { return { // BAD Enter({editor}) { return editor.commands.toggleMark(this.name) // `this` may not be defined as expected }, // GOOD Escape: ({editor}) => { return editor.commands.unsetMark(this.name) // `this` refers to the extension definition itself } } } }) The plugin name Unlike the Tiptap API, you don't need to pass a name in the definition itself. The editor method will automatically add the name depending on the extension type (Node, Mark, or Extension) and the name argument of the register<Node|Mark|Extension>() method. That being said, keep in mind You should be especially careful to make sure your name is unique. There can only be one extension of a given type with the same name. Use this.name in the definition methods rather than the string name you give. All the root-level methods of the definition are bound to the generated extension so no worries about this not being defined Be careful adding __ (double underscores) to the name, or to the restrictions (see below) for that matter. This can potentially lead to conflicting lang strings... for example if the extension is my__extension, and someone creates another extension named my with a restriction extension, the restriction's lang string will likely conflict with this extensions' lang string. Restrictions The Editor has 3 possible states: Minimal, Standard and Advanced. Community Admins can configure which user groups use which state, and can add restrictions to a given state level. For example, the feature "convert links to iframes" can be restricted to the Advanced Editor; in this case, the raw_embed restriction will be present unless the Advanced Editor is used. From the perspective of apps, however, each restriction is a string, and you can see if a restriction is active by checking editor.options.restrictions.has(restriction) (editor.options.restrictions is of the type Set<string>). When a restriction is present the functionality corresponding to it should be disabled. The editor has no knowledge whether it's in the Minimal, Standard or Advanced state, but only whether the restriction string is present. You can define restrictions for your extension by adding an array of strings as the property restrictions in your definition. Every restriction Must contain only letters, numbers dashes and underscores. Gets prefixed before passing to internal handlers with ipsCustom(Node|Mark|Extension)__{extension_name}__, where Node|Mark|Extension corresponds to the extension type, and extension_name is the name arg passed when registering the extension. It is a lot to type but this ensures there won't be conflicts with other restrictions. This prefixed name is also what gets added to the set editor.options.restrictions Must have a lang string containing the human-readable name registered. The lang string tells admins what the feature does, and a warning is raised when there is not one. This can be added either to jslang.php in an app before building it, or by calling ips.setString(restrictionKey, 'Human Readable Name') For example, in the js: ips.ui.editorv5.registerNode('myNode', { restrictions: [ "can_add" ], addButtons() { return { addSomething: { isAvailable: editor => !editor.options.restrictions.has('ipsCustomNode__myNode__can_add'), html: '+', } } } }) To add the lang string in the JS, you'd add this before or immediately after registering the node ips.setString("ipsCustomNode__myCustomNode__can_add", "Can add myNode nodes?"); Or, ideally, in jslang.php, add $lang = array( // ... other keys ... "ipsCustomNode__myCustomNode__can_add" => "Can add myNode nodes?", ); A note on Privileges vs Restrictions A privilege-based system assumes a feature is disabled by default, whereas a restriction-based system assumes it's enabled by default. The Editor Restriction System is, well, restriction-based. Therefore, though it is technically possible to use a restriction as a privilege, where a feature is disabled unless the restriction is present, it is strongly discouraged because it creates a counter-intuitive UI for Admins: it will disappear when a user is less restricted. The Empty Restriction You can also define a restriction with an empty string as the unprefixed key. When this restriction is present, the extension isn't added to the editor instance. For every other key, the onus is on the developer to ensure the restriction is enforced accordingly. ips.ui.editorv5.registerExtension('restrictibleExtension', { restrictions: [ "" ] // "" disables the extension altogether }) ips.setString('ipsCustomExtension__restrictibleExtension__', "Can use the restrictible third party extension") Descriptions For any given extension restriction lang string, you can add a more detailed restriction by creating a lang string with the same key suffixed by :description. This description appears in the AdminCP Restriction Configuration Form. For example, if the restriction itself after prefixing is ipsCustomNode__mynode__, the description would be stored in the lang string ipsCustomNode__mynode__:description. HTML Escaping Lastly, it is also worth noting, for security purposes, any html inside the restriction name or description will be sanitized. For example, the lang definition "<code>" is inserted in the AdminCP Restriction Form's source HTML as &lt;code&gt; IPS Plugins are Sandboxed All the IPS plugin definitions are sandboxed, meaning any properties in the definition that are not whitelisted will be removed. The biggest property that is removed is addProseMirrorPlugins(), but any property not in the following keys will be removed [ 'name', 'group', 'isInline', 'isBlock', 'isText', 'selectable', 'exitable', 'atom', 'addOptions', 'addKeyboardShortcuts', 'addAttributes', 'addGlobalAttributes', 'renderHTML', 'parseHTML', 'onCreate', 'onUpdate', 'onBeforeCreate', 'onFocus', 'onBlur', 'onBeforeCreate', 'onSelectionUpdate', 'onDestroy', 'onTransaction', 'priority', 'defaultOptions', 'addInputRules', 'marks', 'addNodeView', 'whitespace', 'defining', 'isolating', 'renderText' ] Priority The priority key's default value is higher than the Tiptap default. It is recommended to not specify this in the definition unless you know for sure you need to override other custom plugin commands, keyboard shortcuts, or HTML converters, there is no need to set this. How to load the code? Method 1: Using an App (best practice) In most cases, it's best to add your extension inside a custom app. In most cases, the extension will define a new type of content that is not whitelisted by the backend Parser, so it is lost during sanitization. This is why it is beneficial to use an app which has both the extension and a parser rule to whitelist the element/attributes. It also adds organization to your customization so that you won't forget where or how it's setup. To do this, simply put your plugins in *.js files in <your app dir>/dev/editor/. When the app is built and installed it is all compiled and loaded seamlessly on the front end Method 2: Using the ips:editorBeforeInit event For simpler plugins that do not require any new content types (for example a <span> with a style attribute), you can indeed add them inside a <script> tag anywhere in the page, with either inline or remote JS code. To ensure that your extension is registered after ips.ui.editorv5 is created but before the editor is actually created, hook onto the event ips:editorBeforeInit which is fired on the document. For example <script type="application/ecmascript"> document.addEventListener('ips:editorBeforeInit', () => { ips.ui.editorv5.registerMark('redBackground', { parseHTML() { return [{tag: 'span', getAttrs: node => node.style.backgroundColor === "red" && null}] }, renderHTML() { return ['span', {style: 'background-color: red'}, 0] }, ... }) }, {once: true}) // the once:true flag is very useful because it prevents the same code from needlessly running and replacing the extension over and over </script> This code can go anywhere, but directly in the theme is a good place to start. Note it gets cumbersome very quickly this way The actual Event is a CustomEvent instance that has the following in its detail property elem : HTMLElement - The element that has the data-ipseditorv5 attribute textarea: HTMLTextAreaElement - The actual textarea that is being replaced with an editor in a form content: string - The starting content of the editor. options: Object - The config that is about to be passed to the editor. You can modify this object to change the default configuration, but note that this is stateful - you'd have to read/update the options each time the event fires instead of just once like for registering extensions. Font family support It is possible, when listening to this event, to add or change supported font families. At the core, a font family consists of A main property. This is either a global family default (see below) or a string to be added as the first entry in the font-family CSS property An array of fallbacks. The entries, like main, are either a string or a global font family default The editor option ipsFontFamily.additionalFontDefinitions defines additional fonts as an object mapping the name to the font definition. For example, to add fonts from the ips:editorBeforeInit event document.addEventListener('ips:editorBeforeInit', e => { e.detail.options.ipsFontFamily = { additionalFontDefinitions: { "Comic Sans": { // the user will see "comic sans" in the dropdown main: "Comic Sans MS", // this is added to the CSS property fallbacks: [7] // 7 corresponds to 'sans-serif'. The compiled font family property will be `font-family: "Comic Sans MS", sans-serif; } } }; }) Extending Fonts For any builtin fonts, you can define them in your plugin to change their behavior. For example, if you have MS-specific versions of Helvetica installed on your community, you could set fallbacks: ['Helvetica MS']. This will make Helvetica MS the first fallback, while preserving the default fallbacks after it. Global Family Constants In css, certain keywords are accepted as the font family which will translate to dynamic CSS behavior or OS preset fonts. The following numbers can be used in lieu of a font string to embed these keywords. Note the type number MUST be used in the js, not the stringified object property shown below { "6": "serif", "7": "sans-serif", "8": "monospace", "9": "cursive", "10": "fantasy", "16": "emoji", "17": "math", "18": "fangsong" } Builtin support for unknown fonts The option ipsFontFamily.allowUnknownFonts works as follows. When processing HTML, if there exists a span[style] tag in the HTML that defines a font-family and the font is unknown, the editor will construct a temporary font family definition and preserve its value. That being said, the custom font will be forgotten should the user change the font to a builtin choice; to ensure an option remains visible, you'll need to define it in your extension. It is generally good practice to not allow these fonts as they will have varying support across devices. Example Plugin This is an example of an Extension which will register a Mark that creates <kbd> elements to denote keyboard shortcuts ips.ui.editorv5.registerMark('myKbdElement', { exitable: true, parseHTML() { return [{ tag: 'kbd' }] }, renderHTML() { return [ 'kbd', { style: ` border-color: var(--i-color_hard); background-color: var(--i-background_2)` }, 0 ] }, addButtons() { return { test1: { html: '<span><i class="fa-solid fa-keyboard"></i></span>', command: ({chain}) => chain().toggleMark(this.name).focus().run(), // This puts the button before bold, after the 'link' button, inside the `...` menu and at the end of the toolbar locations: [ { before: 'bold' }, 'link', 'format__nested', null ], isAvailable: editor => editor.can().setMark(this.name), isActive: editor => editor.isActive(this.name) } } }, addKeyboardShortcuts() { return { // "Mod" is command or ctrl, depending on system defaults; "Mod-Shift-K": ({editor}) => editor.chain().toggleMark(this.name).focus().run() } }, restrictions: [ "" ] }) // This sets the restriction string. Ideally, this should go in the jslang.php of your app but it is ok to do this here ips.setString("ipsCustomMark__myKbdElement__", "Can apply keyboard styles"); ips.setString("ipsCustomMark__myKbdElement_test1", "Keyboard Command"); Note that, in this case of <kbd> elements, you'd also have to add a parser rule via the AdminCP Dev Center to allow them to be saved.
    9 points
  12. Can you start from a stock Invision Community 5 installation and have it themed, customized, and a new homepage built in under an hour without relying on custom templates and coding? Yes, and Jimi Wikman, a long-time Invision Community customer, did just that in his latest YouTube video. Jimi has over twenty-five years of experience in development and twenty years of experience in graphic design. Invision Community 5 has been in testing for a few months now, and Jimi produced this amazing walkthrough of Invision Community 5's new page editor and theme editor while re-creating his own site. Our vision for Invision Community 5 was to put the power into the hands of everyone, not just those who are proficient in PHP, HTML, and CSS. Jimi's video shows this vision as a reality as he moves through the theme editor to create his custom theme, and the page editor to build a custom homepage. Sit back and enjoy watching Jimi put together a new site. Thanks Jimi! If you're interested in testing Invision Community 5 for yourself, just join our Beta Testing Club.
    9 points
  13. Matt

    Beta 4 is through the door!

    It's Friday. It's the afternoon in the UK, so that can only mean... another beta release! Beta 4 is working its way through the cloud right now and should be available via your AdminCP soon. As always, the full list of changes is available via the release notes page. Those that upgraded from v4 and found white space where images in posts should have been will find this release should fix those "missing" images. Let me know how it goes!
    8 points
  14. Over the next few days you will see some improvements for static resources served on our network. Static resources are items like images, videos, JavaScript, CSS, and any other file attachments. These changes do not yet apply to your actual dynamic community pages. We will follow up with more updates on improvements we are making there. Brotli Compression When your browser supports it, all static files will use Brotli compression. Brotli offers a higher compression which often results in faster page load times. WebP Images WebP is an image compression format that offers higher compression for images which also results in faster load times. Most images will automatically be served as WebP with no input from you. We will be also adding an option to opt-out of WebP compression for your community if your focus is on high-quality images. High Cache Hits We can now server a greater percentage of request as a cache hit which means responses will be more geographically centered where you are. More speed improvements. EU Restrictions For clients choosing to host in our EU region, your static media is already stored in the EU. Our new changes will also mean that the network layer will also be restricted to EU locations. If you are interested in moving your Invision Community to our EU region, please contact us. There is no charge to move to EU on the Creator Pro package and above. Better Analytics In a future release, you will be able to see static media storage, bandwidth, and traffic statistics in your AdminCP. Video Speed Viewing videos will be greatly enhanced with chunked buffering allowing for more responsive skipping to different parts of videos and faster encoding of newly uploaded videos. Enhanced Security Files that require a signed URL for download will be more secure and allow for more reliable signing. We will also be enforcing the latest version of TLS for connections and implementing connection rate limiting to disallow scraping. Finally, we will be implementing bot control to block unfriendly bots or things like AI bots that do not provide direct SEO benefit. We hope you enjoy these improvements. Look for more updates as we announce other back end improvements to speed, security, and stability.
    8 points
  15. Pages tutorial incoming...
    8 points
  16. Is this a BAD reputation, or a Good reputation?
    8 points
  17. I have got several people want me to share my bugtracker i make for my homepage exported from beta 3 built and imported to beta 3 built so you should not try on alphas or erlier betas. Multilang bugtracker Definition widget Import the database and start play with it . Import database Version 1 Bugtracker.xml Version 2 English only (With critical, where the bug is) Bugtracker-2.xml v5 have superb listing layouts now for listing database records. here rows-grid-wallpaper Add a bugtracker definition widget on the bugtracker page Add a RAW HTML widget , open the setting and add this code <strong> {lang="my_bugtracker_definition_widget"} </strong></br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--new'>{lang="my_bugtracker_new_bug"}</span> {lang="my_bugtracker_new_bug_desc"} </br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--solved'>{lang="my_bugtracker_solved_bug"}</span> {lang="my_bugtracker_solved_bug_desc"} </br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--featured'>{lang="my_bugtracker_cannotreflect_bug"}</span> {lang="my_bugtracker_cannotreflect_bug_desc"} </br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--author'>{lang="my_bugtracker_work_bug"}</span> {lang="my_bugtracker_work_bug_desc"} </br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--negative'>{lang="my_bugtracker_waiting_bug"}</span> {lang="my_bugtracker_waiting_bug_desc"} </br></br> <i class="fa fa-solid fa-bug"></i> <span class='ipsBadge ipsBadge--hot'>{lang="my_bugtracker_no_bug"}</span> {lang="my_bugtracker_no_bug_desc"} </br></br> Advanced Bugtracker by @Chris59 Adding lang to bug tracker Go to ACP Costumization/localization/Languages We need to add phrases for the bugtracker For the badges and choosebox my_bugtracker_definition_widget my_bugtracker_new_bug my_bugtracker_solved_bug my_bugtracker_cannotreflect_bug my_bugtracker_work_bug my_bugtracker_waiting_bug my_bugtracker_no_bug For the widget we need those phrases my_bugtracker_new_bug_desc my_bugtracker_solved_bug_desc my_bugtracker_cannotreflect_bug_desc my_bugtracker_work_bug_desc my_bugtracker_waiting_bug_desc my_bugtracker_no_bug_desc Will look like this when you finish --> Now we need the filterbox widget on the bugtracker landingpage Page editor and add the widget 'database filters' Not you must have one category to make widget visible So now we need to add the category for the filter widget to show up , on the database settings for bugtracker database you must change the setting, click use categories and save as photo show, when you save it you will see it make one category automatic Open same setting again and now choose *no, store records in the database directly and save Test it first on you localhost installation or test site and dont try on livesite if you dont know what you doing ... stay safe and have fun Hope i explain good enough 🤩😇 Coming soon Advanced Suggests database Advanced Release database
    8 points
  18. Gary

    Beta 5 is alive!

    Every time I upgrade Invision Community, it feels like that brand new car feeling! I can almost smell the fresh leather seats! Upgraded to Beta 5...
    7 points
  19. Matt

    ipsGrid

    Ehren, you look different today.
    7 points
  20. If we want to stick with that analagy, I think it's probably reasonable to say that most car manufacturers communicate the specs and differences between models some way in advance of launching them. But regardless, the analagy is actually inappropriate because this is software and is totally different to new cars. People already have licenses and packages are highly likely to be planning to move to the new version which has been trailed for over a year now, and is apparently only a matter of weeks or a couple of months away. Now is the point many want to plan, discuss things with their teams, their communities etc, but they can't because there's no clarity over which of the newer, more exciting features they may or may not have access to. The irony never escapes me that Invision, a community building company are so bad at actually communicating - you'd think that would be a prerequisite in this business. I'm sure Invision are trying to create as much buzz as possible about the upcoming version, yet here we are across several threads where confusion reigns (again) due to the lack of transparency. If Invision really haven't figured out what package will have what features at this point, then that's a failure of organisation on top of the failure in communication. But anyway, it's only been 20 odd years, there's still time to learn how to communicate yet - maybe v10 will have a perfect launch. 🫣
    6 points
  21. I have been playing around with using the standard tabs and expands, which are really easy to use, is that something anyone want to learn more about as well for customizing templates or creating blocks? You can see me playing around with the tabs here: https://jimiwikman.se/content/stories/ And here I have hidden the sub categories using the expand function: https://jimiwikman.se/content/stories/atlassian/720_atlassian-general/
    6 points
  22. There's a lot for your members to love with Invision Community 5, and we recently covered five of the best features. Today, I want to discuss five features your team will love. One of the main concepts for Invision Community 5 was to reduce the complexity of power-user tools like theming and page building. These functions had been built around those with deep technical and coding knowledge, locking out many community teams. We also wanted to build new tools to help busy community teams organise, moderate and identify trusted members. Did we achieve that? Let's look at five new features we think your team will love in Invision Community 5. The new theme editor I can't describe how much I love the new theme editor. It is everything we wanted for Invision Community 5 and more. Now, anyone can manage their theme without needing to be knowledgeable in HTML and CSS. There's so much to discuss, so it's best to head over to the news article we put together. From an easier way to select colours and drag-and-drop header arrangements to simpler ways to upload logos and preview your community on tablets and mobiles, the theme editor puts all the power and complexity of managing themes into the hands of your community team. The editor, combined with the new views, such as the feed view for forums, article-like featured first post in topics, and the new sidebar view, Invision Community 5, really does take things to the next level. The new page editor We've taken the concepts of drag-and-drop widgets to a higher level with Invision Community 5. You no longer need to create custom blocks using HTML and CSS to produce fantastic custom pages. With the new page editor, you can access a library of pre-built widgets with multiple view options, such as grids, rows, and carousels. Coupled with the power of Pages databases, you can quickly build custom pages to showcase the best content from your community. Jimi, a valued customer, recently created a walkthrough video showcasing the new theme and page editors. It is a must-watch to experience the system's power. Assign topics Getting the right help to your members at the right time can take time and effort. Pairing a community question with the expertise of specific team members can require some manual overhead with external systems. It can also be difficult to hold your team accountable, ensure they are answering questions in good time, and get an overview of their assignments. These issues are fixed in Invision Community 5 with the topic assignments feature. You can assign a topic to a specific member of your team or a group of members. You also have complete oversight on the volume and time required to reply to your entire team. It's a great feature that helps keep your community running smoothly. Badge creator and icon picker This feature is a dark horse. At first glance, it looks like a nice feature, but perhaps it is something that you may not use. However, I believe this is a feature your team will love. There are many areas where you may need custom graphics. We have rank badges, one-off celebration badges, custom reactions and more. In the past, you'd have been required to do this with apps like Illustrator or Photoshop and import them back in. As part of our vision to bring power tools to everyone, we built a badge creator that allows you to combine over 1,700 icons and hundreds of emojis with badge backgrounds to quickly create custom badges and reaction icons. It really only takes a few minutes to create all the custom graphics your community needs. In addition, there are now many areas, such as menu items, where you can use icons and emoji to enrich your user experience. Who doesn't love the ability to create badges without needing a designer? Community Experts Community experts are vital to the well-being of any community. The Pareto principle holds true in your community. Twenty percent of your members create eighty percent of the interactions across your community, but featuring those members to newer users can be difficult. In the past, we've relied on metrics such as the date they joined and the number of posts they've made, but these celebrate longevity but not expertise. Invision Community 5 uses a bespoke algorithm to identify and feature experts based on the speed, accuracy and helpfulness of their responses. This not only celebrates those members with an exclusive badge and notification, but it also helps other users identify those community leaders who are more likely to help them and guide them through their journey with you. We think your team will love that Invision Community 5 identifies these members for you and allows them to help lead your community. I could have easily written about ten features your team will love, but these are my top five. Do you agree? Which features are you most looking forward to? Let us know in the comments. View full blog entry
    5 points
  23. You're living in the future and yet still
    5 points
  24. Hi, I have lost of members requesting support for (twitter or X look alike site) https://bsky.app can we add same support as X has (embed)? Thanks
    5 points
  25. We have intentionally not added a live chat feature, at least not yet. It would be fairly simple to do as we have the same functionality for live topics. However, Live Chat can drain away content from your forum and make what could be useful rich topics for future people (and Google/SEO) to enjoy more vapid and disposable. Our solution was Live Topics which gave you a time limited chat feature that can convert into a normal topic upon completion so that content isn't lost. I think the case for live chat as a constant companion is weak honestly. If you have a really busy forum then you do not need an extra place for people to talk, and if you have a really quiet forum, you won't have enough people in a live chat area at the same time to do anything constructive. Chat boxes used to be a popular add-on but in most cases, it was generally populated with "Hello?" messages from weeks ago. If people want to chat, they're going to do it via a well trodden path in their routine, that could be Discord, WhatsApp or snapchat. They're unlikely to deviate from these routines because of a chat box on a forum they may visit daily or weekly. This is why we built Live Topics. It gives you an event based platform that people will make time for to come together for a short fixed time to discuss a topic live.
    5 points
  26. Invision Community 4.7.19 contains a significant upgrade to the Report Center to improve compliance and professionalism within the reporting workflow. The existing report center functions well enough but lacks some of the more professional tools modern communities need when managing complaints. In previous versions, a member or guest reported a piece of content, such as a comment or topic, which was then handled by the community team behind the scenes, and the report closed when dealt with. It was up to the community team to inform the original content author if any decision was made and to inform those who reported the content of the outcome. The Invision Community November update improves the report center with a better workflow, including asking those reporting the content the reason for the report, notifications on the report outcome, and the content author being notified as to why their content was moderated. Now, a report can be closed as valid or rejected. These new completion statuses allow you to signal whether your team found the report valid or whether you decided that the report was not required and thus rejected. Let's look at what has changed. Admin Control Panel The initial Report Center interface now has various options to control how the public reporting form works. From here, you can configure how reporting works for guests, whether they are required to leave a name (email is always required), and whether a message is required for the report. Content Author Notifications In this section, you can create notification templates that can optionally be sent to the author of the original content when choosing to complete or reject the report. Report Types In previous versions, report types were solely for automatic moderation. In this update, we've brought report types to both automatic moderation and public reporting. Gathering the reason content has been reported is vital in deciding the outcome. Each report type can also accept a message sent to the person who made the report depending on the valid or rejected outcome via an email notification that can be opted out of. Reporting Content Now, when a logged-in member or a guest user reports content, they can select from one of the pre-configured report types. If a guest is making the report, they are asked to leave their details along with a message to accompany the report. Managing Reports When managing reports via the ModCP, the interface has been updated to make the status of the report and the reasons for the report clearer. This screenshot shows green rows, which are new reports that still need to be managed by the team, along with yellow rows, which are currently under review. Each row of reported content can have multiple reports from different members, and the reason for those reports (such as Spam, Offensive, etc) is shown in labels. Viewing reported content now shows more detail in the user reporting section. If a guest has reported the content, the guest's name and supplied email address are shown, and clicking this allows you to send an email to them. The reason for the report is now shown. For each user report, you can change the submission reason, and this change is logged in the moderator comments to create an audit trail. You can now mark the report as Complete or Rejected, which will trigger an email for all those who have reported this piece of content. You can also send one of the notification templates to the content author to update them on why their content has been moderated. This email to each person who reported the content contains the date, content title, and reason for reporting, along with the pre-configured message for the report outcome. In this case, the report was flagged as valid, and the message to the person who reported it confirmed the outcome. Putting it together These changes help automate notifying both the author of the content and the person who reported the content on the outcome. Let's look at an example flow to understand how these new tools help the workflow. In this example, User A (Author) creates some content, and User B (Reporter) decides to report this content, choosing "Offensive" as the reason for the report. The moderation team picks up the report, examines the reported content, and decides that the report is valid, so they mark the report as complete and choose to use a notification template to tell the content author (User A) that their content has been removed. As the report has been flagged as complete, the person who reported the content (User B) receives an email telling them the report has been upheld and action has been taken. We hope these changes improve your experience with the report center. Let us know what you think below. View full blog entry
    5 points
  27. Yep. I have a huge archive of all old versions, going back to version 1.3.1 (the last free version). Recently I did a 4-step upgrade from a really old version: 2.3.6 => 3.4.9 => 4.7.3 => 4.7.18 😅
    5 points
  28. Not at present, but it's a good idea. We can probably do that in v5 with the assign system.
    5 points
  29. There goes one of my v4 paid modifications. It wasn't something I could update for v5 without hooks anyway, so it's not a problem, though. I'm glad to see this finally included by default along with several other requested features.😋
    5 points
  30. Can you start from a stock Invision Community 5 installation and have it themed, customized, and a new homepage built in under an hour without relying on custom templates and coding? Yes, and Jimi Wikman, a long-time Invision Community customer, did just that in his latest YouTube video. Jimi has over twenty-five years of experience in development and twenty years of experience in graphic design. Invision Community 5 has been in testing for a few months now, and Jimi produced this amazing walkthrough of Invision Community 5's new page editor and theme editor while re-creating his own site. Our vision for Invision Community 5 was to put the power into the hands of everyone, not just those who are proficient in PHP, HTML, and CSS. Jimi's video shows this vision as a reality as he moves through the theme editor to create his custom theme, and the page editor to build a custom homepage. Sit back and enjoy watching Jimi put together a new site. Thanks Jimi! If you're interested in testing Invision Community 5 for yourself, just join our Beta Testing Club. View full blog entry
    5 points
  31. teraßyte

    Here's Beta 6

    The Support area has been removed from Commerce in v5, so that file won't be overwritten no matter what as it's not present anymore. 🤷‍♂️ The code should avoid loading extensions not present anymore in the extensions.json file. 🤔
    4 points
  32. As we move closer to releasing Invision Community 5, I wanted to review a few key features I believe your members will love after you upgrade to Invision Community 5. The all-new editor We have to start with the brand new editor, recoded and redesigned from the ground up. The new editor is not just faster and leaner, but also remarkably user-friendly, ensuring an upgraded experience for your members in Invision Community 5. Your members will love the streamlined toolbar that no longer hides buttons on smaller devices. They'll also appreciate the new emoji and icon panel, which allows them to insert over 1,700 icons to enhance their posts. Content boxes, resizing images, and media embeds via drag handles will also be well received. Finally, small UI improvements, such as new line arrows on blocks that can be tapped or clicked to insert new lines accurately, will end fiddly cursor placement and settling for poor spacing. The editor is the most important touch point within your community, so we wanted to ensure that Invision Community 5 does this perfectly. New live community features I can speak from experience that when I see other people typing, I'll stick around to see what they say. Likewise, if I post a topic and I see multiple people reading it, I'll keep tabs on it to see if any replies come in. These are not just great engagement features but also an exciting experience. Invision Community 5 takes it further, blurring the lines between group chat and a traditional topic. Now, when a new reply or reaction is made, it will appear magically on your screen, keeping your members on site for longer. Your members will love feeling like they are part of the live community and watching reactions and replies in real-time. They'll also appreciate seeing their notification bell numbers increase without having to refresh or move between pages. Topic Summaries Time is our most valuable resource. Your members use many apps and communities in a day, so when they make time to visit your community, we want to ensure that they get the most from your forum in the shortest amount of time possible. Long topics are great but few have the time to read through dozens of pages. Topic summaries take the very best of a topic and remove the rest, allowing your members to optimize their time well while on your community, making their experience more efficient and productive. They'll love keeping up to date with more topics without scrolling past gifs and side quests. Dark mode and the new mobile experience Late-night scrolling becomes much more comfortable with Invision Community 5's native dark mode. Your members will love being able to choose a mode or allow it to sync with their devices, giving them a uniform experience across the many apps they browse. They'll also appreciate the new user experience, which includes improved performance, better accessibility for screen readers, and a vastly improved phone experience. We've made sure Invision Community 5 is mobile first. The new tagging experience Invision Community 5 reinvents tagging to make it more community-focused and increase content discovery across all apps. With its new tag pages, you can easily bring gallery photos, forum topics, events, and blog entries into a single page in Invision Community 5. Your members will love following their favourite tags to get notifications on new content and discover more of your community they are interested in without having to browse many forums and different areas of your community. These are just the top five features we think your members will love. Are you looking forward to these features or perhaps some of those not mentioned here? As always, let us know in the comments. View full blog entry
    4 points
  33. Matt

    Beta 5 is alive!

    Yes, lots of thoughts. We want to do it but there's a few things to consider such as our entire website is Pages and there will need to be minor CSS tweaks. We also link up with the client area (which will be on v4 for a while) along with a bucket of customisations for various things. It's on our list but not as simple as just running the upgrader.
    4 points
  34. We noticed similar issues going from 4.7.13 to 4.7.16. I was in contact with @Matt back then. In our case we ended up reverting to an the code in getItemsWithPermission from an earlier version where we hadn't had that issue with getItemsWithPermission method. We also got another issue upgrading to 4.7.17. In that case we ended up reverting some code in _comments() Using Mariadb 10.5. But we'll upgrade to either a newer version of MariaDB or Mysql 8.0 or Mysql 8.4 soon-ish, so we hopefully can remove these customizations.
    4 points
  35. This may look a little confusing at first, but this is an alternative way to hide it (and how the default CSS handles it). .ipsData--grid.ipsData--topic-feed-widget{ --i-data--show-last-author: initial; --i-data--show-last-reply: ; } In the future, it'll be more readable. Something like this (but this code won't work just yet): .ipsData--grid.ipsData--topic-feed-widget{ --hide-meta: true; }
    4 points
  36. Today is Tuesday here in Australia. I can share that Beta 5 is not out yet here in the southern hemisphere, GMT +11 hours. 😇
    4 points
  37. I have an application for this:) https://www.ic-essentials.com/files/file/90-tags-page/
    4 points
  38. Glad to hear it! I'll add some more videos later for creating more elaborate things and how to add language strings and so on.
    4 points
  39. I want to say that the overall level of communication and transparency (with the dashboard guide in the ACP) is a huge step forward. I appreciate how IPS continues to evolve and push the ACP experience. I had one of those realizations several years ago that I candidly spend more time on the ModCP and the ACP than the front end. That's where the troubleshooting, the reports, and the moderation occurs - which are all of the areas of first level triage for community management. Other thoughts on the dashboard Prepare: - Tagging. This is going to be one of those unexpected surprises for current community owners if we can't retain or migrate our tagging.
    4 points
  40. Just played around today and built the beginning of a CV database for weirdos like me that work with all kind of stuff 🙂 https://jimiwikman.se/my-roles/830_atlassian-roles/senior-atlassian-expert-r1/
    4 points
  41. Articles are working again!!! This was a significant update for me. Thank you ❤️ Fan Clubs is live with Beta 5! https://www.fanclubs.org/ This build is looking very solid, and I may be upgrading my more active community to it (very) soon 🙌
    4 points
  42. https://jimiwikman.se/
    4 points
  43. Live : https://www.internazionale.fr BETA 3, we will go with BETA 4 tonight.
    4 points
  44. Am working on a garage database for my sons homepage, all is done with pages databases , just wanted to share some sneak peaks how powerful pages is , there is still some bugs in some fields , I may release this to the public if there is interests from community . Databases like this can be used for many kinds of collections as well , just need to be creative and play around - Stay safe and have great Halloween weekend 🙂 --> Garage home --> Record view
    4 points
  45. Dear Invision Community Team, As a user of the self-hosted version of Invsion Community, I want to express some concerns regarding recent changes in the platform’s development direction. IC5 introduces a number of new features, but some of them are exclusively available to cloud customers. It appears that IC's strategy is increasingly focused on the cloud and business clients, raising questions about the future of the self-hosted option. I’d like to ask what IC’s long-term plan is for self-hosted customers. Recent information from the team suggests that self-hosted users now make up only a small part of your business. Many are concerned that in a few years, with the release of future versions – such as IC6 – we might see a product that’s only available in the cloud offering. Will IC5 be the last version with support for self-hosters? Should we expect that in the future, support for self-hosted installations may be completely phased out? As a community, we are considering whether it’s worth switching to the new licensing terms or if we should start looking into alternatives now. Thank you in advance for any clarity you can provide regarding future plans for self-hosted customers, which will help us make informed decisions about our forums.
    4 points
  46. Ehren

    Back to top button

    Since <button> elements shouldn't contain <a> elements, I'd recommend using this instead: <style> /* Smooth scroll when the button is clicked */ html:has(.scrollToTop:hover, .scrollToTop:focus){ scroll-behavior: smooth; } /*Floating Back-To-Top Button*/ .scrollToTop { position: fixed; bottom: 10px; inset-inline-end: 10px; font-size: 12px; color: #fff; background-color: var(--i-background_dark); padding: 10px 15px; border-radius: 4px; } .scrollToTop:hover { background-color: var(--i-primary); } .scrollToTop i{ margin-inline-end: .4em; opacity: .7; } </style> <a href="#" class="scrollToTop"><i class="fa-solid fa-circle-chevron-up"></i> Back to Top</a>
    4 points
  47. This was intentionally removed, since themes can no longer be edited. Instead we implemented a widget that would allow you to drop an ad anywhere you like.
    3 points
  48. https://jimiwikman.se Work in progress, but loving things so far 🙂
    3 points
  49. Matt

    Text Size

    Percentage based or em based is better. Fixed pt or pixel sizes don't really scale up and down very well across screen sizes.
    3 points
×
×
  • Create New...