I am thinking of splitting node content for various Content Types into two sections.

One section for the general public - anonymous access.
Second section for registered members only.

This is a bit like using teasers inside Drupal. But for showing the general public what is available on the site it must make sense to let them see a teaser. If interested they can become members and read all the content and become active members by commenting, etc.

I am using content_permissions module to define which CCK fields can be seen by anonymous and others.

Thus the body of the nodes could become the "teaser" for anonymous (general public) and the node open for view by all (Content Access module). The CCK field would carry the bulk of the node content open to be viewed by registered members only.

My questions:
Does this make sense?
What could be the downsides / risks?
Any examples?

Thanks .....

Comments

tryitonce’s picture

Just doing some research and here are some links:

Discussing Premium module
Premium module

It seems the discussion died a bit down after these - or ....

bwv’s picture

You might want to make two CCK fields for the same page, and use the CCK field permissions module to assign permissions -- one for all users, one for registered users -- to each field. When a user logs in the second, "restricted field" will appear on the same page as the field available to all users.

tryitonce’s picture

Thanks David,

Why would you discard the default body of the node?
Would the body not allow you the option of a site internal teaser use?

I am trying this idea right now on one content type and shall report back later.

In the mean time I started this thread to find out more about other people's experience and downsides / risks.
---------
One I found - if you use anchors they will not carry across from the node body to the Premium CCK field below.
And my guess is they would not carry across two CCK fields.
---------
Another issue is the advisory note for anonymous users, i.e. "The full text is freely available to registered members.".
This should disappear when a member reads the node. I guess I will just need some help with translating the php code for this into CCK:
I have:

<?php global $user;
if(!$user->uid){print "The full text is freely available to registered members.";}?>

But I don't know how this would be translated into what the CCK field requires:

return array(
  0 => array('value' => value for value, 'format' => value for format),
  // You'll usually want to stop here. Provide more values
  // if you want your 'default value' to be multi-valued:
  1 => array('value' => value for value, 'format' => value for format),
  2 => ...
);

All help on the specifics and general comments are highly welcome - thanks ....

bwv’s picture

Hi, yes, of course, you are correct, the body would comprise one of the fields. (Sorry, only one cup of coffee this morning so far.)

Not sure about the rest of your post. You could have a CCK text field that says "The full text is freely available to registered members" that can be viewed only by anonymous users. Upon registration, it would be invisible to a user who is logged in.

tryitonce’s picture

-- A cup of tea later --

Well, it is working just with the php code shown above - I guess I just needed to wait a bit for a refresh.

............

But the anchors are not working inside the CCK field - any ideas? I posted the problem here - http://drupal.org/node/765580.

tryitonce’s picture

After testing the Premium module - I think it will be the answer for the task in hand.

However, anchor linking across CCK fields would still be a good think in other situations.

http://drupal.org/project/premium