Forum OpenACS Development: Re: Enhancing forums

Collapse
2: Re: Enhancing forums (response to 1)
Posted by Michael Cordova on
I'm working in a few enhancements of forums package, such as
* Navigation links (next/prev thread when viewing a message),
* Ability to expand threads in forum-view page,
* Showing user portraits...
* Mark messages as read/unread using views package

These features are almost done. But I have not found a simple way to sort all threads (maybe a few of them were expanded) by date, descendant. I mean, when using tree_sortkey, is not possible (in just one single sql query) to sort them by another criteria. The only way is doing 2 queries, one to get the message root id's with whatever criteria you want, and then, another query to get all messages...

Ranking posts is another idea I have, but the ratings package does not work for me right now. And also, tagging messages (automatically? depending on some rules).

BTW, I'm trying to do a 100% accesible forums enhancement, with "old-style" links (I mean, click to go to another page...), but I'd like to add a more usable one.

Is there any javascript/ajax version of forums, where were possible to expand threads? Thanks.

Collapse
3: Re: Enhancing forums (response to 2)
Posted by Matthew Coupe on
I'm very excited to see this in action! Will you contribute to CVS?

I'm sure I saw something by Rocael at some point where he'd done a version of forums with different views? Maybe he could help?

Collapse
4: Re: Enhancing forums (response to 3)
Posted by Don Baccus on
That code wasn't actually written by Rocael (someone else at Galileo did it IIRC), didn't work well, and wasn't easily salvagable, so it won't show up in an official release.

On the other hand, a more robust implementation of various good ideas are more than welcome, though inclusion in our official version of forums will require approval of the .LRN leadership team, since it's a crucial part of that product and is under the control of the .LRN project.

Inclusion in our CVS and therefore in .LRN requires

1. that the features be commonly thought to be useful.

2. that the new features be accessible (or turned off by default if not) - the decision was made last year that we'll require .LRN packages to be accessible (legal requirements for universities in the EU now, and growing pressure in that direction in the US, too).

3. stand up to testing and review, i.e. be reasonably well implemented and robust

Hopefully these requirements don't seem too stringent to people ...

Collapse
5: Re: Enhancing forums (response to 4)
Posted by Michael Cordova on
What I have done is a non javacript version. So... I hope it was a fully accessible version.

I have been playing with sql for grabbing more data (a new view for adding a few columns), css for UI improvements. I've also made changes to tcl/adp to switch between threaded and non threaded html views (UNED requirements)
And I'd like to add a little of ajax in some simple actions (for instance: "mark this reply as unread"), without removing the accessible links.

I'd like to know where is the best place to write about my enhancements, with screenshots if possible, discuss about it, propose improvements, tips, share, etc.
Maybe I could became member of "Forum Facelift Project" https://openacs.org/xowiki/Forums

Collapse
6: Re: Enhancing forums (response to 5)
Posted by Nima Mazloumi on
Is there a demo server to see your work or can you upload screenshots?
Collapse
8: Re: Enhancing forums (response to 6)
Posted by Michael Cordova on
There is not yet a demo server, let me clean the code a little, and install it in a more stable server. Right now it's on an unstable development server we are constantly reseting...

I can capture a few screenshots, and publish them with a list of new features in a wiki, and post here a link.

Well, I can write now a list of features:

uForums (Forums enhancements for UNED)

<h2>FORUM-VIEW</h2>

  • expand node(s), so...
    • show expanded nodes
    • collapse node(s)
    • collapse all (button or list-template action)
  • show unthreaded version button (sort only by date)
  • "new message" highlight (using views package and/or a new table for read/unread feature)
  • show only new messages button
  • mark as read/unread (if views is available)
  • mark thread as read/unread button (bulk action)
  • mark all forum as read button
  • tooltips to show more info
    • preview content
    • authors information details (disabled right now)

<h2>MESSAGE-VIEW</h2>

  • Next thread /prev thread navigation links
  • User portrait
  • reply to author button (link to mail)
  • forward message button (email to...)
  • row.adp architecture reviewed

<h2>FORUMS ADMIN</h2>
All new features check a package parameter (new for each feature) value to know if the new behavior is enabled or not, and if it's what kind of behavior is set. For instance,

  1. when marking a message as unread ¿should be marked as unread all the replies or only that message?,
  2. When expanding a node: ¿expand all levels, or just one?

<h2>In development</h2>
I'm working now in that points:

  • write tests
  • test when moderated forums
  • add return_url to some actions
  • simple admin page (with common parameters)

PS: I have to say that there have been 5 people involved in that develpoment during the last year at UNED: David Arroyo (First UNED requirements done), Raúl Morales (Portlet), Alberto Pesquera (DB and TCL API), Mario Aguado (data model modifications, and Team Leader/Supervisor), and Me: (Mostly User Interface changes)

Collapse
10: Re: Enhancing forums (response to 8)
Posted by Michael Cordova on
I missed 2 features actually done:
* "switch to another group's forum" widget
* human friendly posting dates (13 minutes ago, 4 hours ago, sunday... and so on)
Collapse
12: Re: Enhancing forums (response to 10)
Posted by Emmanuelle Raffenne on
Miguel Angel,

Is the "switch to another group's forum" based on "dotlrn communities" groups?

Collapse
Posted by Raúl Morales Hidalgo on
Emmanuelle,

it switches between the group forums, not to other forums in another groups :)

Collapse
15: Re: Enhancing forums (response to 13)
Posted by Emmanuelle Raffenne on
oooh ok. That makes sense now.
thks
Collapse
11: Re: Enhancing forums (response to 5)
Posted by Emmanuelle Raffenne on
Hi Miguel Angel,

All those features sound great and I'm looking forward to seeing a demo.

Regarding including Ajax based code, I would not include it in the main package but rather write a ajax-forums-ui (ala ajax-filestorage-ui). In the near future, when ARIA become available and supported by main web browsers, it would allow us to have an aria-forum-ui for example so the user could choose which UI to use. Having separate packages for the UIs would ease extensibility and maintenance.

Also, I guess that writing separate package for UI will be easier when package types that Dave is working on (I hope so 😊 will be available (see http://www.openacs.org/forums/message-view?message%5fid=1482643). -btw, we should include that TIP in the agenda of the next OCT-

Collapse
14: Re: Enhancing forums (response to 11)
Posted by Michael Cordova on
About a live demo, maybe in a few days it could be possible (not depending directly on me).

About Ajax, I agree with you about making a new package for a complete Ajax UI, but what I want to add are only simple actions, such as "click 'mark as read' button". If the browser is not javascript compilant, it has not enabled that feature, the current link will work as it actually does.

I'm thinking on a forums enhancing, not on a complete rewrite of forums using (almost only) Ajax, so I think a few Ajax requests should be too bad.

Collapse
7: Re: Enhancing forums (response to 4)
Posted by Victor Guerra on
That code wasn't actually written by Rocael (someone else at Galileo did it IIRC), didn't work well, and wasn't easily salvagable, so it won't show up in an official release.

Nop.. no one at Galileo did that implementation.