views:

392

answers:

5

I am not a web programmer...I am trying to write a basic stackoverflow.com or similar for internal knowledge exchange. I want to know what I should start from and what I need to learn. I am usually program in C++, and I have been programming in Java for a while for new job. I know html, python, and some javaee technology: EJB, Servlet etc. What's the best way to approach it?

Thanks.

+18  A: 

Get a wiki. I'm not sure Q/A-voting is as necessary for an "internal" environment.

Edit to add a couple suggestions:

You're essentially not going to have the critical mass necessary for upvoting or Q/A to work, and knowledge transfer in more of a collaborative/broadcast hybrid is better served by a pure wiki than a Q/A style.

Andrew Coleson
You'd need to working for *huge* organisation for an SO clone to work. Larry Ellison, is that you?
RichieHindle
@Andrew, I am partially agree with Q/A-voting thing in an internal website. We used to have programming mailing-list, but gradually ppl lose initiative... I have to confess I am addicted to stackoverflow.com, partially because I can be upvoted ;-). I think it's a better bet to follow your suggestion: starting from a simple one without up/down voting, and later on add it on if time allowed.
Lily
@RichieHindle, I think a trimmed down version will works at least at this stage. But our organization IS big(not huge...). PS: I am definitely not Larry, but I don't mind being taken as. haha~~
Lily
Lily would be happy to take Larry's money, I'm sure. Or at least a kimono or two.
duffymo
+3  A: 

May I offer this post by Jeff Atwood about basically this very topic. http://www.codinghorror.com/blog/archives/001284.html

Dan Appleyard
+10  A: 

The easiest way is to pay $130/month to use the actual stack overflow. If you're not a web programmer, and you're using it for a company (internal, you said?), it would make sense to just pay for the hosted, supported service, wouldn't it? I mean, the cost would probably be significantly less than your value in man-hours constructing and hosting the thing.

http://www.stackexchange.com/

Of course, it'd be more fun to write it yourself. And your financial hands may be tied. Your company may be more than happy to let you spend months on a project, but won't be willing to spend cash from another, non-payroll bucket. In that case, be aware that what you want to write is a fairly simple application at its core. 99% of your effort will be refinement. Please see the other gentleman's answer referencing this blog post that you should certainly read: http://www.codinghorror.com/blog/archives/001284.html

CaptainAwesomePants
@CaptionAwesomePants, 1st. you are absolutely right, it's a company internal website. 2nd. you are right again, it will be huge fun ;-). 3rd. I think there are always some confidentiality issues in big companies, which I really hate but can't do anything... I am reading the blog you suggested, haha, good stuff!PS: I really like your nick name, haha! ;-)
Lily
Well, they do appear to offer an onsite-hosted solution that would probably solve your confidentiality problems, but it's hella expensive.
CaptainAwesomePants
+1  A: 

It depends on what functionality you would like to keep from StackOverflow, and what can just be stored in a Wiki.

I think Drupal can be tweaked to provide very similar functionality. Taxonomy (tagging) and user management is built right in, modules exist for rating questions and content, and custom views can be used to display the content as needed. I can think of a simple straight-forward way that a scaled down stackoverflow could be built with the framework.

Of course, this requires learning the ins-and-outs of the Drupal framework, but it may be a better approach than rolling your own.

Reed Olsen
We have an internal wiki+sourceforge, but ppl don't like updating them. I will definitely take a close look at Drupal! I will be nice if I can tweak it and make it work. Thanks!
Lily
A: 

Rather than writing one yourself, it would be easier to either suggest one for SE to run or use a clone script.

Simon Brown