This thread is a copy of another thread ( Blackbeard AH module 2.0 questions/criticisms) so as to not highjack that thread with the discussion on providing feedback on a project and reaching the developer. Following posts are quotes from the original thread.
Perhaps the simplest way to implement a way for forum discussion to be closer tied to individual projects, would be to allow forum messages to be tagged with a project. Then, one can query the forum for messages related to specific projects, and the project pages could provide link to such a query.
Of course, that is easier said than done. The Game library runs on custom code, and it is possible to query the database. But, the forum runs on Discourse platform, and it is not straight forwardly easy to see how that platform can query the Game library database - it may be possible, or it may be difficult to implement.
Agreed. These are the two categories that would need to require that tag before submitting or at least offer the option to tag. But if at all possible, the requirement is the better option, otherwise you end up with a system that half works, and as with the current method, a great majority of posters start out by not properly identifying which module they are referring to, requiring a moderator to request specificity.
The other consideration of course is whenever you place a pass/fail step into a process, users may give up if they don’t understand what is being asked, or if they can’t properly identify which version of The Russian Campaign they should select.
a +1 for the idea of linking discussions to their project, whilst acknowledging that implementation would depend on someone else to implement it.
Something like this is done on the commandsandcolors.net platform. The platform uses a (with apologies, just my experience) horrible CMS called Joomla but, with dedicated manual admin, as a new Scenario is added, a new forum topic is created for that scenario.
The latest posts appear on the bottom of the scenario page, along with links to the forum thread itself, as in this example.
The Forum Structure itself comprises a dedicated forum for scenarios with a thread per scenario, so the easiest way into a discussion is via the scenario page itself. I imagine a similar approach being feasible as a bridge between the custom project pages and Discourse discussion categories - if it is possible to implement sub-categories…
Discourse sub-categories on “Module Discussions” - sub-category per Project, or better still, one sub-category per Project. This would be a lot of categories but my expectation would be that users would access the category via a link on the project page, as in the example above.
I’m assuming that it would be possible to automatically populate Project pages with a link to the forum category/sub-category using the project name as the sub-category.
This wouldn’t accomplish being able to see the forum posts directly on the project page - great if that could be done - but at least with the link in place it would be easy to access and users would be directed to the forum. One advantage over the C&C .net example is that the project discussion would still have it’s own thread structure rather than everything being held in a single post.
When a user types, when composing a post, +Af, then the user will be presented with a drop-down with all project names that match Af - e.g., Afrika Korps.
This requires an external Google Sheet document. That Google Sheet should map mentionables to urls. That Google Sheet can be created from the Game Library database and then made available to the above plugin. Of course, the Google Sheet needs to be updated when a new project is made (or removed), which doesn’t happen that often.
It is not clear that one can do a reverse search - i.e., search for forum posts that mentiones a specific mentionable which would. be needed to link back from the project page to the forum post.
Another option is to use the Discourse Tag Rest API to push new tags to Discourse when a new project is created or removed. I’m not sure how one would limit certain tags to certain tag categories though. The project pages can do a reverse search based on the tag of the project.
Perhaps the project pages doesn’t really need to contain the posts directly, but rather provide a link to a search query based on the projects tag value. Otherwise, it could be a simple embedded frame that contains the result of the query on the projects tag. In that way, no Discourse code have to be integrated into the Game Library.
If there were one tag per project, that would mean 3500+ tags right now. How do users interact with tags? Is the system for selecting tags in Discourse able to handle this number of tags?
Right - a butt-load of tags. That’s why they should preferably be restricted to specific categories / such as Module Discussion and Module Support .
Tags can be specified when starting a new thread, using the drop-down in the toolbar of the post editor. But tags can also be made in-post by typing #, and then auto-completing on known tags - for example tutorial .
Ideally, if a user starts a new thread in either Module Support or Module Discussion , then the user would select the appropriate project tag too. Then that thread will be tagged with the project, and can therefore be shown or linked to from the project page itself.
Of course, a user could also add a project tag later on - even in later replies - which could be beneficial when referring to a specific project for inspiration, comparison, etc.
No idea. Off-hand, I don’t see why it shouldn’t. But, I’m no expert on Discourse, so better consult with someone who knows or read the documentation.
Another option, would be to put a link on every project page - say Give feedback, Request Support, Start discussion, or something like that, which takes the user to the forum with a new thread editor with the subject line pre-filled with the project name and possibly a project tag.
Then, perhaps, one can close direct posting to Module Discussion and Module Support so that users are forced to go through the project page to post to those categories.
Note that tags does not allow for associating a URL with the tag, as far as I can see. The above mentioned Mentionables plugindoes allow that.
On the other hand, using Mentionables requires that the user enters +, followed by a selection in the drop-down menu, somewhere in the body of the post. And, as I said above, it is not clear if one can query the API for posts that have a specific Mentionable.
I think what is needed is sub-categories, rather than tags. From my brief research e.g. here, it appears that using sub-categories would avoid cluttering up the general Discourse forum front-end.
I suggested earlier that a link from the Project page would be the standard entry point to a Module Discussion Sub-Category, though perhaps Discourse offers a sensible way to navigate a large number of sub-categories.
There’s the question of whether it’s really helpful to have forum categories for orphan projects (I assume, the vast majority). I think that the idea would be no worse than the current situation but with the benefit of a forum structure providing an unambiguous link to the project.
First off, I’m not advocating any particular solution. My main concern is to find a solution that is simple to implement and requires the least maintenance from our dear busy leader , and at the same time provides as much as possible of the wanted functionality.
Tags has the the advantage over sub-categories that more than one tag can be applied to a thread for example if a question/comment/complaint/… is relevant to more than one project.
Not quite sure which post on this forum you are referring to or if you want to illustrate the use of sub-categories. In the latter case, I think this would be more illustrative, but also high lights another issue with sub-categories: The interface would be relatively cluttered by the shear number of sub-categories (even if orphaned projects are filtered out).
Sub-categories has the benefit that the distinction is quite clear, and that project owners could “subscribe” (i.e., get email notifcations) to specific sub-categories. They probably need very little in terms of set-up, though sub-categories would need to be added and removed as projects are added and removed from the Game Library.
However, there’s something to be said for the messages on specific projects show up in a general sub-forum. Often, third-party users will comment and give advice even if the project owners are replying too.
If the interface for starting a thread on a particular project originates on the project page (Give feedback, Ask question, Start thread, or similar), then that interface could also create the needed tag, mention, or sub-category. In that way, only those projects are are discussed will have an associated tag, mentionable, or sub-category.
For that, I think the above mentioned Mentitonables are perhaps the best option. One could implement in Discourse a custom field presented in the thread interface, what would allow a poster to select the project(s) (Mentionables) that the thread is related to.
While we figure out how to address this issue, I found a way to do some of what we talked about - namely, providing links from the project page to forum posts and a way to make a new thread with pre-filled in information.
As an example, see Anzio Beachhead - scroll down to the heading Forum Posts.
One that searches that particular category for anzio+beachhead or anzio_beachhead_cholmcc
One that starts a new thread in that category with the title pre-filled with https://vassalengine.org/library/projects/anzio_beachhead_cholmcc
These links fulfils two tasks - albeit in a poor-mans way
Provides a way for users to discover topics that relates to a specific project
Provides a way for users to post a new topic specifically tied to a project.
As I said, perhaps not the best solution, but at least it gets us part of the way.
The links could be automatically put in by the Svelte templates in the module library. The templates would use the project slug and title to search for posts, and the project URL for the new thread links.
This looks like a good start. Counting the number of times you have responded to posts with the interview questions “Which project/module are you referring to” and "have you tried contacting the project owner’ is indicative of why a system solution for these two questions should be resolved with every user post for a specific module.
Is it possible for the project owner(s) to be automatically tagged in the post as well?
@uckelman if you could point me to some way of running a test build/setup of the Game Library, I will happily make one or more PRs against it. I think there should be buttons in the Project section of a project page. The kind of buttons would be