File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Ranch Office and the fly likes new forum software Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » This Site » Ranch Office
Bookmark "new forum software" Watch "new forum software" New topic
Author

new forum software

paul wheaton
Trailboss

Joined: Dec 14, 1998
Posts: 20271
    ∞

We've been developing some new software, but I kinda wonder if maybe the right thing to do might be to set up shop with some java based stuff being developed by somebody else.

Any ideas?


permaculture Wood Burning Stoves 2.0 - 4-DVD set
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15286
    
    6

JForum


GenRocket - A Test Data Generation Platform
Kishore Dandu
Ranch Hand

Joined: Jul 10, 2001
Posts: 1934
Originally posted by Gregg Bolinger:
JForum


I feel many sites like sapfans.com are developed by the above. Not a bad idea to pursue(since they also get lot of posts)


Kishore
SCJP, blog
Pauline McNamara
Sheriff

Joined: Jan 19, 2001
Posts: 4012
    
    6
sapfans.com? Hmm. Went over to sapfans.com forum and thought, wow, that's looks almost exactly like phpbb. Scrolled to the bottom and aha, that's why - it is phpbb...
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15286
    
    6

Originally posted by Pauline McNamara:
sapfans.com? Hmm. Went over to sapfans.com forum and thought, wow, that's looks almost exactly like phpbb. Scrolled to the bottom and aha, that's why - it is phpbb...


JForum basically is a J2EE copy of phpBB. Theme(s) and all. But phpBB is *very* good and from the looks of things, so is JForum.
paul wheaton
Trailboss

Joined: Dec 14, 1998
Posts: 20271
    ∞

What features to we depend on here that JForum does not have?
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
Or Jive. Same stuff Sun uses, as well as Novell and others.
Not free though (however maybe they'll let you have a free license as you're a not-for-profit organisation).

Used to do development work on it years ago (pre 1.0 time) when they were still free (and under an Apache license...).


42
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60055
    
  65

I checked out JForum last night. I have a few client sites that use forums and I've been using Jive (not too happily), and would like to find a better package.

While JForum installed and set up easily (I used the HSQLDB option for a quick test), it wasn't long before I ran across some fairly severe problems. For example, changing the date format in the Admin panel (the default is not appropriate for US audiences) caused most pages to subsequently crash.

The problems seem to be known and have been captured in their JIRA tracking system, but I'm not sure how speedily fixes are made.

Another red flag is that they do not use JSP as their templating system. I'm sure that the Freemarker system that they are using is fine, but I'm reluctant to dive into learning yet another proprietary technology just to be able to adjust the look and feel of the forums to match the client sites.

These issues may or may not be relevant for JavaRanch's use of the software, but I figured I'd bring them up as data points.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60055
    
  65

P.S. The Freemarker markup in the template pages looks a lot like JSTL and EL, so I wonder how hard it might be to convert the templates to scriptless JSP 2.0 pages?

Just another random thought.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
From my limited experience, Freemarker is quite nice and has a flat learning curve. Just my 0.2 euro...


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60055
    
  65

Thanks for that info Ilja. Perhaps another post-script could be:

P.S. The Freemarker markup in the template pages looks a lot like JSTL and EL, so I wonder how hard it would be for the JSP-savvy to pick up quickly?
paul wheaton
Trailboss

Joined: Dec 14, 1998
Posts: 20271
    ∞

What about moderation? Would it be compatible?

Do you see any features we might lose?

Do you see any features we might gain?

How does the source code look? Simple?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60055
    
  65

I didn't get much further than setup and trying a few posts. I'll try to set aside some time to dig a bit deeper into it and see what the capabilities are. They do list extensive moderation features; but whether they are the ones we would need I do not yet know.

I haven't looked at any of the Java source code yet. The HTML/Freemarker templates are nicely formatted.
[ March 17, 2005: Message edited by: Bear Bibeault ]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60055
    
  65

I took this screenshot of the bottom of the user admin panel where the moderation controls are set.

Should give us an idea of the moderator capabilities.

bear
[ March 17, 2005: Message edited by: Bear Bibeault ]
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Paul Wheaton:
What about moderation? Would it be compatible?

