Featuring - can be better than Ning

Ken Rich
Ken Rich
@ken-rich
11 years ago
926 posts
The NingNova2 skin I am running (thanks to Paul) has an innovation that with just a couple of tweaks, would be "the bomb" for featuring, and no former Ning user would ever miss that aspect.

In fact, what I'm suggesting would automate the process, help monetize the site, and look very similar to the old Ning view we are used to.

On the top of this page there is a row of four spaces, and tabs for featured content http://indiegospel.net

It is possible to have the content which displays be randomly chosen from assigned quotas. For instance I have 2 paid artist levels and 1 free. I can ignore the free one, and artists who pay can be chosen at random for featuring. That's good, the addition of "weighting" so one quota can get a higher number of features than another quota, would also be useful.

A manual override for inputting someone to the rotation would be nice for special occasions, but not a critical concern at least for me.

Now, it's nice having featured artists show as the first view on the Home page, but on the Songs page I want featured songs displayed first. On videos page, featured videos.

I've tried "monkeying" with the code, but currently the initial loading on the view is artists, until the button is pressed, no matter what tab is placed first. I thinks it's got something to do with the loading sequence in Java.

I'm going to attach the current code (I believe this belongs to Paul and/or Douglas). If a trained coder want's to look, I'm pretty sure the proposed tweaks are an easy job that will result in "happy trails" for former Ningsters. A feature request if you will, that will benefit the whole community.
pdf
Featuring.pdf  •  39KB




--

Ken Rich
indiegospel.net

updated by @ken-rich: 07/09/16 09:21:02AM
paul
@paul
11 years ago
4,335 posts
Hi Ken. What you suggest is pretty straight forward and can be done at a template level
Is this really something a lot of Ning users will want? If so we can look at making it an option. Or maybe a 'how to' article walking them through how to do it. That'll also teach them about templating ;-)



--
Paul Asher - JR Developer and System Import Specialist

updated by @paul: 12/29/14 09:23:54AM
Ken Rich
Ken Rich
@ken-rich
11 years ago
926 posts
Cool... I figured it could be easily done. I think I almost had most of the basics figured myself, except I couldn't get the "initialized" view to change when placing on different pages, and I wasn't too sure on making it rotate randomly through a quota's content.

Adding weighting and manual override controls, would be completely out of my league to code, but they would be nice options.

However, even a basic version of this will accomplish 3 things:

1) A familiar but constantly changing view on the top of every content page, just like the featured section on Ning.

2) It will help monetize quotas. If paid artists and their content are getting automatically rotated through featured spotlighting, it is a selling point for subscriptions. Free artists wouldn't get that service. If there are levels (Gold Artist, Platinum Artist) then the more expensive subscription can have with more weighting on the content rotation.

3) Some of the pages (like songs) look kind of "bland". Having 4 decent sized album covers on top, that are rotating every page view (or at least on a timer), will make the page more attractive and visually interesting.

=====================================

I think most Ning migrants (especially the non coders), will want some version of featuring "out of the box" - it's something they were used to.

It should at least be an option, in some form or another. I wasn't a big fan of the Ning version because manually featuring to keep views and feeds fresh was time consuming. This automated system (especially with manual override, weighting, and page load rotation) would be "the bomb".

I definitely want it, and I've set up my quotas so that paying artists receive this service. Now I'm just looking for a way to have reality catch up to the dream...


--

Ken Rich
indiegospel.net

updated by @ken-rich: 12/29/14 09:23:54AM
brian
@brian
11 years ago
10,149 posts
All of these are doable by changing 1 line in the templates - change the "order_by" field - i.e.

order_by="_item_id desc"

to:
order_by="_item_id random"

Then every user gets a "fresh" view of those items. I know you say in your other post that you're not a coder, but this is how we would do it in Jamroom - it's not something we would build a module to do, as it is very simple.

Hope this helps!


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net

updated by @brian: 12/29/14 09:23:54AM
Ken Rich
Ken Rich
@ken-rich
11 years ago
926 posts
Hi Brian, that's helpful, but does that cause it to load a new 4 every page load?

Also, what causes the initial view in those 4 spots, when the page loads but before a button is clicked?

I found I could remove everything except for songs (for example) from the pre-existing code, put it on the songs page, and still before the button was clicked it would show artists. Then after the button was clicked the song covers would show.

I spent hours at it, but couldn't find out why. I thought perhaps I needed to duplicate a new version of the Java initialize code with a different name and different url in this line, depending on the page.

jrLoad('#sm',core_system_url +'/index_artists');

However, my copied java code wouldn't run and actually prevented the old one from running!!!

This stuff is way out of my league. I'm changing codes by guesswork, and running experiments on a live network.

