Hello everybody,
seems that Drupal still lacks an out-of-the box solution to bill advertisers for publishing listings on a site, so i am actually challenging and puzzling to set up a recipe that could do the job.
Figuring out what Coupet asks on his previous post on point 1 ("Charge users for each listing they place or each node they publish") could be relatively easy and is the starting point to achieve what follows. But moreover, what i dream is to be able to set up the well-known standard workflow present in almost any respectable e-commerce site, where exist different "levels" of listings, each of them containing incremental informations and visibility in the site.
To make an example, imagine the classic 4 ROLE MEMBERSHIPS, each containing a section of additional information and some more on-site visibility than the lower one. So an hypothetic Roles memberships configuration could be the following:
- Basic: free. Teaser only (or very basic info)[*1].
- Silver: 5$. Full node (more info)[*2]. Main image [*3].
- Gold: 10$. Full node (more info). Main image. Unlimited images gallery [*4]. More visibility [*5].
- Platinum: 15$. All above. Text+image Ad on certain pages [*6]. Randomly featured on homepage [*7]. More visibility.
As no ready solution exists, i tryed figuring out couple of possible approaches to this on paper but still seems some quirks are missing, so any advice from someone with more experience than me would be greatly apreciated! ;)
So here is what i came up with to fill the gap:
Recipe 1: Free Teasers, Premium Full Nodes
Ingredients:
- CCK: essential to build the listing-type.
- Image_attach: - needs coding of per-type/per-role granular permissions - adds 1 main image attachment to allowed roles in proper listing-types (see *3)
- Upload_image: - needs coding of per-type granular permissions - adds unlimited images upload and gallery to allowed roles in proper listing-types. (see *4)
- Role_weight: let's you weight listings and any content by role of author (Platinum first, Gold second,..) (see *5)
- Views: essential to obtain *5, *6 and *7.
- Premium: ??? (*1, *2)
Missing ingredient: so far so good, but what could be used to prevent Basic advertisers from displaying full node view of their listing (*1)?
Possible solution: The Premium module allows priviledged users to access full nodes of a site. Anybody has an idea if this could be turned inside out to prevent authors to show full node views to visitors? Any comment or alternative/better/easier solution about this greatly apreciated!
Recipe 2: CCK Per-field Permissions
Ingredients: as for recipe 1, but
- CCK: Per-field permissions patch (*1, *2).
- Imagefield: *3, *4
- Role_weight: *5
- Views: *5, *6, *7
Notes: Image_attach and Upload_image are not necessary if per-field permissions find their way through CCK. Multiple permission-enabled istances of the imagefield could be used instead.
Missing ingredient: Bèr Kessels tryed coding a per-field permissions CCK patch, but seems this is a blind road. Fields cannot handle permissions because of the aggressive caching of CCK right at the origin and the very first time the node output is generated. And a solution to this would be inacceptable in terms of performance/maintainability.
Possible solution: can anyone see an alternative or workaround to this?
Recipe 3: Nested Additional Nodes
Ingredients: basically identical to recipe 2, but using Nodefamily module to add incremental information to a listing.
- Same as Recipe 2
- Nodefamily: ? (*1, *2)
Notes: this solution is tied to the still beta Nodefamily module, which allows to define a relation between all nodes of a certain content type created by the same author. The module also allows to restrict the number of creatable nodes of a content type per user.
Possible solution: use Nodefamily module (part of the Nodeprofile package to create "nestable" listings made of more nodes, each accessible only by a particular priviledged role.
Maybe the "best" solution is somewhere in between these lines, or maybe these are just far too complicated roads to follow, and as a non-coder i could be looking in the wrong direction.
Anyway, at the moment Drupal still lacks a solid and flexible system to enhance pay-to-publish listing sites, so maybe a unified solution to this is desirable. I know this post encompasses modules that exule from the e-commerce package, but i thought this was the right group where to start a discussion on the topic!
Thank you in advance for any comment or feedback you might give,
cheers,
Marco
Comments
I've been wondering about
I've been wondering about this same issue but took a more simple approach. It involves adding a price to each node type you wish to sell.
I'm available to develop this next week - and would like to hear from anybody who wishes to donate to the task.
New module work in progress: Taxonomy_actions
Howdy,
actually the logic i am looking for is another:
Your proposal
users have to pay a fixed price for each node of a certain type they wish to publish. This is very straightforward and effective, but also can be a stop for some users who would like to get familiar with the site before actually paying for publishing.
My proposal
(well, actually work-in-progress!) the idea is to let users publish basic version of nodes for free, and later be able to pay to "upgrade" it and show more information (more fields outputted to the final node) and add more visibility (views plays here).
This should incentivate new users to go for a free publication at first, letting them explore the ground first, and helping new sites collecting content.
Taxonomy_actions:
I asked a coder to develop a module that aims at what i tryed to explain above, based on E-commerce obviously, on Taxonomy (Category) and Actions. The module will be called Taxonomy_actions, and the idea behind it is:
Once done that:
I am testing and polishing the module in these days. If you are interested please drop comments, hints, suggestions or critics below here!
cheers
Integration with current developments
Please take current developments into your considerations. Your "levels" seem to be user roles. (OT: Those paid membership roles should also be products to have maximum flexibility with ecommerce productapi).
IMHO, Views should have to handle those conditionals for output, not the template. hook_form_alter() might be used to remove input fields of content types in the node edit form that shall only be available to higher level user roles.
http://drupal.org/node/37802
http://drupal.org/node/75130
http://drupal.org/node/53888
http://drupal.org/node/62069
http://drupal.org/node/77132
http://drupal.org/node/77121
http://drupal.org/node/73727
Daniel F. Kudwien
unleashed mind
Daniel F. Kudwien
netzstrategen
hmm..roles won't do the job
Daniel, thanks for replying,
actually i happened to the Taxonomy_actions module proposed above after considering the different role memberships solutions:
this way was not possible to differentiate levels on a per-node level. If user buys a role, then all nodes published by that user would then assume the same properties of the role he buys.
No good, because here we are trying to have a user publish for example one basic listing, two silver and one platinum listings.
(if in someway i am wrong i'd be happy to be shown the right way to do it!)
sorry, no coder here: do you think this would be a benefit, and if yes why?
yep, this might be a very nice-to have. Still i have not too clear how to theme a CCK submission form... any hint or link about this would be extremely apreciated!
PS: opened a corresponding forum topic on Drupal.org also for more visibility.
pay2publish would be an excellent addition
For so many of us who are investing time and energy in learning Drupal enough to even approach the idea of contributing something useful i must say that this idea of paying for nodes is valuable.
it is my cutting edge right now because so much of what i do os a mishmash of process, strategy, workflow and so many other value add things that node creation and presentation of one form or another is important.
the ability to sell nodes as pieces of a workflow process is what I am looking for. thanks for looking at this and please contact me if putting in a few dollars will help.
Pay2Publish (ex Taxonomy_actions) in CVS
Howdy all,
i'm sorry if updates about Taxonomy_actions (now Pay2Publish) came to an halt.
Some long times of development and a slight change of business model in the website got the momentum slow down a bit.
Anyhow good news:
as some people recently asked about the status of the module and i finally managed to go through Drupal CVS, now the Pay2Publish project is available for anyone who wants to have a peek or give it a try.
Please note that even if the module should work properly on Drupal + eCommerce 4.7, it is a development version lacking documentation and probably not too polished yet. Please feel free to drop your word in the Pay2Publish issues queue if you need any help or info or want to give something back to the module ;)
In case the module is not available on the project page, you can find it in CVS here.