Corporate Collaboration (Web Techniques, Dec 2000)

We take collaboration on the Internet for granted. Email is the most ubiquitous method we use to share ideas with others. There are also mailing lists, Usenet groups, bulletin boards, and proprietary systems like Lotus Notes. Each one has its purpose, and each one has strengths and weaknesses.


January 01, 2002
URL:http://www.drdobbs.com/corporate-collaboration-web-techniques-d/184413565

An empty line starts a new paragraph.
   * Spaces and an asterisk start a bullet.
   * Text can be written in *bold* , _italic_ ,
     __bold italic__ and =fixed font= .
sub getRenderedVersion
 {
  my( $text ) = @_;
  my $result = "";
  foreach( split( /\n/, $text ) ) {
   # link WikiWords:
   s/([\s\(\*])([A-Z]+[a-z]+(?:[A-Z]+[a-zA-Z0-9]*))
/$1&internalLink($2)/geo;
   # other rendering rules omitted...
   # ...
   $result .= $_;
  }
  return $result;
 }

 sub internalLink
 {
  my( $wikiWord ) = @_;
  topicExists( $wikiWord ) ?
    "<a href=\"$wikiWord\">$wikiWord<\/a>"
      : "$wikiWord<a href=\"../edit/$wikiWord\">?</a>";
  }
Web Techniques: Figure 2

Figure 2


Following a right arrow (>) link shows the difference between two versions.

Figure 2


 sub getEmailNotifyList
  {
    my( $web ) = @_;

    my $list = "";
    my $line = "";
    my $fileName = "$dataDir/$web/WebNotify.txt";
    if ( -e $fileName ) {
     my @list = split( /\n/, readFile( $fileName ) );
     @list = grep { /^\s\*\s[A-Za-z0-9\.]+\s+\-\s+[A-Za-z0-9\-_\.\+]+/ } @list;
      foreach $line ( @list ) {
       $line =~ s/\-\s+([A-Za-z0-9\-_\.\+]+\@[A-Za-z0-9\-_\.\+]+)/$1/go;
    if( $1 ) {
     $list = "$list $1";
    }
   }
   $list =~ s/^ *//go;
   $list =~ s/ *$//go;
  }
  return $list;
 }
Web Techniques: Figure 3

Figure 3


The TWiki.Know.WebHome line shows the Web (Know) and the page (WebHome). Links on the upper right side lead to the TWiki Webs.

Figure 3


use CGI;
 $query = new CGI;
 my $filePath   = $query->param( 'filepath' ) || "";
  my $tmpFilename = $query->tmpFileName( $filePath ) || "";

  # check if file exists and has non zero size
  if( ! -s "$tmpFilename" ) {
    my $url = getOopsUrl( "oopsupload", $filePath );
    print $query->redirect( $url );
    return;
  }

  # cut path from filepath name (Windows "\" and Unix "/" format)
  my @pathz = ( split( /\\/, $filePath ) );
  my $filetemp = $pathz[$#pathz];
  my @pathza = ( split( '/', $filetemp ) );
  my $fileName = $pathza[$#pathza];
  $fileName =~ s/[^A-Za-z0-9_\.\-]//go;  # delete special characters

  # save uploaded file
  my $newFile = "/path/to/public/folder/$fileName";
  `cp $tmpFilename $newFile`;
  umask( 0027 );
  chmod( 0644, $newFile );
Web Techniques: Figure 4

Figure 4


Files attached to a Web page are listed in the FileAttachement table located at the end of the page.

Figure 4


<HTML>
<HEAD>
  <TITLE> TWiki . %WEB% . %TOPIC% </TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
<TABLE width="100%" border="0" cellpadding="3" cellspacing="0">
  <TR><TD BGCOLOR="%WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <A href="%WIKIHOMEURL%">
      <IMG src="%PUBURLPATH%/wikiHome.gif" border="0"></A>
  </TD><TD>
      <B>%WIKITOOLNAME% . %WEB% . </B><B>%TOPIC%</B>
  </TD><TD ALIGN="right">
      %WIKIWEBLIST%
  </TD></TR>
  <TR BGCOLOR="%WEBBGCOLOR%"><TD COLSPAN="2">
      %WEBTOPICLIST%
  </TD></TR>
</TABLE>
<BR>
%TEXT%
<BR clear=all><P>
<TABLE width="100%" border="0" cellpadding="3" cellspacing="0">
  <TR BGCOLOR="%WEBBGCOLOR%"><TD valign="top">
    Topic <B>%TOPIC%</B> . { %EDITTOPIC% %REVISIONS% }
  </TD></TR>
</TABLE>
Revision %REVINFO%
</BODY></HTML>
Web Techniques: Figure 5

Figure 5


A sample of the TWiki Category table that appears below the edit areas when you edit a page.

Figure 5


radio|UseCategory|0|Yes|No, delete this category table
select|TopicClassification|1|NoDisclosure|PublicFAQ|PublicKB
checkbox|OperatingSystem|true|3|OsHPUX|OsLinux|OsSolaris|OsSunOS|OsWin
text|OsVersion|16

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.