Instead I should be writing FAQ's and answering questions, to make the transition smooth for my members.

I feel a professional coder should tackle this and make it available as a market place item, or a skin upgrade.


--

Ken Rich
indiegospel.net

updated by @ken-rich: 12/29/14 09:23:54AM
brian
@brian
11 years ago
10,149 posts
Ken_Rich:
Hi Brian, that's helpful, but does that cause it to load a new 4 every page load?

Also, what causes the initial view in those 4 spots, when the page loads but before a button is clicked?

I found I could remove everything except for songs (for example) from the pre-existing code, put it on the songs page, and still before the button was clicked it would show artists. Then after the button was clicked the song covers would show.

I spent hours at it, but couldn't find out why. I thought perhaps I needed to duplicate a new version of the Java initialize code with a different name and different url in this line, depending on the page.

jrLoad('#sm',core_system_url +'/index_artists');

However, my copied java code wouldn't run and actually prevented the old one from running!!!

This stuff is way out of my league. I'm changing codes by guesswork, and running experiments on a live network.

Instead I should be writing FAQ's and answering questions, to make the transition smooth for my members.

I feel a professional coder should tackle this and make it available as a market place item, or a skin upgrade.

I keep forgetting you are using Nova, which loads things differently than any of our other skins (it loads things via AJAX) so I'd need to defer to Douglas on this one. Make sure and post to the main JR forum and he can help out.

Thanks!


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net

updated by @brian: 12/29/14 09:23:54AM
Ken Rich
Ken Rich
@ken-rich
11 years ago
926 posts
Thanks Brian - I just invited him over for a look...


--

Ken Rich
indiegospel.net

updated by @ken-rich: 12/29/14 09:23:54AM
douglas
@douglas
11 years ago
2,804 posts
The featured tabs are being loaded as Brian suggested, via AJAX, you can find the code for that in the Nova.js file.

I do not have the files for NingNova2, that was something Paul did for you I believe.

I just tested this on my test site and this is what I had to do...

I added this to the songs.tpl

find:
{jrCore_include template="header.tpl"}

and below it added this:
<script type="text/javascript">
    $(document).ready(function(){
        jrSkinInit();
    });
</script>

Then added this where I wanted the featured tabs to show:
<div class="menu_tab">
    <div id="default" class="p_choice fsong" onclick="jrLoad('#sf','{$jamroom_url}/index_songs');jrSetActive('#default');">{jrCore_lang  skin=$_conf.jrCore_active_skin id="21" default="featured"} {jrCore_lang  skin=$_conf.jrCore_active_skin id="13" default="songs"}</div>
    <div id="s_song" class="p_choice fvideo" onclick="jrLoad('#sf','{$jamroom_url}/index_videos');jrSetActive('#s_song');">{jrCore_lang  skin=$_conf.jrCore_active_skin id="21" default="featured"} {jrCore_lang  skin=$_conf.jrCore_active_skin id="14" default="videos"}</div>
    <div id="s_video" class="p_choice fartist" onclick="jrLoad('#sf','{$jamroom_url}/index_artists');jrSetActive('#s_video');">{jrCore_lang  skin=$_conf.jrCore_active_skin id="21" default="featured"} {jrCore_lang  skin=$_conf.jrCore_active_skin id="12" default="artists"}</div>
    <div class="clear"></div>
</div>
<div class="finner mb8">
    <div id="sf"></div>
</div>
<br>

Then opened my skins/jrNova/js/jrNova.js file and found this:
    jrLoad('#sm',core_system_url +'/index_artists');

and right below it added this:
    jrLoad('#sf',core_system_url +'/index_songs');

That is pretty much all there is, be sure to reset your cache if you aren't running in dev mode.

For your video page, you'll have to change the div ids

jrNova.js file
Quote:
jrLoad('#sf'.....

The id in the link for the tabs
Quote:

< a onclick="jrLoad('#sf... >


and the div id the tabs get loaded in.
Quote:
< div id="sf" >.....< /div >

and obviously rearrange the tabs, making sure the default tab is first:
jrSetActive('#default');

If this is too hard or difficult to follow, send me an email to douglas[at] jamroom[dot] net and we can discuss this as a project.

Hope this helps,
Douglas


--

Douglas Hackney
Jamroom Team - Designer/Developer/Support
FAQ-Docs-Help Videos

updated by @douglas: 12/29/14 09:23:54AM
Ken Rich
Ken Rich
@ken-rich
11 years ago
926 posts
Thanks Douglas - I'll take a crack at it again and see what happens.


--

Ken Rich
indiegospel.net

updated by @ken-rich: 12/29/14 09:23:54AM