Slashdot Mirror


Corporate Software Development Wiki?

gnujoshua asks: "My company would like to expand the use of its Wiki to include source code and API documentation. It would be nice to have auto-generated, syntax highlighted, and well documented source code, integrated nicely into the Wiki. Ideally, changes to source could be made right in the Wiki, barring permissions, and furthermore, it would be nice to see if it compiles against the library as well. What recommendations does Slashdot have for Wikis and scripts that could be used effectively to this end?"

79 comments

  1. hopefully stating the obvious by Anonymous Coward · · Score: 0

    Don't rely on Blogspot to host it.

  2. Perl, of course! by QuantumFTL · · Score: 2, Funny

    Nothing is impossible with enough perl scripts!

  3. Huh? by Anonymous Coward · · Score: 0

    God, you sound like my boss. "Hey, I just found this neat thing on the web. With slight modifications, it could do x, y and z and streamline our operations. I mean it's so obvious and easy."

    1. Re:Huh? by MrPeavs · · Score: 2, Funny

      This is your boss, get back to working!

  4. Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

    Or at least the (pick one) CVS, SourceSafe, or Sourceforge? Why must it be Wiki when there is a perfectly good ecosystem of software that ALREADY DOES THIS JOB?!?!?!?

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    1. Re:Reinventing the wheel? by lukewarmfusion · · Score: 1

      See also: Subversion

    2. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      Actually an even better suggestion than any of mine. Mine all do version control- but Subversion adds an Appache Webserver to the mix, thus a client that can run on anything with a browser.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    3. Re:Reinventing the wheel? by halivar · · Score: 2, Insightful

      Or at least the (pick one) CVS, SourceSafe, or Sourceforge? Why must it be Wiki when there is a perfectly good ecosystem of software that ALREADY DOES THIS JOB?!?!?!?

      All the options you listed are for engineers only. If only engineers are involved in your design and development process, that's fine. For us, wiki is a great way to document our software development so that it is accessible not just to software developers, but also to documentation developers and tech support. It's great for this purpose because it is orders of magnitude easier to use than a source-versioning system (which is not anything at all like what you would use a wiki for). It's been a great boon to us, and I suggest other development teams look into using it, as well.

    4. Re:Reinventing the wheel? by AuMatar · · Score: 1

      Of course, it also means you need to run an Apache webserver to set up the server. Not a hard thing if you have an IT department, but more than I want to do for my home projects. I have no need for a web browser, and am not going to lower my security by running an unnecessary service.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    5. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      Actually, on my project we're currently using SourceSafe for everybody from Project Management, to End Users. We find that it's not "Just for engineers" or even "just for source code" as it tracks changes in any text-based file format just fine, thus very useful for finding out just who made a change when. But we're not working in multiple platforms (4500 WinXP workstations in a large state organization) and we're not hiring non-engineers to work in engineering (you really have tech documenters who don't have technical degrees?!!?!?!? How the heck do they know what to document?) so I'll take your word for it.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    6. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      Original article in this Ask Slashdot seems to be for a large group, and brought up Wiki (Heck, just look at the title of the page, Corporate Software Development Wiki? would indicate a corporation, not a small time software engineer with no IT department). Wiki would need a webserver to run also.

      For behind-the-firewall-less-than-10-people, Sourcesafe for Windows or CVS is just fine and likely to be on any OS you're running anyway. I like SS because I do a lot of work in Windows on Microsoft tools, so it's integrated (somewhat) nicely with my IDE (for various meanings of the word "integrated" and "nicely", it seems Microsoft can't get anything quite right) and CVS isn't- but when working in non-microsoft land I prefer CVS.

      As for the security issue, there are a large number of nice appliances out there that make your internal servers invisible to a broadband connection- either that or your dialup access company isn't doing their jobs properly.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    7. Re:Reinventing the wheel? by Digital11 · · Score: 1

      Not quite... Subversion runs just fine without Apache using its own protocol. We have SVN running as a service on one of our app-servers, and use TortoiseSVN for the client-side. Smooth like butter.

      --
      I am a leaf on the wind. Watch how I soar.
    8. Re:Reinventing the wheel? by jgrahn · · Score: 2, Informative
      All the options you listed [CVS, SourceSafe and Sourceforge] are for engineers only. If only engineers are involved in your design and development process, that's fine. For us, wiki is a great way to document our software development so that it is accessible not just to software developers, but also to documentation developers and tech support.

      Version control is not just for programmers. It is applicable for almost all computer work, for keeping history, creating an audit trail, enable people to work together, and a great many other things. It makes work easier and more fun. Not using at least basic version control is barbaric, and a waste of time and energy.

      There is this widespread notion that version control is hard to learn, or "for the programmers", or that "it takes time", and (as you can observe) it pisses me off.

      Your organization might still prefer a wiki, of course. But please do so for valid reasons.

    9. Re:Reinventing the wheel? by halivar · · Score: 1

      We're not just using wiki for engineering. We use it for cross-displinary communication and documentation. Engineering is only a part of the software development "ecosystem," and other teams should be able to understand what the engineers are doing without having an in-depth knowledge of coding tools. Which is, essentially, what VSS, CVS, and Subversion are. Yes, you can use them creatively for other applications very well, but that is not the purpose for which those tools were created and designed, for source code versioning.

      I also don't understand; how do you conclude that tech. doc. developers who don't know code versioning tools don't have technical degrees? My formal CS education didn't even touch VSS or CVS.

    10. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      I consider any CS education that doesn't touch on the value of source code and documentation control to be *seriously* deficient- at my technical college we had it in MIS, CHET, Tech Writing, and SET degrees, because it's just so usefull- but that was admittedly 11 years ago.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    11. Re:Reinventing the wheel? by JohnFluxx · · Score: 1

      Out of interest, why would you use Sourcesafe instead of Subversion?

    12. Re:Reinventing the wheel? by JohnFluxx · · Score: 1

      If it's just for home, then don't allow connections from outside. When you install, tell it to listen on loopback device only (127.*)

    13. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      Environment being programed for: large state agency with stupid piddling buracratic rules about what we can run on the machines, where every single desktop in the whole state is Windows XP Pro and the *required* IDE is Visual Studio 6 (with .NET coming up from behind- I think we've got two projects out of an application development department of 60 programmers that use .NET so far). Thus, SourceSafe becomes the "natural" thing that is already through the buracratic process to get it installed on the boxes, as it integrates easily supposedly (I don't know, has ANYBODY ever gotten SS or SV to actually integrate with the Visual Basic IDE?). I personally am thinking about Subversion instead on my home machine, as I'm currently rebuilding after an upgrade, just because I use a wider variety of OSs and languages at home.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    14. Re:Reinventing the wheel? by JohnFluxx · · Score: 1

      It doesn't need to integrate as such. You install tortoisesvn and then in any explorer window it shows you what state any svn checkedout file is in, and you can commit, rollback etc. Same for any file (open,save,etc) dialog.
      What more would you want?

    15. Re:Reinventing the wheel? by Anonymous Coward · · Score: 0

      Incorrect. The particular ecosystem you describe provides no facility for meta-data or discussion. A wiki is an extremely effective way to both capture a stub to an external thing and provide a location to capture meta-information about the thing.

      At my workplace, we have leveraged MediaWiki to allow us to reference and capture metadata about:
              code libraries (though not raw code)
              books
              magazines
              technical articles
              competitors's products
              chemicals (properties and safety information)
      all through single indirection (from the stub to wherever in the real world the thing is).

    16. Re:Reinventing the wheel? by Marxist+Hacker+42 · · Score: 1

      The object browser in Visual Studio isn't a typical explorer window- it doesn't actually show all the source code files, and it's not grouped by directories. Which is more a problem for Microsoft than it is for SVN, but that's what prevents true integration for any other source code control than SourceSafe. And then they go and botch it (hidden files don't check in and out properly if they disappear or reappear, and project/group files actually need you to exit out of the language and come back in to reload changes). So it's of limited usage, which is why I'm considering SVN at home.

      But more than that- to use Subversion at work would require a 6 week review process through a committee called ICARE that is made up of network engineers that have other jobs to do than just review software....

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  5. "In-house" solution by Kawahee · · Score: 1

    I'd recommend starting with a generic Wiki (MediaWiki?), and then editing it to suit your purposes.

    --
    I'll subscribe to Slashdot when I see a month without a dupe, a typo, or an article the "editors" didn't read.
  6. What a Terrible Idea! by Anonymous Coward · · Score: 0

    Use Javadocs or Doxygen you fool!

    1. Re:What a Terrible Idea! by Bat_Masterson · · Score: 1

      And POD...

    2. Re:What a Terrible Idea! by gnujoshua · · Score: 1

      Let's say a developer someone left out an "@see" in their code so the Doxygen didn't create a nice hyperlink as it could have. Well, in some cases, it might be nice for the documentation person to immediately make this change rather than checking it out. Let's say, perhaps, that if a minor change is made by user DaveDocumentor to a wiki page of type SourceCode, that the developers are sent an email with the diff so that they can make the change ot the CVS repository. This would speed up the time it takes for proper documentation to be created, while also creating a nice form of communications. A Diff of appropriate format is alway sent to the appropriate person and the minor change was made immediately to the documentation. Assuming the person who gets the diff goes ahead and makes the change to the CVS tree eventually, it won't be a problem. But, having yet another person checking out files in the CVS tree can be more of a haltle than it is worth. There could be a smaller margin of error in the scheme I presented. Or, maybe not. But, it is somethign worth considering.

  7. Re:Perl, of course! by ObsessiveMathsFreak · · Score: 1

    Nothing is impossible with enough perl scripts!

    The syntax.... it haunts me....

    --
    May the Maths Be with you!
  8. Re:Perl, of course! by helicologic · · Score: 1

    Whom the gods would destroy, first they teach perl.

  9. Open access? by AndroidCat · · Score: 0, Flamebait

    After all, you don't want to do a release build before noticing that someone from 212.138.47.24 dropped in a "THIS CODE IS G4Y!!1!" comment in the wrong place just before you started.

    --
    One line blog. I hear that they're called Twitters now.
    1. Re:Open access? by fimbulvetr · · Score: 1

      Software like mediawiki can be controlled so that if you're not logged in, you can't see or edit any pages. By flipping a true/false option, you can prevent anonymous users from registering, and apache contains Directory lines to only allow certain IPs, users, groups, etc. If you dedicate a few minutes, mediawiki actually makes a pretty good internal documentation tool - and not just documenting source code.

  10. nDoc works for me! by RingDev · · Score: 1

    nDoc 1.3.1 has an XML output option. With a bit of work that could be used to populate a Wiki style website. I use nDoc with VS.Net 2002 and 2003, and I believe there is a beta version for working with VS.Net 2005. I'm not sure what other languages it support.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  11. TWiki already uses RCS by mrm677 · · Score: 2, Informative

    Interesting idea to integrate a Wiki with a version-control browser. I wouldn't want to use a Wiki as my editor however.
     
      TWiki uses RCS as its backend. Thus if you use CVS for version control (which is based on RCS), modifying the Perl-based TWiki to talk with your CVS repository should be feasible.

    1. Re:TWiki already uses RCS by Raphael · · Score: 2, Informative
      TWiki uses RCS as its backend.

      TWiki also includes some plug-ins that may be useful for the author of this article, such as the SyntaxHighlightingPlugin (which uses enscript as a back-end).

      I am not sure that I would use a wiki for viewing source code because there are better tools for that (from viewcvs to gforge). But if you really want to, then TWiki is probably the one that has the most useful features for a corporate environment.

      --
      -Raphaël
    2. Re:TWiki already uses RCS by gnujoshua · · Score: 1

      Great, this is really helpful advice. I had been thinking more along these lines---I didn't actually want people to use the wiki as the editor, as some trolls have yelled at me for in these posts. But, I think this is the type of set-up I want. Where code, API docs, and everything is closer to all the other documentation. One giant "wiki", or something along those lines. Doxygen, CVS, and other tools are all compatible with this type of environment it seems, so I figured, one step closer to a nice community based development/communications environment. But clearly, I'm STUPID for poking my head out in this direction, haha.

  12. Hi, I work for Software Company X by Anonymous+Crowhead · · Score: 1

    Our motto is, "The software company with source code that anyone can edit".

  13. Re:Perl, of course! by Anonymous Coward · · Score: 0
    Nothing is impossible with enough perl scripts!

    Except, perhaps, increasing the percentage of idle cpu cycles.

    Unless your definition of "enough" is zero.

  14. Something to start with by skraps · · Score: 1
    I don't think this does exactly what you want, but it would be a good place to start.

    Trac: "Trac is an enhanced wiki and issue tracking system for software development projects."

    --
    Karma: -2147483648 (Mostly affected by integer overflow)
    1. Re:Something to start with by mindsuck · · Score: 1

      We've been using Trac for at least half a year at the office and it's simply great.

      You can browse projects from a Subversion repository, syntax-hightlighted and everything. Keep track of tickets/milestones. And of course, you have the wiki.

      Our setup uses SVNManager + Trac for everything related to source control/documentation.

      --
      --- I w00t, therefore I'm l33t.
    2. Re:Something to start with by rakanishu · · Score: 1

      If Trac isn't your cup of tea. You might take a look at GForge It's the OSS version of Source Forge that you can run internally.

  15. You're forgetting concurrency by Anonymous Coward · · Score: 0

    Beyond the issues of a proper editor, opening multiple files at once, launching the compiler, and obtaining any warnings, errors, or hints from the compile process, you have concurrency issues. Wiki was only intended to detect collisions during concurrent edits, but not to lock pages out. Even if you do modify Wiki to lock the pages upon edit, you must also detect when the page is closed (or the computer crashed), which is very difficult through a web interface.

    All-in-all, you're going to go to far more effort on this solution than on any other.

  16. Google by GameMaster · · Score: 3, Informative

    You know, I recommend Google. For instance it took me less than a minute searching on Google to find this http://qbnz.com/highlighter/. It's called GeSHi, and, apparently, it is an open source library for generic syntax highlighting. Maybe you could put just a little bit of effort into looking for a solution before you try to get a community of thousands to spend their time doing it for you. A good first step would be to find your own answer to the other few problems you mentioned now that I've given you one for free.

    -GameMaster

    --

    Rules of Conduct:
    #1 - The DM is always right.
    #2 - If the DM is wrong, see rule #1
    1. Re:Google by JonathanR · · Score: 1

      Sure, anyone can google and read the over-hyped advertmation about the capability of a particular system. The Ask Slashdot really is expecting responses from people who are using/have tried such software. Most Ask Slashdot's can be answered with a little googling, however it's not always easy to solicit peoples experience there.

    2. Re:Google by Davethewaveslave · · Score: 1
      Isn't the whole point of Slashdot to provide readers a community with which to share experiences, ideas, and opinions?

      I don't know about you, but I can read these news articles in any number of other places on the web. I come to Slashdot to read what this community has to contribute to the topic. I use Google to find links to information about a product, but I'll still seek out opinions from people I trust.

    3. Re:Google by gnujoshua · · Score: 1

      Thanks Game Master, how very narrow minded and pointed your reply was. I actually spent a full day doing research and came across a lot of solutions and ideas. But, when I posted to slashdot, I decided to broaden and simplify my language, in hopes of creating a post that might create interesting discussions and thoughtful responses. Instead of guiding it with specific examples of solutions I had come across. I understand, that you being a troll and all, it is inherent in your nature to be mocking and condenscending, presumptious and rude, others have tact and even the ability to abstract and reason. Many slashdotters responded with insightful and broad remarks and some even found the idea interesting. But thank you for the link, anyhow!

    4. Re:Google by Anonymous Coward · · Score: 0

      But, when I posted to slashdot, I decided to broaden and simplify my language, in hopes of creating a post that might create interesting discussions and thoughtful responses.

      You must be new here.

  17. What's the point? by DogDude · · Score: 1

    What's the point, exactly? Why would you want to make a very valuable assett editable by anybody? This seems like a HUGE step backwards from having some kind of source control.

    --
    I don't respond to AC's.
    1. Re:What's the point? by sirnuke · · Score: 1

      And why would they? It's not hard to restrict access to a wiki, either from within the code or using a firewall. No different than restricting access to subversion or equivalent. However, unlike subversion and other versioning control systems, a wiki makes it very easy to make excellent documentation.

      My recommendation is to use subversion and write a script that copies the source files to the wiki whenever someone commits changes, if such a script doesn't already exist.

      Better yet, modify the Wiki code (MediaWiki uses PHP, which wouldn't be very hard to mod) to get a copy of the code from the repository rather than looking for the page inside the wiki database. This would work really well as a wiki template ({src repository_name file_name.cpp} to 'include' a copy of the source on the wiki page). As a template, it would prevent anyone from modifying the source from within the wiki (which may or may not be a bad thing, but I wouldn't recommend a wiki as a source editor). You would probably have to roll your own syntax highlighter, but that probably wouldn't be too bad.

      --
      Zing!
  18. Atlassian by Anonymous Coward · · Score: 0

    You can't go wrong with atlassian's confluence wiki and jira bugtracker. They at least can be integrated, I don't know if there is native support for source code etc. Check it out, their support is excellent, so they'll be able to answer your questions.

    http://www.atlassian.com/ (Not affiliated, just a satisfied customer)

  19. There is only one: by Anonymous Coward · · Score: 0
  20. TWiki + CVS? by gwait · · Score: 1

    We run CVS for code, and I have TWiki set up (to experiment with collaboration on an internal wikipedia for engineering discussion). I'm thinking the easiest is to install a CVS Apache web interface (there's at least one I've used before) so that the TWiki entries could at least reference the CVS web pages if desired.
    I agree with other posts that using twiki to directly edit source code doesn't sound like a good idea..

    --
    Bavarian Purity Law of Rice Krispie Squares: Rice Krispies, Marshmallows, Butter, Vanilla.
  21. TWiki plugins can do this by toby · · Score: 1
    The SyntaxHighlightingPlugin supports over 50 languages.

    And they just released a nice shiny version 4.0.0 of TWiki, which I can't wait to try out.

    --
    you had me at #!
  22. Trac? by j|m · · Score: 1

    Sounds like a job for Trac. http://www.edgewall.com/trac . Subversion + wiki + bug tracking.

  23. DokuWiki has those features already by Gribflex · · Score: 1

    Dokuwiki has a those features already. It's not a behemoth like MediaWiki, but it does a pretty good job. It's intention is to allow developers to document their work without having excessive overhead.

    1. Re:DokuWiki has those features already by steeler359 · · Score: 1

      I heartily concur. I installed dokuwiki at my current workplace not long after I started working here, cos what there was of the office/company documentation (ie very little) was spread across a Windows fileserver in Word documents (ugh).

      The rest was in the heads of those who were then working there and it left when they did, leading to a lot of reverse-engineering. (Fun, fun fun)

      Jerry :)

      --
      There's no place like /~
  24. Confluence (and JIRA) by trisweb · · Score: 1

    Preface: Yes, I know they're not open source. Guess what? I don't care! It's great software!

    I highly reccomend Confluence as a Wiki for software development. Aside from being just about the perfect Wiki for any purpose, it's got great syntax highlighting and plugins for development. Not sure if it would let you edit directly from the web, but seriously, reconsider that requirement. I doubt anyone would actually use that anyway. It does have JUnit test reports built in too, so it's even better if you're using Java. It also integrates tightly with their bugtracking software JIRA, which is also amazing if you don't have a good bugtracker yet. But even if you're just using confluence for docs and specs, it's definitely the best Wiki out there for that.

    Other than that, there's always everything else ^^^ that has already been said... Good luck!

    --
    "!"
    1. Re:Confluence (and JIRA) by conf+t · · Score: 1

      I work for a software company and we extensively use Confluence - highly recommended!

    2. Re:Confluence (and JIRA) by after+fallout · · Score: 1

      I don't know if I would be willing to trust Atlassian. On their page for the top ten features of JIRA here

      They have this as the first reason:
      JIRA has features that you just will not find in any other issue tracker:

      * Easily build and save highly-configurable filters (dynamic queries) across all issues in the system.
      Umm... SugarCRM, Bugzilla, SalesForce, and Remedy have this (to varying degrees)

      * Share filters with other users, or subscribe to them and get the results emailed to you periodically.
      In Bugzilla(email the search link to share, RSS feeds)
      In SugarCRM(not sure how to share; I suppose you could email search links, RSS feeds as well)
      The other 2 I listed before, I don't know, haven't used too much.

      * Dynamic issue links allow you to link issues across projects, for example duplicates or subissues.
      SugarCRM, Bugzilla, SalesForce, and Remedy have this (linking bugs back and forth should be a standard feature in a bug tracker)

      * The Dashboard gives each user a single place to view all information relevant to them at a glance.
      Bugzilla - My Bugs
      Remedy - My Issues (if I remember correctly)
      SugarCRM - Home
      SalesForce - Home (yeah it is a stretch on these last 2, you are managing way too much information to fit it all on one screen usually with these apps)

      * Custom fields,
      Bugzilla - (not exactly yet [there are patches that do this now tho], see this buglist, and especially bug 91037
      SugarCRM - yep
      Remedy - yep (as I understand it, everything is a custom field in Remedy)
      SalesForce - I believe so

      Excel integration,
      Bugzilla, SugarCRM, Remedy, SalesForce - yep

      project roadmaps,
      Bugzilla - define roadmap exactly, if you are looking for milestones and dependencies, then yes, if you are looking for marketing hype then possibly not
      SugarCRM, Remedy, SalesForce - yep

      changelogs,
      Bugzilla - sorta, if you are using it correctly
      SugarCRM, Remedy, SalesForce - I don't know

      REST API
      What is this?
      Bugzilla - not a "REST" API... (lots of perl modules, for users wanting server API for writing plugins, bug 224577 is the start of a future SOAP API that would let bugzilla become a web service :))
      SugarCRM, SalesForce - Both have their own API's for writing plugins
      Remedy - Is there any need for one? The problem with Remedy is that it often does too much. This is why they send a person to your installation site to discuss with you exactly what you need, and then they customize it for you.

      and much, much more...
      This doesn't even need commenting.

      I am just using these 4 (very different) products to demonstrate because I have used each of them. I am sure there are others that maintain each of those features.

    3. Re:Confluence (and JIRA) by Smoking · · Score: 1

      First, I perfectly see your point and I agree with it...
      But you forgot one of the most important (don't know if it's listed on the atlassian website):

      Userfriendliness
      Bugzilla: maybe in version 10, but right now it is a royal pain, to the point of people developing alternative UIs for it.
      SugarCRM: somewhat, but like all these CRM tools it's really bloated.

      The great power of JIRA is more in the details, because on paper, bugzilla is really as good. But put both in the hands of some real users and you will quickly see the problem...
      And the integration between JIRA, Confluence and CVS must be quite interesting in a development environment, even though I have only tested JIRA...

  25. Use SVN + TRAC by self+assembled+struc · · Score: 1

    Use SVN and then use TRAC.

    IT's a wiki!

    It's a source browser (with color highlighting)

    It's a ticket tracking system (can import bugzilla, or be turned off)

    It's a floor wax!

    It's a dessert topping

    (well, not the last two).

    But it's pretty awesome, INSANELY easy to set up, and pretty slick/easy to use.

  26. Too damn many of you are missing the point by wowbagger · · Score: 1
    Too damn many of you are missing the point of his question.

    He does not want to store all of his code in the wiki.

    He wants to set it up so that when a programmer CREATES a wikipage on a function, he can include source code FOR A SAMPLE INVOCATION of the function and have that code be nicely formatted, syntax-highlighted and so on without the programmer having to to do it all by hand.

    In other words:
    1. Write function "foo"
    2. Write Wikipage on "foo", detailing function parms, conditions, exceptions, etc.
    3. Write sample code for calling "foo" in his normal programming editor (and hopefully test it to insure it works!)
    4. Paste tested sample code into wiki.
    5. Preview, and behold the syntax highlighted, formatted, and preferably automatically wikilink-ified code.


    Now, I am sure that he wouldn't mind it if there were some form of Doxygen-style "Code goes in here, and initial versions of wikipages come out here" interface, so that you could start from the Doxygen generated pages and then annotate them better.

    OK, folks? Got it?

    Good.

    Now, comment.
  27. wikis allow external links by deander2 · · Score: 1

    if your language/setup of choice already has a repository browser, syntax highlighter and/or javadoc equiv., just link to them from the wiki. we use mediawiki at work, and link to the javadocs, CVSWeb, StatCVS, the Bugzilla report engine, etc.

    (btw, editing your project's source code from a web form for anything but the most trivial projects is a dumb idea. this is why we have IDEs and version control systems)

  28. trac by anderiv · · Score: 1

    http://www.edgewall.com/trac/

    From the "What is Trac" page:
            * An integrated system for managing software projects
            * An enhanced wiki
            * A flexible web-based issue tracker
            * An interface to the Subversion revision control system

    Seems like that would work well for your purposes. I'm not sure if it does syntax highlighting, but it wouldn't be too hard to add that functionality.

    1. Re:trac by baptiste · · Score: 1
      I'd have to agree Trac seems to be just what he's looking for. I've been very impressed with it when using packages that manage their development with it.

      And yes, it does syntax highlighting, and I think its the neatest syntax highlight setup I've seen in a while. It is very well done.

      ANother option, harder to setup, but likely more feature rich, would be Horde. Horde has a Wiki module, bug tracking (whups), SVN access (Chora), and more. That's generally been the setup I've used, but Trac is really making me wonder what I'll do the next time I feel the need to upgrade my dev environment....

  29. Bad idea by Fred+Nerk · · Score: 1

    IMHO this sounds like a terrible idea. Are you going to try and get your developers to write their code inside the mozilla text edit box? It's much harder than using vi/emacs/textpad/MyFavEditor.

    Wouldn't it be much better to have your wiki link to something like ViewVC so you can see what the current code looks like.

    If this is because you're having trouble getting your developers to comment their code, it's not going to make it easier by commenting in Wiki.

    Anyway I'm a firm believer in documenting the reason for code, not the working of the code. If you can read code, the working is right there in front of you, but you may not know WHY something was done.

    --
    Anything is possible, except skiing through revolving doors.
  30. Also: cvsTrac, FitNesse, and WikiBase by boustrophedon · · Score: 2, Informative

    Long before Trac for Subversion, there was CVSTrac for CVS. It's a little more austere, but offers the same features: integrated wiki, CVS change tracker, CVS browser, and trouble tickets. CVSTrac now can be compiled to support Subversion.

    FitNesse combines a Wiki with an acceptance testing tool. Tables on Wiki pages hold test data and expected outputs; click the "test" button and FitNesse runs your application with the test data and checks the results against the expected values (similar to JUnit and others). Although written in Java, FitNesse also can test Python, Ruby, C++, .NET, Smalltalk, and Perl applications. FitNesse builds on Fit, the Framework for Integrated Testing by Ward Cunningham, the creator of the original Wiki.

    Ward also was the first person to integrate source code into a Wiki. In his WikiBase , Ward presents the source code for his original Wiki on Wiki pages containing HyperPerl, a Perl implementation of Literate Programming. This may not suit current development needs, but it is fascinating.

    1. Re:Also: cvsTrac, FitNesse, and WikiBase by after+fallout · · Score: 1

      Wow, I like these (Fitnesse and HyperPerl).

  31. Wiki has version control by tepples · · Score: 1

    Version control is not just for programmers.

    Which is why MediaWiki, in use by countless people through the website en.wikipedia.org, supports version control for all articles.

  32. Sourcesafe is the least safe VCS I have used by Anonymous Coward · · Score: 0

    SourceSafe is the only VCS that has corrupted my repository. You would be MUCH better off with TortoiseSVN. If you need a supported system then get Perforce. Also, I heard that SourceSafe is unmaintained and basically dead as far as Microsoft is concerned, and has been for years.

    1. Re:Sourcesafe is the least safe VCS I have used by Marxist+Hacker+42 · · Score: 1

      I haven't seen SourceSafe corrupt a repository since Version 4. Version 6 seems to be quite stable in that respect. But I agree with the rest.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  33. Use it for autogenerated documentation instead by mikaere · · Score: 1

    I contracted at a company where we looked into doing what you have suggested in the context of a BI team. Basically, using a wiki to submit code changes is a candidate for the Too Hard basket.

    Instead, what we did was write a bunch of services that interrogated our various source code repositories (database schema, stored procs, code, cube specifications etc) and generate a page for every object we were interested in with links to related objects.

    Each page will contained autogenerated documentation (formatted to look nice etc) as well as user comments. The autogenerated data was refreshed every night, but the user comments were able to persist.

    Make it all searchable and you have a very usable wiki that allows users to get a handle on how things hang together.

    Forget about using a wiki to submit changes to the SCC system. Nightmare !

    --
    It's good luck to be superstitious
  34. Experiences with Confluence by Mxyzptlk · · Score: 1
    We're evaluating Confluence and Jira for our company right now:

    Some positive aspects
    • Confluence has the ability to plug in your own company's authentication and authorization system, which many bigger companies have a need to do.
    • Confluence has a RTF format editor, which is quite nice compared to editing your text with markup directly, previewing, do some more editing, preview again, ...
    • Copying and pasting to/from Word works quite well (but it does not work 100 %).
    • You can quite easily connect Confluence to a database, instead of storing your pages in plain files on your local disk.


    Some negative aspects
    • The RTF format editor is quite buggy - the editor is quite new, so perhaps this is not too surprising, but I think it's bad form to release software that has so many defects.
    • Copying and pasting to/from Word almost always requires that you do extensive re-editing of the raw Wiki markup by hand. For example, it inserts color-coding everywhere, and symbols (e.g. right-arrow) do not translate well.
    • By default, new "spaces" (a collection of Wiki pages covering a certain aspect that you define) are not viewable by anyone except you. Of course, you can change this default, but it is quite disappointing to discover this after you have tried to publish pages for your colleagues, but they can't see that pages.


    To summarize, the editor bugginess is what irritates me the most. If they (Atlassian) can fix the editor, then Confluence will be very interesting indeed.
  35. Confluence IS OpenSource ... not FreeSoftware by AwaxSlashdot · · Score: 1

    Sources are available to commercial licence only ... but it's available. Looks like OpenSource to me. Maybe they should not give non-commercial licenses ?

    http://www.atlassian.com/software/confluence/Con fluenceSourceDownloads.jspa


    AWx
    --
    Sig (appended to the end of comments you post, 120 chars)
    1. Re:Confluence IS OpenSource ... not FreeSoftware by WWWWolf · · Score: 1

      Umm, they specifically say it's not open source!

      The only difference between open source and free software is the marketing philosophy, anyway. If something isn't free software, it's by definition not open source, either.

    2. Re:Confluence IS OpenSource ... not FreeSoftware by AwaxSlashdot · · Score: 1

      I'll define OpenSource by 3 points:

      • source code is available
      • source code can be modified
      • source code can be redistributed (under conditions)

      For a company, the point in OpenSource is not its low price. The point is having a safe route: if the underlying company/community disappears or the software support is abandonned or the "must-have" feature is still lacking and not planned at all or early enough, the company can assume the dev/maintanability/evolution by itself.
      So, from a company point of view (if redistribution is not needed/wanted), this is rather close to OpenSource.

      For the Free vs Open definition, I'll rather say the other way around: all FreeSoftware is OpenSource but not all OpenSource is FreeSoftware. So, even if its not FreeSoftware, it could be OpenSource.

      But I don't want to start a argument war here : this is just my understanding of the concept and not backed by any direct or indirect reference to existing licenses like GPL

      AWx
      --
      Sig (appended to the end of comments you post, 120 chars)
  36. trac/svn/java- and phpDoc by 216pi · · Score: 1

    we use trac with Subversion and generate documentation automatically with JavaDoc and phpDoc.

  37. Don't insist on being part of every discussion. by Futurepower(R) · · Score: 0, Offtopic

    Please don't comment on stories in which you have no interest. I'm enjoying the discussion, and learning a lot.

    -
    Cheney's company is building prisons for the U.S. government.

  38. Version Control: It's not just for coders. by Big+Sean+O · · Score: 1

    Seriously, anyone who creates writing that changes over time would benefit by using a version control repository.

    Just look at the history feature of Wikipedia. It's arguably one of the most important features of the encyclopedia.

    If Microsoft Word used a version control repository, a vast majority of business tragedies would be ameliorated.

    How's that for a bold statement.

    --
    My father is a blogger.
  39. What you want is Trac by rtos · · Score: 1
    Don't reinvent the wheel. What you describe can be accomplished with Trac.

    Trac is a web-based software project management and bug/issue tracking system. It provides an interface to Subversion and an integrated wiki. It uses Apache and mod_python, but it's really easy to install if you follow the instructions.

    You can see examples of it in use at PylonsHQ and the Django site, both of which are styled nicely. You can see a default install at PyDelicious.

    And no, it's not only Python sites that use it. Those are just the ones off the top of my head. :)

    --
    -- null
  40. Dokuwiki by Anonymous Coward · · Score: 0

    Dokuwiki includes code markup elements with syntax highlighting. I use it to document Oracle packages, procedure and functions on the code part plus process documentation, etc. I highly recommend it.