I noticed that MySite page seems not to be node (unless I missed something). What are the pros and cons of turning the MySpace page into a node? My usecase was Location integration.

Comments

agentrickard’s picture

Version: 5.x-2.11 » 5.x-2.6

Note: I´m in Madrid, on the way to Barcelona for DrupalCON.

PRO:

+ people can comment on, rate, etc.
+ you can extend the data, using location, and so on

CON:

+ Not realyl engineered that way
+ Uncertain about overhead

You can integrate MySite into a node if you wish. See the diocumentation of the mysite_page() function.

Let´s file this against HEAD as a new feature and see if others would like to see it.

jamesJonas’s picture

PRO:
- automatic integration with other modules. Custom integration points to other modules (example: up/down vote) have a tendency to not be maintained over time as the list grows and the niche use case addresses the needs of a smaller group of users.
- one user, many faces: supports multiple MySite pages per user (this may already be present, but it has not jumped out at me yet.)

CON:
- URL changes: It seems that the URL structure might have to be altered. This presents an issue for external legacy links to MySite pages.
- Performance: Any integration with other course grain parts of drupal will present a performance hit. Any benchmarks for the current MySite pages would be helpful in understanding impacts.

agentrickard’s picture

Version: 5.x-2.6 » master

[Note: filing against HEAD]

The argument that using nodes would allow for multiple pages per user is an interesting one, and makes this feature more interesting.

The argument about vote up/down is less persuasive. The type of module integration isn't user-interaction driven, it is content driven. And, yes, non-core modules tend to drop away; that's why there are released in the 'contrib' folder of the MySite download.

What would the advantages of letting users vote on or comment on MySite pages be? I can see an argument for that -- you would be turning the MySite page into a more interactive, MySpace style entity at that point.

That said, the argument for multiple page support might be a very good one. Here's the only problem I have with "let's make everything a node" -- I don't think that MySite pages should show up at /?q=node. But that seems a pretty small point.

Are you interested in doing any work on this? Even benchmarking would be good. Of course, turning MySite pages into nodes would likely add overhead, since the node_load() / view() / render() cycle would add queries.

agentrickard’s picture

Oh, and Location integration would do what, exactly? Could you integrate it into the current system? (I bet you could -- take a look at profile.inc for an example.)

jamesJonas’s picture

Integration Points
The use case of vote/up down is perhaps not the best example, although user ranking is a use case handled by another current drupal module. I could envision a view with the best MySite pages by vote.

The case I wish to make was that integration with nodes is a common feature for many drupal modules. This means that MySite page as a node would be able to take advantage of this integration, which would have a high probability of being maintained in future drupal releases.

Benchmarking
I had done some benchmarking work on drupal before. I was a bit painful (think segmentation fault on production systems) Let us start with the basics. What would you image as a profile for a three common drupal systems (small, medium, giant)? Better yet, I need to hunt around and see if I cannot uncover a benchmark platform definition for drupal. Last I looked there was some good work taking place in that area.

Location
Use Case: Local MySite pages.
Current MySite: I have already taken the first steps in Profile integration using nodeprofile. I still think the UI needs some work. This is not exactly the same as profile.inc. I need to mock up some other scenarios is get a better understanding of the alternate integration routes. Most of the other work to support 'local mysite pages' has been done and is currently running on my productions sites.

Performance
I'm very performance sensitive. I have had several modules that have taken my servers to 100% utilization. I either drop the module or perform SQL triage. In many cases, I should be able to see the performance bottlenecks.

JJ

agentrickard’s picture

So you're location tagging user MySite pages? Or pulling that data from the nodeprofile?

jamesJonas’s picture

Location integration is still a work in progress for mysite pages. What I should have said is that if mysite pages are nodes and I location enable those nodes, the rest of the infrastructure to manage local mysite pages and present those pages on nearby mysite pages has been already done.

agentrickard’s picture

We could handle this with a MySite plugin without converting to MySite pages to nodes. I would recommend that as the faster solution.

The location plugin would allow the user to select their location (or would inherit the location entered into their profile). Then the content area of the mysite element would search mysite records for users with the same location.

I haven't used location.module in awhile, but this plugin could be written in less than 2 hours, whereas converting MySite pages to nodes could take weeks, given my current schedule.

I can help write the plugin if you're willing to give it a try. I think Profile.inc is the model. We just have to alter a few of the functions.

jamesJonas’s picture

Location Plug-in sounds like the plan. I'm game for working on this if you are. Time to open a new thread. Let's keep this thread going concerning 'MySite page as a Node'. I think there are some real trade-offs, but also some merits to this feature.

agentrickard’s picture

I agree. Maybe in MySite for D6.

agentrickard’s picture

Status: Active » Closed (won't fix)