Posted by sirkitree on February 17, 2009 at 10:41pm
I think pretty much anyone looking for this sort of feature for their site comes from knowing how it is implemented on facebook and are looking for something very similar. If that is the case, there are a few main things that we're looking for it to do, how it should look and act from a user's standpoint. But what are your expectations?
Functionally:
- Recording - What should this record? How long should it be stored?
- Displaying - How should this look to users? How should the administrative UI look for customizing each message? What are your customization needs (things like a checkbox for displaying a user picture, etc.)?
- Accessing - this module is typically for social networking sites which (generally) requires some sort of buddy list/friendship/user relationship. Should this be a requirement? What all modules are you using for this functionality?
Please help us by answering these questions so we can work out exactly what is needed for the community.

Comments
A good and hard look at
A good and hard look at social sites like orkut, facebook, bebo etc can be good :) not to clone but to have estimates what users at standard social sites expect.
Recording
Admin
- should be able to determine how old data eg. months / years to be purged
User
- should be able to choose which activity eg. blogging, images, friendship that goes on record
- should also be able to delete any activity ( any line ) by clicking a small x that she/he only sees
The site
- should be able to record nodes, comments, profile or guestbook comments, friendships that took place, organic group activity and events
Displaying
Admin
- admin can already determine the languages
- admin should be able to activate or deactivate user icon ( what size in pixels )
- admin should be able to determine number and pixel size of nodes like images uploaded by user
to be shown in activity
- if multiple nodes like images are uploaded within 10 minutes ( x minutes ) they are shown in the same line
- admin choice to display it as a part of APK ( advanced profile ) and or separate page
User - should be able to display or not her / his user icon
Accessing
User
- should have option to display activity as a whole to herself /himself - friends - freinds of friends - all
- Individual private nodes should not show up in activity list
Recording I definitely think
Recording
I definitely think we should support core modules. This mean that we write the necessary hooks for node, comment, forum, etc. When it comes to other modules, we provide these as examples as well as documentation on how other modules can implement/announce to activity that there is something happening that needs to be recorded (and therefor displayed) by activity.
Displaying I would tend to
Displaying
I would tend to disagree on the outset that there should be some sort of checkbox to enable/disable the picture, however this is such a highly sought after feature that we should definitely consider it when the time comes. But we should put it at a lower priority IMO.
Same goes for configuring images on nodes. That's a large determination because of the field name, what module is being implemented to provide the image, etc. Maybe we can make that part of the required information the implementing module announces to activity.
Agreed with the 'same line' concept for multiple activities of the same type.
As for making it part of APK, I'd really like to keep support and code that we implement to core modules only. If APK then wants to bring activity in, it should be able to display views which is how we should display everything. I don't say this lightly. I've had a similar conversation with Michelle before, and though it is very simple to do, I feel like if we make an exception to the rule "Only implement things that are core." we could run into a huge mess in a very short time with people coming to our issue queue and giving feature requests for any module out there, using the excuse, "Well, you did it for APK, why not this one? it's just a short hook implementation." No offense is meant here, I just want to try to not let things get out of control.
Eh?
I've been in bed sick for most of the last week so maybe I'm missing something here but I don't recall any conversation about putting something for APK into Activity. That doesn't even make sense... As you said, APK would pull Activity in with views if you make it views enabled.
Are you maybe confusing this with the Panels integration I was working on? If you Views enable it, then that would be moot. Without Views, though, I do think Panels integration is a good thing.
Michelle
See my Drupal articles and tutorials or come check out the Coulee Region
Sorry
No, I was referring to the recent issue in flag_friend, where, in that case, it makes sense to put a hook implementation into flag_friend for APK. I was just pointing out the concept and making a distinction that in some cases this is okay and in others it may not. As for this case, you are 100% correct in it being a moot point with Views integration, which I also pointed out.
"If APK then wants to bring activity in, it should be able to display views which is how we should display everything."
Sorry for any confusion, get some rest ;)
I see
Sorry, I am still rather fuzzy. I guess I misunderstood. Yeah, to me, it makes sense for other modules to integrate with Author Pane (which feeds APK & AF) because they are implementing a template preprocess using their APIs. But for Activity, APK pulling in the info via views makes much more sense than Activity doing anything special for APK.
Michelle
See my Drupal articles and tutorials or come check out the Coulee Region
Just to go over this list a
Just to go over this list a bit, I've noted where the current Activity module implements this even if only partially and/or in development code...
Recording
Admin
- should be able to determine how old data eg. months / years to be purged
There is a global setting for how long to keep all activity data around. This could be expanded to allow purge settings for each activity type or for some other criteria.
User
- should be able to choose which activity eg. blogging, images, friendship that goes on record
We have a privacy opt-out that allows a user to exclude themselves from all activity recording. This could be expanded to allow them fine-grained opt-out settings although user-facing options ideally should be kept as simple as possible.
-should also be able to delete any activity ( any line ) by clicking a small x that she/he only sees
This is partially implemented already. Just needs some fixing.
Agree with a few tweaks/additions
Pretty much agree with the list of minesota's wish list, with a few additions/tweaks
I'm more or less a Drupal noob, so forgive my ignorance on terminology or existing capabilities. I have some fairly specific and interesting use cases that I'm targeting Drupal for, that I'll be happy to share (and contribute code for). Just need to learn PHP. ;-)
Awesome, solid ideas. In
Awesome, solid ideas. In fact during the code sprint this weekend at Chapter 3's offices for the d.o redesign, David Strauss and Josh Koenig are working on a similar project to log activities remotely based on some of the Open Social standards and implements some of these REST-ful services. I'm working with them a little bit sharing ideas this weekend so I hope to report back with some good news. Thanks for writing some of these ideas out for us to keep in mind.
Cool. Can you help me
Cool. Can you help me understand the status of the current work? Is there a tagging and/or type concept implemented for Activity nodes? Again, forgive my noob-i-ness.
.
IMHO user pictures can be implemented as tokens...
As far as the activity feed assuming Views is used admin can make their own feed that way if they want it and put it on the APK panel if they want to.
...........
Hi! Thanks a zillion for the discussions.
Not images on nodes but images as nodes, that is, where the node content type = image
Almost all available album modules use Image for gif jpg png images
Usually what is happening in a social net these days, the site feed shows the thumbnails of the images uploaded by the user. If 'n' of images are upload in 'n' minutes they may be shown in a single row ( the admin determines pixel size and how many in a row and the values of n )
Provided the images are public they are shown to all, else they are shown as Friend ABC has uploaded these images [ thubnail x] [ thubnail y] [ thubnail z]
RE: images
I see what you mean, however, if we're planning on displaying everything through Views (and we are so far), this will be configurable to an admin through the Views2 UI by just adding in the field there for your display. So this wouldn't really be 'part' of our module, but definitely will be part of the specification and definitely possible.
I'm really leaning towards making activity more of just a recorder and supplying enough views handlers that anything will be possible for display.
Thanks for all of the feedback thus far!
This will be OK when the
This will be OK when the image module is being used but I think that what you are seeing more and more is the use of imagefield for images in the context of more complex node types. I'd say that there are probably as many Drupal image gallery modules that use imagefield as use image module for the gallery images.
That's not to say that we shouldn't attempt to do this, just that I think it's going to be a challenge to know when images are uploaded as essentially image-based nodes vs cases where images might be a part of a node but the node is not primarily an image-related content type.