Finished my site Launchlab

Events happening in the community are now at Drupal community events on www.drupal.org.
zzJames's picture

This site uses nodeprofile/nodefamily and usernode. It's a site for members of the east london arts community to represent themselves,

each user has an associated CCK node which they use as a profile, when the users create there profiles they tag themselves with there artistic skills and styles.

The site has a advanced search and tag cloud for potential employers to quickly find relevant artists and see samples of there work.

It also has a section called 'the lab' with the usual community networking tools (forums, messages, links etc)

it's currently in beta, there is a lot still to do, but any feedback is helpful.

http://www.launchlab.org.uk

James

Comments

Looking really good!

Walt Esquivel's picture

Just wanted to say thanks for sharing your site with us. I really like the advanced search capability for the profiles via Art-form / Media, Skills, and Styles! It really helps me see the possibilities.

I'm not a developer and know nothing about PHP. Was there a lot of programming involved to build the functionality behind "each user has an associated CCK node which they use as a profile, when the users create there profiles they tag themselves with there artistic skills and styles"? Or is that functionality pretty much "out of the box" and easy to set up when one uses the nodeprofile, nodefamily, and usernode modules?

Thanks in advance for your kind feedback. Any insights and words of advice greatly appreciated.

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Tutorial

michelle's picture

It's not finished, but should give you an idea of what's involved...

http://dev.shellmultimedia.com/node/48

Michelle

Your tutorials are excellent!

Walt Esquivel's picture

And you're a great author!

Thank you & please keep up the good work.

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Thanks :)

michelle's picture

I was hoping to have it finished today but then I realized I broke my user listing view when I moved from usernode and spent all my son's nap time fixing that. I'll give it another go during his nap tomorrow.

Michelle

some programming....

zzJames's picture

Using usernode, nodeprofile, nodefamily makes it fairly easy without coding to make the profiles and then link them to the users. There are several places where how to do that is explained, (in the posts for this group...) but there is some coding also in Launchlab.

the programming came with drupal's taxonomy module, in the out-of-the-box functionality you can create several classes of tags that you want to have applied to the profiles, I have art-forms, skills and styles although you could for example have (in a different context) tags which are animals, vegetables, minerals - you see what I mean? the group or 'vocabulary' that a set of tags belongs to are named by you (the admin), and even if the same word comes up in both 'classes' of tags, drupal sees them as seperate. This is all well and good and as it should be.

However! when drupal displays the node, in my case the profile node, then it simply constructs a single list of all the tags,

it does them in the order of the 'class' they belong to, i.e. if my groups WERE animal, vegetable, mineral then drupal would print the tags something like 'cheetah, elephant, cucumber, poppy, sodium chloride'

the PROBLEM is, in drupal's PHP they all are delivered to the front-end (HTML) with the PHP statement:

print $tags

meaning that in the HTML template you don't have very much control over the layout.

so I had to over-ride the function for displaying tags so that the back end produced 3 lists which I could deliver into the HTML tamplate, in the example above it would become something like

print $animal_tags;
print $vegetable_tags;
print $mineral_tags;

The second problem was that 'only in the case of user-profiles' did I want that tag seperating functionality, so as well as an override function (which lives in the template.php file) I altered the taxonomy.module slightly too.

The code I used is a bit of a hack, there was not time to come up with a beautiful coding solution, but I can probably send it to you, or post it here. 99% of the code goes in the template.php file in the themes folder, so it does not put your site at risk to try it out.

thanks for your supportive comments

James

Thanks...

Walt Esquivel's picture

I can probably send it to you, or post it here.

If you don't mind, I think it's best for the benefit of the community if you could post it here.

Thank you James! Keep up the good work.

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Image Upload

kensdca's picture

Hi James

When I registered and uploaded an image I got

* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/launborg/public_html/sites/default/modules/pageroute/pageroute.module on line 147.
* warning: Invalid argument supplied for foreach() in /home/launborg/public_html/sites/default/modules/pageroute/pageroute.module on line 147.

FYI!! I am implementing Usernode / Profiles on a site, too. Good luck!
Ken

node-family/usernode and profile simultaneously

droople's picture

I am not sure if i did something wrong, but when i tried to use the node
family/usernode and profile.module simultaneously i kept getting error messages.

I am trying to do the following

