Since the past 10 days I have been working on a new version of the Belenix website. The website has undergone a major overhaul in terms of looks as well as features. Moinak had announced about a new Belenix server coming up courtesy Al Hopper and the Genunix folks about a month
ago, along with a call for some help with the Belenix website. I replied and asked I could help, mentioning that I have some programming / maintenance / hacking around experience with Drupal and cook up any kind of website using drupal's modules and have managed servers in the past (my new blog, the college youth club portal, the sun club website, the virtual installfest website, college library website, etc). I also suggested some ideas for overhauling the site. Soon I was welcomed by the team and Moinak made an account for me on the new server. There's
a couple of reasons I had taken up interest in it. One being that I wanted to give
back to the community somehow. I am (right now) not that much into OS
development, so I saw contributing to the website as a great way to
give back something. Secondly, the plus point was that the website was made
upon Drupal, of which I am a die-hard fan. And thirdly, I found it a great
opportunity to work on a production Solaris server and sharpen my
server admin skills. I had been more or less a linux/windows server guy till now with the administration of college servers I was responsible for and was always looking for an opportunity to get hands on to a Solaris server. It paves way for learning all the Dtrace
hacking of Drupal for performance increase, security, debugging, etc. It's great. I've always wanted to find a converged opportunity
covering both Solaris and web development.
 |
 |
| Was |
Is |
So it took about 6 days for the development and 4 days for the migration and deployment of the website on to the Solaris host. The initial discussions did only take place on a private mail discussion with me, Moinak, Ananth, Shiv, Pradhap, Sriram and Anil.
The website needed a new theme. It had the old-style fixed width theme with little pizazz and I aimed to replace it with a new fluid width theme which would utilize page space most efficiently, providing more blocks to plugin stuff and make it more of a community portal rather than just a website. The belenix-discuss mailing list did not have a web frontend (as opposed to the other opensolaris hosted mailing lists having Jive forums) and so I saw it as a good opportunity to Drupalize the mailing list with listhandler and mailhandler providing a neat mailing list to forum bridge. The power and utility of a web-based forum is far more than a mailing list in my opinion (thought that opinion may be countered by many open source folks). It easier to search for answers, subscribe on a per-forum or per-discussion thread basis, see pictures of members, have a member rating system for motivation, see their number of posts (thus showing their "weight" in the community), etc. Next in mind was to create a dynamic community driven version of the Fanspeak section, where members can contribute not only screenshots or videos but also tips, tricks and code samples. More on that later (read community scoopzone below). We could probably also do with a planetopensolaris and planetnetbeans style blog aggregator of the blogs of the Belenix team to start with and then start a system to induce more Belenix community blogs. More ideas like an event management system and login integration of the mailing list with the website popped up and I mentioned all of them. The agenda ofcourse was to first have a revamped look and feel, an overhaul of the site and launch important new features. We initially discussed this on email and I even met Moinak and Shiv at the BOSUG meet when the Crossbow talk took place.
Once I was ready with half the work done, I showed it to the Belenix team for review. They suggested discussing it in the open. I had initially thought of just launching the new website and announcing all the good news together in one go, but they were right, its an open community and even website development should be discussed in the open. So I posted the first status update a week ago. At the same time, I introduced my idea of having a "Community ScoopZone", a Slashdot just for the Belenix Community ;).
I came to know about Belenix an year ago when I was appointed as a Sun Campus Ambassador. I've known, learned, explored, used, evangelised/promoted Belenix as much as OpenSolaris since then. I'd say that it is the Sun CA program which is spreading a lot of awareness about Sun's opensource technologies amongst university students and getting them to go and participate in them. Moinak has indeed spearheaded the Belenix community very well and we are all proud of what he is and has done. I joined the BOSUG and Belenix community aliases once I started using OpenSolaris and Belenix, to connect with the community, get to know about the latest developments, to get some support, and to give some if I can. I always wanted to give back and the website is a good way to do that.
The pain came when I had to move the Drupal instance from my laptop to the solaris server. I relate my migration story here. It took time to migrate the website to the host. The website has been hanging around on the server for 2 days now (uploaded there on June 2nd 2008). I have had a lot of problems making it work on the server, and it really wasn't as easy as just moving my drupal instance to the server. There were a lot of "Drupal on Solaris" glitches to address and PHP and Apache configuration directives to tweak to make it work up there, except the usual gotchas involved with a website running on a UNIX system (though that wasn't new).
I had uploaded the website as well as imported the database and loaded up the frontpage only to see a blank white screen - what is ubiquotously called the "White Screen of Death" in webapp lingo. I checked the error_log file , found some weird PHP errors, asked help at Drupal.org (my thread). All necassary measure to be taken when migrating a drupal instance across hosts were taken (put site in maintenance mode, disable clean URL's, etc.). mod_rewrite wasn't enabled so I turned it on and also enabled local .htaccess support for drupal's .htaccess settings to work. I tried reading up drupal documentation and adjusting php.ini as well as httpd.conf settings (increased php's memory limit, enabled all errors and notice reporting, etc.). I ultimately found out from Scott Matton's Blog about "Drupal 6 on OpenSolaris", that my include_path wasn't having reference to a "." ! That is why php wasn't able to include *.inc files required by drupal core and thus the Fatal Errors for function calls. I could finally get the site working and posted the solution to my own thread at Drupal :)
Anyway, after that I set the file upload path, setup the crontab (and mistakenly deleted the old ones!), add a security directy to .htaccess to disallow the public to run /cron.php, setup httpd-ssl.conf and uploaded some incorrect keys.
There were 2 problems then: no IMAP support in PHP (which is required for the forum-mailing-list bridge to work), and SSL wasn't working (was blocking port 443 somehow). From there I called Moinak for help, as things could get messy if I myself tried to recompile PHP on a Solaris server to include IMAP support and I had no idea about SSL configuration (besides openssl config is lengthy and scary). He has somehow broken his head against httpd.conf and enabled port 443 and even got the SSL handshake and issue of certificate to the browser, although it still doesn't open and gives a Data Transfer Interrupted. He is working on IMAP for PHP as well.
For now, I have disabled secure logins, so you can very much login the normal way (meaning the functionality of the site is not at all affected, it was just an additional security measure). The forums section wont show mails from belenix-discuss yet either :)
Here's a round up of all the new features of the Belenix website:
- Upgraded to Drupal 5.7
- New theme design complete
- New fluid width theme
- Inherits it's stlye from old theme
- Completely new layout
- Utilizes the page space most efficiently
- Much more place to plugin stuff
- Meant for a community portal and not just a portfolio website
- 6 user blocks, footer, header, content-bottom, content-top, and 2 sidebar blocks :)
- Cross-browser compliant.
- Belenix Community ScoopZone

