• April 11, 2023, 6:06 p.m.

    I think this thread belongs to Development, not to Feature requests. If someone finds it different, then hopefully they can move it :)

    We have 2 (3) level forum structure, mostly visible as category > forums (let top categories aside for now). Currently category-forum relationship is one-to-many - every forum can belong to only single (parent) category.

    I propose to make category-forum relationship many-to-many, in other words allow one forum belong to many categories.

    I know that this is not trivial change, in addition to some database changes it needs new admin UI (to map relations) and many little changes in user UI - but nothing sort of rewriting entire platform or something. (Me as software dev has to know these things ;))
    Please do not move this idea into category 'will never happen'; 'won't happen tomorrow' would be much better option :)

    What it gives to us? I will show a little possible example (be it somewhat Sigma-centric - this would be expected from me) below.

    Part of current structure looks as follows:

    L Mount systems
    - General L-mount Talk
    - Panasonic Lumix S Talk
    -
    Leica Equipment
    - Leica L Talk
    - Leica M Talk
    -
    Other Manufactures
    - Sigma Camera Talk
    -

    Having many-to-many relationships, we could redesign that next way (using alphabetical order to not insult anyone):

    L Mount systems
    - General L-mount Talk
    - Leica L Talk
    - Panasonic Lumix S Talk
    - Sigma FP Talk
    -
    Leica Equipment
    - Leica L Talk
    - Leica M Talk
    -
    Sigma Equipment
    - Sigma Camera / Foveon Talk
    - Sigma FP Talk
    - Sigma Photo Pro (SPP) Usage
    -

    Note same forums visible in different categories.

    This may increase forums count, but most usage will probably concentrate to category level - and we can promote lesser (or older) brands to category level too. I think many will agree that lesser brands need more visibility, not less :)
    Currently I have to watch at least Other > Sigma and L Mount > General forums to be in touch with Sigma developments, or I have to watch L Mount category, Leica > Leica L and Other > Sigma forums to follow everything related to L mount.
    With new scheme in both cases watching a single category (resp Sigma or L Mount) would be enough.

    Of course this was just one example, but there are more brands, divided between different categories; so are software and lens forums likely not very comfortably organized.

    If anyone wants to comment, then again - this proposal is certainly not a suggestion to change current forum structure - it is just a request to create more flexibility to alter it later.

  • Members 252 posts
    April 11, 2023, 6:42 p.m.

    Being a software developer for about 20+ years I'm wondering about how familiar you are with these kind of global alterations? The implications of applying such structural changes are pretty dramatic, it would require extensively modding the code as well as altering the database structure and never on the live version. You only got me curious because you make it sound easy but from experience I can only guess about the amount of work involved (modding->debugging->testing->etc.). On top of that one would also have to be adequately experienced with the framework and the language itself.

    Not saying that you cant do/know the things you propose but there's no easy route here and secondly no easy rollbacks should it not perform satisfactory in the long run.

  • April 11, 2023, 7:09 p.m.

    Unfortunately, I think it would need changes that would go to the heart of the whole system. Not to say we might not think about it some time

  • April 11, 2023, 7:23 p.m.

    Quite familiar. In our company product (financial software) this would take few hours to code core functions + database part and few days to create and refine all required UI elements - but of course everything in our product (including some kind of custom-built meta-framework) is about relations anyway :)

    Of course not in live version. Database structure is easiest part of all this redesign, code changes in my opinion are not that extensive either - but of course this all needs careful implementing and testing. Like you certainly know, in such kind of project little things and (hidden) dependencies take 90% of development time to get them right.

    I heard that current forum system developer is involved here - this means that experience is not the problem.

    I know that, I never imagined that this is simple script or css change. About no rollback abilty I partially disagree - but if you wan't technical details, write me PM :)
    Nevertheless, if this idea looks reasonable, then I think original developer can estimate, what it takes to implement. I have no knowledge about current code structure and/or about framework possibilities - depend on them the estimated time may vary in orders of magnitude.

  • April 11, 2023, 7:34 p.m.

    It quite possibly may need drastic changes. I actually have no idea about forum internals - I can imagine quite different logic structures, for some of these changing relationship type would be quite simple, for some just killing.
    Seems that I need to look at misago source - to make myself more familiar with it. This takes few days :)

    What I actually wan't to know - does anyone (besides me) see any sense (usability improvement) in such forums structure change? Not thinking about technical difficulties at all.

    If no one seems to be in favour of it, then I'll think about next proposal (about tags) :)

  • Members 252 posts
    April 11, 2023, 7:46 p.m.

    Since you ask, on a personal level it would probably confuse me having so many routes to the same but thats just me.

  • April 12, 2023, 5:20 p.m.

    I browsed through misago source. Looks like you are more than right - all categories and forums management revolves around external tree component (mptt), which in principle can't support 'multiple parent nodes'. You could easily add more levels with it (which was somewhere asked, but likely would make forum structure even more messy), you could use this component to create threaded view (which is frequently asked) - but not to satisfy my proposal.
    There are many projects to support such multiple relationship structures (dag - directed acyclic graph) in django/postgresql, based either on same tree component or written from scratch - no one of those is directly compatible with mptt or they are just buggy/abandoned experiments.
    Replacing external component (with different interface and/or unknown bugs) in any software takes often more work than expected.

    Thereby I have to withdraw my proposal. Makes room for next ones :)
    I likely have to study forum code before proposing something :)

    This does not mean that further comments about this idea are not wanted - discussion is always welcome.