SlideShare a Scribd company logo
Making   Diamond   Sparkle  Forums & The Business Objects Community Site for Developers Tony Chang Angus Pratt
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
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
Diamond Community SDKs for Developers Developer Evangelists Communities White Papers Articles Blogs Forums
Why Drupal? Quick and Easy to get running Flexibility allowed bypassing red tape Small budget allocation
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
Forum functionality Node is central Comments tied to node
Container (before)‏
Container (after)‏
Container marked (after)‏
Forum (before)‏
Forum (after)‏
Node (before)‏
Node (after)‏
Node marked (after)‏
Forum – Template
Container marked (after)‏
Template – Forum List http://drupal.org/node/199071 http://drupal.org/node/154325
Container marked (after)‏
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>
Container marked (after)‏
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>';
Node marked (after)‏
Template – forum nodes http://drupal.org/node/46027
Node marked (after)‏
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>
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>
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>”; ?>
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>“ ?>
Modules added  Subscriptions Comment mover Spam Service links

More Related Content

PPT
Stylesheets for Online Help - Scott DeLoach, ClickStart
PPTX
YQL talk at OHD Jakarta
ODP
Optimizing Drupal for Mobile Devices
PPTX
HTML all tags .........its to much helpful for beginners
KEY
HTML presentation for beginners
PPTX
Html5 structure tags
Stylesheets for Online Help - Scott DeLoach, ClickStart
YQL talk at OHD Jakarta
Optimizing Drupal for Mobile Devices
HTML all tags .........its to much helpful for beginners
HTML presentation for beginners
Html5 structure tags

What's hot (18)

PPT
HTML & CSS Workshop Notes
PPTX
An Overview of HTML, CSS & Java Script
PDF
HTML und CSS für Designer / HTML & CSS for designers (PUBKON 2014)
PPT
Freebasing for Fun and Enhancement
PPTX
(Fast) Introduction to HTML & CSS
ODP
PHP 102: Out with the Bad, In with the Good
PPT
Php Basic Security
PPTX
Embrace the Mullet: CSS is the 'Party in the Back' (a CSS How-to)
ODP
Creating Web Sites with HTML and CSS
PPT
Introduction to HTML
PPT
Building Secure Twitter Apps
PPT
SEO Structures by Yavor Milchev
PPT
The Frameless Opac
ODP
IBM Lotus Notes Domino XPages and XPages for Mobile
PPT
WordPress Development Confoo 2010
PPTX
Html and Xhtml
PDF
An Intro to HTML & CSS
PDF
Findability Bliss Through Web Standards
HTML & CSS Workshop Notes
An Overview of HTML, CSS & Java Script
HTML und CSS für Designer / HTML & CSS for designers (PUBKON 2014)
Freebasing for Fun and Enhancement
(Fast) Introduction to HTML & CSS
PHP 102: Out with the Bad, In with the Good
Php Basic Security
Embrace the Mullet: CSS is the 'Party in the Back' (a CSS How-to)
Creating Web Sites with HTML and CSS
Introduction to HTML
Building Secure Twitter Apps
SEO Structures by Yavor Milchev
The Frameless Opac
IBM Lotus Notes Domino XPages and XPages for Mobile
WordPress Development Confoo 2010
Html and Xhtml
An Intro to HTML & CSS
Findability Bliss Through Web Standards
Ad

Similar to Forum Presentation (10)

ODP
Maintaining your own branch of Drupal core
ZIP
Drupal Development
ZIP
Drupal Development (Part 2)
PPT
Vancouver League of Drupallers - Remembering the User (August 2008)
ODP
Writing Drupal 5 Module
PPTX
6 Special Howtos for Drupal
PPT
Mongo-Drupal
ODP
This upload requires better support for ODP format
PPTX
Zimmertwins Presentation
ODP
Drupal Best Practices
Maintaining your own branch of Drupal core
Drupal Development
Drupal Development (Part 2)
Vancouver League of Drupallers - Remembering the User (August 2008)
Writing Drupal 5 Module
6 Special Howtos for Drupal
Mongo-Drupal
This upload requires better support for ODP format
Zimmertwins Presentation
Drupal Best Practices
Ad

Recently uploaded (20)

PDF
NISM Series V-A MFD Workbook v December 2024.khhhjtgvwevoypdnew one must use ...
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PPT
Data mining for business intelligence ch04 sharda
PDF
How to Get Funding for Your Trucking Business
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PPTX
Amazon (Business Studies) management studies
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PPT
Chapter four Project-Preparation material
PDF
Types of control:Qualitative vs Quantitative
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PDF
Tata consultancy services case study shri Sharda college, basrur
DOCX
Euro SEO Services 1st 3 General Updates.docx
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
NISM Series V-A MFD Workbook v December 2024.khhhjtgvwevoypdnew one must use ...
COST SHEET- Tender and Quotation unit 2.pdf
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
unit 1 COST ACCOUNTING AND COST SHEET
Data mining for business intelligence ch04 sharda
How to Get Funding for Your Trucking Business
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Amazon (Business Studies) management studies
Belch_12e_PPT_Ch18_Accessible_university.pptx
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
Chapter four Project-Preparation material
Types of control:Qualitative vs Quantitative
340036916-American-Literature-Literary-Period-Overview.ppt
Tata consultancy services case study shri Sharda college, basrur
Euro SEO Services 1st 3 General Updates.docx
Roadmap Map-digital Banking feature MB,IB,AB
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
Ôn tập tiếng anh trong kinh doanh nâng cao

Forum Presentation

  • 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
  • 18. Template – Forum List http://drupal.org/node/199071 http://drupal.org/node/154325
  • 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>
  • 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>';
  • 24. Template – forum nodes http://drupal.org/node/46027
  • 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