thesilentman VIP
Total posts: 33
29 Sep 2015 19:48

Hello,

I have two different scenarios which I could theoretically realize in two sections.

The first scenario:

It is a paid classified ads part.

It functions as follows:

  1. A (registered) user submits an ad. This ad is not automatically approved. Also there is no payment done, yet.

  2. The Admin sets custom "Admin approval" field to true and a price for the ad.

  3. Now user has to make the payment with the price that has been defined by the admin.

  4. After the user has either paid by paypal or admin has received funds on bank account, the classified ad should be approved either automatically (via the paypal notification) or manually by the admin in case of the bank transfer received.

The second scenario:

It is a paid business directory

It functions as follows:

  1. A (registered) user submits an directory entry and has to pay for it in order for it to get published.

  2. After the user has either paid by paypal or admin has received funds on bank account, the entry should be approved either automatically (via the paypal notification) or manually by the admin in case of the bank transfer received.

Notes:

  1. I am aware of Emerald, but as the requirements are not subscription based, but entry based, I am not sure if it is the right tool.

  2. The user must be able to chose between paying with paypal or bank transfer and this information would have to be stored alongside the entry for the admin.

Thanks a lot for your time,

Greetings,

Frank

Last Modified: 05 Oct 2015


thesilentman VIP
Total posts: 33
29 Sep 2015 21:58

I just played a bit with Emerald, and I think that it would suit the purpose, if a subscription would only be associated with the entry that it is paid for. That would mean that subscriptions would be selectable by the user for each entry submitted and would only be valid for that entry. Once the subscription would run out, the entry would be unpublished.


Sergey
Total posts: 13,748
30 Sep 2015 13:41

You were right about your asumption that Emerald is not right tool because your scenarios are entry based. I mean you can use it and make it work, but it was not designed for that. I can offer you 2 options.

1. Emerald 10

Emerald 10 will have custom fields. With those fields it would be possible to let user select what add he wants to publish. So it will be one subscription but it can publish difefrent articles. Emerald Alpha is ready and I can give it to you to try. I can also create that custom Emerald field for you for free that will connect with articles of any ad extension. You do not need to pay, you can try and purchase if you like. because it is alpha anyway and there are possible will be some issues along the way.

But in this case, problem still exists with the price. You cannot cange the parice. Ther is single price for subscription and you cannot update it based on ther article you chose in custom field. I mean it could be possible but it would be already custom development that I charge separately. This one would be approx ($50-$80) depending on what extension you are going to use for ads.

2. Cobalt

Cobalt has payment API. And it can charge per article. It is possible to create special field that will offer author of the article purchase an amount and upon success purchase publish the article. But again that would be custom development. This would cost more approx $200.

Out of the box

With what we have out of the box, you can only restrict ad sumission. For example you create plan A $10 1 ad. Plan B $20 3 ads. There is psrameter to count number of usage. Each time user add new ad counter increase. But in this case there will be fixed price for all ads. So you can have 2-3 plans only with will work per ad.


pepperstreet VIP
Total posts: 3,837
30 Sep 2015 21:07

Sergey 2. Cobalt Cobalt has payment API. And it can charge per article. It is possible to create special field that will offer author of the article purchase an amount and upon success purchase publish the article.

Funny coincedence: I was about to write a very similar idea/topic :)
While I was reading this post, I was thinking of a Cobalt-only solution, too.
I just could not describe my idea. But you nailed it: A field PayToPublish.
Similar options like in other "PayTo..." fields.

Some thoughts about features:

  • fixed price
  • select from multiple Prices
  • free input of price (in between min max range, like in Emerald "Donation plan")
  • price input either for author OR admin approval
  • parameter to set expire-date or amount of days/weeks/months
  • renew / prolong with discount?

IMHO, a Cobalt field is the easiest solution for an average user.


Another idea: What about an additional feature for "PayToAccess"?
"Access" in the sense of "other users can see my record".
If not payed by the Author, restrict display again.


thesilentman VIP
Total posts: 33
01 Oct 2015 00:47

Hello there and thank you both for your input.

@Sergey:

Emerald's custom fields sound interesting but I think the subscription with a selection of what to publish makes things more difficult for the end-user than it should be. Thank you for the offer of letting me try it, though.

I think I am more focused on a possible Cobalt solution. BTW, I am a developer, so I could maybe dive into Cobalt and create a custom field along the lines you proposed. BTW, is there some thourough developer docs on Cobalt or should I look into the existing plugins etc for guidance?

One more question: how would one configure the possibility to resubmit an entry? One way would be to reset the same "record" and treat it like a new one - and the second way would be to copy the expired "record" to a new one and reset it.

