View Issue Details

IDProjectCategoryView StatusLast Update
77Composrcorepublic2022-11-20 00:54
ReporterChris Graham Assigned ToGuest  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Summary77: Content relationships (e.g. related content)
DescriptionExtend meta keywords to cover more tagging scenarios.

Create a privilege to allow members to add to the tags for some content. Send out staff notifications when this happens so that it can be monitored.

Add 3 new blocks, all of which are intended to by integrated into our default templates, but can also be called up independently anywhere on the site:

1) main_content_tags. Takes a list of tags as a parameter, a list of content types, and an optional content ID. Shows all the tags, and these link through to the search module which then performs a keyword search. If a content ID was passed, and the member has tagging privilege, a UI to add tag(s) is provided.

2) main_related_content. Takes a list of tags as a parameter, and a list of content types. This shows boxes of other content that shares tags and matches the content type(s). The user has the choice to order either by how many tags are shared or by rating or by add date. It works with pagination.

3) main_more_by_submitter. Takes a member ID, and a list of content types. The user has the choice to order by either rating or by add date.

For future we need to add keyword support for:
 - Forum posts (and therefore forum topics, as first post in topic essentially represents the topic)
 - IOTDs
 - Polls
(these don't currently support keywords)
TagsHas Patch, Risk: Database change , Roadmap: Sponsorship, Type: Cross-cutting feature , Type: Tagging
Attach Tags
Attached Files
related_content.diff (48,440 bytes)   
Time estimation (hours)6
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Activities

Chris Graham

2021-10-03 02:16

administrator   ~7138

I implemented a related content feature for a client, but it went in a very different direction to this issue.

First, I identified some problems (and solutions) with just naively using keywords (tags)...

Problem: Hard to consistently use the right keywords.
Solution Allow auto-complete when typing keywords.

Problem: Hard to see what a particular keyword is shared with, when adding that keyword
Solution: Include an overlay to show everything current with that tag, and also provide a link to do that search

Problem: Don't want automatic association with minor keywords that are very common on one particular website.
Solution: Checkbox to define whether a particular keyword is used for related-content

Problem: Don't want association with old content with precedence over new content, just because it matches a keyword.
Solution: Bias towards newest content, with a limit on how many related content items to show.

Problem: Don't want stuff from completely different categories coming through just because it matches a keyword (categories may hold very different content).
Solution: Scope related content to particular groups of categories (i.e. particular news categories and forums)

Problem: Inputting keywords is tedious and feels like a step into the dark.
Solution: Auto-generate keywords before the article is even submitted (currently it happens after submitting). Have a link to click to show recent keywords, popular keywords, etc, so there's something to easily reference against.

This would all have been a lot of work, and led to a system that may be more complex than its worth. Defining relationships manually may be better, which is what I did.
I've attached a patch to this issue that achieves that. It was written for ocPortal v9. The module overrides in there are just to get the relationship field into the UI, as well as saving functionality for that.

Chris Graham

2021-11-15 02:55

administrator   ~7167

Alternate patch for v10 attached (previous was for v9).
This has fewer content types, but also Comcode pages which the previous didn't.
I left out any changes to the CMS modules as they are similar.
There are also some relevant tweaks in here.

Not very helpful for me to be posting multiple patches that aren't really useful to anybody, but they can both be reviewed in the future when we try and add something proper to Composr.
related_content-2.diff (22,336 bytes)   

Chris Graham

2022-11-20 00:54

administrator   ~7661

We should use ARIA role="complementary" on the HTML.

Add Note

View Status
Note
Upload Files
Maximum size: 32,768 KiB

Attach files by dragging & dropping, selecting or pasting them.
You are not logged in You are not logged in. This means you will not get any e-mail notifications. And if you reply, we will not know for sure you are the original poster of the issue.

Issue History

Date Modified Username Field Change
2016-06-08 00:15 Chris Graham Tag Renamed Database change => Risk: Database change
2017-05-01 16:45 Chris Graham Tag Attached: Type: Cross-cutting feature
2018-11-10 22:05 Chris Graham Tag Attached: Type: Tagging
2019-06-27 20:56 Chris Graham Tag Attached: Roadmap: Sponsorship
2021-10-03 02:16 Chris Graham File Added: related_content.diff
2021-10-03 02:16 Chris Graham Note Added: 0007138
2021-11-01 18:23 Chris Graham File Deleted: related_content.diff
2021-11-01 18:23 Chris Graham File Added: related_content.diff
2021-11-01 20:03 Chris Graham Tag Attached: Has Patch
2021-11-15 02:55 Chris Graham File Added: related_content-2.diff
2021-11-15 02:55 Chris Graham Note Added: 0007167
2022-11-20 00:54 Chris Graham Note Added: 0007661