1 |
<html> |
<html> |
2 |
|
<head> |
3 |
|
<title>joko's sample notes - 2003-01 - InventoryCleanupAndRefactoring</title> |
4 |
|
<link href="/horde/css.php?app=chora" rel="stylesheet" type="text/css" /> |
5 |
|
</head> |
6 |
<body> |
<body> |
7 |
|
|
8 |
|
|
9 |
<pre> |
<pre> |
10 |
|
|
11 |
|
|
12 |
|
<hr/> |
13 |
|
|
14 |
|
AIMS: |
15 |
|
- Convert this document into a data-structure and back. |
16 |
|
- Don't loose a bit of information. |
17 |
|
- Make possible to link to all resources available. |
18 |
|
|
19 |
|
for working with it |
20 |
|
- global metadata |
21 |
|
- cvs-loginfo/commitinfo |
22 |
|
- ItemMetadata |
23 |
|
- ItemStatus (open, closed and stuff) |
24 |
|
- ItemAuthor |
25 |
|
- ItemType |
26 |
|
- ItemIdentifier |
27 |
|
- references/associations to/from |
28 |
|
- word metadata |
29 |
|
- link to target |
30 |
|
- show target as ... |
31 |
|
- overview of all gathered metadata (at the bottom) |
32 |
|
|
33 |
|
for rendering it |
34 |
|
- render <target> at <locator> as <that-type> [in <this-mode>] [to this <othertarget>] |
35 |
|
|
36 |
|
<hr/> |
37 |
|
|
38 |
joko@netfrag.org - sample stack: |
joko@netfrag.org - sample stack: |
39 |
|
|
40 |
o [task by joko] introduced "dispatchmail" to add mail2news-functionality to "recieveMail" (collector@netfrag.org) |
o [task by joko] introduced "dispatchmail" to add mail2news-functionality to "recieveMail" (collector@netfrag.org) |
418 |
o drag & drop arbitrary items out of outlook (.msg, .nws, etc.) - search for them while scanning the fs and sync them |
o drag & drop arbitrary items out of outlook (.msg, .nws, etc.) - search for them while scanning the fs and sync them |
419 |
against *original* source. (e.g. 'Message-ID: <b0s5v9$j7d$1@quepasa.netfrag.org>') |
against *original* source. (e.g. 'Message-ID: <b0s5v9$j7d$1@quepasa.netfrag.org>') |
420 |
|
|
421 |
|
x CVSSpam -> nfo.log.cvs |
422 |
|
x su root |
423 |
|
x cd /etc/mail |
424 |
|
x nano virtusertable |
425 |
|
x add line: |
426 |
|
x cvs-log@netfrag.org gateway |
427 |
|
x make virtusertable |
428 |
|
x su gateway |
429 |
|
x cd ~ |
430 |
|
x nano .dispatchmailrc |
431 |
|
x add lines: |
432 |
|
$self->copy('Newsgate', 'nfo.log.cvs') |
433 |
|
if $to =~ m/cvs-log/; |
434 |
|
x exit (to logout) |
435 |
|
x cvs update CVSROOT/loginfo |
436 |
|
x add to CVSROOT/loginfo (to the end of the line starting with '^nfo '): |
437 |
|
--to cvs-log@netfrag.org |
438 |
|
x cvs commit -m "+ added new notification target: 'cvs-log@netfrag.org'" CVSROOT/loginfo |
439 |
|
x tested with some mini-howto |
440 |
|
x removed '--to joko@netfrag.org --to jonen@netfrag.org --to bareface@netfrag.org --to janosch@netfrag.org ' |
441 |
|
from CVSROOT/loginfo for module 'nfo' |
442 |
|
x announce this |
443 |
|
x added to '/etc/news/nnrp.access': |
444 |
|
*:Read Post:bareface:bareface:* |
445 |
|
x /etc/init.d/inn reload |
446 |
|
|
447 |
|
x add 'gateways'-repository to chora |
448 |
|
x nano /data/www/doc/horde/chora/config/cvsroots.php |
449 |
|
x add lines: |
450 |
|
# 2003-01-24, joko |
451 |
|
$cvsroots['gateway'] = array( |
452 |
|
'name' => 'gateway', |
453 |
|
'location' => '/var/lib/cvs/gateway', |
454 |
|
'title' => "$titlePrefix gateway's CVS Repository", |
455 |
|
'cvsusers' => $cvsusers, |
456 |
|
); |
457 |
|
|
458 |
|
x configured Apache for serving news.netfrag.org |
459 |
|
x cleaned up /data/www/virtual/netfrag/conf/httpd.conf |
460 |
|
x ./test.conf |
461 |
|
x comments |
462 |
|
x /etc/init.d/apache reload |
463 |
|
x test: http://news.netfrag.org/ |
464 |
|
|
465 |
|
o new module for cvs-repository? |
466 |
|
o nfo/layouts/fs/skel/data2 |
467 |
|
o checkout to /data on quepasa.netfrag.org |
468 |
|
x done: |
469 |
|
x su root |
470 |
|
x cd /var/lib/cvs |
471 |
|
x mkdir -p nfo/layouts/fs/skel/data |
472 |
|
x mkdir -p nfo/layouts/fs/skel/data2 |
473 |
|
x mkdir -p nfo/hosts/quepasa.netfrag.org/data |
474 |
|
x cvs -d /var/lib/cvs checkout -d /data nfo/hosts/quepasa.netfrag.org/data |
475 |
|
x *mungle everything and commit!* look at the repository! |
476 |
|
x add special group with access to this repository: 'rootsrc' |
477 |
|
x groupadd rootsrc |
478 |
|
x usermod -G src,staff,rootsrc joko |
479 |
|
x usermod -G src,staff,rootsrc jonen |
480 |
|
x usermod -G rootsrc root |
481 |
|
x change permissions |
482 |
|
x cd /var/lib/cvs/nfo/ |
483 |
|
x chown -R .rootsrc hosts |
484 |
|
x chmod -R g+w hosts |
485 |
|
|
486 |
|
|
487 |
|
x add to system-conf-repository: |
488 |
|
x /etc/mail |
489 |
|
x php: cvs-redirect |
490 |
|
x |
491 |
|
|
492 |
|
o extend WCron |
493 |
|
x show (per-task) if it's currently running or not: provide buttons to (start, stop, pause, resume or cancel a task...) |
494 |
|
x use as a frontend for administering nfo/libs/perl/ - backend - tasks(???) |
495 |
|
|
496 |
|
x install Horde/Troll |
497 |
|
x install troll |
498 |
|
x cd /home/service/download |
499 |
|
x mkdir horde |
500 |
|
x cd horde |
501 |
|
x wget ftp://ftp.horde.org/pub/troll/troll-0.0.2.tar.gz |
502 |
|
x tar -xzf troll-0.0.2.tar.gz --directory=/data/www/doc/horde/ |
503 |
|
x configure horde |
504 |
|
x cd /data/www/doc/horde/ |
505 |
|
x nano config/registry.php |
506 |
|
x add lines: |
507 |
|
$this->applications['troll'] = array( |
508 |
|
'fileroot' => dirname(__FILE__) . '/../troll', |
509 |
|
'webroot' => $this->applications['horde']['webroot'] . '/troll', |
510 |
|
'icon' => $this->applications['horde']['webroot'] . '/troll/graphics/troll.gif', |
511 |
|
'name' => _("News"), |
512 |
|
'allow_guests' => true, |
513 |
|
'show' => true |
514 |
|
); |
515 |
|
x configure Troll |
516 |
|
x cd troll/config |
517 |
|
x conf.php |
518 |
|
x cp conf.php.dist conf.php |
519 |
|
x nano conf.php |
520 |
|
x edit: |
521 |
|
x $conf['news']['server'] = 'news.netfrag.org'; |
522 |
|
x $conf['news']['mailserver'] = 'mail.netfrag.org'; |
523 |
|
x servers.php |
524 |
|
x cp servers.php.dist servers.php |
525 |
|
x add: |
526 |
|
$servers['netfrag.org'] = array( |
527 |
|
'name' => 'news.netfrag.org', |
528 |
|
'server' => 'news.netfrag.org', |
529 |
|
'port' => 119, |
530 |
|
); |
531 |
|
x prefs.php |
532 |
|
x cp prefs.php.dist prefs.php |
533 |
|
x html.php |
534 |
|
x cp html.php.dist html.php |
535 |
|
x permissions |
536 |
|
x chmod o+r *.php |
537 |
|
|
538 |
|
|
539 |
|
x test: http://netfrag.org/horde/ |
540 |
|
o another (more bright) skin for horde@netfrag.org!!! |
541 |
|
|
542 |
|
o Warum nicht überall Horde? Sondern TUTOS? |
543 |
|
o Horde ist sehr breit angelegt, dafür fehlt es jedoch an vielen Stellen noch ein wenig im Detail. |
544 |
|
o mittlerweile: mit Hermes & Co.? nochmal ansehen! |
545 |
|
|
546 |
|
o just do automated operations (like cvs commit) only if system is idle |
547 |
|
|
548 |
|
o automagically redirect http://netfrag.org/horde/ to https://netfrag.org/horde/ |
549 |
|
o with an Apache - rewrite-rule? |
550 |
|
|
551 |
|
x how to map TUTOS-groups to newsgroups? |
552 |
|
x ctlinnd newgroup nfo.tutos.sysadmin |
553 |
|
x add dispatching for sysadmin@netfrag.org |
554 |
|
x add to /home/service/virtual/gateway/.dispatchmailrc |
555 |
|
$self->copy('Newsgate', 'nfo.tutos.sysadmin') if $to =~ m/sysadmin/; |
556 |
|
x add to /etc/mail/virtusertable: |
557 |
|
# --- news.netfrag.org - joko, 2003-01-24 |
558 |
|
sysadmin@netfrag.org gateway |
559 |
|
make virtusertable! |
560 |
|
x write welcome-mail |
561 |
|
root@quepasa:~$ mail sysadmin@netfrag.org |
562 |
|
Subject: Welcome to the sysadmin-newsgroup at netfrag.org! |
563 |
|
Have fun! |
564 |
|
greets, joko. |
565 |
|
|
566 |
|
. |
567 |
|
Cc: |
568 |
|
x test: do "refresh newsgroups" at your favourite news-reader |
569 |
|
x this has been refactored to: <a href="http://news.netfrag.org/nfo.tutos.sysadmin/id/b0shbj$l9s$1@quepasa.netfrag.org">[news:id=b0shbj$l9s$1@quepasa.netfrag.org]</a> |
570 |
|
x HEADERS: |
571 |
|
x Message-ID: <b0shbj$l9s$1@quepasa.netfrag.org> |
572 |
|
x Subject: Re: Welcome to the sysadmin-newsgroup at netfrag.org! |
573 |
|
o newsgate |
574 |
|
o http://news.netfrag.org/nfo.tutos.sysadmin/id/b0shbj$l9s$1@quepasa.netfrag.org |
575 |
|
o http://news.netfrag.org/nfo.tutos.sysadmin/subject/Re: Welcome to the sysadmin-newsgroup at netfrag.org! |
576 |
|
|
577 |
|
o Erkenntnis aus UML (Kernel 2.4): schwierig mit gleichzeitigem Zugriff |
578 |
|
|
579 |
|
o gave up trying to get Troll running |
580 |
|
|
581 |
|
x setup alternatives to Horde for public access |
582 |
|
o viewcvs |
583 |
|
x apt-get install libapache-mod-python |
584 |
|
|
585 |
|
o WebNewsViewer |
586 |
|
|
587 |
|
o release the user from having to send email-messages to actually post urls with content (e.g. "FirstPage") |
588 |
|
|
589 |
|
o parse .url-files! |
590 |
|
|
591 |
|
o have newsgroup-structure backed in ldap-container (ou) somehow (Data::Map!) |
592 |
|
|
593 |
|
x new email-addresses@netfrag.org: |
594 |
|
x sysadmin@netfrag.org |
595 |
|
x faq@netfrag.org |
596 |
|
|
597 |
|
x --rework|*reworked*-- apache-layout - check into repository as something root is responsible for! |
598 |
|
|
599 |
|
x --setup|*setting up*-- newsportal (by Florian Amrhein) |
600 |
|
x url: http://florian-amrhein.de/newsportal/ |
601 |
|
x cd /home/service/download |
602 |
|
x mkdir newsportal |
603 |
|
x cd newsportal |
604 |
|
x wget http://florian-amrhein.de/newsportal/download/newsportal-0.24.tar.gz |
605 |
|
x mkdir -p /data/www/virtual/netfrag/sites/news/apps/newsportal/ |
606 |
|
x tar -xzf newsportal-0.24.tar.gz --directory=/data/www/global/apps/newsportal/ |
607 |
|
x add to /data/www/virtual/netfrag/conf/applications.conf |
608 |
|
Alias /webnews/ /data/www/global/apps/newsportal/ |
609 |
|
x configure in /data/www/global/apps/newsportal/config.inc |
610 |
|
// newsserver setup |
611 |
|
$server="news.netfrag.org"; |
612 |
|
$server_auth_user="webnews"; |
613 |
|
$server_auth_pass="web123"; |
614 |
|
x add to /etc/news/nnrp.access: |
615 |
|
# 2003-01-26, joko |
616 |
|
*:Read Post:webnews:web123:* |
617 |
|
x modify groups.txt |
618 |
|
<nfo.* - add all groups here> |
619 |
|
o TODO: AUTOUPDATE here! |
620 |
|
x add to the index-page: |
621 |
|
xR set INSERTION="<link href="/horde/css.php?app=chora" rel="stylesheet" type="text/css" />" |
622 |
|
x grep -rin "<head" * |
623 |
|
doc/readme-deutsch.html:4:</head> |
624 |
|
doc/faq.html:4:</head> |
625 |
|
doc/history.txt:234:- fehlender </head> Tag ergaenzt |
626 |
|
doc/readme-english.html:4:</head> |
627 |
|
doc/history.txt~:233:- fehlender </head> Tag ergaenzt |
628 |
|
extras/frames/thread_frameset.php:10:</head> |
629 |
|
head.inc:5:</head> |
630 |
|
x cvs add head.inc |
631 |
|
x cvs commit -m "+ initial commit" head.inc |
632 |
|
x <modify head.inc> |
633 |
|
x nano head.inc |
634 |
|
x <jump to line 5> STRG+W + T: 5 |
635 |
|
xR <insert INSERTION> |
636 |
|
xR <insert [ENTER]> |
637 |
|
x <save file> STRG+O + [ENTER] |
638 |
|
x test: <hit reload on <a href="http://www.netfrag.org/webnews/">http://www.netfrag.org/webnews/</a>> |
639 |
|
o TODO: RefactorThisHtmlRef to WebNews |
640 |
|
o view message in some MimeViewer or HtmlViewer (Horde?) |
641 |
|
o -> use a MessageViewer with MimeCapabilities and HtmlCapabilities |
642 |
|
x Why newsportal and no other? |
643 |
|
x directly connects to nntp-daemon |
644 |
|
x has local spool (o TODO: purge regularly?) |
645 |
|
x highly customizable |
646 |
|
x added custom css-stylesheet and changed something at content-rendering-level without any problems |
647 |
|
x visit cvs.netfrag.org to look at the changes made to the newsportal codebase: |
648 |
|
x -> <a href="http://cvs.netfrag.org/nfo/hosts/quepasa.netfrag.org/data/www/global/apps/newsportal/">newsportal at cvs.netfrag.org</a> |
649 |
|
o TODO: RefactorThisLink |
650 |
|
x it's just easy! |
651 |
|
x setup dispatchrequest for http://news.netfrag.org |
652 |
|
x cd /data/www/virtual/netfrag/sites/news/ |
653 |
|
x create symlink |
654 |
|
x ./.symlinkrc |
655 |
|
x copy over from webcvs |
656 |
|
x cp ../webcvs/index.php . |
657 |
|
x mkdir .dispatch |
658 |
|
x cd .dispatch |
659 |
|
x cp ../webcvs/.dispatch/config.php . |
660 |
|
x cp ../webcvs/.dispatch/index.php . |
661 |
|
x cvs add ... |
662 |
|
x cvs commit ... |
663 |
|
x added|*adding* dispatcher at http://news.netfrag.org |
664 |
|
x used and mungled DispatchRequest(->cvs, ->doc, ->search) for this purpose |
665 |
|
o IdeaFor ParseDoc: expand: cvs=JumpToCvs, doc=JumpToDoc, search=SearchFor |
666 |
|
x examples for the JumpToCvs mechanism are shown on <a href="http://netfrag.org/~joko/computing/overview/topics/>computing/overview/topics</a> |
667 |
|
x tested http://cvs.netfrag.org/ - still working... |
668 |
|
o AddedFeatures to DispatchRequest: |
669 |
|
x JumpToNewsgroup: http://news.netfrag.org/nfo.tutos.sysadmin/ |
670 |
|
e.g. ->http://netfrag.org/webnews/thread.php?group=nfo.links.computing |
671 |
|
o JumpToThread: NotYetImplemented! DoWeReallyNeedThis? |
672 |
|
o JumpToArticle: http://news.netfrag.org/nfo.sysadmin.tutos/id/b0shbj$l9s$1@quepasa.netfrag.org |
673 |
|
x JumpToArticle: http://news.netfrag.org/nfo.links.computing/id/44 |
674 |
|
e.g. ->http://netfrag.org/webnews/article.php?id=44&group=nfo.links.computing |
675 |
|
|
676 |
|
x NfoWeb |
677 |
|
o add WikiPages: |
678 |
|
o Overview |
679 |
|
o News |
680 |
|
o news.netfrag.org |
681 |
|
o Users |
682 |
|
o Development |
683 |
|
o Projects |
684 |
|
o cvs.netfrag.org |
685 |
|
o Documentation |
686 |
|
o Topics |
687 |
|
o MiniHowto |
688 |
|
o Download |
689 |
|
(o Search) |
690 |
|
o modify HomePage |
691 |
|
o change Projects to Overview |
692 |
|
|
693 |
|
o yakka & pod |
694 |
|
o convert pod to tavi |
695 |
|
o perl first (pod2tavi) |
696 |
|
o php afterwards (pod2tavi-php) |
697 |
|
o then refactor to a YakkaPlugin (an "input-filter"?) ('yakka-filter-pod'?) |
698 |
|
o address "files" outside the normal/configured default YakkaRepository |
699 |
|
o introduce: "ExplicitAddressingOfArbitraryTargets" |
700 |
|
o via HttpHeader (GET/POST) (HtmlUrlArgument, HtmlFormField) |
701 |
|
o introduce "YakkaContainers": aim: group a bunch of targets/items together as a kind of "MetaRepository" |
702 |
|
|
703 |
|
o viewcvs & yakka |
704 |
|
o a filesystem-adapter for yakka's storage-handler-system |
705 |
|
o show "view in yakka" if document-type eq 'tavi|tavi,v|pod' |
706 |
|
|
707 |
|
o IconForNetfrag.Org? |
708 |
|
o fav.ico? |
709 |
|
|
710 |
|
x --*installed*|install-- viewcvs |
711 |
|
x apt-get install viewcvs |
712 |
|
x configured: |
713 |
|
x /var/lib/cvs |
714 |
|
x email-address (new): cvs-admin@netfrag.org -> dev@netfrag.org |
715 |
|
x no forbidden modules (do this via unix permissions!) |
716 |
|
x allow tarball generation? yes! |
717 |
|
x Hint: add "Alias /viewcvs/ /usr/share/viewcvs/" to /etc/apache/conf/httpd.conf for online documents and icons |
718 |
|
x added to '/data/www/virtual/netfrag/conf/applications.conf' in our case |
719 |
|
x added '<link href="/horde/css.php?app=chora" rel="stylesheet" type="text/css" />' to '/etc/viewcvs/templates/header.ezt' |
720 |
|
|
721 |
|
o rendering *proposals* for TaviWorkflow |
722 |
|
o Linking|Referencing (WikiWords, PureExplicitLinkExtrapolation, NamedLinks) |
723 |
|
o Coloring |
724 |
|
o [o=red, x=green, R=red, r=green] |
725 |
|
|
726 |
|
o *shortcut*: TestApache to run 'apachectl configtest' (WikiForSystemAdministration) |
727 |
|
|
728 |
|
x web-based newsreader? twig! |
729 |
|
x apt-get install twig |
730 |
|
|
731 |
|
o shutdown horde (for now: "pause") |
732 |
|
|
733 |
|
o viewcvs & apache-mod-python? |
734 |
|
|
735 |
|
o home2web, .home2webrc |
736 |
|
o what? |
737 |
|
--before: buildhtml --source=pod|tavi |
738 |
|
--after: say "ready" |
739 |
|
o hmmm... |
740 |
|
o buildhtml: automate various SubTasks |
741 |
|
o synccvs (->cvs.nfo.perl.scripts.shortcuts.synccvs.pl) |
742 |
|
o buildhtml (->makedoc) (->cvs.nfo.perl.scripts.shortcuts.synccvs.pl) |
743 |
|
|
744 |
|
x added root of quepasa to cvs |
745 |
|
x su root |
746 |
|
x cd /var/lib/cvs/nfo/hosts/quepasa.netfrag.org |
747 |
|
x mkdir root |
748 |
|
x chown -R .rootsrc root/ |
749 |
|
x chmod -R g+w root/ |
750 |
|
x cd /tmp |
751 |
|
x cvs -d /var/lib/cvs checkout -d / nfo/hosts/quepasa.netfrag.org/root |
752 |
|
x start with /etc |
753 |
|
x cd /etc |
754 |
|
x cvs add etc |
755 |
|
x cvs add viewcvs |
756 |
|
x cd viewcvs |
757 |
|
x cvs add .... |
758 |
|
x cvs commit -m "+ initial commit" |
759 |
|
|
760 |
|
x How to get a single file from cvs for download: (e.g.) |
761 |
|
wget http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/viewcvs/viewcvs/templates/header.ezt?rev=1.2 |
762 |
|
|
763 |
|
x cvsgraph still missing: apt-get install cvsgraph |
764 |
|
|
765 |
|
x chora -> viewcvs |
766 |
|
o change logo at /usr/share/viewcvs/images |
767 |
|
x removed from template |
768 |
|
x cvsview-query.cgi didn't work yet! |
769 |
|
x error was: |
770 |
|
x tail -f /data/www/virtual/netfrag/log/error_log |
771 |
|
Traceback (most recent call last): |
772 |
|
File "/usr/lib/cgi-bin/viewcvs-query.cgi", line 50, in ? |
773 |
|
import query |
774 |
|
File "/usr/lib/python2.1/viewcvs/query.py", line 42, in ? |
775 |
|
import cvsdb |
776 |
|
File "/usr/lib/python2.1/viewcvs/cvsdb.py", line 34, in ? |
777 |
|
import dbi |
778 |
|
File "/usr/lib/python2.1/viewcvs/dbi.py", line 17, in ? |
779 |
|
import MySQLdb |
780 |
|
ImportError: No module named MySQLdb |
781 |
|
[Sat Jan 25 11:16:55 2003] [error] [client 217.231.127.85] Premature end of script headers: /usr/lib/cgi-bin/viewcvs-query.cgi |
782 |
|
x solution is: |
783 |
|
x apt-get install python-mysqldb |
784 |
|
x use mysql; |
785 |
|
x insert into db values ('localhost', 'ViewCVS', 'viewcvs', 'Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); |
786 |
|
x insert into db values ('%', 'ViewCVS', 'viewcvs', 'Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); |
787 |
|
x insert into user (host, user, password) values ('localhost', 'viewcvs', password('viewcvs')); |
788 |
|
x flush privileges; |
789 |
|
x cd /usr/lib/viewcvs |
790 |
|
x ./make-database |
791 |
|
x |
792 |
|
o mail to author of viewcvs |
793 |
|
|
794 |
|
|
795 |
|
o docu about uml and filesystem-layer running on gharb for MiniHowTo? |
796 |
|
|
797 |
|
o search.php?wiki=1&cvs=1&index=1 |
798 |
|
|
799 |
|
x get mnoGoSearch running |
800 |
|
e apt-get install mnoGoSearch |
801 |
|
e apt-get install mnogosearch-common mnogosearch-doc mnogosearch-pgsql mnogosearch-php |
802 |
|
x apt-get install mnogosearch-common mnogosearch-php |
803 |
|
x don't overwrite configuration files |
804 |
|
x use 'crc-multi' |
805 |
|
x use 'postgres' |
806 |
|
x use 'mnogosearch' |
807 |
|
x apt-get install postgresql |
808 |
|
x use 'Enter default encoding (SQL_ASCII):' |
809 |
|
Success. You can now start the database server using: |
810 |
|
|
811 |
|
/usr/lib/postgresql/bin/postmaster -D /var/lib/postgres/data |
812 |
|
or |
813 |
|
/usr/lib/postgresql/bin/pg_ctl -D /var/lib/postgres/data -l logfile start |
814 |
|
|
815 |
|
PostgreSQL database now installed. |
816 |
|
Use /usr/bin/createdb to create a specific database and |
817 |
|
/usr/bin/createuser to enable other users to connect to a |
818 |
|
PostgreSQL database. |
819 |
|
|
820 |
|
In the first instance, these commands must be run by the |
821 |
|
user 'postgres'. |
822 |
|
|
823 |
|
Restarting PostgreSQL database: postmaster |
824 |
|
No /usr/lib/postgresql/bin/postmaster found running; none killed. |
825 |
|
Starting PostgreSQL postmaster. |
826 |
|
postmaster successfully started |
827 |
|
. |
828 |
|
Enabling the PL procedural language in all PostgreSQL databases... |
829 |
|
plpgsql added to template1 |
830 |
|
x apt-get install postgresql-dev |
831 |
|
e apt-get install libpostgresql |
832 |
|
x apt-get install libpgtcl |
833 |
|
x apt-get install mnogosearch-pgsql mnogosearch-pgsql-dev |
834 |
|
x dpkg-reconfigure mnogosearch-common |
835 |
|
x su postgres |
836 |
|
x /usr/lib/postgresql/bin/createuser mnogosearch |
837 |
|
|
838 |
|
|
839 |
|
|
840 |
|
|
841 |
|
|
842 |
|
|
843 |
|
o it's not tavi nor tavi-workflow - it's: JustWrite? it's todo! (.todo -> .justdo -> .justwrite -> .done) |
844 |
|
|
845 |
|
o ScanToWeb |
846 |
|
|
847 |
|
o look at Mailman: http://www.list.org/features.html |
848 |
|
|
849 |
|
o use cvsup!? |
850 |
|
|
851 |
|
o alien.netfrag.org - (package-conversion) --> alien.packages.netfrag.org |
852 |
|
|
853 |
|
o chora2viewcvs - How to migrate from Horde/Chora to viewcvs. |
854 |
|
|
855 |
|
o LinuxInCvs (linux2cvs) |
856 |
|
|
857 |
|
o TestApacheConfig, StopApache, StartApache have to work without any running Apache - of course! |
858 |
|
|
859 |
|
o through "viewcvs" we loose the ability to "publish" documents via former chora: |
860 |
|
viewcvs takes care to keep documents like they are in their original - so ".html"-files should be shown with text/plain |
861 |
|
|
862 |
|
o re-integrate .cvslink/JumpToCvs with dispatchurl |
863 |
|
|
864 |
|
o WikiWords in CvsCommitMessages? (via yakka?) |
865 |
|
|
866 |
|
x http://cvs.netfrag.org/bareface/yakka/?tarball=1 |
867 |
|
|
868 |
|
o [source:/link/to/source-code] (most times a '.cvslink' - hmmm?) |
869 |
|
[source:<projectname>] |
870 |
|
|
871 |
|
o HelpMe |
872 |
|
|
873 |
|
o [snapshot:/link/to/snapshot] |
874 |
|
[snapshot:<projectname>] |
875 |
|
|
876 |
|
o dispatchrequest - a multipurpose request dispatcher |
877 |
|
o integrate: |
878 |
|
x redirector at cvs.netfrag.org ... |
879 |
|
o ... and news.netfrag.org |
880 |
|
o JumpToCvs (.cvslink-mechanism) |
881 |
|
o how was it done? |
882 |
|
x cd /data/www/virtual/netfrag/sites/webcvs/.dispatch |
883 |
|
x ln -s /data/www/global/apps/dispatchrequest . |
884 |
|
|
885 |
|
|
886 |
|
o buildhtml -> makedoc |
887 |
|
|
888 |
|
o TWIG & yakka? |
889 |
|
|
890 |
|
o rename: dispatchmail -> dispatchmessage |
891 |
|
|
892 |
|
c rename: dispatchrequest -> forwardrequest? |
893 |
|
|
894 |
|
o readrc of bashrc|perlrc|xmlrc |
895 |
|
|
896 |
|
x setup TWIG |
897 |
|
x cd /usr/share/doc/twig |
898 |
|
x cd /data/www/virtual/netfrag/conf/ |
899 |
|
x nano applications.conf |
900 |
|
x add line: Alias /twig/ /usr/share/twig/ |
901 |
|
x had to modify /etc/apache/conf/httpd.conf: |
902 |
|
x added: 'index.php3' |
903 |
|
<IfModule mod_dir.c> |
904 |
|
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 |
905 |
|
</IfModule> |
906 |
|
x added: '.php3' |
907 |
|
AddType application/x-httpd-php .php .php3 |
908 |
|
x /etc/init.d/apache reload |
909 |
|
x cd /etc/twig |
910 |
|
x modify config.inc.php3 |
911 |
|
x cd /usr/share/twig/setup |
912 |
|
x mysql |
913 |
|
x use mysql |
914 |
|
x insert into user (host, user, password) values ('localhost', 'www-data', password('')); |
915 |
|
x insert into db values ('localhost', 'twig', 'www-data', 'Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); |
916 |
|
x create database twig; |
917 |
|
x flush privileges; |
918 |
|
x database-schema |
919 |
|
x gunzip twig.table.mysql.gz |
920 |
|
x mysql twig < twig.table.mysql |
921 |
|
|
922 |
|
x setup arbitrary packet and bind to csm-system (Collaborative Software Management) |
923 |
|
x pinstall twig |
924 |
|
x apt-get install twig |
925 |
|
x cd /etc |
926 |
|
x cvs add twig |
927 |
|
x cd twig |
928 |
|
x cvs add * |
929 |
|
x cvs add .htaccess |
930 |
|
x cvs commit -m "+ initial commit" |
931 |
|
|
932 |
|
|
933 |
|
o remove html from phpWiki: ('http://'!!!) (->https!!!) |
934 |
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
935 |
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
936 |
|
<link rel="copyright" title="GNU General Public License" href="http://www.gnu.org/copyleft/gpl.html#SEC1" /> |
937 |
|
<link rel="author" title="The PhpWiki Programming Team" href="http://phpwiki.sourceforge.net/phpwiki/ThePhpWikiProgrammingTeam" /> |
938 |
|
|
939 |
|
o force https for: (authentication purposes - anonymous is http!) |
940 |
|
o horde |
941 |
|
o tutos |
942 |
|
|
943 |
|
x dpkg -x twig_2.7.5-4_all.deb tmp/ |
944 |
|
|
945 |
|
o TWIG & OpenLDAP!? |
946 |
|
|
947 |
|
x ApacheMasterLayoutRefactoring: quepasa.netfrag.org: |
948 |
|
x removed /data/www/doc to /data/www/global/apps |
949 |
|
x test: |
950 |
|
x cd /data/www/virtual |
951 |
|
x grep -ri "/data/www/doc" * |
952 |
|
x cd /data/www/global |
953 |
|
x grep -ri "/data/www/doc" * |
954 |
|
x apps/twiki/ |
955 |
|
x lib/TWiki.cfg |
956 |
|
x bin/.htaccess |
957 |
|
x conf/twiki-httpd |
958 |
|
---> just change between 'global' and (e.g.) 'virtual/netfrag' for switching between scopes ;-) |
959 |
|
---> the container (folder)-structure at global and sub-virtual level must match almost exactly to make this possible!!!!! |
960 |
|
x conf/virtualdomains-httpd/ |
961 |
|
x doc/twiki/ |
962 |
|
x removed: /data/www/virtual/netfrag/pub to /data/www/virtual/netfrag/sites/public |
963 |
|
x cd virtual/netfrag/conf |
964 |
|
x grep -ri "/pub" * |
965 |
|
x modify httpd.conf and applications.conf |
966 |
|
x apachectl configtest |
967 |
|
Syntax error on line 345 of /etc/apache/httpd.conf: |
968 |
|
DocumentRoot must be a directory |
969 |
|
x disabled there completely |
970 |
|
x now in /data/www/global/conf/httpd.conf |
971 |
|
DocumentRoot /data/www/virtual/netfrag/sites/public |
972 |
|
x apachectl configtest |
973 |
|
fopen: No such file or directory |
974 |
|
apache: could not open document config file /data/www/conf/twiki-httpd.conf |
975 |
|
x mv /data/www/global/conf/twiki-httpd.conf /data/www/virtual/netfrag/conf/ |
976 |
|
x nano /data/www/virtual/netfrag/conf/applications.conf to match new path |
977 |
|
x apachectl configtest |
978 |
|
fopen: No such file or directory |
979 |
|
apache: could not open document config file /data/www/conf/tutos-httpd.conf |
980 |
|
x cd virtual/netfrag |
981 |
|
x grep -rin "www/conf" * |
982 |
|
x edit applications.conf:21 |
983 |
|
x was: Include /data/www/conf/tutos-httpd.conf |
984 |
|
x is: Include /data/www/global/conf/tutos-httpd.conf |
985 |
|
x apachectl configtest |
986 |
|
Warning: DocumentRoot [/data/www/virtual/netfrag/sites/webnews] does not exist |
987 |
|
fopen: No such file or directory |
988 |
|
apache: could not open document config file /data/www/conf/dynamic.conf |
989 |
|
x grep -rin webnews * |
990 |
|
x edit applications.conf:30 |
991 |
|
x was: Alias /webnews/ /data/www/global/apps/newsportal/ |
992 |
|
x is: Alias /webnews/ /data/www/global/apps/newsportal/ |
993 |
|
x edit httpd.conf:74 |
994 |
|
x was: DocumentRoot /data/www/virtual/netfrag/sites/webnews |
995 |
|
x is: DocumentRoot /data/www/virtual/netfrag/sites/news |
996 |
|
x cd global/conf |
997 |
|
x grep -rin www/conf * |
998 |
|
x STDOUT-PARSE: |
999 |
|
httpd.conf:14:#Include /data/www/conf/httpd-php-perl.conf |
1000 |
|
httpd.conf:16:#Include /data/www/conf/virtualdomains-httpd.conf |
1001 |
|
httpd.conf:29:Include /data/www/conf/dynamic.conf |
1002 |
|
->FILE-MODIFY: httpd.conf:29:Include /data/www/global/conf/dynamic.conf |
1003 |
|
x apachectl configtest |
1004 |
|
root@quepasa:/data/www/global/conf# apachectl configtest |
1005 |
|
configuring dynamic domain "golf5.de" |
1006 |
|
configuring dynamic domain "smartmen.de" |
1007 |
|
configuring dynamic domain "ballonflug.de" |
1008 |
|
Syntax OK |
1009 |
|
x /etc/init.d/apache restart |
1010 |
|
x testing "http://netfrag.org/" fails |
1011 |
|
x testing "http://netfrag.org/index.php" |
1012 |
|
x makes redirect to "http://netfrag.org/nfoweb/" but fails there |
1013 |
|
x tail -f tail -f /data/www/virtual/netfrag/log/error_log |
1014 |
|
[Sun Jan 26 15:32:04 2003] [error] [client 217.231.119.195] File does not exist: /data/www/virtual/netfrag/pub/ |
1015 |
|
[Sun Jan 26 15:33:02 2003] [error] [client 217.231.119.195] File does not exist: /data/www/virtual/netfrag/pub/ |
1016 |
|
[Sun Jan 26 16:37:37 2003] [error] [client 217.231.119.195] Symbolic link not allowed: /data/www/virtual/netfrag/sites/public/nfoweb/ |
1017 |
|
[Sun Jan 26 16:38:08 2003] [error] [client 217.231.119.195] Symbolic link not allowed: /data/www/virtual/netfrag/sites/public/nfoweb/ |
1018 |
|
[Sun Jan 26 16:40:10 2003] [error] [client 217.231.119.195] Symbolic link not allowed: /data/www/virtual/netfrag/sites/public/nfoweb/ |
1019 |
|
|
1020 |
|
|
1021 |
|
o register: |
1022 |
|
public.netfrag.org -> http://netfrag.org |
1023 |
|
secure.netfrag.org -> https://netfrag.org |
1024 |
|
|
1025 |
|
o netfrag.org: DispatchRequest for http://netfrag.org/nfoweb/! |
1026 |
|
o netfrag.org: DispatchRequest for http://netfrag.org/rrr/! |
1027 |
|
|
1028 |
|
o IntroduceMergePoint at http://netfrag.org/doc/ |
1029 |
|
o MiniHowto |
1030 |
|
o faqs (e.g. from news://news.netfrag.org/nfo.faq.users |
1031 |
|
|
1032 |
|
o what about an "AUTOSAVE"-feature for UltraEdit when leaving the window or |
1033 |
|
o an AUTOCOMMIT on that very event (maybe integrated with a counter) |
1034 |
|
|
1035 |
|
o write scripts to iterate recursively through directories under specified path ... |
1036 |
|
o ... and do some actions on each directory, e.g. |
1037 |
|
o execute some specified .dot-files (e.g. .pod2htmlrc, .symlinkrc, .makedocrc) |
1038 |
|
|
1039 |
|
x CVSSpam in action: |
1040 |
|
10146 ? S 0:00 /usr/sbin/sshd |
1041 |
|
10148 ? S 0:00 /usr/sbin/sshd |
1042 |
|
10149 ? S 0:00 cvs server |
1043 |
|
10150 ? S 0:00 cvs server |
1044 |
|
10151 ? S 0:00 /bin/login |
1045 |
|
10155 ? S 0:00 /usr/bin/ruby -w /var/lib/cvs/CVSROOT/collect_diffs.rb --to joko@netfrag |
1046 |
|
10158 ? S 0:00 /usr/bin/ruby /var/lib/cvs/CVSROOT/cvsspam.rb /tmp/#cvs.loginfo.10149.10 |
1047 |
|
|
1048 |
|
x as Chora'sStylesheet has come active (by accident) when viewing this file view web |
1049 |
|
we should include this as a fixed default making horde our default stylesheet delivery engine (for now) |
1050 |
|
|
1051 |
|
o link-checker for netfrag.org |
1052 |
|
|
1053 |
|
o dispatcher for style.netfrag.org redirecting to <link href="/horde/css.php?app=chora" rel="stylesheet" type="text/css" />? |
1054 |
|
o styleme.php |
1055 |
|
o brandme.php |
1056 |
|
|
1057 |
|
|
1058 |
|
|
1059 |
|
o mini-howto: "HttpRedirect" |
1060 |
|
|
1061 |
|
o how to refactor the MiniHowtos? |
1062 |
|
o into a wiki? wikis seem to miss offline/distributed capabilities! (for now) |
1063 |
|
x into pod |
1064 |
|
x build offline |
1065 |
|
o build online |
1066 |
|
o into DocBook? |
1067 |
|
o into tavi? (or "TaviWorkflow"?) |
1068 |
|
o but: LinkWithWikiAutomagically to get everything together |
1069 |
|
o look at the InterwikiMechanism |
1070 |
|
o look at the various WikiPluginArchitectures |
1071 |
|
o look at YakkaDev! |
1072 |
|
|
1073 |
|
o a LinkageExample: RenderThis(html4|text|html3|pdf) with [[yakka]] and [[tavi-workflow]]! |
1074 |
|
o this could mean: |
1075 |
|
o use the declared formats as output filters for viewing target in other formats / styles |
1076 |
|
|
1077 |
|
o proposal for hierarchical structure (and HomePage) of netfrag.org |
1078 |
|
~overview -> SomeWiki -> Overview |
1079 |
|
~projects (include some common text here) |
1080 |
|
~users (include some common text here) |
1081 |
|
- Page: UserArea |
1082 |
|
- Page: ~users |
1083 |
|
~projects -> SomeWiki-> Projects |
1084 |
|
~users (include former page "User area" (now UserArea) automagically at the bottom here! (WikiInclude?)) |
1085 |
|
~rabit (raBit's router - psl.no-ip.com) |
1086 |
|
~natraj (sam's place - optix) |
1087 |
|
~joko (joko's) |
1088 |
|
~bareface (->yakka) |
1089 |
|
|
1090 |
|
o MasterWorkflow: |
1091 |
|
-> TheThreeGoodThings |
1092 |
|
-> HaveIdea -> WriteDown (RefactorLater) -> WriteDownMore -> WriteDownAssociations -> WriteDownEvenMoreIfNotStoppedByExternalInfluences |
1093 |
|
-> RefactorIdeas -> Categorize -> AddNotes -> AddTasks |
1094 |
|
-> DoThings -> ReadTasks -> DoTasks |
1095 |
|
-> TheFourthBadThing: TimeTrackAllThis ;-) (it seems to be not so far away....) |
1096 |
|
|
1097 |
|
o what do we need / what do we do? |
1098 |
|
--- researcher |
1099 |
|
o OnlineReading |
1100 |
|
(o SelectItemsForDownload) <- want-to-have |
1101 |
|
(o DownloadItems) <- want-to-have |
1102 |
|
--- researcher |
1103 |
|
o OfflineReading |
1104 |
|
x ClumsyOfflineReading <- status-quo |
1105 |
|
(o NiceOfflineReading) <- want-to-have |
1106 |
|
(o OfflineArchiving) <- want-to-have |
1107 |
|
o OfflineEditing (text, html, pod, tavi) |
1108 |
|
o OnlinePublishing (<all - everything what has been rendered or archived offline>) |
1109 |
|
--- engine |
1110 |
|
o LiveDispatching (ContentEncoding, ContentConversion, EnvelopeEncapsulation, GatewayToXyz) |
1111 |
|
o OfflineRendering (html, text, pdf, chm) |
1112 |
|
--- reader |
1113 |
|
o OnlineReading (<everything that has been published>) |
1114 |
|
(o SelectItemsForDownload) <- want-to-have |
1115 |
|
(o DownloadItems) <- want-to-have |
1116 |
|
o OfflineReading (pdf, chm) |
1117 |
|
|
1118 |
|
o link to http://teamsonar.no-ip.com |
1119 |
|
|
1120 |
|
o mail announces to announce@netfrag.org |
1121 |
|
|
1122 |
|
o no symlinks in webroot anymore? use ApacheAliases? |
1123 |
|
|
1124 |
|
o MiniHowto: NfoLinkageSystem(->news.nfo.announce) |
1125 |
|
o this declaration could mean: |
1126 |
|
o UseResources: |
1127 |
|
o look up "NfoLinkageSystem" as subject in newsgroup "news.nfo.announce" on default newsserver |
1128 |
|
o RenderThisWay: |
1129 |
|
o embed into document - html3 |
1130 |
|
o embed into document - dhtml (ExpandTree, CollapseTree) |
1131 |
|
o LinkToIt (JumpToMechanism(->minihowto)) |
1132 |
|
|
1133 |
|
o php: appcontrol: reads .appcontrolrc-files recursively from directories and adds/removes users or sets passwords |
1134 |
|
according to specification in there |
1135 |
|
|
1136 |
|
o source-code parser which creates documentation with wiki techniques |
1137 |
|
o pod2tavi -> tavi2html |
1138 |
|
o phpDoc <- tavi-plugin? |
1139 |
|
|
1140 |
|
o integrate yakka and newsportal: |
1141 |
|
o make a yakka-page of embedded news-articles / threads / thread-parts (a NewsComposition) (->YakkaPageMetadata) |
1142 |
|
o article-sources |
1143 |
|
o all items from one news-server |
1144 |
|
o !!! from different news-servers !!! |
1145 |
|
o add a "CommentThis"-links to each item when rendering |
1146 |
|
o when user posts the answer on YakkaEditPage |
1147 |
|
o make yakka post to the article's associated news-server (read from YakkaItemMetadata) |
1148 |
|
o wait until new article is published, then ... |
1149 |
|
o ... add to NewsComposition (update YakkaPageMetadata) (->AsynchronousBackendDaemon) |
1150 |
|
o ... use/introduce a MetaItem "New" into YakkaPageMetadata (at TopLevel) |
1151 |
|
which shows NewItems(->self, ->live) per thread or newsgroup |
1152 |
|
|
1153 |
|
o download this and that - e.g.: |
1154 |
|
o phpMyadmin(->archive.software.phpMyAdmin) |
1155 |
|
o this requires 'archive.software' to have ... |
1156 |
|
o ... a ListSearchHandler (searches nodelist below 'archive.software' only) |
1157 |
|
o ... a RecursiveSearchHandler (searches nodelist below 'archive.software' and all subfolders recursively) |
1158 |
|
o make this available as a ResourceHandler via a DispatchRequest sitting at |
1159 |
|
o http://netfrag.org/archive/?base=software&search=phpMyAdmin |
1160 |
|
o http://archive.netfrag.org/ |
1161 |
|
|
1162 |
|
x rename newsgroup nfo.csm to nfo.caesar (Collaborative And Easy System Management) |
1163 |
|
x ctlinnd newgroup nfo.caesar |
1164 |
|
x /etc/init.d/inn stop |
1165 |
|
x cd /var/spool/news/nfo |
1166 |
|
x cp csm/* caesar/ |
1167 |
|
x cd caesar |
1168 |
|
(x movearticle ...) |
1169 |
|
o chown news.news * |
1170 |
|
o /usr/lib/news/bin/makehistory |
1171 |
|
x THIS FAILED! DON'T DO IT |
1172 |
|
|
1173 |
|
o MiniHowto: KerberizedSystem (->~jonen) |
1174 |
|
|
1175 |
|
o RefWords -> LookUpDb -> SearchDb |
1176 |
|
|
1177 |
|
x added first news-article which refers/references to another one in another newsgroup |
1178 |
|
<a href="http://news.netfrag.org/nfo.caesar/id/1">Requirement: LDAP For Aliases, Maps, And Classes</a> |
1179 |
|
o PARSER-TODO: RefactorThisLink |
1180 |
|
|
1181 |
|
o check out /usr/sbin/checksecurity - what's that? |
1182 |
|
x seems to come from /etc/cron.daily/standard |
1183 |
|
|
1184 |
|
o write mail to the KroupwareMailingList |
1185 |
|
|
1186 |
|
o ContentIndexer for netfrag.org which should provide a FullTextSearch over AllResources |
1187 |
|
|
1188 |
|
o run MakeDoc at interval at netfrag.org as ServiceUser |
1189 |
|
o implement first version of makedoc |
1190 |
|
o use mkDoc.bat (or similar) for that purpose |
1191 |
|
o extend: use 'makedoc.bat|.pl' from ->cvs.joko.TestArea.topics.authoring.DocBook |
1192 |
|
|
1193 |
|
o DispatchRequest to tie all together |
1194 |
|
o just make a ref from almost everything and see what comes in.... |
1195 |
|
o write handlers for the various refs.... |
1196 |
|
|
1197 |
|
o show foldername in CVSSpam - message |
1198 |
|
|
1199 |
|
o SoWhyCommands? |
1200 |
|
o JustUseHumanLanguage! |
1201 |
|
o StartWithEnglish |
1202 |
|
o TryGerman |
1203 |
|
|
1204 |
|
o wrappers around the common used cvs commands |
1205 |
|
o cvscheckout <what> |
1206 |
|
o cvsupdate <what> |
1207 |
|
o cvscommit <what> <message> |
1208 |
|
|
1209 |
|
o newsportal |
1210 |
|
feature-idea: crosspost to another group |
1211 |
|
|
1212 |
|
o FreeTaskManagement |
1213 |
|
|
1214 |
|
o run-dotfiles -R fetchdoc|synccvs|makedoc |
1215 |
|
|
1216 |
|
o netfrag.org: "NewItems" (interacting with user's cookie's) |
1217 |
|
|
1218 |
|
o phpLdapAdmin |
1219 |
|
o use Horde's Ldap-driver! |
1220 |
|
o tryout http://www.enaliath.com/phpLDAPadmin.tgz |
1221 |
|
|
1222 |
|
o david-addons (Freeware) |
1223 |
|
|
1224 |
|
o MacOsX (Shareware) |
1225 |
|
|
1226 |
|
o POE - mailing-list??? |
1227 |
|
|
1228 |
|
o publish all ldap-schemas seperately |
1229 |
|
|
1230 |
|
o copyright information for nfo/docs/schemas (horde & janosch) |
1231 |
|
|
1232 |
|
o notify of new news-entries / bug-requests |
1233 |
|
|
1234 |
|
o scan urls from channel nfo and post to nfo.links.misc |
1235 |
|
|
1236 |
|
o write current topic of #nfo to some page on http://netfrag.org and link to irc-channel there |
1237 |
|
|
1238 |
|
o FeatureForTUTOS: ConvertNoteToTask |
1239 |
|
|
1240 |
|
o FeatureForTUTOS: mark items in MiniTaskView as open or closed (by their respecrive state) |
1241 |
|
|
1242 |
|
|
1243 |
|
|
1244 |
|
|
1245 |
</pre> |
</pre> |
1246 |
|
|
1247 |
|
<hr/> |
1248 |
|
$Id$ |
1249 |
|
|
1250 |
</body> |
</body> |
1251 |
</html> |
</html> |