Of course I havent even mentioned the ultimate goal for ads that my customer would like, which would be for the price to be calculated automatically according to the amount of letters or words of the text and some paid options like Bordered or featured and more, and all of that in association with the publishing periods, which could be priced very differently accorind to their length. This would of course require a lot of flexibility in defining and calculating all the possibiliies, that might not be easily doable with the configuration forms. So I believe that for those types of calculations maybe it should be made possible to provide a php script that would do all calculations. If I am not mistaken, this could be done via plugins on some event like save?

What you describe under "out of the box" is like you said unfortunately not providing a solution, so I am concentrating on the custom field for cobalt.

@pepperstreet:

Since I just found Cobalt and have not yet worked with the "payTo..." fields, I am not exactly aware of their capabilities. I like your ideas on the features and I would also like to add:

  • the aforementioned automated complex calculations part.
  • the possibility of a price, set by an admin or moderator after the ad has been submitted. In which case the user would get a mail, informing them that the ad has been approved for payment.

This field and especially the scripted calculations would also be a fine tool for the business directory I mentioned as the second scenario.

When all of the above things are realized, Cobalt could be the top component for making classified ads and business directories. Believe me, I have done a lot of research and tried a lot of components in the past weeks, and none of them really is a good fit. Some have this but lack of that and some have it the other way around. Cobalt could win some ground here...


Jeff VIP
Total posts: 745
01 Oct 2015 00:54

pepperstreet Another idea: What about an additional feature for "PayToAccess"?

"Access" in the sense of "other users can see my record".

If not payed by the Author, restrict display again.

A couple of years ago when I decided to use Cobalt for a project, this was the first thing I needed Sergey to develop. He could not add it to Cobalt's core because it was to specific at that time.

I'm glad to see that there's finally some growing demand for it. But since the Emerald action plugin was custom made for me, updating or improving the plugin is solely dependent of Sergey's available time. In it's current state, the prolong plugin allows anyone to prolong a record, not only the author. Which is great if you build a crowd sourced website.

I would like to see a "free" input price linked with an expire-date or amount. So the higher the price the longer a record stays online.


Jeff VIP
Total posts: 745
01 Oct 2015 00:57

thesilentman When all of the above things are realized, Cobalt could be the top component for making classified ads and business directories. Believe me, I have done a lot of research and tried a lot of components in the past weeks, and none of them really is a good fit. Some have this but lack of that and some have it the other way around. Cobalt could win some ground here...

That is exactly why I started using Cobalt + Emerald a couple of years ago :-)


pepperstreet VIP
Total posts: 3,837
01 Oct 2015 01:41

thesilentman Believe me, I have done a lot of research and tried a lot of components in the past weeks, and none of them really is a good fit

AFAIK the only directory component with pricing options per field is SOBI Pro.
Well, it is somewhat "special" in many regards ;)


thesilentman VIP
Total posts: 33
01 Oct 2015 09:18

pepperstreet

thesilentman Believe me, I have done a lot of research and tried a lot of components in the past weeks, and none of them really is a good fit

AFAIK the only directory component with pricing options per field is SOBI Pro.

Well, it is somewhat "special" in many regards ;)

I tried that as well, and while it has some flexibility (not all that I would need), it has a lot of quirks and is quiet "complicated" or as you stated, "special". :)


thesilentman VIP
Total posts: 33
01 Oct 2015 09:40

A few (too few :D ) hours of sleep later, I have decided to give it at try with Cobalt and some custom development by myself, along the aforementioned lines...

Let's see how it goes.

@Sergey: Do you have any tips and tricks for me to get up to speed the quickest possible? Some "hidden" docs etc?

PS: I have already lost a lot of time evaluating other possible solutions and would very much like Cobalt to be the final and most successful tool for this.


thesilentman VIP
Total posts: 33
02 Oct 2015 03:21

Hello again,

after a few hours of getting acquainted with Cobalt and its inner workings, I developed my first little helper field.

The field counts either characters or words of a defined field and updates them in realtime inside the form.

I still need to implement the same counting on save to prevent tampering with form data, but other than that it's already working fine.

When it's finished and tested I'll probably make it available for free in the depot. :)

Next task... Pay to publish...


Sergey
Total posts: 13,748
02 Oct 2015 13:14

There is public function validate($value, $record, $type, $section) method. You can check it there and is there is more simbols/words just use

$this->setError(JText::_('THIS_IS_MY_ERROR'));
return false;

thesilentman VIP
Total posts: 33
02 Oct 2015 13:33

Sergey There is public function validate($value, $record, $type, $section) method. You can check it there and is there is more simbols/words just use

<span class="variable">$this</span>-&gt;setError(JText::<span class="number">_</span>(<span class="string">'THIS_IS_MY_ERROR'</span>));
<span class="keyword">return</span> false;

Yes, I had already found it and implemented. Thanks anyway :)


Sergey
Total posts: 13,748
05 Oct 2015 13:06

I like your comments! Looks like you are very serious user :) Looking forward to see what you've done.

Powered by Cobalt