Here's a list of the typical tasks I do as a moderator:
  • Close thread
  • Move thread
  • Edit post contents
  • Edit post title
  • Delete post
  • Delete thread


  • Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
    Pauline McNamara
    Sheriff

    Joined: Jan 19, 2001
    Posts: 4012
        
        6
    Originally posted by Bear Bibeault:
    I took this screenshot of the bottom of the user admin panel where the moderation controls are set.


    "Enable Karma"? For preventing less than friendly behavior? That could very useful.
    Lasse Koskela
    author
    Sheriff

    Joined: Jan 23, 2002
    Posts: 11962
        
        5
    Originally posted by Pauline McNamara:
    "Enable Karma"? For preventing less than friendly behavior? That could very useful.

    Enabling the karma feature could also have certain negative side-effects... What do people that have used forums with karma think of it?
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60055
        
      65

    What exactly is "karma" (in the forum sense)? It seems to have something to do with being able to rate other users and/or posts -- something that never seems to lead to good.
    Lasse Koskela
    author
    Sheriff

    Joined: Jan 23, 2002
    Posts: 11962
        
        5
    Originally posted by Bear Bibeault:
    What exactly is "karma" (in the forum sense)? It seems to have something to do with being able to rate other users and/or posts -- something that never seems to lead to good.

    That's exactly what it's about.
    Ilja Preuss
    author
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    Originally posted by Pauline McNamara:
    "Enable Karma"? For preventing less than friendly behavior? That could very useful.


    I don't think it would.

    Mutual understanding and respect is the way to nice and friendly behaviour. I don't see how voting could facilitate that.
    Marilyn de Queiroz
    Sheriff

    Joined: Jul 22, 2000
    Posts: 9043
        
      10
    UBB has that "feature". It is disabled.


    JavaBeginnersFaq
    "Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
    Pauline McNamara
    Sheriff

    Joined: Jan 19, 2001
    Posts: 4012
        
        6
    I had no idea what Karma meant in the world of forum administration. Voting stinks, I agree. So much for my lame attempt at humor. Sheesh.

    Now if we had a way to really tweak someone's karma, oh, sorry, that world domination stuff is the for Moderators Only forum...



    ---------------

    My karma ran over my dogma.
    Ilja Preuss
    author
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    Originally posted by Pauline McNamara:

    Now if we had a way to really tweak someone's karma, oh, sorry, that world domination stuff is the for Moderators Only forum...


    Jeroen Wenting
    Ranch Hand

    Joined: Oct 12, 2000
    Posts: 5093
    Originally posted by Ilja Preuss:

    Mutual understanding and respect is the way to nice and friendly behaviour. I don't see how voting could facilitate that.


    It doesn't. All it leads to is groups of friends voting for each other in order to drive up their ratings and look "better" than the rest.
    I see that in operation in many places where the feature is enabled.

    One thing that could work is if it were somehow triggered to helpful responses, but then some group of people would have to flag responses as such. Those could be moderators or a separate group entirely (maybe an "expert group" per forum), but I don't know if THAT implementation is supported in any forum software.
    Ilja Preuss
    author
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    I see only two reasons why one would want to introduce voting:

    - To "reward" forum members who are especially helpful. Frankly, to those members a hearty "thanks" is much more reward than any voting could be. And they build a reputation without the need of a voting system.

    - To mark good posts so that it's easier to find them again. In my opinion, our FAQ wiki is a much better place for such an archive.

    So, if I had to, I'd vote against voting...
    Masoud Kalali
    Author
    Ranch Hand

    Joined: Jul 08, 2004
    Posts: 531

    Hi
    If you are looking for a forum or a Nuke system based on Java technology
    perhaps you would take a look at www.jetNuke.org , which is a clone of PHPNuke it is in version 0.7 but soon it will become 0.8 + (in next week).
    it has forum integration (integrated with Jforum) and some other nice feature like membership , download , Links ,Glssary ....
    it GPL ed and sure it java based.
    its currently localized for two languages (Farsi ,Italian) and english which is default.

    also you can check http://java-source.net/open-source/forum-software


    Masoud Kalali
    Software Engineer - My Weblog - GlassFish Security
    paul wheaton
    Trailboss

    Joined: Dec 14, 1998
    Posts: 20271
        ∞

    Any new discoveries Bear? I keep checking this thread ...
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60055
        
      65

    Without digging into the code (just futzing around with the admin panels), there doesn't seem to be a lot of control over the software. For example, there appears to be no way to turn off "karma" (the voting/rating that most seem to loathe) except on a user-by-user basis (and no way to set the default as off). How difficult it would be to modify the system to make such changes is not yet apparent, but out-of-the-box the level of control seems limited.
    paul wheaton
    Trailboss

    Joined: Dec 14, 1998
    Posts: 20271
        ∞

    So here is the big question:

    We have a two year old version of MVN we've been tinkering with on and off for a loooooong time. We thought we would mash it into what we want, but we seem to get distracted and those changes never make it in.

    We are waaaaaay past time to switching away from UBB.

    It seems like it would be wiser to work with an active group than to strike out on our own.

    I would like feedback from anybody that can see this on what direction we should take. Mostly from those that have contributed to moose. And from those that have looked at the other offerings.

    Opinions?
    Gregg Bolinger
    GenRocket Founder
    Ranch Hand

    Joined: Jul 11, 2001
    Posts: 15286
        
        6

    I found a few more Open Source forums solutions written in Java. I will download them as I get time and take a look to see what they have that we need, what they are missing, etc. I'll also see how messy the code is.

    http://yazd.yasna.com/features.jsp
    http://jsforum.sourceforge.net/index.php
    http://jforumfusion.polygonized.com/index.html
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60055
        
      65

    I think it would be interesting to have a few of the "moose workers" take a look at JForum to see how it compares to mvn as far as the ease with which we might be able mold it to our uses.

    Of particular interest would be an assessment of how the code itself is architected. If it's well-organized, it might be relatively easy to add/enable (or, as in the case of "karma", disable) the features we'd want for the Ranch.

    I'll try to do some of that myself this week, but my available time may be limited -- and, as I said, someone who's already looked at the other forum software might have some insights that I would not.
    Ernest Friedman-Hill
    author and iconoclast
    Marshal

    Joined: Jul 08, 2003
    Posts: 24166
        
      30

    What makes the moose code ultimately hard to work with is (1) poor modularity, (2) featuritis, (3) NIH syndrome, and (4) worst of all, scriptlets. The code is filled with placeholders for "cool features" that might be added in the future, making all the database tables much "wider" than need be. An awful lot of the code could have simply used an existing lightweight framework like Spring or even WebWorks, but instead, everything is built from scratch. And each JSP is more hideous than the last, with tons of embedded Java scattered all over the page.

    So the combination of these four aspects results in huge SQL queries, spread all over the code, awash in redundant hand-coded DAOs, all being manipulated in various ways by scriptlets in a hundred different JSPs. Although we never did a full-up performance test, we were pretty sure that database access was going to kill it with the kind of traffic JR gets, and it was impossible to be sure there weren't caching bugs we hadn't found yet.

    I think the ideal JavaRanch forum software would be lean and mean, with perhaps a "plugin" style architecture, so that features could be added as needed, and a small, simple database layout. It would use either JSTL or maybe even Velocity for presentation.


    [Jess in Action][AskingGoodQuestions]
    Gregg Bolinger
    GenRocket Founder
    Ranch Hand

    Joined: Jul 11, 2001
    Posts: 15286
        
        6

    I think the ideal JavaRanch forum software would be lean and mean, with perhaps a "plugin" style architecture, so that features could be added as needed, and a small, simple database layout. It would use either JSTL or maybe even Velocity for presentation.

    I agree with this 100%. Are we still thinking that we need to use an existing product and modify it? Would that really be as easy/benficial to us than just writing our own somewhat from scratch? Regardless, I think it would be cool to have JR run on it's own power, so to speak.

    Powered By Moose Dung

    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60055
        
      65

    and (4) worst of all, scriptlets. ... each JSP is more hideous than the last, with tons of embedded Java scattered all over the page.


    <shudder> Sounds like a poster child for all my harping in the JSP forum about moving to scriptless pages. (and a lot like the Jive nightmare I had to deal with).

    One advantage JForum has with this is that a strong controller->view interface is enforced by use of the FreeMarker templates. You can achieve similarly strong interfaces with JSP 2.0, but it takes discipline not to slide off the fence.

    Not sure about the modularity of the JForum code, but haven't found anything too horrible yet.

    Gregg's point:

    Are we still thinking that we need to use an existing product and modify it?


    is a good one.

    It sounds like JForum might be a better springboard than jvm, but when does it become a better use of time to just start from scratch? Generalized forum software is bound to be full of all sorts of bells and whistles (implemented or place-holdered) that we aren't interested in (avatars, ranking, etc). Would a simplified code base written to do just exactly what we want it to do, and nothing else, be any more work? I am assuming that we'd be writing something to power the Ranch, not to be The Next Great Java Forum Project.

    The problem domain is broad -- lots and lots of little features -- but not very complex. The hardest part would probably be designing for scale. The Ranch gets a lot of traffic.
    [ March 21, 2005: Message edited by: Bear Bibeault ]
    paul wheaton
    Trailboss

    Joined: Dec 14, 1998
    Posts: 20271
        ∞

    The trick is ... if we write out own, (or, morph our own from something else), do we have the resources?

    When writing from scratch, I am concerned about security issues that we might not have considered. There might also be useful features that come with other forum software that we could simply turn on.

    Then comes the performance issues: An app that doesn't perform well is going to bring our systems to its knees. UBB is pretty optimized to run on much slower boxes, but at this moment, JavaRanch is by far the biggest UBB installation.

    I have a feeling that the most optimized approach would be something made of static pages. Unfortunately, people really want pages that are more dynamic, so I guess we need to travel that road.

    If we're gonna talk about db decisions, I would like to use Jenny.

    As for front end: Although I usually favor JSP with JSP expressions that are one method call items that can be thoroughly unit tested, I think that we could really use some forms of caching that cannot be done with JSP. That FreeMarker stuff WOULD work with this level of caching.
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60055
        
      65

    And just a few more random data points on my playing around with JForum that seem be pertinent to the usage by the Ranch:

    There's no distinction between login name and display name. Not sure what ramifications that might have for the naming standard.

    Try as I might, I cannot get "rankings" (greenhorn, ranch hand) to show up once enabled. Also, it appears there is no facility to over-ride it with custom ranks such as "Trail Boss".

    You can enable/disable accounts, but I see no IP blocking facility.

    The form listing doesn't show the most recent topic. I'd miss that feature a lot.

    When a topic is moved, there is no option to close and leave the original copy in place.

    Get a java.lang.reflect.InvocationTargetException on trying to delete any post. Already reported as JIRA JF-276.
    [ March 21, 2005: Message edited by: Bear Bibeault ]
    Gregg Bolinger
    GenRocket Founder
    Ranch Hand

    Joined: Jul 11, 2001
    Posts: 15286
        
        6

    The trick is ... if we write out own, (or, morph our own from something else), do we have the resources?

    I think that is just a matter of several of us being able to commit.

    If we're gonna talk about db decisions, I would like to use Jenny.

    I have a couple of concerns about using Jenny and it may just be because I am a bit ignorant about how it really works.

    1. Caching. Is there a way to cache queries/results using something like OSCache, similar to hibernate/ibatis??
    2. With hibernate/iBatis I can have a class like:



    And my mapping file tells hibernate/iBatis about the User class and what column in the Post table the UserId might go in. How does or does Jenny handle this? More specifically, would I have to manually go out and grab both objects in my java code from the database, so getting the Post and then getting the User based on it's value in post, versus letting a descriptor file tell the underlying API how to build the query? Does Jenny know that it needs that association or that JOIN when creating the class and the getRow method for Post? Does that make sense?
    [ March 21, 2005: Message edited by: Gregg Bolinger ]
    paul wheaton
    Trailboss

    Joined: Dec 14, 1998
    Posts: 20271
        ∞

    I think we don't need to worry about Jenny until we get to the point that we've decided to write something ourselves.

    But, just as an FYI: Hibernate is an object to relational tool. Jenny is a relational to object tool. The database already exists and Jenny generates a class for every table and view.

    Any sophisticated object to relational mapping is then done in java instead of XML (or javadoc shortcut).

    As for caching, I think the first step is to determine the optimal caching spot. In our case, one could argue that caching between the app and the database would be good. I would argue that caching higher up would be better.

    Yes, you can do joins with Jenny.
    Johannes de Jong
    tumbleweed
    Bartender

    Joined: Jan 27, 2001
    Posts: 5089
    Does this mean than mvnforum is out of the running?
    paul wheaton
    Trailboss

    Joined: Dec 14, 1998
    Posts: 20271
        ∞

    MVNForum can be a contender. In fact, the stuff we have right now could be a contender. I would just like to hear from folks about that.
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: new forum software
     
    Similar Threads
    Keeping up-to-date
    Web Component Development with Java Technology (GB-SL-314)
    TechnologiesUsed
    What is the difference between UP, RUP, and XP
    Outgrowing our server(s)!