Ticket #1476 (closed enhancement: fixed)

Opened 12 years ago

Last modified 12 years ago

Create discussion pages for resources.

Reported by: jukka Owned by: jukka
Priority: blocker Milestone: 1.13
Component: generic Version:
Keywords: Cc:
Time planned: Time remaining: 0h
Time spent: 20.0h

Description

On the surface those should behave like in story #1469. (See comments.) Under the hood I think it should work like this:

There is a folder in community-section called 'unassigned_discussions'. It contains blogposts like any other group. If the resource does not belong to any group, first person who clicks 'discussion' creates a special blogpost with default text 'here you can discuss about blahblah..'. The url resource/discussion has a template that fetches that blogpost and shows it in content section's colors (or wherever the resource is). Discussion is done by commenting that blogpost.

Blogpost has a reference to resource and 'fetching a blogpost' is done by searching a reference of type 'discusses' and target /this/. (It can be done either way: blogpost has a reference to resource, or resource has a reference to blogpost, but we don't have to change archetype schemas for all objects if blogpost has the reference.)

If resource is edited by some group, the blogpost is created into that group. If resource is assigned to some group, the discussion is moved to that group (either from 'unassigned_discussions' or from other group.)

Blogposts that are resource discussions can not be deleted.

Change History

comment:1 Changed 12 years ago by jukka

  • Status changed from new to closed
  • Time spent set to 20.0h
  • Resolution set to fixed
  • Time remaining set to 0h

(In [1907]) Closed #1476, spent 20h. I'm allowing editing and deleting resource discussions like any other forum posts: if the discussion is deleted, new one will be created next time someone tries discussion. The default discussion post bodytext is i18n:translated, but once someone changes it, it won't try to translate it anymore.

Note: See TracTickets for help on using tickets.