Anybody knows any knowledge base open source? [closed] - open-source

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I want to build a web-based knowledge base system for our call center. To save some development time, I am looking for a open source. Does anybody know any good one out there?

How about one of the many wikis?
Kenny: I've used FlexWiki & ScrewTurn (abandoned).
someone else with RepPower to edit my post added this.
Wikipedia is powered by MediaWiki.

I have used phpMyFAQ and found it to be very good.

In addition to MediaWiki that was mentioned by Kenny, you might also look at MoinMoin.
Choosing between MediaWiki and MoinMoin can be a bit tough. Here are some points to consider:
MediaWiki
Pros:
Made for wikipedia, thus is very mature and scalable.
Fairly easy to set up.
Cons:
Made soley for wikipedia. Thus it can be a bit of a pain to customize how you like it.
MoinMoin
Pros:
Very mature software.
Huge amount of plugins and third party modules available.
Cons:
Can be a pain to install.
There are a huge amount of other wikis available, but those are the main two I would consider.

Since I don't have enough reputation points to comment on Bruno Shine's answer, I'll add this note as a new answer.
KBPublisher 2.0 is still available on Sourceforge: http://sourceforge.net/projects/kbpublisher/
The project hasn't been updated for years. I've been running it since v1.9 or something, and it works fine.

I believe that phpMyFAQ is the most useful KB I have seen so far ( from open-source ).
It is simple, straight-forward KB software, is it PHP => can be easily installed on any server and can be customized if you know a bit of php. In addition it is made simple enough but with correct priorities and logic. I suggest to install it and play with it, I did and I decided to stay with this KB.

Also, consider GForge.

Based on my personal experience with this knowledge base software, I would also like to join 'Julien H.' in suggesting PHPKB from http://www.knowledgebase-script.com
Personally I believe its one of the best. Many features, continously developed, excellent support & the GUI is just simple & great.

Here comes another vote in favor of PHPKB knowledge base software. We came to know about PHPKB from this post on StackOverflow and bought it as recommended by Julien and Ricardo. I am glad to inform that it was a right decision. Although we had to get certain features customized according to our needs but their support team exceeded our expectations. So, I just thought of sharing the news here. We are fully satisfied with PHPKB knowledge base software.

I heard of RTM (The RT FAQ Manager). Never used it, however.

Related