Users have a "profilepage" using nodefamily/usernode (using Michelle's tutorial)

and also I will create a node-type using CKK called "player profile", whereby users can add a profile of their favourite baseball player. (like you have there users add an artist profile)

The reason I need to use the core profile module is because of some modules like online status, adsense etc

any chance you guys know how to set this up

thanks

Walt Esquivel's picture

Please see my post at http://groups.drupal.org/node/4001

Thanks in advance to anyone who can help me.

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing

Of course the modules work

fago's picture

Of course the modules work together - there is nothing special required just enable and configure both. If you are experiencing bugs, please create issues and describe them.

Nice Work - Pageroute? Usernode?

voidengine's picture

James,

Very nice work! I joined to take a look around, as I'm currently reviewing options for creating user profiles. A few questions/notes:

  1. Did you use the Pageroute module to create the three buttons for profile editing?

  2. Suggestion: "complete profile editing" is a little unclear to me as a button title. One possible meaning is that the user must click that button to finish the editing process. Perhaps something like [edit][upload][view] or [profile][images][preview] might be clearer.

  3. What do you use the Usernode module for? My impression is that it is needed to allow nodeprofile to use multiple nodes via nodefamily.

Thanks Much,
Ray

Ray Guillette
Void Engineer
www.voidengineering.com

Sorry have not been posting

zzJames's picture

Hi

there were some requests for code for displaying categories/tags in there specific groups as opposed to one list, I meant to post it but currently I am having problems with it, as we have changed the categories and the code was 'hard coded' to the initial set-up.

I will post when it is fixed.

thanks for feedback everyone, and yes to Ray, the only reason I have used usernode module is to have drupal create an (unseen) node that the profiles are attached to using nodeprofile/nodefamily.

cheers

James

zzJames's picture

first change the taxonomy.module function hook_link.

it's a good idea to move the taxonomy module from the modules folder and put it under /sites/modules (drupal 4.7), this means if you have to reinstall drupal or do a security update, you will not write over your altered taxonomy module script - providing you don't copy sites folder from the new install!

here is the changed script - bare in mind that my site is called launchlab, so I used the word in the script. Also my content type associated with the usernode is called 'content_artiist_profile' so you will need to make appropriate changes

The basic purpose of this function is to identify whether the node that called the taxonomy_link function was a user profile node.

function taxonomy_link($type, $node = NULL)
{
   if ($type == 'taxonomy terms' && $node != NULL)
{
      $links = array();
      if (array_key_exists('taxonomy', $node))
        {
     
           if ($node->type === 'content_artiist_profile') { // is this a profile node
                $links = launchlab_taxonomy_format($type, $node);
              return $links;
             }
     
           foreach ($node->taxonomy as $term)
         {
          $links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => strip_tags($term->description)));
              }
              return $links;
     }
  }
}

so now you need the funtion that displays the tags in a custom way.

here is mine, I keep it in the template.php file

function launchlab_taxonomy_format($type, $node) {


    $category_terms_array = array();

  foreach ($node->taxonomy as $term)
  {
      $vocabulary = taxonomy_get_vocabulary($term->vid);
      $category_terms_array[$vocabulary->name][] = $term;
}


   foreach($category_terms_array as $key => $value)
    {
      $start = "<span class=\"vocname\">$key: </span>";
      $end ="";
       
       foreach($category_terms_array[$key] as $term)
      {
      print $is_front;
           if ($GLOBALS['current_view']->name != 'talent') {
           $tooltip =  "click to see more profiles with $term->name in $key";
            $end .= "<span class=\"\">".l($term->name, taxonomy_term_path($term)."/content_artisist_profile", array('rel' => 'tag', 'title' => $tooltip))." </span>";
           } else {
           $end .= "<span class=\"\">".$term->name." </span>";
          }      
       }
      $output = $start.$end."<br />";
       
       $links[] = $output;
   }              
  
    return $links;
}

If that's useful to anyone I am very happy

cheers

speak soon!!

James

formatting bit off

zzJames's picture

sorry about the lack of indenting in the code examples above. I put it in but when I put the [code] tags around it, the tabs disappeared!

It's not finished, but

Oyun's picture

It's not finished, but should give you an idea of what's involved...

Oyun

Profiles as nodes

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week