The Belenix Community ScoopZone provides a
platform to developers and enthusiasts working in or on Belenix as well
as OpenSolaris to be able to share their contributions (in the form of
code samples, tips, tricks, FAQs, news items, articles and reviews)
with the community at large through a social information sharing
system. It is meant for driving community
participation on the website. A lot of people accomplishing new
hacks / tricks on Belenix or OpenSolaris share their ideas/work on
mailing lists and in the OpenSolaris
community. People blog about the latest news about open source. People
bookmark good stuff, Digg it, share it on social bookmarking sites,
etc. I thought we could provide a platform for this, just like SDNShare
and
Netbeans Zones is, with the voting / rating system in place for
motivation. This is somewhat like the way Slashdot news is published.
You can say that this concept is quite similar to Slashdot, though I
would rather associate it with SDNShare since that's what inspired it
to be made in the first place. It will serve as great way to
aggregate knowledge in one place which might otherwise get scattered.
I had initially thought about this idea when I had seen the Belenix Fanspeak Section. I am a regular user of SDNShare, Digg and the Netbeans DZone.
Digg is familiar to more than half of the internet, especially the Web
2.0 Junkies. SDNShare is a Digg-like portal for contributing developer
info/tech tips/samples with a built-in rating and voting system for
both its content and the users who contribute. Its inspired from Digg.
Similarly, there is Netbeans Dzone. And if you're geek, you probably
(should) be knowing about Slashdot.
ScoopZone is powered by Drigg, which is essentially a collection of
Drupal modules for making a Digg clone. I found it while looking for a
compelling solution to create a knowledge sharing community for
Belenix. The (new) Belenix theme has been modified and tweaked all over
to adapt and support the module, and it wasn't as easy as installing
any other Drupal module.
Here's the system: Any user can submit a "scoop". A scoop has to
have a URL, a short description, some tags and a category. The
description can be aleast X characters and upto Y characters. The
current categories are: Article, Code/Script. FAQ, News Item, Tech Tip.
There are 3 sections - published,
upcoming and archived. On submitting a scoop, it enters into the
"upcoming queue", where it waits until somebody "votes" for the scoop.
Users can vote it up or down. After getting X votes it will be
"promoted" to the "published" section (which is the main scoopzone
page). If the scoop doesn't get a single vote in the next X hours it
will move to the "archived" section. Apart from categorization (tech
tips or articles, etc.) users can choose to see scoops within past 24
hours, past 7 days, etc. On the right sidebar, there are blocks for
'best upcoming scoops', 'best published scoops', 'best alltime scoops',
and a tag cloud. Users can comment on scoops. Their profile picture
will show with comments as well as scoops. There is an automatic member
"ranking" system. Each user has a "karma", which is like a score
calculated based on the number of scoops submitted, number of comments
made on scoops of other users, number of votes give to other scoops,
etc.
Scoops even
send a pingback to the original URL. There are RSS feeds for scoops,
even for categories, and lot more. Check out Drigg's features.
All inputs and suggestions on scoop categories, rules, improvements /
modifications to the system and everything else are more than welcome
and can be openly discussed at the belenix-discuss mailing list. You are the community, and you are the end-users. The users should decide how the system should be.
With this, we have our very own slashdot. With careful and well planned execution, it can be a big hit. It should be exactly what the community wants, so I request inputs regarding everything - the rules, the concept, any barriers to acceptance, usability, features. It is not a new concept in the web2.0 world, most of us are familiar with it, but we need to tweak and tune it for the community and its needs. Please use it, and give your inputs, so that we can enhance it. All improvements can be contributed back to the Drigg project and in turn to Drupal.
- Community Map
I have been involved with a lot of mapping projects lately. Following the first go at it with the JIITYouthClub.org member map, I went ahead and made a map of campus ambassadors, then a second version using Dapper and Yahoo Pipes and then took up a project to make a community map mashup. Drupal already provides all the tools required for making such a community map. The Belenix community map is a drupal gmap + location module mashup with some custom coding for geocoding to work.
This is the official community map of all the members, developers and
contributors of the Belenix OS and it's community. Every registered
member of the website can mark his/her location using a map in account
settings. You can mark location by clicking on the map or use the new
geocode support to search for your address / city / state / country and
get the marker to automatically appear at your location. The map is
programmed to show different marker icons for different roles - core
developer (red), new community member / normal user (blue), etc. It
even has clustering support - shows a cluster icon where there are more
than X users with a clubbed info window showing all their names
together.
Steps involved in getting yourself on the map:
- Click and open the "account settings" link (found at the
top right corner of the screen, if you are logged in)