Should I write my own forum software? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have already built a site from scratch. It has banning, PM, comments, etc. The PMs and comments are done using markdown (like SO).
There are pros and cons for writing my own or using another software. But some cons keeping me from using another forum software is
Multiple Logins: One for the site, one for separate forums.
Need to Customization code: I'll need to change the toolbar in the forum software so I can access pages on the regular site.
Look consistency: It may look drastically different from my site even after applying lots of css changes.
Banning and User consistency. Users may be ban on site or on forums but not the other. users may select a different or multiple usernames on the forum instead of being forced to use the same username on both site and forum.
Should I write my own forum code or should I use something already written? What are some reasons for or against writing my own and using forum software?
The heuristic I tend to use is that if at least two or three of these are true, it's probably worth writing yourself:
It's one of your core business offerings.
You have the time, money and resource to specify, design, build, test and support it.
The amount of time you would need to spend evaluating, prototyping with, integrating and customising off-the-shelf packages is near to or greater than the amount of time you estimate that it would take you to build your own.
The off-the-shelf packages do not have good support. By 'good support' I mean that you can raise an issue, and be assured that somebody will look into your specific issue and provide a fix if it is found to be a bug.
None of the off-the-shelf packages meet your quality bar for security, performance, quality, etc.
You are not writing open-source software, and the off-the-shelf packages have a viral open-source license; be particularly wary of AGPL and other similar licenses.
One of the oft-quoted articles about this is from Joel Spolsky. Lately he seems to have just been writing flame-bait, but this was one of his worthwhile early posts.
Note that you can also take a combination approach, and use some pre-built things such as recaptcha and gravatar even from within a bespoke solution.
Writing your own forum software is nowadays in almost no case useful. The available software is highly customizable. For example, you can create your own skin to fit with the layout of your website. You can integrate the login with that of your website.
Writing your own forum is so complicated that the quality of your own software will be much lower than of something like phpBB or vBulletin. And dont forget the security bugs, the mentioned software has been reviewed by a huge amount of people. Until you reach the same quality (functionality, stability, security, etc), your website will be outdated and your forum software with it.
Once again, the current forum software is so adaptable and extensible, that it doesnt make sense to make your own.
I think it highly depends on your needs for the forum.
First off, is the forum itself an essential part of your website's function? Or is it more of a 'support' style forum?
If it's essential to your daily business, then it makes more sense to write your own - or at least highly customize an existing package.
If what you need instead, however, is a vehicle for customer support, or some sort of generic community revolving around your site, I might recommend looking at a completely different vehicle: something like http://getsatisfaction.com, or a Google Group, or some such.
(I'm in no way affiliated with either of those sites).
Regardless of the solution you choose, I'd recommend you give some serious thought to how essential the forum is. If it's not, then I wouldn't waste too much time configuring/setting one up. Instead, focus on what your site's main draw is, and spend the bulk of your time on improving that. You and your userbase will be much happier with that, IMO.

Bare minimum you need to work for an open source project [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I have recently started working on some open source project which I found relevant to my interests.
During this initiation period I came across some terminologies/stuff that I am not acquainted with, like configure, tool chain, binutils, etc. which I agree depends upon the type of project you are working on.
Now my question is, are there some bare requirements a developer should know before starting to work on the project?
Any help/reference will be greatly appreciated.
EDIT:
I have seen the GNU configure and build system in most of the projects I have seen.
If someone bothers about it "The GNU configure and build system" is a good place to start.
If it's a pre-existing one, you'll need to read their development docs (if any), learn how to use their version control system, and have the requisite tools for building the code and running it.
If you have all that, and the knowledge of the code/language, then you just need enthusiasm and some spare time :)
I wouldn't define them as bare requirements in the sense that it appears you are looking for. If you're a programmer you already have (hopefully!) the self-learning and problem solving characteristics that probably led you to be a programmer at first.
You'll never really know 'everything', and will likely learn something new everywhere you go. Heck, I got my current job never even hearing the words "Model-View-Controller", but picked up the concept in no time.
Your examples, toolchain and binutils, are not complex concepts and a simple wiki article should suffice.
I'd suggest downloading all the source code and making sure you can build it yourself as a first step.
Try and make sure you are familiar with the overall design and documentation before attempting to make any changes to ensure you don't inadvertently break anything on your first change!
The terminologies being used will probably depend on the technologies being used, for example an open source project written in C++ and running on Linux, will likely be very different to a C#/.NET application build to run on Windows.
It depends on how much involvement you will get into. If you just want to contribute with a feature, just get the tools to build the project, an editor to change the file and enough doc reading to find injection point for your feature. If you can find someone to help you getting started it will be fairly easy.
If you are to be committed to the project I recommend learning build tools, project history and aims. Also how the current authors try to solve the problems, their perspective on the project will help.
I would say being able to understand all of the architecture, tools and technology for whatever project you're working on is a must.
However, you then tried to make this a generic question that applied to any open source project. You kind of answered that for yourself didn't you?
which I agree depends upon the type of
project you are working on
I would think that depends entirely upon the project. Most well set up software projects will specify:
What language(s) they're written in
What developer environments (if any) they're set up for
What tools you need to build/compile/run the project
Test data with which to test the software
What are you working on? Are you sure they don't provide any of this information?
It depends on what you qualify as "work" on the project.
Most of the answers here suggest that you're coding (and your question hinted in that direction), but there are things that you can do to contribute to projects -- like testing and documentation -- that can be done without knowledge of how the program's written.
Now, for the coding aspect of it -- if it's a smaller project, I'd try to figure out what the other contributor's motivation and grand plans/goals for the project are. As with any team, coming in and trying to take things in a completely different direction than the others are planning, even if you have good intentions, can cause all sorts of problems.
(and then there's the technical advice that everyone else said ... source control, build system, project architecture, toolkits used, etc.)
It depends, as you say, on the project.
You'll have to know how to work in the language, you'll have to be familiar with the source code control system they use (usually subversion). You'll have to be able to build (usually Ant, often Maven).

Best practices when taking a small project on your own [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've always worked in small companies, mostly doing small websites, and they all sucked in project management.
That means I have no experience whatsoever (even though I learned a little bit studying on my own) about the best practices and tools when developing a project.
Currently I'm unemployed to finish college and I decided to take a small PHP project mostly to learn both the language and project management.
It's just an idea I had for a website, I don't need to get money from it and it is not big, so I'm not concerned with deadlines or business plan, or a main goal. The main goal is to learn the technical stuff.
The only thing I'm caring about is doing it right, you know, the best practices in PHP, server setup, security, the tools for the job.
I'm not asking for a complete rundown on any points, just things like
Remember to always sanitize user input
Use this tool to manage version
Remember to set this apache option
Here's a good link on how to organize your files
Things like these will be already of great help!
Thanks
Non language specific:
Devise an error handling strategy early. What will you do when error conditions occur, will you log errors, how? where? What information will you log? Will you throw exceptions, return error codes?
Assume that your website is succesful, people start using it, then it breaks how quickly can you figure out what went wrong? Consider your whole error strategy from that perspective, not just from what happens while you developing and you're in control.
Some things that helped me a lot (in no particular order)
Version control (SVN in my case)
issue-tracker/wiki (e.g. Trac)
if you are writing markup: some kind of tidy
... and a validator
if you are writing code: a lint tool for your specific language
TODO-list app (for small TODOs)
a cheap VPS host to test things (I also use mine to host SVN and Trac)
There's a good question already answered about bug tracking and version control for single developers.
As for PHP style, I usually like to follow the Zend Framework guidelines. For deployment advice, you might want to head over to ServerFault.
Here's some answers to the project management / best practices side of your question:
https://stackoverflow.com/questions/601759/what-professional-standards-do-you-maintain-in-a-side-pet-project
Start off by choosing a framework you're comfortable with. I would recommend Code Igniter, CakePHP or Zend Framework. It will help(force) you with a basic organization of your code and files. All these frameworks has dedicated forums with passionate developers.
From the project management angle I would recommend you to set goals and milestones. It will help you get things done even though you're learning. Set target of that you should accomplish for this month, this week and today. Small and easy targets like "create signup form" or "set homepage set". It feel so good checking those off. There is a lot of tools to use for this, like Backpack or Basecamp (free versions) or Things (mac application).
Be sure to use PHP5 and not copy ugly PHP4 code.
For project management software, check out DotProject (http://www.dotproject.net/).
About PMS (Project Management Software), you can take a look at
[http://www.axosoft.com][1].
This compagny edits OnTime, a very nice PMS.
Moreover, this software is TOTALLY free for a single user !
This software provides full support of SCRUM development method, for me one of the best !

Which open source project to choose for an usability evaluation? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
For an university project on usability I'm looking for an open source project that is useful but hardly usable. My group would do a complete usability review and give recommendations over a period of approximately 3 months.
Of course this is no purely altruistic idea and the best-case-scenario would be:
Our recommendations get implemented thus we can include an review of the improved version in our paper.
Are such one-shot usability reviews useful for (and wanted by) the average developer or are they just "better than nothing".
Do you know (actively developed) projects with poor usability that we could contribute to?
Besides sourceforge's "Help Wanted" and openusability.org do you know where to turn to?
Regards,
FGK
Update:
We are looking primarily for an end-user application because we want to include things like hallway testing with potential users.
(Thanks to Pekka Gaiser for raising the question)
2nd update: accepted answer:
Thank you all for your help. I think we'll go for libpurple and its graphical incarnations. The Linux and Windows versions of pidgin are truly a mess... :-)
I would suggest the GIMP - it's a very functional photoshop alternative, but it's not without its confusions...
Instead of choosing to help a project that is already bad, why not look at something heavily used?
There are many web based applications that may (or may not) benefit from a usability review - I'm thinking of things like Wordpress (in fact that's pretty much what I'm thinking of purely because I use it a lot).
It would be interesting to see what a group of "experts" think about Wordpress and how they would improve the UI - purely because any improvements made have the potential of helping/improving the experience for vast numbers of people.
Whether or not the Wordpress team specifically would implement any of your suggestions or changes is an unknown but even having a discussion and recommendations is most likely beneficial to the community.
Perhaps take a selection of projects (again I'm thinking web based because web usability is more defined [in my mind] - CMS/Blogging Software: Drupal, Joomla, Wordpress? Or E-Commerce applications? Forums?
Send out some "feeler" messages to the projects mailing lists to try and get an idea of whether or not they'd be open to the idea of help. I can't imagine many projects would be against the idea? Actually implementing changes may well be more difficult.
If you don't want to look at web applications maybe look at some of the "media" apps. Boxee or XBMC generally or Miro.
None of the projects I've mentioned are neccesarily bad (usability wise) but they're things I'm interested in so, from a slightly selfish point of view, it'd be beneficial to me (and I think a chunk of others) if you looked at something with a large user base.
Anyway, good luck.
Please, please, choose Audacity! That UI could be improved so much it's not funny...
How about Pidgin? It's a relatively popular open source project (I use it all the time) that is fraught with (in my opinion anyway) lots of usability mistakes, both minor and significant.
Usability reviews are ALWAYS useful, as well as being better than nothing.
Do I know actively developed open source projects with poor usability? can fish be shot in a barrel? :D look at the big projects. there's always lots of controversy about them (especially their versions for osx, since osx users tend to have a higher standard). I'd suggest gimp as the prodigal one, but I hear they're making great strides there. or maybe pidgin? I use the os x version (Adium) and the windows one and the contrast is brutal.
that said, the big projects probably won't really care about your input. some of the devs might pay attention, but as a whole, you probably wont steer that titanic unless they've already been spending a lot of time talking about this.
my advice? go on an ubuntu forum and ask the users there what they hate the most about their software. that'll give you good feedback because ubuntu is heavily used, which generally means there's going to be a conversation about this.
either way, if you want to see your recommendations implemented, you'll have to open up a dialog with the devs. you'll need at least one that believes in your cause to implement your thoughts (it may not be merged into the main trunk, but it'll at least be implemented in his branch)
good luck!
I have no idea whether they'd accept your input, but I think it would be interesting to compare KDE version 3 and 4. As a developer, I find version 4 all but unusable (and am switching to Gnome as a result). However, for the vast majority of users, their "award-winning" changes may have been an actual improvement.
If you want to see your changes implemented, be really sure to approach only projects with a high activity rate and people prepared to invest some serious time - you will need very motivated developers if you want to see (possibly fundamental) changes implemented. No matter which project you choose, be prepared for a lot of sometimes tooth-grinding work.
When thinking about web apps, Wordpress comes to mind. The back-end is crap (even though a lot of effort is being put in it), I hear people everywhere complaining about it. It is a very big name which is good for you and the probability to see suggestions actually implemented.
I recommend RIDE -- and IDE for developing robot framework tests. This tool is fairly young and has many classic mistakes, a few good features, and some good ideas with weak implementations. I think it would make an excellent candidate for a usability review.
I make this suggestion not because I want to point out the flaws in RIDE (after all, I was a developer on that project for a short period of time so it might show off some of my flaws), but because I think a) it has the potential for the study to help improve the product, and b) I think the tool makes some common mistakes you and your group could learn from.
It also has the advantage of being cross platform, so it should be suitable no matter what platform you're interested in.

What's a Good First Open Source Project? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm currently studying computer science and looking for a good way to practice and hone my programming skills. Contributing to an open source project seems like a natural way to do this to me. I currently know Java, Python, and some C, but wanted to open this up to any established language.
In particular, I'm looking for a project that's fairly active and has a lot of work for less experienced coders.
A better known project such as Firefox might have the advantage of being more recognizable on a resume, but perhaps one could have a larger impact on a smaller project. Any thoughts on this?
Thanks in advance =) -Matt
A popular one to start on if you know C is GNOME - www.gnome.org
Another great thing to do is look for projects that need help by checking out the Help Wanted listings at Sourceforge:
http://sourceforge.net/people/
The Python website also has a Volunteer Opportunities page:
http://wiki.python.org/moin/VolunteerOpportunities
A good way to contribute also is to look at the websites and mailing lists of open source software you use on a regular basis and ask if they need help, or just browse through their bug trackers to see what you can help with. This would probably be more interesting for you as you'll probably be able to make more meaningful contributions quicker with an existing knowledge of the software.
Good luck!
First, it has to be something that you are interested in and will enjoy working on. Otherwise it may become a chore or you may not contribute as much as you might otherwise.
Second, I'd make sure the project is active and has people working on it who you can learn from (by seeing what they've done and any changes they might make to your code once you check it in and they review it).
Finally, if you have any idea what you might want to do when you look for employment as a developer, then try to find something related to that area of programming, a tool that is used by developers in that field for example, as that will help you learn about the problem domain, as well as how to program, which help improve your cv/resume.
Whichever sounds fun to do, that's a rule of thumb for side projects for me. I'd suggest you start your own by the way, this is always more exciting and can teach you "get the things done" skill.
I prefer contributing to an open-source project already actove. Depending on what you want you will find games, databases..anything you's think about surely needs your contribution.
My really first contribution was to a game that used opengl ...space stariods i think, it was more like an optimization, or bug fix, i dont really remember.
I've done a plugin for GAIM (now known as Pidgin).. but never get to publish it as it changed name and api structure. It should have display the currently played song in the status-bar..with lots of configure options. Never finished it though.
Another thing was a 'echo' plugin for XMMS, but i found some bugs, it crashed easily and random (during development phase) ..and it was no longer maintained in the moment i've started developing, so left it in the dark also:) This one i liked a lot.. lots of cool and weird sound effects.
They were all cool as they all used different structures, and already established rules for coding, and commenting. Lots of thing to learn like this instead of starting my own project which wouldn't change my programming skills in any way:)
jHeidi is a program I like to use, but which is a bit buggy and could do with some development. It's written in Java.
There's a clear roadmap: It's following the more advanced development of its sister project HeidiSQL.