Forum OpenACS Development: new post-it package

Collapse
Posted by Raúl Morales Hidalgo on
Hi there,

We/UNED are starting to develop a package for short message mailing between OpenACS/dotlrn members.

The main idea is to have an area on the screen where you can nessages that other users have sent you, it'll work offline (reading the piled messages after login) or online (at browser reload). Messages will be short, basically oneliners, such as chat invitations within a community.

Users will be able to block/authorize message reception as we don't like it to be another way to spam users, probably using an allow/deny user list.

Most likely it will have two possible interfaces, a simple one adding a couple of lines under (or over) the navigation bar or a javascript popup postit note.

I have a couple of questions, though:

Is there any other develop in progress to provide this functionality or something similar?

What do you think could be interesting features/aditions for this package? I will gladly wellcome new ideas/advices on this subject.

Thanks in advance

Collapse
2: Re: new post-it package (response to 1)
Posted by Ryan Gallimore on
This sounds great, Raul. Using an Ajax call instead of a browser reload to refresh incoming messages might be a good idea. The ajax-helper package can help you with this.

As far as I know, there isn't anything like what you describe, but there is certainly a demand for it, imo.

Cheers.

Collapse
3: Re: new post-it package (response to 1)
Posted by Torben Brosten on
Collapse
4: Re: new post-it package (response to 1)
Posted by Dave Bauer on
There is the existing user message bar. It only allows one message and the message is only loaded once on the next page view by a certain user.

I think in general we want to allow multiple messages, this would be very handy, for example, if you installed a new package, and the package needed to give you additional information.

See the exsting apis

https://openacs.org/api-doc/proc-search?query_string=user_message&search_type=All+matches&name_weight=5&param_weight=3&doc_weight=2

Collapse
5: Re: new post-it package (response to 4)
Posted by Ryan Gallimore on
I like the idea of the following use case:

1. User 1 wants to invite another online user named User 2 to a chat session.
2. User 1 enters a brief message in a text box at the top of the page.
3. User 2 receives the message at the top of the page without issuing another page request (via Ajax).
4. User 2 should be able to block User 1's messages.

Is there already a package that accomplishes this?

Collapse
Posted by Raúl Morales Hidalgo on
First of all thanks for the replies.

My idea is more an sms substitute than an email one, so I'll look at the existing api and probably start the work from there, My idea is basically what Ryan posted and what dave posted seems also a good Idea. I think multiple messaging is a must, as I said before the idea is something quite like sms.

Collapse
7: Re: new post-it package (response to 1)
Posted by Jun Yamog on
Hi Raul,

Jeff Lu developed a private messaging package for http://www.netlondon.com
It has SMS as a possible delivery or deliver the message internally. I am not sure if was ever put in into CVS, but I am sure Jeff will be willing to share it.

https://openacs.org/shared/community-member?user%5fid=111130

Jun

Collapse
8: Re: new post-it package (response to 1)
Posted by Hamilton Chua on
The name "post its" is a bit deceiving. What you're looking to do is sort of like private messaging.

Roel Canicula wrote a private messaging package based on acs-messaging for a client of Solution Grove.

I can dig up the code and send you a copy if you're interested. I beleive this will handle the backend part for you.

But that's only half the battle. Devising a nice UI and how to present it to users is another.

You can do it with Ajax using a concept called "polling". This means that after you load a web page you execute javascript to periodically execute an ajax call to the server to fetch and then display new messages.

However, if you have the luxury of time I would recommend that you look into COMET.

COMET is different from polling because it establishes a persistent connection between the browser and the server.
This is possible with OpenACS thanks to Gustaf's background delivery proc on the server side. On the browser side, you need to implement "page streaming". Gustaf may have already implemented this (and polling too) on his Ajax Chat app inside xowiki.

Examples of real world web apps that use the concept of COMET include Meebo (www.meebo.com) and Gtalk integration with Gmail.

Some resources you might want to look into :
http://ajaxian.com/by/topic/comet/
http://ajaxpatterns.org/HTTP_Streaming

Furthermore, to enhance UI, you might also want to look into
http://prototype-window.xilinus.com/samples.html.

Collapse
9: Re: new post-it package (response to 8)
Posted by Raúl Morales Hidalgo on
Hamilton,

I agree "post it" isn't probably the best name choice but I don't like private messaging either, as private messaging is closer to what Torben posted than to my idea. let's see if we come with a better choice of name, however, it's just the name, as I think the main goals of the package are more or less clear in the above messages.

Comet seems a good idea, if not for the first version of the package, for the second. Thanks a lot for the links, I have started recently digging for ajax info and will surely bookmark those (although the second one's server seems to be down), again thanks ;)

I have also in mind to take a look to Gustaf's work with chat as it is the reference in ajax server-browser communication in OpenACS, I also think both packages will benefit from the other one.

And yes, I will gladly appreciate if you send me the code as it will probably give me more time to focus on UI.

Collapse
10: Re: new post-it package (response to 8)
Posted by Hamilton Chua on
Just for reference, this is the link to the specific forum thread where Gustaf describes streaming with iframes.

https://openacs.org/forums/message-view?message_id=423438

This is also described in a recent article from the Ajaxian Blog

http://ajaxian.com/archives/iframe-script-tags-portable-comet#comments

Collapse
11: Re: new post-it package (response to 1)
Posted by Caroline Meeks on
Hi Raul,

This is a great idea. I hope you are able to reuse some of the work Solution Grove did on the messaging package. You are working in oracle correct? Our package worked in postgres and was delivered via the dotFolio framework, which basically gives you one subsite per user.

My request is to please don't call the package "post-it". I think "post-it" refers more to little yellow "stickies". There are a number of web services that let you post stickies on pages (google "Stickies"). This would also be an interesting feature to add to OpenACS but its a completely different one.

Collapse
12: Re: new post-it package (response to 11)
Posted by Ryan Gallimore on
How about calling it alerts or intercom or something communal like that?

I see it mostly being used to send brief messages to other online users, for chat invites, or to direct a user to a forum post for example.

Collapse
13: IM package (response to 11)
Posted by Ryan Gallimore on
Hi Caroline,

How can I take a look at SG's messaging package? What kind of features does it have? I'd like to offer Instant Messaging to online and offline users, via a good UI. Anyone have any ideas how to achieve this?

Collapse
14: Re: new post-it package (response to 1)
Posted by Ryan Gallimore on
I've started listing some specifications in the wiki.