- You'll land up on a page with your username in the title
and "Account settings" underlined. Scroll down to the "Location" section.

You have 3 options here to mark your location on the map:
- Just click anywhere on the map to mark the location
- Search by your street address, city, state, country
or postal code and press the Geocode button. The map will display a
marker on the location resulting from the search.
- As a last option, you may get your location data
(latitude and longitudinal values) from an external service (like Google
Maps) and enter it directly into the text boxes.
After marking your location, just submit the form.
- Done. Go to the Belenix Map page to see yourself
on the map :)

With this system in place, one day we hope to see all users and fans of the Belenix Community on a map :)
- Forum-Mailing List Bridge: This is a forum based frontend to the community mailing list of the Belenix Distribution. Posts and threads are sync'ed between the mailing list and this forum. Forums are much more lucrative medium for communication. They are
much more presentable than mailing lists, get more hits from google,
are easy to search for answers, and have many more features (code
highlighting, etc.). It builds a much better community. Take
ubuntuforums.org for example. I propose to use a mail to forum
bridge and start an online community parallel with the mailing
lists. I know the Jive forums at opensolaris.org exist, but this can
be much better.
- Mailing List Subscription manager: Now you can subscribe to belenix-discuss from within the website (thus keeping the subscription information within your belenix.org/net account) (http://www.belenix.net/admin/settings/mailman_manager)
- Belenix Planet - just an aggregator for the belenixy blogs. Earlier individual
developer blogs are linked to from the main Belenix website, but
something on the lines of planetnetbeans.org had to be done, thought
not necessarily being open to all, only the closed set of core
belenix developers and community contributors may submit their feeds to be
aggregated at once place. You can opt to add your blog there. Visit the site contact page.
- Pretty icons, collapsible blocks, AJAX'ified UI, etc.
- Varius new features provided by new drupal modules installed, various tweaks (like SSL login, friendlier URL's, CAPTCHA for anti-spam, persistant logins, AJAX stuff, etc.). Read the discussion thread here to know in detail.
Please visit the new website at www.belenix.net. Belenix.org still points to the old website currently, and the DNS settings will be updated soon.
There is new bug category called "website" at the Issue Tracker of the Belenix Development Sourceforge project.
The new website is up and running now. It's time for you to go out and explore the new stuff. Please report any problems, suggestions, feature-requests, etc at the sourceforge tracker or if you think it is important then on this belenix-discuss thread itself.
Register, mark your location on the map, start scooping, spread the word !
This might be useful for someone. Here are a few pages I found handy for debugging drupal:
Update (June 5th 2008):
The
Belenix Forum section provides a forum based frontend to the community
mailing list of the Belenix Distribution. Posts and threads are sync'ed between the mailing list and this forum.
Here's how it works:
Once you register, you can create a new a forum topic. When you do so, it will get emailed to belenix-discuss@opensolaris.org.
Even replies to forum topic will get emailed, thus creating threads at
the mailing list. An hourly cronjob runs which fetches email from an
IMAP email account subscribed to the belenix-disuss@opensolaris.org
mailing list, so vice versa, when a new email is received at
belenix-discuss mailing list, a forum topic or comment is created
(depending upon the subject), with authorship of the the person "From"
which the email has come. If the user doesn't exist on the website, it
will automatically be created by Drupal. If that person tries to
register at the website later, he will be told that a user already
exists with that email address, so in that case he will have to
"request new password" to access the account. mail@belenix.org is subscribed to belenix-discuss@opensolaris.org
for mail retrieval and sending to create the bridge. All mails from the
forum will have a From field like <user's email address> <mail@belenix.org>. This is an advantage-cum-necassity as this will allow a user who
is registered at the website but not the mailing list (though you subscribe to the mailing list from the website too) to post to the list (as the mail will be sent from mail@belenix.org,
which is subscribed). This is the best that can be done as we don't
have direct access to the list's mailman admin interface. All
attachments on the forum will appear as links to those files at
the website in the emails and vice versa. The belenix-discuss signature
will automatically be stripped off when the messages appear on the
forum. "Re: , AW:,FWD:,fwd:,[belenix-discuss]" will be stripped from
the topic as well.
Note that only mails posted as of the time of creation of the
bridge, 06:00 PM (IST) July 5th 2007, will appear on the forum. To see
any previous messages, you should go to the belenix-discuss mailing list archives.
IMAP is now working on the server and so is the Drupal mail system. The forum-mailing list bridge is fully functional.
Technorati Tags: belenix,drupal,drigg,scoopzone,map,new,opensolaris,website
This is awesome dude
Posted by Tirthankar on July 04, 2008 at 11:00 PM IST #
My pleasure :)
Posted by Angad Singh on July 04, 2008 at 11:15 PM IST #
Great site, you've done a outstanding job. Congrats!
Posted by markscheck on July 05, 2008 at 10:20 AM IST #
Hi Angad,
Why don't you use coolstack ??
Coolstack comes with many php extensions like imap and dtrace.
Cool Stack Package Required, PHP Extension;
CSKphplibs, Curl, dba, gd, gettext, gmp, imap, odbc, tidy, pdo_odbc
CSKncurses,Ncurses
CSKtds, pdo_dblib, mssql
Cool Stack is a collection of some of the most commonly used open source applications optimized for the Sun Solaris OS platform. By using these binaries you will enjoy the best levels of performance from your system, while also reducing your time-to-service.
http://cooltools.sunsource.net/coolstack/
http://blogs.sun.com/shanti/entry/where_is_1_3
http://blogs.sun.com/shanti/entry/dtrace_support_for_php
Posted by phpknights on July 10, 2008 at 07:09 AM IST #
Most of the CoolStack Components are already in the SFW gate included as default part of SXCE like PHP5, Curl, ncurses etc, along with the Dtrace probes. However the Coolstack does deliver a newer version of Perl and includes imap which are not yet in SXCE but will be in going forward.
The compilation of these Components in the SFW gate are identical in most part to what is done in Coolstack except for the few missing pieces. So for our purposes the bundled Components in SXCE are enough for now.
Posted by Moinak Ghosh on July 11, 2008 at 11:10 PM IST #
For a server setup of a community portal like Belenix.org, we'd prefer a customized stripped down version of the webstack rather than the complete package :)
Posted by Angad Singh on July 12, 2008 at 04:12 AM IST #