Forum Presentation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

  • + guestdbb6cd guestdbb6cd 2 years ago
    Thanks, Tony and Angus. Good talk. Lot’s of lessons for those attempting the same.

    -Scott (webzoa.com).
Post a comment
Embed Video
Edit your comment Cancel

Favorites, Groups & Events

Forum Presentation - Presentation Transcript

  1. Making Diamond Sparkle Forums & The Business Objects Community Site for Developers Tony Chang Angus Pratt
  2. Who are we?
    • Formally known as Seagate Software, Crystal Decisions. Now known as Business Objects, an SAP Company
    • Datawarehouse software – reporting, data cleansing, integrating, publishing
  3. What is Diamond?
    • Community website for BusinessObjects. 1.5 - 2 years old.
    • Focus on the developer community
    • Blogs, Video Tutorials, Samples, Books, Forums, API Documentation
    • 30k Reg. Users,
    • 1M page views/month
  4. Diamond Community
    • SDKs for Developers
    • Developer Evangelists
    • Communities
      • White Papers
      • Articles
      • Blogs
      • Forums
  5. Why Drupal?
    • Quick and Easy to get running
    • Flexibility allowed bypassing red tape
    • Small budget allocation
  6. Diamond Forums History
    • Improving look and functionality of forums
    • Improve quality and encourage participation (karma, subscriptions)‏
    • SAP came along
    • SAP Developer Network
      • Less jarring move
      • Moving in the near future
  7. Forum functionality
    • Node is central
    • Comments tied to node
  8. Container (before)‏
  9. Container (after)‏
  10. Container marked (after)‏
  11. Forum (before)‏
  12. Forum (after)‏
  13. Node (before)‏
  14. Node (after)‏
  15. Node marked (after)‏
  16. Forum – Template
  17. Container marked (after)‏
  18. Template – Forum List
    • http://drupal.org/node/199071
    • http://drupal.org/node/154325
  19. Container marked (after)‏
  20. Search table
    • <form action=&quot;/search/node&quot; method=&quot;post&quot; id=&quot;search-form&quot; class=&quot;search-form&quot;>
    • <div class=&quot;form-item&quot;>
    • <input type=&quot;text&quot; class=&quot;input-text&quot; value=&quot;&quot; size=&quot;25&quot; name=&quot;keys&quot; />
    • <input type=&quot;submit&quot; value=&quot;Search&quot; name=&quot;op&quot; title=&quot;Search&quot; alt=&quot;Search&quot; />
    • <input type=&quot;hidden&quot; value=&quot;<?php print drupal_get_token('search_form'); ?>&quot; name=&quot;form_token&quot; />
    • <input type=&quot;hidden&quot; value=&quot;search_form&quot; id=&quot;edit-search-form&quot; name=&quot;form_id&quot; />
    • <input type=&quot;hidden&quot; name=&quot;type[forum]&quot; id=&quot;edit-type-your_content_type&quot; value=&quot;your_content_type&quot; />
    • </div>
    • </form>
  21. Container marked (after)‏
  22. Categories
    • if (arg(1)== NULL){
    • $topiclist .= &quot;<table class='forumcats'><tbody><tr class='rowheader'><td class='columnheader'><div class='catheader'>Categories</div></td><td></td><td></td></tr>&quot;;
    • }
    • foreach ($forums as $key=>$forum) { // this is the start of the forum list routine that generates the containers and forum list.
    • if ($forum->container) {
    • $c++;
    • if (round((($c-1)%3))==0) {
    • $topiclist .= '<tr class=&quot;row'. (round($c/3)+1) .'&quot;><td class=&quot;column' . (round($c-1)%3+1) . '&quot;><div class=&quot;cat&quot;><a href=&quot;/forum#'.$forum->tid.'&quot;>' . $forum->name . '</a></div></td>';
    • } elseif ($c!=count(variable_get('forum_containers'))) {
    • $topiclist .= '<td class=&quot;column' . (round(($c-1)%3)+1) . '&quot;><div class=&quot;cat&quot;><a href=&quot;/forum#'.$forum->tid.'&quot;>' . $forum->name . '</a></div></td>';
    • } else {
    • $topiclist .= '<td class=&quot;column' . (round(($c-1)%3)+1) . '&quot;><div class=&quot;cat&quot;><a href=&quot;/forum#'.$forum->tid.'&quot;>' . $forum->name . '</a></div></td></tr>';
    • }
    • [stuff deleted]
    • print $topiclist . '</tbody></table>';
  23. Node marked (after)‏
  24. Template – forum nodes
    • http://drupal.org/node/46027
  25. Node marked (after)‏
  26. User roles
    • <?php
    • $comment_author = user_load(array('uid' => $comment->uid)); //load the profile of the user who posted the comment
    • $uroles = $comment_author->roles;
    • foreach ($uroles as $urole) {
    • $urole = str_replace(&quot; &quot;, &quot;_&quot;, $urole);
    • $userroles .= &quot;<img src='/sites/default/themes/Diamond/images/&quot; . $urole . &quot;.gif' title='&quot;. $urole .&quot;'></img>&quot;;
    • }
    • ?>
    • <table class='tablecomments'><tr class='comment-top'><td class='cleft'>
    • <?php
    • print l ( $comment_author->profile_first_name .&quot; &quot;. $comment_author->profile_last_name , 'user/' .$comment_author->uid);
    • ?>
    • <?php print $userroles ?> </td>
    • […stuff deleted…]
    • </table>
  27. User Picture
    • <div class='userpicture'>
    • <?php
    • if ($node->picture) {
    • $userpicture = theme('image', $node->picture);
    • } else {
    • $userpicture = '<img src=&quot;' . variable_get('user_picture_default') . '&quot; alt=&quot;Default User Picture&quot; />';
    • }
    • print $userpicture;
    • ?>
    • </div>
  28. Number of Posts
    • <?php
    • $comment_author = user_load(array('uid' => $comment->uid)); //load the profile of the user who posted the comment
    • $allposts = &quot;SELECT(SELECT COUNT(DISTINCT(node.nid))
    • FROM node
    • WHERE node.uid= &quot;. $comment_author->uid .&quot;)‏
    • +(SELECT COUNT(DISTINCT(comments.cid))‏
    • FROM comments
    • WHERE comments.uid= &quot;. $comment_author->uid .&quot;)‏
    • AS result&quot;;
    • print l(&quot;Posts: &quot; . db_result(db_query($allposts)), 'userposts/' . $comment_author->uid) . &quot;<br>”;
    • ?>
  29. Member since
    • $comment_author = user_load(array('uid' => $comment->uid)); //load the profile of the user who posted the comment
    • <?php
    • print l(&quot;Member Since: &quot; . format_date($comment_author->created, 'custom', 'M d, Y') . &quot;<br>“
    • ?>
  30. Modules added
    • Subscriptions
    • Comment mover
    • Spam
    • Service links

+ Angus PrattAngus Pratt, 2 years ago

custom

831 views, 0 favs, 0 embeds more stats

A presentation by Tony Chang and Angus Pratt to the more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 831
    • 831 on SlideShare
    • 0 from embeds
  • Comments 1
  • Favorites 0
  • Downloads 22
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories