Jump to content

Dreadknux

Clients
  • Posts

    85
  • Joined

  • Last visited

 Content Type 

Profiles

Downloads

IPS4 Providers

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Forums

Store

Posts posted by Dreadknux

  1. 20 hours ago, Rikki said:

    All of this is on our radar - it's obviously not trivial though. Trust me, I probably use Pages more than anyone else, so I'm certainly aware of the pain points and potential future for it ūüôā¬†

    Thanks Rikki - great to see that there's interest in these ideas! I know that some of them might require a bit of heavy work/rework (I'm thinking the categories idea I mentioned in particular might involve some reworking of how Pages works with taxonomies/saved records in database). But I know that there's loads of ways Pages can be integrated into the Core community app - for me, fine-tuning the relationship between Pages-As-A-Blog and Forum/Topics would really elevate the Pages app into something special. ūüôā¬†

    Happy to be patient and wait for when some of this can come to fruition - looking forward to the next generation of Pages!

  2. For many years I've been using a customised badge/award plugin to assign badges to my community's users (for things like participating in community events), and with the new Achievements feature I'm considering migrating my old awards over to the built-in system. I have a few small suggestions that would really help out admins that want to lean more on custom badges rather than the Rules-based badge approach.

    1. Custom Descriptions

    It would help a lot if admins were allowed to write unique descriptions for manually-made badges. At the moment there is no such feature and it kind of looks strange when you see manual badges alongside rule-based badges (which do include a description). For example:

    523648164_Screenshot2021-07-27at17_21_14.png.6196292120b8c5e45b4c80ff85413924.png

    Notice how the top badge doesn't include a description? This could be added via the AdminCP > Achievements > Badges page by adding an extra option in the Edit Badge dialog. I'd like to be able to tell users exactly how they earned a particular badge, and it's a little awkward to have to do that in the Badge Name. Something like the below...

    636887204_Screenshot2021-07-27at17_25_48.thumb.png.d2df115f600e73e41892bfaeb02f6233.png

     

    2. Multi-User Awarding

    As far as I can see, the only way to manually award a user a badge is by searching for their username in AdminCP > Members, clicking 'Manage' within the Badges dialog, and then click 'Add Badge'. It's quite monotonous, if you have many users that you want to award a single badge to manually. There should be an option to award members directly from the 'Badges' section of the ACP. A dropdown can replace the current 'delete' option, or an 'award' option can be positioned next to it. I made a crude mockup of what I mean, below.

    199238297_Screenshot2021-07-27at17_33_46.png.0730e7b8b230871543de9f280c4a980b.png

    A dialog box could appear upon clicking 'Award to Member' which can allow you to type the usernames of multiple users.

    1428122816_Screenshot2021-07-27at17_41_09.thumb.png.0ca18fe576578731a667eb888be049d4.png

     

    3. Backdating / Custom Award Dates

    Another really useful enhancement would be the ability to set custom dates when awarding badges manually. Using the example above, you could include an optional date field within the award member dialog (either on the Badges ACP page or when managing badges on a User profile via ACP). As a lot of the badges I've previously awarded users date back as far back as 2014, it would be great to be able to add a 'legacy' badge to a user's profile and identify exactly when they received it, instead of relying on the moment it was specifically added to the user's account.

  3. I agree - I've been exploring use of Pages as a means to potentially migrate a long-running Wordpress into InvisionCommunity (I've used Invision for my forums for the last 15 years or so), but as much as I adore the concept of having a unified theme/account integration for forums and site content, Pages isn't quite there yet for me and needs some attention. Hopefully now that 4.6 is out the door, Pages can be the next app to get InvisionCommunity's full focus.

    I certainly think that being able to splinter longform articles via pagination is a useful idea, as is the ability to dynamically modify a page's layout using different block formats.

    I've been thinking about it, and I'd love to see the following improvements implemented into the Pages app in some way too:

    1. Multiple Category Selection

    It would be great if it was possible to assign a record in a database to more than one category. My Wordpress blog allows me to set a news post as either a ‚ÄėGames‚Äô story, a ‚ÄėMovies‚Äô story or both if the news concerns both mediums.

    2. Change URL Slugs per Database

    At the moment, the definition is [domain.com]/[database_name]/[category_name]/[record_slug], and this is true for any and all databases you can create in Pages. Would be good to get some options on this - being able to use [YEAR]/[MONTH]/[record_slug] instead would keep things in uniform with a blog style.

    3. Remove "-r" suffix on URL per Database

    I can understand the reason for the 'revision' suffix in a record URL if you're using it for a "wiki" like database of some sort. Doesn't really lend itself well for blog-style page URLs, or other potentially interesting uses of the Pages app. Should be a setting on the database-level in AdminCP to automatically remove the "-r" in a Page record slug by default, instead of asking writers to manually remove it after creating each post.

    4. Pages Media Library

    I still don't really understand the use case for the internal Pages Media Library in AdminCP (Pages > Page Management > Media). What is it for, exactly? I thought it was going to be a 'media gallery' that could be used by Page authors across the entire database (similar to Wordpress' Media Gallery). But its use is extremely limited. It doesn't appear when creating a new article/record. The only way to use an image uploaded to this Media Library is to remember the media tag for each image and include it (and even then it only works in Page templates). It's quite useless, especially when the Theme Resources section exists.

    This should be re-imagined as a dedicated Page Database media library, accessible to usergroups with the ability to post records - with editable filenames and support for images, video, files etc. It should be accessible via the WYSIWYG post editor and the media contained here sandboxed from all other media uploaded by users (Gallery entries, Attachments, etc). You could set either a 'global' media library for everything related to Pages, or a separate media library for each Page Database.

    5. Allow Categories to be set in Menu Manager

    I can set specific Pages as a Primary/Secondary navigation menu item in Menu Manager, but not the categories associated with a particular database. At the moment I have to set them as External Links, which doesn't allow for a consistent design when using CSS to style 'active' secondary nav links.

    6. Ability to pull from multiple databases in Widgets/Loops

    This might already be possible re: the Loop and it's something I'm not aware of, but I have two databases ('News' and 'Articles') that I want to be able to combine if I wanted to. For example, on a Homepage I might want to build a block that contains latest News specifically, and a second block that pulls all the latest posts from both News and Articles. I feel like that shouldn't be too difficult to do...

    7. Do Not Post Duplicate Topics when using Copy to Database Function

    8. Do Not Modify Original Topic Content when using Copy to Database Function

    9. Add Post Topic Meta when using Copy to Database Function

    I explain these last three in more detail in a topic I created a month or so ago, but basically the 'Copy to Database' function doesn't lend itself well to non-wiki style Page-Forum integration. The idea currently is that, if an author decides to write a news story (for example), a Page record and an associated Forum topic is created together, with Page comments and Topic replies merged. However, if an author decides to write a news story based on a topic that exists already, using 'Copy to Database' will result in a Page record, a new duplicate Forum topic AND the existing Forum topic. There needs to be a way to override the Post Topic feature, while keeping the Comments-Replies integration.

    When using 'Copy to Database', the existing Forum topic content is also changed to reflect the new Page record. For instance, an author re-writes the text from the Forum topic when developing the Page record, to make it read better as a news story. The original topic should not be modified if this happens; I'm not entirely sure why this is considered normal behaviour in Pages anyway.

    The Topic Meta idea just adds a little nice site-forum integration to the Copy to Database feature, and isn't really necessary... but I think it would help make a forum community feel more connected to the news/article side of the website, if they were made aware that their topic contributions were also having an impact on the associated news story.

    ----------

    Sorry for going on and on - there's a LOT to Pages that I like but I think if your ideas and the above ideas are followed through on, I would feel a lot more comfortable taking my Pages install out of a test environment and look to fully building it into a revamped version of my community. ūüôā¬† Thanks for making the topic, great ideas!

  4. Really enjoying the release of 4.6, now that it's released I wanted to re-suggest this as an important feature to consider for a next version of the Pages app. I think it would really help integrate the Core app and Pages app further, in a way that other solutions (i.e. XenForo + Wordpress bridge - which I'm looking into as an alternative) will be unable to. I'd really love to have a one-stop shop for my users to view and comment on news and forums using a consistent design and account system, and the above suggestions would go far to making Pages the perfect app for this.

  5. Hi guys

    Long time InvisionCommunity user, almost-first-time poster. ūüôā¬†I've been using this software to power my community forums for about 15+ years now and I'm looking to take the next step by building an integrated site for my users. I recently purchased the Pages app to experiment with it - the idea is that, one day, I might migrate a long-running Wordpress blog into Pages. With that in mind, I had a few ideas that would greatly help with improving workflow and ensure more consistent connectivity between Forums and Pages. I hope you'll consider them!

    To keep things concise, my ideas here are focused on the 'Copy to Database' feature of Pages (I do have other ideas but this is the biggest area of concern for me - I'll post the other suggestions in a separate thread).

     

    My Setup

    • In AdminCP > Pages > Databases > Articles > Forums, 'Post Topic' and 'Use Forum For Comments' are enabled.
    • Post Topic is enabled because not every article we write will be sourced from a forum topic or Copied to Database, and we want to make sure that all news stories we write have an associated topic posted (i.e. if a topic does not exist already, we want to create a topic, but if a topic¬†does¬†exist we want to Copy to Database and use that particular topic as the news story's associated topic)
    • Use Forum for Comments is enabled because we want to always marry the comments in news stories with the replies in the associated topic. We never want this feature to be disabled.

     

    My Scenario

    • A regular user in my community discovers some interesting news that they may have read elsewhere, and posts a topic on a particular forum.
    • A member of my community's "News Team" usergroup sees this topic, notices that our Articles database has yet to cover this news topic.
    • The News Team member chooses to 'Copy to Database' the original topic.
    • The original topic is written in a way that works fine for a community environment, but it needs editing in order to read well as a news article. So the News Team member modifies the original topic content to suit the tone of voice we want to present within our news stories.

     

    The Issues

    1. When the News Team member posts the news story, a duplicate topic is made (in the forum selected in AdminCP). This has the result of confusing the community as there are now two separate topics in which to submit replies/comments to.
       
    2. When rebuilding synchronised topic content, the original topic's content is modified to match that of the news story which was created from it. This is not desired behaviour; if copied to database, the expectation is that the original topic remains the same, with any edits made for the news story living solely on the page record/database.
       
    3. There's no topic meta to illustrate to users on the forum that a news story was created from it.

     

    The Solutions:

    1. 'Post Topic' Override (per Record basis)

    817753806_Screenshot2021-06-04at13_04_57.thumb.png.a3d8466c6a10a53b2a931733d56af3f3.png

    A simple checkbox could be added to a record creation page, if the 'Post Topic' setting is enabled for that database in AdminCP. What this will do is ensure that a topic is not created when the record is created. This will be useful for users who want to use an existing topic as the basis for a record's comments/replies without splintering it into a duplicate topic elsewhere. However, some users might find posting a duplicate topic useful (for instance, they might want to dedicate a specific forum for record entries), which is why having this as an ad-hoc option is the best solution here.

     

    2. AdminCP-level Option to Keep Topic/Record Content Separate

    633523743_Screenshot2021-06-04at12_20_06.thumb.png.d7ba997e267359b2a7d9cda7c36b4e3f.png

    Provide a toggle which allows the content in the Original Topic to remain unaffected/does not sync with the copy written in the Page content. I would have thought that this would be standard behaviour, so it's surprising that it's not. I doubt many community members would appreciate their topics being edited without their consent, so this option would fix that issue. This could be a new setting added to AdminCP, which applies to all records made in a database (as illustrated above).

     

    3. Add Topic Meta to Copied Topics

    Upon using 'Copy to Database', have a setting/toggle (default setting: On) that automatically inserts a new Topic Meta box in the original/source topic, detailing that a user has used the thread as a basis for a new 'record/story/article'. Clicking the Meta box could dynamically expand it, revealing an excerpt of the new story/record/article (Title, Author, Date, Excerpt, Link to Full Article). Some ideas as to how that would look like below.

    Idea 1:

    1749027323_Screenshot2021-04-29at17_25_06.png.569921ad714fb92313efc34f0ad69271.thumb.png.6e940e667be4af5af97b1105444298c2.png

    Idea 2:

    505791528_Screenshot2021-04-29at17_33_13.png.beab834b578dd301721de66201903cd3.thumb.png.c886956df0ec80706dc049460adf346b.png

    This could also be a setting in the Database options page in AdminCP. A feature like this would be a more elegant solution when copying topics to databases, instead of simply syncing the topic content and record content to be identical. It can also allow users who create interesting topics to see that their posts have been considered worthy of interest from the moderation/news team. You could even tie Achievements/Points/Rewards to this - users who create topics that a moderating team deems interesting for a story, could be awarded points for 'sourcing' the content.

    ---------------------------------------------------

    Hopefully these suggestions are worth considering and implementing in a future update. I know the next update of the Core app is at the forefront of the development team's minds right now, but I think these would be great QOL updates for the Pages app that can make it even more unified with the Forums/Core. Thanks for reading!

  6. One of my users made me aware of this, does anyone know if this is normal (and if so, what the story is)?

    When copying an image on a website (i.e. using "Copy Image" instead of "Copy Image Location"), and then pasting it into CKEditor, the behaviour differs in Firefox (have tested FF/Chrome/Edge).

     

    Firefox: Upload a PNG of the image via plupload and insert it into the editor.
    image.thumb.png.825eb78be1d041c50634321aad3c4f3d.png

     

    Chrome (screenshotted)/Edge: Insert an HTML image into the editor with the original URL as src.

    image.thumb.png.011ee78d2069200a13ee5acddae417ea.png

  7. IPS4 introduced image proxying for user-generated content, which avoids potentially-insecure hotlinking, and also mixed content issues on HTTPS sites.

    I've noticed though that, on boards upgraded from 3.x, legacy content (pre-IPS4 posts, signatures etc) is unchanged and still hotlinks from other sites.

    Is there a good method of getting the old content to use the proxy?

  8. Was just about to post a topic very similar to this! I thought I'd add my own thoughts regarding parent/child inheritance.

    When working, the inheritance model for HTML/CSS is pretty nice to deal with, but I'm disappointed that other aspects of the theme system don't have practical inheritance built in. This is relevant for settings and permissions, but particularly for resources.

    The theme system copies over the parent's resources when the child is created, and then considers the job done. This means, if I later want to change a resource in my parent skin, that change will not filter down to any of the children, regardless of whether they've been modified on the children or not. Once you have more than a few skins, doing the legwork required to update resources in every skin individually gets old very quickly. The settings have a (not great) option to copy over to other themes, but resources has nothing as far as I know, and it (among other issues the early 4-series had with themes) has contributed to us having to remake themes after they go out of sync and things break.

    I like the way the HTML/CSS system does inheritance, and I think it'd be really powerful to have fully-featured inheritance built into other theme stuff to really keep parents and children in sync with each other.

  9. The Guides section is intended to have info about using the framework in the future, though there's not much about the framework itself in there right now (it's very good for JS and CSS stuff, though). The best framework info right now is in the old Documentation section, though it's messy and dated in places. There's also a lot of good info that's come from questions asked here in the forums, but it's all dotted about and of varying quality.

    I'm not aware of any public phpDocs-style documentation on all the classes, methods etc - I generated a rough set for my own use, but I'd really like to see a proper one here like the one IPB3 had.

     

    The most important thing to understand about the framework IMO, is that almost every class extends a more general class defined elsewhere. So, with a lot of them you have exactly the same methods and they work the same way from a framework standpoint - e.g. if anything extends \IPS\Patterns\ActiveRecord at some point, it'll have methods like load and save. Topics and Statuses are examples of Content Items, which have their own set of universal stuff to work with, and Forums are an example of a Node which has stuff suited to a hierarchy of Nodes, having parents and children. In general, find out what a class extends, and you can figure out what its basic behaviours are.

    In terms of structure, everything is under \IPS\. if the second part of the namespace/class begins with a capital letter, then it's part of the system hierarchy, which is found in the system directory in the forum root. If it instead begins with a lowercase letter, it's part of an application (applications directory). The base application that has stuff like the global content, ACP etc is core. Within an application, sources is usually for creating new classes, modules is for page generation procedures, and extensions can do either (they're part of the Developer Mode's extension system, which gives you a set of a templates for modifying/extending particular parts of the system).

  10. In IPB3, the status system was, for the most part, self-contained within its sidebar widget. The widget would show the latest statuses and a couple of comments underneath each, with an Ajax link to add the rest of the comments and a simple form to add a comment underneath. While the IPB3 system was simplistic and mildly buggy (accented characters breaking Ajax, anyone?) it was really efficient from a UX standpoint. When we updated to IPS4, one of the biggest complaints we had from our users was that statuses were treated almost like topics - you can see (part of) the status itself, but you have to load a new page to see comments or reply. For our users who were used to doing everything through the homepage, it was a big difference, and it massively reduced the volume of status activity on our board.

    My suggestion is to code in some way to interact with a status directly from the widget, without having to load a new page. We developed a plugin to do this in the simplest way (not saying it's the right way!) we could - it converts the permalinks under the status into an Ajax ipsDialog link to the single status. It's a bit messy, and there's a hack in the single status page that I think reuses official code, so I don't think I can repost it, but it works well for us. I think something like this would be a really good core feature for IPS, and (at least the way we did it) it's not difficult to implement.

    status2.png

  11. If your page serves any HTTP resources whatsoever, you'll get that notice. It's not that the page itself isn't being sent "securely". It may even be that everything sent from your domain is secure, but something that the page is using isn't.

    To a certain extent you can't avoid this (it happens on this forum also in some threads) because if you allow your users to directly post an image, or use a URL as an avatar, they can use an HTTP image which will take your green padlock away.

    If it's happening on every single page, then likely something (a JS/CSS file or an image) in your theme is to blame.

    To identify HTTP resources on Firefox, right click > Inspect Element (or just press F12), go to the Console tab and ensure Security is enabled, and reload the page. They will appear in red with the message

    Quote

    Loading mixed (insecure) display content "http://domain.tld/path.ext" on a secure page

     

  12. In \IPS\core\Statuses\Status, there's a $commentsPerPageAjax = 25 static variable that doesn't seem to be used anywhere. AFAICT it's intended for the "load more comments" ajax links, but that uses $commentsPerPage = 3 the same way the main page load does.

    In addition, there's a static function getCommentsPerPage(void) that just returns $commentsPerPage. There seems to be inconsistent use in code between this function and the static variable itself (mostly the variable), meaning

    • a plugin needs to modify both to avoid buggy behaviour
    • a plugin effectively can't modify getCommentsPerPage() to return the result of an expression (e.g. a setting value), because the static variable (which requires a straight value) needs to have the same value as the function

    IMO, $commentsPerPage should only be used in getCommentsPerPage(), which itself should be used in every case that the value is used in code.

  13. The cron stuff is explained better in ACP > System > Settings > Advanced Configuration > Server Environment. If you select Use Cron, the suggested cronjob is provided.

    When some tasks (particularly ones that rebuild content, such as after the IPB3 to IPS4 update) run on large data sets, they only act on a certain number of items (e.g. 500) per request, so as to avoid timeouts or slow pageloads for your users. So the more content you already have, the more activity (which triggers tasks to run in the background) you need on the forum to complete the whole job before a backlog of new tasks is created. The cron method, if you choose to use it, triggers a task every minute.

  14. Now I understand that changes have to be made to the core codebase whenever a new version of IPB is written. But in the last couple of updates (3.0.3 and now 3.0.4) I have had skins that I have developed during the 3.0.1 era break completely on me, because of deprecated skin code and a complete disregard of the skin's CSS on browsers (possibly as a result of deprecated skin code). Now, as I have worked very hard on my unique themes and they are vastly different from the IPB default skin, simply implementing the Skin Differences published is easier said than done, nor should I expect to constantly update my skins in this manner.

    I was led to believe that when 3.0.0 was released, that custom skins could be created without fear of them breaking in future releases. This has turned out to be a false belief. Skins made the second a brand new version is released should be supported 100% until the very end of that version's life cycle. If nothing else, I would expect the money I paid for this software (and services) to reflect this, considering I have no time in my life now to micro-manage my skins whenever an incremental update comes out.

    IPS, figure out where you want to be with your skin design and stick to it, please! Stop changing your mind every twenty seconds and invalidating my custom skins. I would like some confirmation that this issue will not occur again in future updates, otherwise I might as well just not make skins for my forums again (what would be the point?).

    Regards,
    Svend Joscelyne.

√ó
√ó
  • Create New...