From Nick.Trout at warthog.co.uk Fri Feb 1 09:06:23 2002 From: Nick.Trout at warthog.co.uk (Nick Trout) Date: Fri Feb 1 09:06:23 2002 Subject: [Moin-devel] efficiency Message-ID: <3F2F2554FFC0DD41AB7A1F29EE60E179597A00@hog-exchange.warthog.co.uk> Hi, we're currently using MoinMoin on our intranet and its running off my machine. I'd like to transfer it to the server and I'm a little worried its going to get swamped. Does anyone have any idea how many hits a minute a server running MoinMoin can take? eg. server is something like IIS on a p3 800 say. How could I improve performance. - I did think about running Medusa and writing a script to keep MoinMoin persistant but havent had time, does this exist anywhere - would this work? Does MoinMoin cache pages? I think the idea is that pages are generated on demand, but you could generate them and cache them(?) and only regenerate when necessary. Sorry if this is a repeat question, had a quick look on the list archive but nothing. Regards,Nick From jhermann at users.sourceforge.net Fri Feb 1 11:19:48 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 11:19:48 2002 Subject: [Moin-devel] CVS: MoinMoin/stats - New directory Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv20025/stats Log Message: Directory /cvsroot/moin/MoinMoin/stats added to the repository From jhermann at users.sourceforge.net Fri Feb 1 11:44:40 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 11:44:40 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.97,1.98 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv26596 Modified Files: Page.py Log Message: Fix for titlesearch with subpages Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.97 retrieving revision 1.98 diff -C2 -r1.97 -r1.98 *** Page.py 2002/01/30 22:15:36 1.97 --- Page.py 2002/02/01 19:40:22 1.98 *************** *** 285,289 **** if self.default_formatter: page_needle = self.page_name ! if config.allow_subpages: page_needle = '/' + string.split(page_needle, '/')[-1] link = '%s/%s?action=fullsearch&value=%s&literal=1' % ( --- 285,289 ---- if self.default_formatter: page_needle = self.page_name ! if config.allow_subpages and string.count(page_needle, '/'): page_needle = '/' + string.split(page_needle, '/')[-1] link = '%s/%s?action=fullsearch&value=%s&literal=1' % ( From jhermann at users.sourceforge.net Fri Feb 1 13:17:23 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 13:17:23 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text SiteNavigation,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv18083 Added Files: SiteNavigation Log Message: New page for better navigation --- NEW FILE: SiteNavigation --- SiteNavigation is the central place to explore this wiki. MoinMoin supports these MeatBall:IndexingScheme''''''s: * RecentChanges * TitleIndex * WordIndex * FindPage * WantedPages * OrphanedPages * RandomPage At the bottom of each page, there are actions that allow to navigate to other pages related to the current page: * Like''''''Pages * Local''''''Site''''''Map Additionally, there are the {{{[[PageList]]}}}, {{{[[FullSearch('text')]]}}} and {{{[[TableOfContents]]}}} macros, which allow you to automatically generate indices for cohesive parts of a wiki. From jhermann at users.sourceforge.net Fri Feb 1 13:19:55 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 13:19:55 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.98,1.99 config.py,1.50,1.51 wikiutil.py,1.72,1.73 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv18522 Modified Files: Page.py config.py wikiutil.py Log Message: SiteNavigation page; read/write pages in binary mode Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.98 retrieving revision 1.99 diff -C2 -r1.98 -r1.99 *** Page.py 2002/02/01 19:40:22 1.98 --- Page.py 2002/02/01 21:16:00 1.99 *************** *** 138,142 **** # try to open file try: ! file = open(self._text_filename(), 'rt') except IOError, er: import errno --- 138,142 ---- # try to open file try: ! file = open(self._text_filename(), 'rb') except IOError, er: import errno *************** *** 734,738 **** # save to tmpfile tmp_filename = self._tmp_filename() ! tmp_file = open(tmp_filename, 'wt') tmp_file.write(text) tmp_file.close() --- 734,738 ---- # save to tmpfile tmp_filename = self._tmp_filename() ! tmp_file = open(tmp_filename, 'wb') tmp_file.write(text) tmp_file.close() Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** config.py 2002/01/31 23:07:18 1.50 --- config.py 2002/02/01 21:16:00 1.51 *************** *** 115,118 **** --- 115,124 ---- +  %(page_site_navigation)s  + + + + +  Help  *************** *** 126,129 **** --- 132,136 ---- # page names 'page_front_page': 'FrontPage', + 'page_site_navigation': 'SiteNavigation', 'page_edit_tips': 'HelpOnFormatting', 'page_user_prefs': 'UserPreferences', Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -r1.72 -r1.73 *** wikiutil.py 2002/01/30 19:27:03 1.72 --- wikiutil.py 2002/02/01 21:16:00 1.73 *************** *** 477,480 **** --- 477,481 ---- 'sitename': config.sitename, 'page_front_page': config.page_front_page, + 'page_site_navigation': config.page_site_navigation, 'page_recent_changes': config.page_recent_changes, 'page_title_index': config.page_title_index, From jh at web.de Fri Feb 1 13:20:13 2002 From: jh at web.de (Juergen Hermann) Date: Fri Feb 1 13:20:13 2002 Subject: [Moin-devel] efficiency In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597A00@hog-exchange.warthog.co.uk> Message-ID: On Fri, 1 Feb 2002 17:00:09 -0000, Nick Trout wrote: >Hi, we're currently using MoinMoin on our intranet and its running off my >machine. I'd like to transfer it to the server and I'm a little worried its >going to get swamped. That is VERY unlikely to happen. The MoinMoin wiki runs on a double PIII/450, and there are 3 other wikis and it's in the internet. >Does anyone have any idea how many hits a minute a >server running MoinMoin can take? eg. server is something like IIS on a p3 >800 say. Well, install it and run httperf against it. Obviously, numbers of other people do not help, since each machine is different. > I did think about running Medusa >and writing a script to keep MoinMoin persistant but havent had time, does >this exist anywhere - would this work? No. Not yet, that is. >Does MoinMoin cache pages? I think the idea is that pages are generated on >demand, but you could generate them and cache them(?) and only regenerate >when necessary. Caching pages would be _extremely_ complicated, since any edit action can change _other_ pages' html rendering. And there's macros... Ciao, J?rgen From jhermann at users.sourceforge.net Fri Feb 1 13:27:18 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 13:27:18 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.62,1.63 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv20420 Modified Files: CHANGES Log Message: "default_markup" config option Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -r1.62 -r1.63 *** CHANGES 2002/01/30 22:04:11 1.62 --- CHANGES 2002/02/01 21:22:24 1.63 *************** *** 105,108 **** --- 105,110 ---- * ^superscript^ markup * `[[FootNote]]` macro + * many other new config options, see HelpOnConfiguration for + a complete list Unfinished features: From jhermann at users.sourceforge.net Fri Feb 1 13:27:29 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 13:27:29 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.99,1.100 config.py,1.51,1.52 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv20420/MoinMoin Modified Files: Page.py config.py Log Message: "default_markup" config option Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.99 retrieving revision 1.100 diff -C2 -r1.99 -r1.100 *** Page.py 2002/02/01 21:16:00 1.99 --- Page.py 2002/02/01 21:22:24 1.100 *************** *** 190,194 **** # default is wiki markup ! pi_format = "wiki" pi_redirect = None pi_formtext = [] --- 190,194 ---- # default is wiki markup ! pi_format = config.default_markup or "wiki" pi_redirect = None pi_formtext = [] Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** config.py 2002/02/01 21:16:00 1.51 --- config.py 2002/02/01 21:22:24 1.52 *************** *** 62,65 **** --- 62,66 ---- 'date_fmt': '%Y-%m-%d', 'datetime_fmt': '%Y-%m-%d %H:%M:%S', + 'default_markup': 'wiki', 'edit_rows': 30, 'external_diff': 'diff', From jhermann at users.sourceforge.net Fri Feb 1 14:02:23 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 14:02:23 2002 Subject: [Moin-devel] CVS: MoinMoin/webapi color.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/webapi In directory usw-pr-cvs1:/tmp/cvs-serv28905 Added Files: color.py Log Message: Color class for RGB colors --- NEW FILE: color.py --- """ MoinMoin - Web colors Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. $Id: color.py,v 1.1 2002/02/01 21:53:58 jhermann Exp $ """ import types class Color: """ RGB-Triple that automatically converts from and to "#RRGGBB" encoding, and also takes Netscape color names. The color values are stored in the attributes `r`, `g` and `b`. Example: >>> from color import Color >>> Color('yellow') Color(255, 255, 0) >>> str(Color('yellow')) '#FFFF00' >>> str(Color((128, 0, 128))) '#800080' >>> Color('#FF00FF') Color(255, 0, 255) """ COLORS = { 'aliceblue': (0xF0, 0xF8, 0xFF), 'antiquewhite': (0xFA, 0xEB, 0xD7), 'aqua': (0x00, 0xFF, 0xFF), 'aquamarine': (0x7F, 0xFF, 0xD4), 'azure': (0xF0, 0xFF, 0xFF), 'beige': (0xF5, 0xF5, 0xDC), 'bisque': (0xFF, 0xE4, 0xC4), 'black': (0x00, 0x00, 0x00), 'blanchedalmond': (0xFF, 0xEB, 0xCD), 'blue': (0x00, 0x00, 0xFF), 'blueviolet': (0x8A, 0x2B, 0xE2), 'brown': (0xA5, 0x2A, 0x2A), 'burlywood': (0xDE, 0xB8, 0x87), 'cadetblue': (0x5F, 0x9E, 0xA0), 'chartreuse': (0x7F, 0xFF, 0x00), 'chocolate': (0xD2, 0x69, 0x1E), 'coral': (0xFF, 0x7F, 0x50), 'cornflowerblue': (0x64, 0x95, 0xED), 'cornsilk': (0xFF, 0xF8, 0xDC), 'crimson': (0xDC, 0x14, 0x3C), 'cyan': (0x00, 0xFF, 0xFF), 'darkblue': (0x00, 0x00, 0x8B), 'darkcyan': (0x00, 0x8B, 0x8B), 'darkgoldenrod': (0xB8, 0x86, 0x0B), 'darkgray': (0xA9, 0xA9, 0xA9), 'darkgreen': (0x00, 0x64, 0x00), 'darkkhaki': (0xBD, 0xB7, 0x6B), 'darkmagenta': (0x8B, 0x00, 0x8B), 'darkolivegreen': (0x55, 0x6B, 0x2F), 'darkorange': (0xFF, 0x8C, 0x00), 'darkorchid': (0x99, 0x32, 0xCC), 'darkred': (0x8B, 0x00, 0x00), 'darksalmon': (0xE9, 0x96, 0x7A), 'darkseagreen': (0x8F, 0xBC, 0x8F), 'darkslateblue': (0x48, 0x3D, 0x8B), 'darkslategray': (0x2F, 0x4F, 0x4F), 'darkturquoise': (0x00, 0xCE, 0xD1), 'darkviolet': (0x94, 0x00, 0xD3), 'deeppink': (0xFF, 0x14, 0x93), 'deepskyblue': (0x00, 0xBF, 0xFF), 'dimgray': (0x69, 0x69, 0x69), 'dodgerblue': (0x1E, 0x90, 0xFF), 'firebrick': (0xB2, 0x22, 0x22), 'floralwhite': (0xFF, 0xFA, 0xF0), 'forestgreen': (0x22, 0x8B, 0x22), 'fuchsia': (0xFF, 0x00, 0xFF), 'gainsboro': (0xDC, 0xDC, 0xDC), 'ghostwhite': (0xF8, 0xF8, 0xFF), 'gold': (0xFF, 0xD7, 0x00), 'goldenrod': (0xDA, 0xA5, 0x20), 'gray': (0x80, 0x80, 0x80), 'green': (0x00, 0x80, 0x00), 'greenyellow': (0xAD, 0xFF, 0x2F), 'honeydew': (0xF0, 0xFF, 0xF0), 'hotpink': (0xFF, 0x69, 0xB4), 'indianred': (0xCD, 0x5C, 0x5C), 'indigo': (0x4B, 0x00, 0x82), 'ivory': (0xFF, 0xFF, 0xF0), 'khaki': (0xF0, 0xE6, 0x8C), 'lavender': (0xE6, 0xE6, 0xFA), 'lavenderblush': (0xFF, 0xF0, 0xF5), 'lawngreen': (0x7C, 0xFC, 0x00), 'lemonchiffon': (0xFF, 0xFA, 0xCD), 'lightblue': (0xAD, 0xD8, 0xE6), 'lightcoral': (0xF0, 0x80, 0x80), 'lightcyan': (0xE0, 0xFF, 0xFF), 'lightgoldenrodyellow': (0xFA, 0xFA, 0xD2), 'lightgreen': (0x90, 0xEE, 0x90), 'lightgrey': (0xD3, 0xD3, 0xD3), 'lightpink': (0xFF, 0xB6, 0xC1), 'lightsalmon': (0xFF, 0xA0, 0x7A), 'lightseagreen': (0x20, 0xB2, 0xAA), 'lightskyblue': (0x87, 0xCE, 0xFA), 'lightslategray': (0x77, 0x88, 0x99), 'lightsteelblue': (0xB0, 0xC4, 0xDE), 'lightyellow': (0xFF, 0xFF, 0xE0), 'lime': (0x00, 0xFF, 0x00), 'limegreen': (0x32, 0xCD, 0x32), 'linen': (0xFA, 0xF0, 0xE6), 'magenta': (0xFF, 0x00, 0xFF), 'maroon': (0x80, 0x00, 0x00), 'mediumaquamarine': (0x66, 0xCD, 0xAA), 'mediumblue': (0x00, 0x00, 0xCD), 'mediumorchid': (0xBA, 0x55, 0xD3), 'mediumpurple': (0x93, 0x70, 0xDB), 'mediumseagreen': (0x3C, 0xB3, 0x71), 'mediumslateblue': (0x7B, 0x68, 0xEE), 'mediumspringgreen': (0x00, 0xFA, 0x9A), 'mediumturquoise': (0x48, 0xD1, 0xCC), 'mediumvioletred': (0xC7, 0x15, 0x85), 'midnightblue': (0x19, 0x19, 0x70), 'mintcream': (0xF5, 0xFF, 0xFA), 'mistyrose': (0xFF, 0xE4, 0xE1), 'moccasin': (0xFF, 0xE4, 0xB5), 'navajowhite': (0xFF, 0xDE, 0xAD), 'navy': (0x00, 0x00, 0x80), 'oldlace': (0xFD, 0xF5, 0xE6), 'olive': (0x80, 0x80, 0x00), 'olivedrab': (0x6B, 0x8E, 0x23), 'orange': (0xFF, 0xA5, 0x00), 'orangered': (0xFF, 0x45, 0x00), 'orchid': (0xDA, 0x70, 0xD6), 'palegoldenrod': (0xEE, 0xE8, 0xAA), 'palegreen': (0x98, 0xFB, 0x98), 'paleturquoise': (0xAF, 0xEE, 0xEE), 'palevioletred': (0xDB, 0x70, 0x93), 'papayawhip': (0xFF, 0xEF, 0xD5), 'peachpuff': (0xFF, 0xDA, 0xB9), 'peru': (0xCD, 0x85, 0x3F), 'pink': (0xFF, 0xC0, 0xCB), 'plum': (0xDD, 0xA0, 0xDD), 'powderblue': (0xB0, 0xE0, 0xE6), 'purple': (0x80, 0x00, 0x80), 'red': (0xFF, 0x00, 0x00), 'rosybrown': (0xBC, 0x8F, 0x8F), 'royalblue': (0x41, 0x69, 0xE1), 'saddlebrown': (0x8B, 0x45, 0x13), 'salmon': (0xFA, 0x80, 0x72), 'sandybrown': (0xF4, 0xA4, 0x60), 'seagreen': (0x2E, 0x8B, 0x57), 'seashell': (0xFF, 0xF5, 0xEE), 'sienna': (0xA0, 0x52, 0x2D), 'silver': (0xC0, 0xC0, 0xC0), 'skyblue': (0x87, 0xCE, 0xEB), 'slateblue': (0x6A, 0x5A, 0xCD), 'slategray': (0x70, 0x80, 0x90), 'snow': (0xFF, 0xFA, 0xFA), 'springgreen': (0x00, 0xFF, 0x7F), 'steelblue': (0x46, 0x82, 0xB4), 'tan': (0xD2, 0xB4, 0x8C), 'teal': (0x00, 0x80, 0x80), 'thistle': (0xD8, 0xBF, 0xD8), 'tomato': (0xFF, 0x63, 0x47), 'turquoise': (0x40, 0xE0, 0xD0), 'violet': (0xEE, 0x82, 0xEE), 'wheat': (0xF5, 0xDE, 0xB3), 'white': (0xFF, 0xFF, 0xFF), 'whitesmoke': (0xF5, 0xF5, 0xF5), 'yellow': (0xFF, 0xFF, 0x00), 'yellowgreen': (0x9A, 0xCD, 0x32), } def __init__(self, color): """ Init color value, the 'color' parameter may be another Color instance, a tuple containing 3 color values, a Netscape color name or a HTML color ("#RRGGBB"). """ if isinstance(color, types.TupleType) and len(color) == 3: self.r, self.g, self.b = map(int, color) elif isinstance(color, Color): self.r, self.g, self.b = color.r, color.g, color.b elif not isinstance(color, types.StringType): raise TypeError("Color() expects a Color instance, a RGB triple or a color string") elif color[0] == '#': color = long(color[1:], 16) self.r = (color >> 16) & 255 self.g = (color >> 8) & 255 self.b = color & 255 elif not self.COLORS.has_key(color): raise ValueError("Unknown color name '%s'" % color) else: # known color name self.r, self.g, self.b = self.COLORS[color] def __str__(self): return "#%02X%02X%02X" % (self.r, self.g, self.b) def __repr__(self): return "Color(%d, %d, %d)" % (self.r, self.g, self.b) def __int__(self): return self.__long__() def __long__(self): return (self.r << 16) | (self.g << 8) | self.b From jhermann at users.sourceforge.net Fri Feb 1 14:20:56 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 14:20:56 2002 Subject: [Moin-devel] CVS: dist setup.py,1.13,1.14 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv1819 Modified Files: setup.py Log Message: Added chart support Index: setup.py =================================================================== RCS file: /cvsroot/moin/dist/setup.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** setup.py 2001/12/04 03:57:46 1.13 --- setup.py 2002/02/01 22:14:51 1.14 *************** *** 141,144 **** --- 141,145 ---- 'MoinMoin.py15', 'MoinMoin.scripts', + 'MoinMoin.stats', 'MoinMoin.support', 'MoinMoin.twisted', From jhermann at users.sourceforge.net Fri Feb 1 14:20:56 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 14:20:56 2002 Subject: [Moin-devel] CVS: MoinMoin/stats .cvsignore,NONE,1.1 __init__.py,NONE,1.1 chart.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv1819/MoinMoin/stats Added Files: .cvsignore __init__.py chart.py Log Message: Added chart support --- NEW FILE: .cvsignore --- *.pyc --- NEW FILE: __init__.py --- """ MoinMoin - Statistics Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. $Id: __init__.py,v 1.1 2002/02/01 22:14:52 jhermann Exp $ """ --- NEW FILE: chart.py --- """ MoinMoin - Charts Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This is a wrapper for the "gdchart" module. Example: import random c = Chart() c.addData(ChartData([random.gauss(0, 5.0) for i in range(20)], color='blue')) c.option(title = 'gdchart Demo') c.draw(Chart.GDC_LINE, (600, 300), 'test.gif') $Id: chart.py,v 1.1 2002/02/01 22:14:52 jhermann Exp $ """ import gdchart from MoinMoin.webapi.color import Color class ChartData: """ Data set for one line in a chart, including properties like the color of that line. """ def __init__(self, data, color='black'): """ Create a data set. `data` -- tuple / list of numbers `color` -- rendering color (triple, "#RRGGBB" or color name) """ self.data = data self.color = color class Chart: """ Wrapper for "gdchart". All GDC* constants are available as class attributes. """ DEFAULTS = gdchart.option() def __init__(self): # Get a copy of the default options self.options = self.DEFAULTS.copy() self.datasets = [] self.option( bg_color = 0xffffff, line_color = 0x000000 ) def addData(self, data): self.datasets.append(data) def option(self, **args): # Save option values in the object's dictionary. self.options.update(args) def draw(self, style, size, output, labels=None): args = [] colors = [] for dataset in self.datasets: if isinstance(dataset, ChartData): args.append(dataset.data) colors.append(dataset.color) else: args.append(dataset) colors.append('black') # Default for X axis labels (numbered 1..n) if not labels: labels = map(str, range(1, len(args[0])+1)) # set colors for the data sets if colors: self.option(set_color = map(int, map(Color, colors))) # pass options to gdchart and render the chart gdchart.option(**self.options) gdchart.chart(*((style, size, output, labels) + tuple(args))) # copy GDC constants to Chart's namespace for key, val in vars(gdchart).items(): if key.startswith('GDC'): setattr(Chart, key, val) if __name__ == "__main__": import os, sys, random c = Chart() c.addData(ChartData([random.randrange(0,i+1) for i in range(20)], color='green')) c.addData(ChartData([random.gauss(30, 5.0) for i in range(20)], color='blue')) c.option( title = 'gdchart Demo', xtitle = 'X axis', ytitle = 'random values' ) c.draw(Chart.GDC_LINE, (600,300), 'test.gif') if sys.platform == "win32": os.system("explorer test.gif") else: os.system("display test.gif &") From jhermann at users.sourceforge.net Fri Feb 1 14:54:10 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 14:54:10 2002 Subject: [Moin-devel] CVS: MoinMoin wikiaction.py,1.50,1.51 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv11576 Modified Files: wikiaction.py Log Message: EventStats macro and chart action Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** wikiaction.py 2002/01/23 21:48:31 1.50 --- wikiaction.py 2002/02/01 22:53:40 1.51 *************** *** 515,518 **** --- 515,525 ---- + def do_chart(pagename, form): + macro_name = form['macro'].value + func = util.importName("MoinMoin.macro." + macro_name, "chart") + apply(func, (pagename, form)) + sys.exit(0) + + def do_export(pagename, form): import shutil, cStringIO From jhermann at users.sourceforge.net Fri Feb 1 14:54:11 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 14:54:11 2002 Subject: [Moin-devel] CVS: MoinMoin/macro EventStats.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv11576/macro Added Files: EventStats.py Log Message: EventStats macro and chart action --- NEW FILE: EventStats.py --- """ MoinMoin - EventStats Macro Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This macro creates charts from the data in "event.log". $Id: EventStats.py,v 1.1 2002/02/01 22:53:41 jhermann Exp $ """ # Imports import string from MoinMoin import config, webapi from MoinMoin.Page import Page from MoinMoin.i18n import _ width = 480 height = 300 def execute(macro, args, **kw): page = Page(macro.formatter.page.page_name) result = [] result.append('' % ( page.url("action=chart¯o=EventStats"), width, height)) return string.join(result, '') def chart(pagename, form): import sys, shutil, cStringIO from MoinMoin.stats import chart image = cStringIO.StringIO() c = chart.Chart() c.addData(chart.ChartData(range(20), color='green')) c.option( title = 'Page hits', xtitle = 'date', ytitle = '# of hits' ) c.draw(c.GDC_LINE, (width, height), image) # send HTTP headers headers = [ "Content-Type: image/gif", "Content-Length: %d" % len(image.getvalue()), ] webapi.http_headers(headers) # copy the image image.reset() shutil.copyfileobj(image, sys.stdout, 8192) sys.exit(0) From jhermann at users.sourceforge.net Fri Feb 1 15:35:30 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 15:35:30 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.63,1.64 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv22314 Modified Files: CHANGES Log Message: EventStats now shows real data Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -r1.63 -r1.64 *** CHANGES 2002/02/01 21:22:24 1.63 --- CHANGES 2002/02/01 23:34:50 1.64 *************** *** 107,110 **** --- 107,111 ---- * many other new config options, see HelpOnConfiguration for a complete list + * [[EventStats]] shows page hits and edits for all pages Unfinished features: From jhermann at users.sourceforge.net Fri Feb 1 15:35:31 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 15:35:31 2002 Subject: [Moin-devel] CVS: MoinMoin/macro EventStats.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv22314/MoinMoin/macro Modified Files: EventStats.py Log Message: EventStats now shows real data Index: EventStats.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/EventStats.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** EventStats.py 2002/02/01 22:53:41 1.1 --- EventStats.py 2002/02/01 23:34:51 1.2 *************** *** 12,24 **** # Imports import string ! from MoinMoin import config, webapi from MoinMoin.Page import Page from MoinMoin.i18n import _ ! width = 480 ! height = 300 def execute(macro, args, **kw): page = Page(macro.formatter.page.page_name) result = [] --- 12,29 ---- # Imports import string ! from MoinMoin import config, webapi, eventlog, user from MoinMoin.Page import Page from MoinMoin.i18n import _ ! _debug = 0 + width = 720 + height = 540 + def execute(macro, args, **kw): + if _debug: + return chart(macro.formatter.page.page_name, {}) + page = Page(macro.formatter.page.page_name) result = [] *************** *** 30,46 **** def chart(pagename, form): ! import sys, shutil, cStringIO from MoinMoin.stats import chart ! image = cStringIO.StringIO() c = chart.Chart() ! c.addData(chart.ChartData(range(20), color='green')) c.option( ! title = 'Page hits', xtitle = 'date', ytitle = '# of hits' ) ! c.draw(c.GDC_LINE, (width, height), image) # send HTTP headers --- 35,79 ---- def chart(pagename, form): ! import cgi, sys, shutil, cStringIO from MoinMoin.stats import chart ! # prepare data ! days = [] ! views = [] ! edits = [] ! ratchet_day = None ! data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) ! for event in data: ! time_tuple = user.current.getTime(event[0]) ! day = tuple(time_tuple[0:3]) ! if day != ratchet_day: ! # new day ! # !!! this is not really correct, if we have days ! # without data, we have to add more 0 values ! days.append(user.current.getFormattedDate(event[0])) ! views.append(0) ! edits.append(0) ! ratchet_day = day ! if event[1] == 'VIEWPAGE': ! views[-1] = views[-1] + 1 ! elif event[1] == 'SAVEPAGE': ! edits[-1] = edits[-1] + 1 ! ! # give us a chance to develop this ! if _debug: ! return "labels = %s
views = %s
edits = %s
" % \ ! tuple(map(cgi.escape, map(repr, [days, views, edits]))) + # create image + image = cStringIO.StringIO() c = chart.Chart() ! c.addData(chart.ChartData(views, color='green')) ! c.addData(chart.ChartData(edits, color='red')) c.option( ! title = 'Page hits and edits', xtitle = 'date', ytitle = '# of hits' ) ! c.draw(c.GDC_LINE, (width, height), image, days) # send HTTP headers From jhermann at users.sourceforge.net Fri Feb 1 15:35:32 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 15:35:32 2002 Subject: [Moin-devel] CVS: MoinMoin eventlog.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv22314/MoinMoin Modified Files: eventlog.py Log Message: EventStats now shows real data Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** eventlog.py 2001/12/21 17:35:32 1.1 --- eventlog.py 2002/02/01 23:34:50 1.2 *************** *** 44,47 **** --- 44,70 ---- self._write("%s\t%s\t%s" % (time.time(), eventtype, kvpairs)) + def read(self, filter=None): + """ Return a list of (time, eventtype, valuedict) triples. + + `filter` -- list of eventtypes to filter for + """ + file = open(os.path.join(config.data_dir, 'event.log'), 'r') + events = file.readlines() + file.close() + + data = [] + for event in events: + time, eventtype, kvpairs = string.split(event, '\t') + if filter and eventtype not in filter: continue + values = {} + pairs = string.split(kvpairs, '&') + for pair in pairs: + key, val = string.split(pair, '=') + values[urllib.unquote(key)] = urllib.unquote(val) + data.append((float(time), eventtype, values)) + + return data + + logger = EventLogger() From jhermann at users.sourceforge.net Fri Feb 1 17:04:28 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 17:04:28 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.52,1.53 wikiaction.py,1.51,1.52 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv11642 Modified Files: config.py wikiaction.py Log Message: Refactored hitcount chart code; added config.chart_options Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** config.py 2002/02/01 21:22:24 1.52 --- config.py 2002/02/02 01:03:47 1.53 *************** *** 57,60 **** --- 57,63 ---- 'changed_time_fmt': ' [%H:%M]', 'charset': 'iso-8859-1', + # if you have gdchart, add something like + # chart_options = {'width': 720, 'height': 540} + 'chart_options': None, 'check_i18n': 0, 'css_url': '%s/css/moinmoin.css' % (url_prefix,), Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** wikiaction.py 2002/02/01 22:53:40 1.51 --- wikiaction.py 2002/02/02 01:03:48 1.52 *************** *** 272,275 **** --- 272,277 ---- print "

" + # show + # generate history list currentpage = os.path.join(config.text_dir, wikiutil.quoteFilename(pagename)) *************** *** 516,521 **** def do_chart(pagename, form): ! macro_name = form['macro'].value ! func = util.importName("MoinMoin.macro." + macro_name, "chart") apply(func, (pagename, form)) sys.exit(0) --- 518,523 ---- def do_chart(pagename, form): ! chart_type = form['type'].value ! func = util.importName("MoinMoin.stats." + chart_type, "draw") apply(func, (pagename, form)) sys.exit(0) From jhermann at users.sourceforge.net Fri Feb 1 17:04:28 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 17:04:28 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.56,1.57 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv11642/i18n Modified Files: de.py Log Message: Refactored hitcount chart code; added config.chart_options Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -r1.56 -r1.57 *** de.py 2002/01/23 21:48:32 1.56 --- de.py 2002/02/02 01:03:49 1.57 *************** *** 171,174 **** --- 171,177 ---- ''', + '

Charts are not available!
': + '
Die Diagrammoption ist nicht verf?gbar!
', + '

Attached Files

': '

Gespeicherte Dateianh?nge

', From jhermann at users.sourceforge.net Fri Feb 1 17:04:29 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 17:04:29 2002 Subject: [Moin-devel] CVS: MoinMoin/macro EventStats.py,1.2,1.3 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv11642/macro Modified Files: EventStats.py Log Message: Refactored hitcount chart code; added config.chart_options Index: EventStats.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/EventStats.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** EventStats.py 2002/02/01 23:34:51 1.2 --- EventStats.py 2002/02/02 01:03:49 1.3 *************** *** 11,90 **** # Imports ! import string ! from MoinMoin import config, webapi, eventlog, user ! from MoinMoin.Page import Page ! from MoinMoin.i18n import _ - _debug = 0 - - width = 720 - height = 540 - - def execute(macro, args, **kw): ! if _debug: ! return chart(macro.formatter.page.page_name, {}) ! ! page = Page(macro.formatter.page.page_name) ! result = [] ! result.append('' % ( ! page.url("action=chart¯o=EventStats"), width, height)) ! ! return string.join(result, '') ! ! ! def chart(pagename, form): ! import cgi, sys, shutil, cStringIO ! from MoinMoin.stats import chart ! ! # prepare data ! days = [] ! views = [] ! edits = [] ! ratchet_day = None ! data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) ! for event in data: ! time_tuple = user.current.getTime(event[0]) ! day = tuple(time_tuple[0:3]) ! if day != ratchet_day: ! # new day ! # !!! this is not really correct, if we have days ! # without data, we have to add more 0 values ! days.append(user.current.getFormattedDate(event[0])) ! views.append(0) ! edits.append(0) ! ratchet_day = day ! if event[1] == 'VIEWPAGE': ! views[-1] = views[-1] + 1 ! elif event[1] == 'SAVEPAGE': ! edits[-1] = edits[-1] + 1 ! ! # give us a chance to develop this ! if _debug: ! return "labels = %s
views = %s
edits = %s
" % \ ! tuple(map(cgi.escape, map(repr, [days, views, edits]))) ! ! # create image ! image = cStringIO.StringIO() ! c = chart.Chart() ! c.addData(chart.ChartData(views, color='green')) ! c.addData(chart.ChartData(edits, color='red')) ! c.option( ! title = 'Page hits and edits', ! xtitle = 'date', ! ytitle = '# of hits' ! ) ! c.draw(c.GDC_LINE, (width, height), image, days) ! ! # send HTTP headers ! headers = [ ! "Content-Type: image/gif", ! "Content-Length: %d" % len(image.getvalue()), ! ] ! webapi.http_headers(headers) ! ! # copy the image ! image.reset() ! shutil.copyfileobj(image, sys.stdout, 8192) ! sys.exit(0) --- 11,17 ---- # Imports ! from MoinMoin.stats import hitcounts def execute(macro, args, **kw): ! return hitcounts.linkto(macro.formatter.page.page_name) From jhermann at users.sourceforge.net Fri Feb 1 17:04:30 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 17:04:30 2002 Subject: [Moin-devel] CVS: MoinMoin/stats hitcounts.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv11642/stats Added Files: hitcounts.py Log Message: Refactored hitcount chart code; added config.chart_options --- NEW FILE: hitcounts.py --- """ MoinMoin - Hitcount Statistics Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This macro creates a hitcount chart from the data in "event.log". $Id: hitcounts.py,v 1.1 2002/02/02 01:03:49 jhermann Exp $ """ _debug = 0 import string from MoinMoin import config from MoinMoin.Page import Page from MoinMoin.i18n import _ def linkto(pagename, params=''): if not config.chart_options: return _('
Charts are not available!
') if _debug: return chart(pagename, {}) page = Page(pagename) result = [] data = { 'url': page.url("action=chart&type=hitcounts" + params), } data.update(config.chart_options) result.append('' % data) return string.join(result, '') def draw(pagename, form): import cgi, sys, shutil, cStringIO from MoinMoin import config, webapi, eventlog, user from MoinMoin.stats.chart import Chart, ChartData # prepare data days = [] views = [] edits = [] ratchet_day = None data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) for event in data: time_tuple = user.current.getTime(event[0]) day = tuple(time_tuple[0:3]) if day != ratchet_day: # new day # !!! this is not really correct, if we have days # without data, we have to add more 0 values days.append(user.current.getFormattedDate(event[0])) views.append(0) edits.append(0) ratchet_day = day if event[1] == 'VIEWPAGE': views[-1] = views[-1] + 1 elif event[1] == 'SAVEPAGE': edits[-1] = edits[-1] + 1 # give us a chance to develop this if _debug: return "labels = %s
views = %s
edits = %s
" % \ tuple(map(cgi.escape, map(repr, [days, views, edits]))) # create image image = cStringIO.StringIO() c = Chart() c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) c.option( title = 'Page hits and edits', xtitle = 'date', ytitle = '# of hits' ) c.draw(c.GDC_LINE, (config.chart_options['width'], config.chart_options['height']), image, days) # send HTTP headers headers = [ "Content-Type: image/gif", "Content-Length: %d" % len(image.getvalue()), ] webapi.http_headers(headers) # copy the image image.reset() shutil.copyfileobj(image, sys.stdout, 8192) sys.exit(0) From jhermann at users.sourceforge.net Fri Feb 1 18:36:13 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 18:36:13 2002 Subject: [Moin-devel] CVS: MoinMoin eventlog.py,1.2,1.3 wikiaction.py,1.52,1.53 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv27445 Modified Files: eventlog.py wikiaction.py Log Message: show hitcounts per page Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** eventlog.py 2002/02/01 23:34:50 1.2 --- eventlog.py 2002/02/02 02:35:19 1.3 *************** *** 55,59 **** data = [] for event in events: ! time, eventtype, kvpairs = string.split(event, '\t') if filter and eventtype not in filter: continue values = {} --- 55,59 ---- data = [] for event in events: ! time, eventtype, kvpairs = string.split(string.rstrip(event), '\t') if filter and eventtype not in filter: continue values = {} Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** wikiaction.py 2002/02/02 01:03:48 1.52 --- wikiaction.py 2002/02/02 02:35:19 1.53 *************** *** 254,257 **** --- 254,258 ---- def do_info(pagename, form): from stat import * + from MoinMoin.stats import hitcounts webapi.http_headers() *************** *** 272,276 **** print "

" ! # show # generate history list --- 273,278 ---- print "

" ! # show hitcounts ! print hitcounts.linkto(pagename, 'page=' + urllib.quote_plus(pagename)) # generate history list From jhermann at users.sourceforge.net Fri Feb 1 18:36:13 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 18:36:13 2002 Subject: [Moin-devel] CVS: MoinMoin/stats hitcounts.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv27445/stats Modified Files: hitcounts.py Log Message: show hitcounts per page Index: hitcounts.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/hitcounts.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** hitcounts.py 2002/02/02 01:03:49 1.1 --- hitcounts.py 2002/02/02 02:35:19 1.2 *************** *** 23,35 **** if _debug: ! return chart(pagename, {}) page = Page(pagename) result = [] data = { 'url': page.url("action=chart&type=hitcounts" + params), } data.update(config.chart_options) ! result.append('' % data) --- 23,36 ---- if _debug: ! return draw(pagename, {}) page = Page(pagename) result = [] + if params: params = '&' + params data = { 'url': page.url("action=chart&type=hitcounts" + params), } data.update(config.chart_options) ! result.append('' % data) *************** *** 40,45 **** import cgi, sys, shutil, cStringIO from MoinMoin import config, webapi, eventlog, user ! from MoinMoin.stats.chart import Chart, ChartData # prepare data days = [] --- 41,51 ---- import cgi, sys, shutil, cStringIO from MoinMoin import config, webapi, eventlog, user ! from MoinMoin.stats.chart import Chart, ChartData, Color + # check params + filterpage = None + if form and form.has_key('page'): + filterpage = form['page'].value + # prepare data days = [] *************** *** 49,52 **** --- 55,61 ---- data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) for event in data: + #print ">>>", cgi.escape(repr(event)), "
" + if filterpage and event[2]['pagename'] != filterpage: + continue time_tuple = user.current.getTime(event[0]) day = tuple(time_tuple[0:3]) *************** *** 74,81 **** c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) c.option( ! title = 'Page hits and edits', xtitle = 'date', ! ytitle = '# of hits' ) c.draw(c.GDC_LINE, --- 83,103 ---- c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) + title = 'Page hits and edits' + if config.sitename: title = "%s of %s" % (title, config.sitename) + if filterpage: title = "%s for %s" % (title, filterpage) c.option( ! annotation = (len(days)-1, Color('black'), "green=view\nred=edit"), ! title = title, xtitle = 'date', ! ytitle = '# of hits', ! title_font = c.GDC_GIANT, ! #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10, ! #ytitle_color = Color('green'), ! #yaxis2 = 1, ! #ytitle2 = '# of edits', ! #ytitle2_color = Color('red'), ! #ylabel2_color = Color('black'), ! requested_yinterval = 1.0, ! stack_type = c.GDC_STACK_BESIDE ) c.draw(c.GDC_LINE, From jhermann at users.sourceforge.net Fri Feb 1 18:38:10 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 18:38:10 2002 Subject: [Moin-devel] CVS: MoinMoin/stats hitcounts.py,1.2,1.3 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv27798/stats Modified Files: hitcounts.py Log Message: Better title Index: hitcounts.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/hitcounts.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** hitcounts.py 2002/02/02 02:35:19 1.2 --- hitcounts.py 2002/02/02 02:37:50 1.3 *************** *** 83,88 **** c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) ! title = 'Page hits and edits' ! if config.sitename: title = "%s of %s" % (title, config.sitename) if filterpage: title = "%s for %s" % (title, filterpage) c.option( --- 83,89 ---- c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) ! title = '' ! if config.sitename: title = "%s: " % config.sitename ! title = title + 'Page hits and edits' if filterpage: title = "%s for %s" % (title, filterpage) c.option( From jhermann at users.sourceforge.net Fri Feb 1 19:15:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 19:15:15 2002 Subject: [Moin-devel] CVS: MoinMoin/macro StatsChart.py,NONE,1.1 EventStats.py,1.3,NONE Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv2191/macro Added Files: StatsChart.py Removed Files: EventStats.py Log Message: EventStats ==> StatsChart --- NEW FILE: StatsChart.py --- """ MoinMoin - StatsChart Macro Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This macro creates charts from the data in "event.log". $Id: StatsChart.py,v 1.1 2002/02/02 03:14:26 jhermann Exp $ """ # Imports from MoinMoin import util from MoinMoin.i18n import _ def execute(macro, args, **kw): if not args: return _('

You need to provide a chart type!
') func = util.importName("MoinMoin.stats." + args, "linkto") if not func: return _('
Bad chart type "%s"!
') % args return apply(func, (macro.formatter.page.page_name,)) --- EventStats.py DELETED --- From jhermann at users.sourceforge.net Fri Feb 1 19:15:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 19:15:15 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.57,1.58 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv2191/i18n Modified Files: de.py Log Message: EventStats ==> StatsChart Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -r1.57 -r1.58 *** de.py 2002/02/02 01:03:49 1.57 --- de.py 2002/02/02 03:14:26 1.58 *************** *** 171,176 **** --- 171,182 ---- ''', + '
Bad chart type "%s"!
': + '
Unbekannter Diagrammtyp "%s"!
', + '
Charts are not available!
': '
Die Diagrammoption ist nicht verf?gbar!
', + + '
You need to provide a chart type!
': + '
Es mu? ein Diagrammtyp angegeben werden!
', '

Attached Files

': From jhermann at users.sourceforge.net Fri Feb 1 20:30:21 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 20:30:21 2002 Subject: [Moin-devel] CVS: MoinMoin/stats pagesize.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv13668/MoinMoin/stats Added Files: pagesize.py Log Message: "pagesize" chart type --- NEW FILE: pagesize.py --- """ MoinMoin - Pagesize Statistics Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This macro creates a bar graph of page size classes. $Id: pagesize.py,v 1.1 2002/02/02 04:29:55 jhermann Exp $ """ _debug = 0 import string from MoinMoin import config, wikiutil from MoinMoin.Page import Page from MoinMoin.i18n import _ def linkto(pagename, params=''): if not config.chart_options: return _('
Charts are not available!
') if _debug: return draw(pagename, {}) page = Page(pagename) result = [] data = { 'url': page.url("action=chart&type=pagesize"), } data.update(config.chart_options) result.append('' % data) return string.join(result, '') def draw(pagename, form): import cgi, sys, shutil, cStringIO from MoinMoin import config, webapi from MoinMoin.stats.chart import Chart, ChartData, Color style = Chart.GDC_3DBAR # get data pages = wikiutil.getPageDict(config.text_dir) sizes = [(p.size(), name) for name, p in pages.items()] sizes.sort() upper_bound = int((sizes[-1][0] + 1023) / 1024) * 1024.0 classes = 20 data = [None] * classes for size, name in sizes: idx = int((size / upper_bound) * classes) data[idx] = (data[idx] or 0) + 1 labels = [] for idx in range(classes): label = "%.1f" % ( upper_bound / classes * (idx+1) / 1024, ) labels.append(label) # give us a chance to develop this if _debug: return "

data = %s

" % \ string.join(map(cgi.escape, map(repr, [labels, data])), '
') # create image image = cStringIO.StringIO() c = Chart() c.addData(ChartData(data, 'green')) title = '' if config.sitename: title = "%s: " % config.sitename title = title + 'Page Size Distribution' c.option( annotation = (len(labels)-1, Color('black'), "%d %s" % sizes[-1]), title = title, xtitle = 'page size upper bound [K]', ytitle = '# of pages of this size', title_font = c.GDC_GIANT, #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10, #ytitle_color = Color('green'), #yaxis2 = 1, #ytitle2 = '# of edits', #ytitle2_color = Color('red'), #ylabel2_color = Color('black'), requested_yinterval = 1.0, stack_type = c.GDC_STACK_BESIDE ) c.draw(style, (config.chart_options['width'], config.chart_options['height']), image, labels) # send HTTP headers headers = [ "Content-Type: image/gif", "Content-Length: %d" % len(image.getvalue()), ] webapi.http_headers(headers) # copy the image image.reset() shutil.copyfileobj(image, sys.stdout, 8192) sys.exit(0) From jhermann at users.sourceforge.net Fri Feb 1 20:30:22 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 20:30:22 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.64,1.65 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv13668 Modified Files: CHANGES Log Message: "pagesize" chart type Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -r1.64 -r1.65 *** CHANGES 2002/02/01 23:34:50 1.64 --- CHANGES 2002/02/02 04:29:55 1.65 *************** *** 107,111 **** * many other new config options, see HelpOnConfiguration for a complete list ! * [[EventStats]] shows page hits and edits for all pages Unfinished features: --- 107,111 ---- * many other new config options, see HelpOnConfiguration for a complete list ! * [[StatsChart]] shows statistical charts Unfinished features: From jhermann at users.sourceforge.net Fri Feb 1 21:34:24 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 21:34:24 2002 Subject: [Moin-devel] CVS: MoinMoin/stats pagesize.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv23842 Modified Files: pagesize.py Log Message: Adaptive scale Index: pagesize.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/pagesize.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** pagesize.py 2002/02/02 04:29:55 1.1 --- pagesize.py 2002/02/02 05:32:15 1.2 *************** *** 37,42 **** def draw(pagename, form): ! import cgi, sys, shutil, cStringIO from MoinMoin import config, webapi from MoinMoin.stats.chart import Chart, ChartData, Color --- 37,49 ---- + def _slice(data, lo, hi): + data = data[:] + if lo: data[:lo] = [None] * lo + if hi < len(data): data[hi:] = [None] * (len(data)-hi) + return data + + def draw(pagename, form): ! import bisect, cgi, sys, shutil, cStringIO from MoinMoin import config, webapi from MoinMoin.stats.chart import Chart, ChartData, Color *************** *** 48,65 **** sizes = [(p.size(), name) for name, p in pages.items()] sizes.sort() - upper_bound = int((sizes[-1][0] + 1023) / 1024) * 1024.0 ! classes = 20 ! data = [None] * classes for size, name in sizes: ! idx = int((size / upper_bound) * classes) data[idx] = (data[idx] or 0) + 1 ! labels = [] ! for idx in range(classes): ! label = "%.1f" % ( ! upper_bound / classes * (idx+1) / 1024, ! ) ! labels.append(label) # give us a chance to develop this --- 55,75 ---- sizes = [(p.size(), name) for name, p in pages.items()] sizes.sort() ! upper_bound = sizes[-1][0] ! bounds = [s*128 for s in range(1, 9)] ! if upper_bound >= 1024: ! bounds.extend([s*1024 for s in range(2, 9)]) ! if upper_bound >= 8192: ! bounds.extend([s*8192 for s in range(2, 9)]) ! if upper_bound >= 65536: ! bounds.extend([s*65536 for s in range(2, 9)]) ! ! data = [None] * len(bounds) for size, name in sizes: ! idx = bisect.bisect(bounds, size) ! ##idx = int((size / upper_bound) * classes) data[idx] = (data[idx] or 0) + 1 ! labels = ["%d" %b for b in bounds] # give us a chance to develop this *************** *** 71,92 **** image = cStringIO.StringIO() c = Chart() ! c.addData(ChartData(data, 'green')) title = '' if config.sitename: title = "%s: " % config.sitename title = title + 'Page Size Distribution' c.option( ! annotation = (len(labels)-1, Color('black'), "%d %s" % sizes[-1]), title = title, ! xtitle = 'page size upper bound [K]', ytitle = '# of pages of this size', title_font = c.GDC_GIANT, ! #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10, ! #ytitle_color = Color('green'), ! #yaxis2 = 1, ! #ytitle2 = '# of edits', ! #ytitle2_color = Color('red'), ! #ylabel2_color = Color('black'), requested_yinterval = 1.0, ! stack_type = c.GDC_STACK_BESIDE ) c.draw(style, --- 81,104 ---- image = cStringIO.StringIO() c = Chart() ! ##c.addData(ChartData(data, 'magenta')) ! c.addData(ChartData(_slice(data, 0, 7), 'blue')) ! if upper_bound >= 1024: ! c.addData(ChartData(_slice(data, 7, 14), 'green')) ! if upper_bound >= 8192: ! c.addData(ChartData(_slice(data, 14, 21), 'red')) ! if upper_bound >= 65536: ! c.addData(ChartData(_slice(data, 21, 28), 'magenta')) title = '' if config.sitename: title = "%s: " % config.sitename title = title + 'Page Size Distribution' c.option( ! annotation = (bisect.bisect(bounds, upper_bound), Color('black'), "%d %s" % sizes[-1]), title = title, ! xtitle = 'page size upper bound [bytes]', ytitle = '# of pages of this size', title_font = c.GDC_GIANT, ! threed_depth = 2.0, requested_yinterval = 1.0, ! stack_type = c.GDC_STACK_LAYER ) c.draw(style, From jhermann at users.sourceforge.net Fri Feb 1 21:42:25 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 21:42:25 2002 Subject: [Moin-devel] CVS: MoinMoin wikiaction.py,1.53,1.54 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv25130 Modified Files: wikiaction.py Log Message: Added missing escaping Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -r1.53 -r1.54 *** wikiaction.py 2002/02/02 02:35:19 1.53 --- wikiaction.py 2002/02/02 05:39:49 1.54 *************** *** 327,331 **** print '%s' % (log.getEditor() or _("N/A"),) ! print '%s' % (log.comment or ' ') print ' %s\n' % (actions,) --- 327,331 ---- print '%s' % (log.getEditor() or _("N/A"),) ! print '%s' % (cgi.escape(log.comment) or ' ') print ' %s\n' % (actions,) From jhermann at users.sourceforge.net Fri Feb 1 21:59:16 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 1 21:59:16 2002 Subject: [Moin-devel] CVS: MoinMoin/stats hitcounts.py,1.3,1.4 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv28827 Modified Files: hitcounts.py Log Message: Adding missing days Index: hitcounts.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/hitcounts.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** hitcounts.py 2002/02/02 02:37:50 1.3 --- hitcounts.py 2002/02/02 05:58:54 1.4 *************** *** 53,56 **** --- 53,57 ---- edits = [] ratchet_day = None + ratchet_time = None data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) for event in data: *************** *** 64,71 **** --- 65,80 ---- # !!! this is not really correct, if we have days # without data, we have to add more 0 values + while ratchet_time: + ratchet_time += 86400 + rday = user.current.getTime(ratchet_time) + if rday > day: break + days.append(user.current.getFormattedDate(ratchet_time)) + views.append(0) + edits.append(0) days.append(user.current.getFormattedDate(event[0])) views.append(0) edits.append(0) ratchet_day = day + ratchet_time = event[0] if event[1] == 'VIEWPAGE': views[-1] = views[-1] + 1 *************** *** 99,102 **** --- 108,113 ---- #ytitle2_color = Color('red'), #ylabel2_color = Color('black'), + #interpolations = 0, + threed_depth = 1.0, requested_yinterval = 1.0, stack_type = c.GDC_STACK_BESIDE From jhermann at users.sourceforge.net Sat Feb 2 04:19:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 04:19:03 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.58,1.59 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv25055/i18n Modified Files: de.py Log Message: I18N of charts Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -r1.58 -r1.59 *** de.py 2002/02/02 03:14:26 1.58 --- de.py 2002/02/02 12:18:47 1.59 *************** *** 68,74 **** --- 68,83 ---- ' times', + '# of hits': + 'Anzahl der Zugriffe', + + '# of pages of this size': + 'Anzahl der Seiten in dieser Gr??enklasse', + '%(changecount)s changes': '%(changecount)s ?nd.', + '%(chart_title)s for %(filterpage)s': + '%(chart_title)s f?r %(filterpage)s', + '%(errortype)s processing error': 'Verarbeitungsfehler vom Typ "%(errortype)s"', *************** *** 423,426 **** --- 432,441 ---- 'Seite "%s" wurde erfolgreich gel?scht!', + 'Page Size Distribution': + 'Verteilung der Seitengr??en', + + 'Page hits and edits': + 'Seitenzugriffe und ?nderungen', + 'Password': 'Passwort', *************** *** 583,591 **** --- 598,617 ---- '[Schablone %s nicht gefunden]', + 'date': + 'Datum', + 'diff': 'diff', + '''green=view + red=edit''': + '''rot=?nd. + gr?n=Anz.''', + 'of this page': 'dieser Seite', + + 'page size upper bound [bytes]': + 'Obere Grenze der Seitengr??e [bytes]', 'set bookmark': From jhermann at users.sourceforge.net Sat Feb 2 04:19:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 04:19:04 2002 Subject: [Moin-devel] CVS: MoinMoin/stats hitcounts.py,1.4,1.5 pagesize.py,1.2,1.3 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv25055/stats Modified Files: hitcounts.py pagesize.py Log Message: I18N of charts Index: hitcounts.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/hitcounts.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** hitcounts.py 2002/02/02 05:58:54 1.4 --- hitcounts.py 2002/02/02 12:18:48 1.5 *************** *** 92,104 **** c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) ! title = '' ! if config.sitename: title = "%s: " % config.sitename ! title = title + 'Page hits and edits' ! if filterpage: title = "%s for %s" % (title, filterpage) c.option( ! annotation = (len(days)-1, Color('black'), "green=view\nred=edit"), ! title = title, ! xtitle = 'date', ! ytitle = '# of hits', title_font = c.GDC_GIANT, #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10, --- 92,104 ---- c.addData(ChartData(views, color='green')) c.addData(ChartData(edits, color='red')) ! chart_title = '' ! if config.sitename: chart_title = "%s: " % config.sitename ! chart_title = chart_title + _('Page hits and edits') ! if filterpage: chart_title = _("%(chart_title)s for %(filterpage)s") % locals() c.option( ! annotation = (len(days)-1, Color('black'), _("green=view\nred=edit")), ! title = chart_title, ! xtitle = _('date'), ! ytitle = _('# of hits'), title_font = c.GDC_GIANT, #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10, Index: pagesize.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/pagesize.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** pagesize.py 2002/02/02 05:32:15 1.2 --- pagesize.py 2002/02/02 12:18:48 1.3 *************** *** 91,100 **** title = '' if config.sitename: title = "%s: " % config.sitename ! title = title + 'Page Size Distribution' c.option( annotation = (bisect.bisect(bounds, upper_bound), Color('black'), "%d %s" % sizes[-1]), title = title, ! xtitle = 'page size upper bound [bytes]', ! ytitle = '# of pages of this size', title_font = c.GDC_GIANT, threed_depth = 2.0, --- 91,100 ---- title = '' if config.sitename: title = "%s: " % config.sitename ! title = title + _('Page Size Distribution') c.option( annotation = (bisect.bisect(bounds, upper_bound), Color('black'), "%d %s" % sizes[-1]), title = title, ! xtitle = _('page size upper bound [bytes]'), ! ytitle = _('# of pages of this size'), title_font = c.GDC_GIANT, threed_depth = 2.0, From jhermann at users.sourceforge.net Sat Feb 2 06:57:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 06:57:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text PageSize,NONE,1.1 RandomPage,1.1,1.2 SiteNavigation,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv21117 Modified Files: RandomPage SiteNavigation Added Files: PageSize Log Message: Added "PageSize" --- NEW FILE: PageSize --- [[StatsChart(pagesize)]] List of all pages, sorted by their size: [[PageSize]] Index: RandomPage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/RandomPage,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** RandomPage 2001/11/30 20:30:20 1.1 --- RandomPage 2002/02/02 14:56:03 1.2 *************** *** 1 **** ! A list of 25 random pages:[[RandomPage(25)]] --- 1 ---- ! A list of 25 random pages (out of [[PageCount]] total):[[RandomPage(25)]] Index: SiteNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/SiteNavigation,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** SiteNavigation 2002/02/01 21:14:03 1.1 --- SiteNavigation 2002/02/02 14:56:03 1.2 *************** *** 7,10 **** --- 7,11 ---- * OrphanedPages * RandomPage + * PageSize At the bottom of each page, there are actions that allow to navigate to other pages related to the current page: From jhermann at users.sourceforge.net Sat Feb 2 07:27:26 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 07:27:26 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.16,1.17 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv26919/action Modified Files: AttachFile.py Log Message: Added warning about using "attachment:"; people regularly get this wrong Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** AttachFile.py 2002/01/13 11:51:06 1.16 --- AttachFile.py 2002/02/02 15:26:53 1.17 *************** *** 216,219 **** --- 216,225 ---- str = "" if files: + str = str + _("

" + "To refer to attachments on a page, use attachment:filename, \n" + "as shown below in the list of files. \n" + "Do NOT use the URL of the [get] link, \n" + "since this is subject to change and can break easily.

" + ) str = str + "
    " for file in files: From jhermann at users.sourceforge.net Sat Feb 2 07:27:26 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 07:27:26 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.59,1.60 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv26919/i18n Modified Files: de.py Log Message: Added warning about using "attachment:"; people regularly get this wrong Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -r1.59 -r1.60 *** de.py 2002/02/02 12:18:47 1.59 --- de.py 2002/02/02 15:26:53 1.60 *************** *** 234,237 **** --- 234,247 ---- ''', + '''

    To refer to attachments on a page, use attachment:filename, + as shown below in the list of files. + Do NOT use the URL of the [get] link, + since this is subject to change and can break easily.

    ''': + '''

    Um Dateianh?nge in eine Seite einzuf?gen, sollte unbedingt eine Angabe + wie attachment:filename benutzt werden, + wie sie auch in der folgenden Liste der Dateien auftaucht. + Es sollte NIEMALS die URL des Verweises [get] kopiert werden, + da sich diese jederzeit ?ndern kann und damit der Verweis auf die Datei bricht.

    ''', + '[goto %s]': '[gehe zu %s]', From jhermann at users.sourceforge.net Sat Feb 2 10:02:12 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 10:02:12 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.17,1.18 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv29152 Modified Files: AttachFile.py Log Message: Minor formatting fix Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** AttachFile.py 2002/02/02 15:26:53 1.17 --- AttachFile.py 2002/02/02 18:01:21 1.18 *************** *** 234,238 **** if user.current.may.delete: del_link = 'del |' % locals() get_url = getAttachUrl(pagename, file) --- 234,238 ---- if user.current.may.delete: del_link = 'del | ' % locals() get_url = getAttachUrl(pagename, file) From jhermann at users.sourceforge.net Sat Feb 2 10:13:26 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 2 10:13:26 2002 Subject: [Moin-devel] CVS: MoinMoin wikiutil.py,1.73,1.74 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv31532 Modified Files: wikiutil.py Log Message: Konqueror barfed on missing Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -r1.73 -r1.74 *** wikiutil.py 2002/02/01 21:16:00 1.73 --- wikiutil.py 2002/02/02 18:11:52 1.74 *************** *** 525,528 **** --- 525,529 ---- + ! --- 126,130 ---- ! *************** *** 137,140 **** --- 137,141 ---- 'upload_label_mime': _('MIME Type (optional)'), 'upload_label_rename': _('Rename to (optional)'), + 'rename': form.getvalue('rename', ''), 'upload_button': _(' Upload '), } *************** *** 193,197 **** webapi.http_headers() wikiutil.send_title('Attachment for "%s"' % (pagename,), pagename=pagename, msg=msg) ! send_uploadform(pagename) wikiutil.send_footer(pagename, showpage=1) --- 194,198 ---- webapi.http_headers() wikiutil.send_title('Attachment for "%s"' % (pagename,), pagename=pagename, msg=msg) ! send_uploadform(pagename, form) wikiutil.send_footer(pagename, showpage=1) *************** *** 329,333 **** # send body send_viewfile(pagename, form) ! send_uploadform(pagename) # send footer --- 330,334 ---- # send body send_viewfile(pagename, form) ! send_uploadform(pagename, form) # send footer From jhermann at users.sourceforge.net Tue Feb 5 14:55:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 14:55:03 2002 Subject: [Moin-devel] CVS: dist/wiki/data intermap.txt,1.5,1.6 Message-ID: Update of /cvsroot/moin/dist/wiki/data In directory usw-pr-cvs1:/tmp/cvs-serv14030 Modified Files: intermap.txt Log Message: Added SVGWiki Index: intermap.txt =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/intermap.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** intermap.txt 2002/01/29 20:31:44 1.5 --- intermap.txt 2002/02/05 22:54:34 1.6 *************** *** 9,12 **** --- 9,13 ---- PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp SeaPig http://www.zipcon.net/~adamf/cgi-bin/MoinMoin/moin.py/ + SVGWiki http://www.protocol7.com/svg-wiki/default.asp? Wiki http://c2.com/cgi/wiki? From jhermann at users.sourceforge.net Tue Feb 5 15:01:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:01:15 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.65,1.66 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv15576 Modified Files: CHANGES Log Message: "inline:" schema; link to upload form for unknown attachments Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -r1.65 -r1.66 *** CHANGES 2002/02/02 04:29:55 1.65 --- CHANGES 2002/02/05 23:00:57 1.66 *************** *** 19,22 **** --- 19,23 ---- Note that the RSS features require a recent PyXML (CVS or 0.7) due to bugs in the namespace handling of xml.sax.saxutils in earlier versions. + This is (hopefully) automatically detected on every installation. New features: *************** *** 107,111 **** * many other new config options, see HelpOnConfiguration for a complete list ! * [[StatsChart]] shows statistical charts Unfinished features: --- 108,116 ---- * many other new config options, see HelpOnConfiguration for a complete list ! * [[StatsChart(type)]] shows statistical charts (currently ! defined types: hitcounts, pagesize) ! * 'inline:' scheme works like 'attachment:', but tries to ! inline the comntent of teh attachment into the page; ! currently knows about "*.py" sources and colorizes them Unfinished features: From jhermann at users.sourceforge.net Tue Feb 5 15:01:16 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:01:16 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.74,1.75 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv15576/MoinMoin/parser Modified Files: wiki.py Log Message: "inline:" schema; link to upload form for unknown attachments Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -r1.74 -r1.75 *** wiki.py 2002/02/05 21:51:04 1.74 --- wiki.py 2002/02/05 23:00:58 1.75 *************** *** 9,15 **** # Imports ! import cgi, re, string, sys from MoinMoin import config, user, wikimacro, wikiutil from MoinMoin.Page import Page --- 9,16 ---- # Imports ! import cgi, os, re, string, sys from MoinMoin import config, user, wikimacro, wikiutil from MoinMoin.Page import Page + from MoinMoin.i18n import _ *************** *** 32,36 **** punct_pattern = re.escape('''"'}]|:,.)?!''') url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file' + ! '|attachment' + (config.url_schemas and '|' + string.join(config.url_schemas, '|') or '')) --- 33,37 ---- punct_pattern = re.escape('''"'}]|:,.)?!''') url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file' + ! '|attachment|inline' + (config.url_schemas and '|' + string.join(config.url_schemas, '|') or '')) *************** *** 173,176 **** --- 174,179 ---- def attachment(self, url_and_text, **kw): + """ This gets called on "attachment:" or "inline:" URLs. + """ self._check_p() *************** *** 181,185 **** url, text = url_and_text ! url = url[11:] # remove "attachment:" text = text or url --- 184,192 ---- url, text = url_and_text ! inline = url[0] == 'i' ! if inline: ! url = url[7:] # remove "inline:" ! else: ! url = url[11:] # remove "attachment:" text = text or url *************** *** 193,202 **** --- 200,234 ---- import urllib from MoinMoin.action import AttachFile + fname = wikiutil.taintfilename(url) + fpath = os.path.join(AttachFile._get_attach_dir(pagename), fname) + + # check whether attachment exists, possibly point to upload form + if not os.path.exists(fpath): + return wikiutil.link_tag( + '%s?action=AttachFile&rename=%s' % ( + wikiutil.quoteWikiname(pagename), urllib.quote_plus(fname)), + _('Upload new attachment "%(filename)s"') % {'filename': fname}) # check for image URL, and possibly return IMG tag + # (images are always inlined, just like for other URLs) if not kw.get('pretty_url', 0) and wikiutil.isPicture(url): return self.formatter.image(border=0, alt=url, src=AttachFile.getAttachUrl(pagename, url)) + # try to inline the attachment (we only accept a list + # of known extensions) + base, ext = os.path.splitext(url) + if inline and ext in ['.py']: + if ext == '.py': + import cStringIO + from MoinMoin.parser import python + + buff = cStringIO.StringIO() + colorizer = python.Parser(open(fpath, 'r').read(), out = buff) + colorizer.format(self.formatter, self.form) + return self.formatter.preformatted(1) + \ + self.formatter.rawHTML(buff.getvalue()) + \ + self.formatter.preformatted(0) + return self.formatter.url( AttachFile.getAttachUrl(pagename, url), *************** *** 293,296 **** --- 325,329 ---- if word[:5] == "wiki:": return self.interwiki([word]) if word[:11] == "attachment:": return self.attachment([word]) + if word[:7] == "inline:": return self.attachment([word]) return self.formatter.url(word, text=self.highlight_text(word)) *************** *** 314,317 **** --- 347,351 ---- if scheme == "wiki": return self.interwiki(words, pretty_url=1) if scheme == "attachment": return self.attachment(words, pretty_url=1) + if scheme == "inline": return self.attachment(words, pretty_url=1) icon = ("www", 11, 11) From jhermann at users.sourceforge.net Tue Feb 5 15:01:16 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:01:16 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.60,1.61 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv15576/MoinMoin/i18n Modified Files: de.py Log Message: "inline:" schema; link to upload form for unknown attachments Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -r1.60 -r1.61 *** de.py 2002/02/02 15:26:53 1.60 --- de.py 2002/02/05 23:00:57 1.61 *************** *** 352,355 **** --- 352,358 ---- 'SeiteFinden', + 'Fri': + 'Fr', + 'Full text search for "%s"': 'Volltextsuche nach "%s"', *************** *** 397,400 **** --- 400,406 ---- 'MoinMoin Version ', + 'Mon': + 'Mo', + 'Multiple matches for "%s...%s"': 'Mehrfachtreffer f?r "%s...%s"', *************** *** 493,496 **** --- 499,505 ---- 'Versionshistorie', + 'Sat': + 'Sa', + 'Save Changes': '?nderungen speichern', *************** *** 538,541 **** --- 547,553 ---- 'Abonnierte Wiki-Seiten
    (ein regul?rer Ausdruck pro Zeile)', + 'Sun': + 'So', + 'The backupped content of this page is deprecated and will not be included in search results!': 'Der Inhalt der letzten Sicherungskopie ist veraltet und wird von der Volltextsuche ignoriert!', *************** *** 562,565 **** --- 574,580 ---- 'Diese Seite wird umgeleitet auf "%(page)s"', + 'Thu': + 'Do', + 'Time zone': 'Zeitzone', *************** *** 575,578 **** --- 590,596 ---- kann folgende URL verwendet werden: ''', + 'Tue': + 'Di', + 'Unknown action': 'Unbekannte Aktion', *************** *** 581,586 **** --- 599,610 ---- 'Lesezeichen neu setzen', + 'Upload new attachment "%(filename)s"': + 'Neuen Dateianhang "%(filename)s" hochladen', + 'Version as of %(date)s': 'Version vom %(date)s', + + 'Wed': + 'Mi', 'XML title index': From jhermann at users.sourceforge.net Tue Feb 5 15:02:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:02:02 2002 Subject: [Moin-devel] CVS: dist/wiki/cgi-bin moin_config.py,1.5,1.6 Message-ID: Update of /cvsroot/moin/dist/wiki/cgi-bin In directory usw-pr-cvs1:/tmp/cvs-serv15576/wiki/cgi-bin Modified Files: moin_config.py Log Message: "inline:" schema; link to upload form for unknown attachments Index: moin_config.py =================================================================== RCS file: /cvsroot/moin/dist/wiki/cgi-bin/moin_config.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** moin_config.py 2001/12/09 03:18:53 1.5 --- moin_config.py 2002/02/05 23:00:58 1.6 *************** *** 45,48 **** --- 45,57 ---- max_macro_size = 50 # max size of RecentChanges in KB (0=unlimited) + # charting needs "gdchart" installed! + # you can remove the test and gain a little speed (i.e. keep only + # the chart_options assignment, or remove this code section altogether) + try: + import gdchart + chart_options = {'width': 720, 'height': 400} + except ImportError: + pass + # values that depend on above configuration settings logo_string = '%s' % (logo_url, sitename) From jhermann at users.sourceforge.net Tue Feb 5 15:33:07 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:33:07 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.19,1.20 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv24995/action Modified Files: AttachFile.py Log Message: Refactoring: Grouped externally called functions together Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -r1.19 -r1.20 *** AttachFile.py 2002/02/05 22:38:32 1.19 --- AttachFile.py 2002/02/05 23:32:29 1.20 *************** *** 34,51 **** ! def _get_attach_dir(pagename): pagename = wikiutil.quoteFilename(pagename) if isinstance(config.attachments, type({})): return os.path.join(config.attachments['dir'], pagename, "attachments") else: return os.path.join(config.data_dir, "pages", pagename, "attachments") def getAttachUrl(pagename, filename): if isinstance(config.attachments, type({})): return "%s/%s/attachments/%s" % ( config.attachments['url'], wikiutil.quoteFilename(pagename), urllib.quote_plus(filename) ) else: return "%s/%s?action=%s&do=get&target=%s" % ( webapi.getBaseURL(), wikiutil.quoteWikiname(pagename), --- 34,63 ---- ! ############################################################################# ! ### External interface - these are called from the core code ! ############################################################################# ! ! def getAttachDir(pagename): ! """ Get directory where attachments for page `pagename` are stored. ! """ pagename = wikiutil.quoteFilename(pagename) if isinstance(config.attachments, type({})): + # direct file access via webserver, from public htdocs area return os.path.join(config.attachments['dir'], pagename, "attachments") else: + # send file via CGI, from page storage area return os.path.join(config.data_dir, "pages", pagename, "attachments") def getAttachUrl(pagename, filename): + """ Get URL that points to attachment `filename` of page `pagename`. + """ if isinstance(config.attachments, type({})): + # direct file access via webserver return "%s/%s/attachments/%s" % ( config.attachments['url'], wikiutil.quoteFilename(pagename), urllib.quote_plus(filename) ) else: + # send file via CGI return "%s/%s?action=%s&do=get&target=%s" % ( webapi.getBaseURL(), wikiutil.quoteWikiname(pagename), *************** *** 53,58 **** def execute(pagename, form): ! # dispatch msg = None if action_name in config.excluded_actions: --- 65,110 ---- + def info(pagename, form): + """ Generate snippet with info on the attachment for page `pagename`. + """ + attach_dir = getAttachDir(pagename) + files = [] + if os.path.isdir(attach_dir): + files = os.listdir(attach_dir) + print _('There are %(count)s attachment(s) stored for this page.') % { + 'count': len(files), + 'link': Page(pagename).url("action=AttachFile") + } + print "

    " + + + ############################################################################# + ### Internal helpers + ############################################################################# + + def _addLogEntry(action, pagename, filename): + """ Add an entry to the edit log on uploads and deletes. + + `action` should be "ATTNEW" or "ATTDEL" + """ + from MoinMoin import editlog + log = editlog.makeLogStore() + remote_name = os.environ.get('REMOTE_ADDR', '') + log.addEntry(pagename, remote_name, time.time(), + _('Upload of file "%(filename)s for page "%(pagename)s') % {}, + action) + + + def error_msg(pagename, form, msg): + Page(pagename).send_page(form, msg=msg) + + + ############################################################################# + ### Web interface for file upload, viewing and deletion + ############################################################################# + def execute(pagename, form): ! """ Main dispatcher for the 'AttachFile' action. ! """ msg = None if action_name in config.excluded_actions: *************** *** 83,98 **** - def info(pagename, form): - attach_dir = _get_attach_dir(pagename) - files = [] - if os.path.isdir(attach_dir): - files = os.listdir(attach_dir) - print _('There are %(count)s attachment(s) stored for this page.') %{ - 'count': len(files), - 'link': Page(pagename).url("action=AttachFile") - } - print "

    " - - def upload_form(pagename, form, msg=''): webapi.http_headers() --- 135,138 ---- *************** *** 149,153 **** # get directory, and possibly create it ! attach_dir = _get_attach_dir(pagename) if not os.path.isdir(attach_dir): os.makedirs(attach_dir, 0777 & config.umask) --- 189,193 ---- # get directory, and possibly create it ! attach_dir = getAttachDir(pagename) if not os.path.isdir(attach_dir): os.makedirs(attach_dir, 0777 & config.umask) *************** *** 210,214 **** def get_filelist(pagename): # access directory ! attach_dir = _get_attach_dir(pagename) files = [] if os.path.isdir(attach_dir): --- 250,254 ---- def get_filelist(pagename): # access directory ! attach_dir = getAttachDir(pagename) files = [] if os.path.isdir(attach_dir): *************** *** 261,265 **** fname = wikiutil.taintfilename(fname) ! fpath = os.path.join(_get_attach_dir(pagename), fname) if not os.path.isfile(fpath): error_msg(pagename, form, "(specified file (%s) does not exists)" % fname) --- 301,305 ---- fname = wikiutil.taintfilename(fname) ! fpath = os.path.join(getAttachDir(pagename), fname) if not os.path.isfile(fpath): error_msg(pagename, form, "(specified file (%s) does not exists)" % fname) *************** *** 334,340 **** # send footer wikiutil.send_footer(pagename) - - - def error_msg(pagename, form, msg): - Page(pagename).send_page(form, msg=msg) --- 374,376 ---- From jhermann at users.sourceforge.net Tue Feb 5 15:33:09 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 15:33:09 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.75,1.76 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv24995/parser Modified Files: wiki.py Log Message: Refactoring: Grouped externally called functions together Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -r1.75 -r1.76 *** wiki.py 2002/02/05 23:00:58 1.75 --- wiki.py 2002/02/05 23:32:29 1.76 *************** *** 201,205 **** from MoinMoin.action import AttachFile fname = wikiutil.taintfilename(url) ! fpath = os.path.join(AttachFile._get_attach_dir(pagename), fname) # check whether attachment exists, possibly point to upload form --- 201,205 ---- from MoinMoin.action import AttachFile fname = wikiutil.taintfilename(url) ! fpath = os.path.join(AttachFile.getAttachDir(pagename), fname) # check whether attachment exists, possibly point to upload form From jhermann at users.sourceforge.net Tue Feb 5 16:31:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 16:31:01 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.20,1.21 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv7703/action Modified Files: AttachFile.py Log Message: Completed I18N of AttachFile; added logging into editlog Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -r1.20 -r1.21 *** AttachFile.py 2002/02/05 23:32:29 1.20 --- AttachFile.py 2002/02/06 00:30:30 1.21 *************** *** 18,22 **** 4. /pataname/fname, do=view[&mimetype=type]:create a page to view the content of the file - 5. do=list: list attached files To insert an attachment into the page, use the "attachment:" pseudo --- 18,21 ---- *************** *** 26,30 **** """ ! import cgi, os, mimetypes, string, sys, urllib from MoinMoin import config, user, wikiutil, webapi from MoinMoin.Page import Page --- 25,29 ---- """ ! import cgi, os, mimetypes, string, sys, time, urllib from MoinMoin import config, user, wikiutil, webapi from MoinMoin.Page import Page *************** *** 92,148 **** remote_name = os.environ.get('REMOTE_ADDR', '') log.addEntry(pagename, remote_name, time.time(), ! _('Upload of file "%(filename)s for page "%(pagename)s') % {}, action) ! def error_msg(pagename, form, msg): ! Page(pagename).send_page(form, msg=msg) ! ! ! ############################################################################# ! ### Web interface for file upload, viewing and deletion ! ############################################################################# ! def execute(pagename, form): ! """ Main dispatcher for the 'AttachFile' action. """ ! msg = None ! if action_name in config.excluded_actions: ! msg = _('File attachments are not allowed in this wiki!') ! elif not form.has_key('do'): ! upload_form(pagename, form) ! elif form['do'].value == 'upload': ! if user.current.may.edit: ! do_upload(pagename, form) ! else: ! msg = _('You are not allowed to upload files.') ! elif form['do'].value == 'del': ! if user.current.may.delete: ! del_file(pagename, form) ! else: ! msg = _('You are not allowed to delete attachments.') ! elif form['do'].value == 'get': ! get_file(pagename, form) ! elif form['do'].value == 'list': ! list_files(pagename, form) ! elif form['do'].value == 'view': ! view_file(pagename, form) else: ! msg = _('Unsupported upload action: %s') % (form['do'].value,) ! if msg: ! error_msg(pagename, form, msg) - def upload_form(pagename, form, msg=''): - webapi.http_headers() - wikiutil.send_title(_('Attachments for "%(pagename)s"') % locals(), pagename=pagename, msg=msg) - send_uploadform(pagename, form) - wikiutil.send_footer(pagename, showpage=1) def send_uploadform(pagename, form): print _("

    Attached Files

    ") ! print get_filelist(pagename) if not user.current.may.edit: --- 91,174 ---- remote_name = os.environ.get('REMOTE_ADDR', '') log.addEntry(pagename, remote_name, time.time(), ! _('File "%(filename)s for page "%(pagename)s') % locals(), action) ! def _access_file(pagename, form): ! """ Check form parameter `target` and return a tuple of ! `(filename, filepath)` for an existing attachment. ! Return `(None, None)` if an error occurs. """ ! error = None ! if not form.getvalue('target', ''): ! error = _("Filename of attachment not specified!") else: ! filename = wikiutil.taintfilename(form['target'].value) ! fpath = os.path.join(getAttachDir(pagename), filename) ! if os.path.isfile(fpath): ! return (filename, fpath) ! error = _("Attachment '%(filename)s' does not exist!") % locals() + error_msg(pagename, form, error) + return (None, None) + def _get_filelist(pagename): + # access directory + attach_dir = getAttachDir(pagename) + files = [] + if os.path.isdir(attach_dir): + files = os.listdir(attach_dir) + + str = "" + if files: + str = str + _("

    " + "To refer to attachments on a page, use attachment:filename, \n" + "as shown below in the list of files. \n" + "Do NOT use the URL of the [get] link, \n" + "since this is subject to change and can break easily.

    " + ) + str = str + "
      " + for file in files: + fsize = os.stat(os.path.join(attach_dir,file))[6] # in byte + fsize = float(int(float(fsize)/102.4))/10.0 + baseurl = webapi.getBaseURL() + action = action_name + urlpagename = wikiutil.quoteWikiname(pagename) + urlfile = urllib.quote_plus(file) + + del_link = '' + if user.current.may.delete: + del_link = 'del | ' % locals() + + get_url = getAttachUrl(pagename, file) + str = str + ('
    • [%(del_link)s' + 'get | ' + 'view] ' + '(%(fsize)g KB) attachment:%(file)s
    • ') % locals() + str = str + "
    " + else: + str = '%s

    %s

    ' % (str, _("No attachments stored for %(pagename)s") % locals()) + + return str + + def error_msg(pagename, form, msg): + Page(pagename).send_page(form, msg=msg) + + + ############################################################################# + ### Create parts of the Web interface + ############################################################################# + def send_uploadform(pagename, form): + """ Send the HTML code for the list of already stored attachments and + the file upload form. + """ print _("

    Attached Files

    ") ! print _get_filelist(pagename) if not user.current.may.edit: *************** *** 182,190 **** def do_upload(pagename, form): # check file & mimetype fileitem = form['file'] if not fileitem.file: ! return error_msg(pagename, form, "no filename specified") # get directory, and possibly create it --- 208,257 ---- + ############################################################################# + ### Web interface for file upload, viewing and deletion + ############################################################################# + + def execute(pagename, form): + """ Main dispatcher for the 'AttachFile' action. + """ + msg = None + if action_name in config.excluded_actions: + msg = _('File attachments are not allowed in this wiki!') + elif not form.has_key('do'): + upload_form(pagename, form) + elif form['do'].value == 'upload': + if user.current.may.edit: + do_upload(pagename, form) + else: + msg = _('You are not allowed to upload files.') + elif form['do'].value == 'del': + if user.current.may.delete: + del_file(pagename, form) + else: + msg = _('You are not allowed to delete attachments.') + elif form['do'].value == 'get': + get_file(pagename, form) + elif form['do'].value == 'view': + view_file(pagename, form) + else: + msg = _('Unsupported upload action: %s') % (form['do'].value,) + + if msg: + error_msg(pagename, form, msg) + + + def upload_form(pagename, form, msg=''): + webapi.http_headers() + wikiutil.send_title(_('Attachments for "%(pagename)s"') % locals(), pagename=pagename, msg=msg) + send_uploadform(pagename, form) + wikiutil.send_footer(pagename, showpage=1) + + def do_upload(pagename, form): # check file & mimetype fileitem = form['file'] if not fileitem.file: ! return error_msg(pagename, form, ! _("Filename of attachment not specified!")) # get directory, and possibly create it *************** *** 193,211 **** os.makedirs(attach_dir, 0777 & config.umask) ! # make filename (if no ext -> try to set from mimetype) ! fname = fileitem.filename rename = '' if form.has_key('rename'): ! rename = form['rename'].value ! target = fname target = string.replace(target, ':', '/') target = string.replace(target, '\\', '/') target = string.split(target, '/')[-1] ! if string.strip(rename): target = string.strip(rename) target = wikiutil.taintfilename(target) ! type, encoding = mimetypes.guess_type(target) if not type: --- 260,279 ---- os.makedirs(attach_dir, 0777 & config.umask) ! # make filename ! filename = fileitem.filename rename = '' if form.has_key('rename'): ! rename = string.strip(form['rename'].value) ! target = filename target = string.replace(target, ':', '/') target = string.replace(target, '\\', '/') target = string.split(target, '/')[-1] ! if rename: target = string.strip(rename) target = wikiutil.taintfilename(target) ! ! # set mimetype from extension, or from given mimetype type, encoding = mimetypes.guess_type(target) if not type: *************** *** 214,218 **** ext = mimetypes.guess_extension(form['mime'].value) if not ext: ! type, encoding = mimetypes.guess_type(fname) if type: ext = mimetypes.guess_extension(type) --- 282,286 ---- ext = mimetypes.guess_extension(form['mime'].value) if not ext: ! type, encoding = mimetypes.guess_type(filename) if type: ext = mimetypes.guess_extension(type) *************** *** 222,320 **** # save file ! target = os.path.join(attach_dir, target) ! if os.path.exists(target): ! msg = "File (%s->%s) already exists." % (fname, rename) else: - #content = form.getvalue('file') content = fileitem.file.read() ! open(target, 'wb').write(content) ! msg = "File (%s->%s) with %d bytes uploaded." % (fname, rename, len(content)) ! ! # return attachment list ! webapi.http_headers() ! wikiutil.send_title('Attachment for "%s"' % (pagename,), pagename=pagename, msg=msg) ! send_uploadform(pagename, form) ! wikiutil.send_footer(pagename, showpage=1) ! ! ! def list_files(pagename, form): ! # send header & title ! webapi.http_headers() ! wikiutil.send_title('Attachment files for "%s"' % (pagename,),pagename=pagename) ! # send body ! print get_filelist(pagename) ! # send footer ! wikiutil.send_footer(pagename, showpage=1) ! ! def get_filelist(pagename): ! # access directory ! attach_dir = getAttachDir(pagename) ! files = [] ! if os.path.isdir(attach_dir): ! files = os.listdir(attach_dir) ! ! str = "" ! if files: ! str = str + _("

    " ! "To refer to attachments on a page, use attachment:filename, \n" ! "as shown below in the list of files. \n" ! "Do NOT use the URL of the [get] link, \n" ! "since this is subject to change and can break easily.

    " ! ) ! str = str + "
      " ! for file in files: ! fsize = os.stat(os.path.join(attach_dir,file))[6] # in byte ! fsize = float(int(float(fsize)/102.4))/10.0 ! baseurl = webapi.getBaseURL() ! action = action_name ! urlpagename = wikiutil.quoteWikiname(pagename) ! urlfile = urllib.quote_plus(file) ! ! del_link = '' ! if user.current.may.delete: ! del_link = 'del | ' % locals() ! ! get_url = getAttachUrl(pagename, file) ! str = str + ('
    • [%(del_link)s' ! 'get | ' ! 'view] ' ! '(%(fsize)g KB) attachment:%(file)s
    • ') % locals() ! str = str + "
    " ! else: ! str = '%s

    %s

    ' % (str, _("No attachments stored for %(pagename)s") % locals()) ! ! return str ! ! ! def _access_file(pagename, form): ! if not form.has_key('target'): ! error_msg(pagename, form, "(no file name specified)") ! return (None, None) ! ! fname = form['target'].value ! if not fname: ! error_msg(pagename, form, "(no file name specified for retrieval)") ! return (None, None) ! ! fname = wikiutil.taintfilename(fname) ! ! fpath = os.path.join(getAttachDir(pagename), fname) ! if not os.path.isfile(fpath): ! error_msg(pagename, form, "(specified file (%s) does not exists)" % fname) ! return (None, None) ! ! return (fname, fpath) def del_file(pagename, form): ! fname, fpath = _access_file(pagename, form) ! if not fname: return # error msg already sent in _access_file # delete file os.remove(fpath) ! upload_form(pagename, form, msg="File '%s' deleted." % fname) --- 290,321 ---- # save file ! fpath = os.path.join(attach_dir, target) ! if os.path.exists(fpath): ! msg = _("Attachment '%(target)s' (remote name '%(filename)s') already exists.") % locals() else: content = fileitem.file.read() ! stream = open(fpath, 'wb') ! try: ! stream.write(content) ! finally: ! stream.close() ! bytes = len(content) ! msg = _("Attachment '%(target)s' (remote name '%(filename)s')" ! " with %(bytes)d bytes saved.") % locals() ! _addLogEntry('ATTNEW', pagename, target) ! # return attachment list ! upload_form(pagename, form, msg) def del_file(pagename, form): ! filename, fpath = _access_file(pagename, form) ! if not filename: return # error msg already sent in _access_file # delete file os.remove(fpath) + _addLogEntry('ATTDEL', pagename, filename) ! upload_form(pagename, form, msg=_("Attachment '%(filename)s' deleted.") % locals()) *************** *** 322,330 **** import shutil ! fname, fpath = _access_file(pagename, form) ! if not fname: return # error msg already sent in _access_file # get mimetype ! type, enc = mimetypes.guess_type(fname) if not type: type = "application/octet-stream" --- 323,331 ---- import shutil ! filename, fpath = _access_file(pagename, form) ! if not filename: return # error msg already sent in _access_file # get mimetype ! type, enc = mimetypes.guess_type(filename) if not type: type = "application/octet-stream" *************** *** 334,338 **** "Content-Type: %s" % type, "Content-Length: %d" % os.path.getsize(fpath), ! "Content-Disposition: attachment; filename=%s" % fname, ]) --- 335,339 ---- "Content-Type: %s" % type, "Content-Length: %d" % os.path.getsize(fpath), ! "Content-Disposition: attachment; filename=%s" % filename, ]) *************** *** 344,370 **** def send_viewfile(pagename, form): ! fname, fpath = _access_file(pagename, form) ! if not fname: return ! print "

    Attachment '%s'

    " % fname ! type, enc = mimetypes.guess_type(fname) ! if not type: ! print "(Err:Unknown file type)" ! if type[:5] == 'image': ! print '%s' % (getAttachUrl(pagename, fname), cgi.escape(fname, 1)) ! elif type[:4] == 'text': ! print "
    ", cgi.escape(open(fpath, 'rb').read()), "
    " ! else: ! print '%s' % (getAttachUrl(pagename, fname), cgi.escape(fname)) def view_file(pagename, form): ! fname, fpath = _access_file(pagename, form) ! if not fname: return # send header & title webapi.http_headers() ! wikiutil.send_title('attachment:%s of %s' % (fname,pagename), pagename=pagename) # send body --- 345,378 ---- def send_viewfile(pagename, form): ! filename, fpath = _access_file(pagename, form) ! if not filename: return ! print _("

    Attachment '%(filename)s'

    ") % locals() ! type, enc = mimetypes.guess_type(filename) ! if type: ! if type[:5] == 'image': ! print '%s' % ( ! getAttachUrl(pagename, filename), cgi.escape(filename, 1)) ! return ! elif type[:4] == 'text': ! sys.stdout.write("
    ")
    !             sys.stdout.write(cgi.escape(open(fpath, 'r').read()))
    !             sys.stdout.write("
    ") ! return ! ! print _("

    Unknown file type, cannot display this attachment inline.

    ") ! print '%s' % ( ! getAttachUrl(pagename, filename), cgi.escape(filename)) def view_file(pagename, form): ! filename, fpath = _access_file(pagename, form) ! if not filename: return # send header & title webapi.http_headers() ! wikiutil.send_title(_('attachment:%(filename)s of %(pagename)s') % locals(), ! pagename=pagename) # send body From jhermann at users.sourceforge.net Tue Feb 5 16:31:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 16:31:02 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.61,1.62 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv7703/i18n Modified Files: de.py Log Message: Completed I18N of AttachFile; added logging into editlog Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -r1.61 -r1.62 *** de.py 2002/02/05 23:00:57 1.61 --- de.py 2002/02/06 00:30:30 1.62 *************** *** 104,107 **** --- 104,110 ---- '4Suite Version ', + "Attachment '%(filename)s' does not exist!": + "Dateianhang '%(filename)s' existiert nicht!", + 'Cookie deleted!': 'Der "Cookie" wurde gel?scht!', *************** *** 110,113 **** --- 113,119 ---- 'Unterschiede zwischen den Versionen vom %s und vom %s', + 'Filename of attachment not specified!': + 'Dateiname des Anhangs fehlt oder ist leer!', + "Found no account matching the given email address '%(email)s'!": "Es wurde kein Benutzerkonto mit der Emailadresse '%(email)s' gefunden!", *************** *** 192,195 **** --- 198,204 ---- '

    Gespeicherte Dateianh?nge

    ', + "

    Attachment '%(filename)s'

    ": + "

    Dateianhang '%(filename)s'

    ", + """
    *************** *** 265,268 **** --- 274,283 ---- 'Alternativ kann die Seite auf Basis einer dieser Schablonen angelegt werden:', + "Attachment '%(filename)s' deleted.": + "Dateianhang '%(filename)s' wurde gel?scht.", + + "Attachment '%(target)s' (remote name '%(filename)s') with %(bytes)d bytes saved.": + "Dateianhang '%(target)s' (urspr?nglicher Name '%(filename)s') mit %(bytes)d Bytes gesichert.", + 'Attachments for "%(pagename)s"': 'Dateianh?nge f?r "%(pagename)s"', *************** *** 346,349 **** --- 361,367 ---- 'Attribut "%(token)s" wurde kein Wert zugewiesen', + 'File "%(filename)s for page "%(pagename)s': + 'Dateianhang "%(filename)s f?r Seite "%(pagename)s', + 'File to upload': 'Neuer Dateianhang', *************** *** 631,634 **** --- 649,655 ---- '[Template %s not found]': '[Schablone %s nicht gefunden]', + + 'attachment:%(filename)s of %(pagename)s': + 'attachment:%(filename)s f?r %(pagename)s', 'date': From jhermann at users.sourceforge.net Tue Feb 5 16:51:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 16:51:05 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.21,1.22 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv12058/action Modified Files: AttachFile.py Log Message: Show attachment upload/deletion on RecentChanges Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** AttachFile.py 2002/02/06 00:30:30 1.21 --- AttachFile.py 2002/02/06 00:50:56 1.22 *************** *** 91,96 **** remote_name = os.environ.get('REMOTE_ADDR', '') log.addEntry(pagename, remote_name, time.time(), ! _('File "%(filename)s for page "%(pagename)s') % locals(), ! action) --- 91,95 ---- remote_name = os.environ.get('REMOTE_ADDR', '') log.addEntry(pagename, remote_name, time.time(), ! urllib.quote(filename), action) From jhermann at users.sourceforge.net Tue Feb 5 16:51:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 16:51:05 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.62,1.63 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv12058/i18n Modified Files: de.py Log Message: Show attachment upload/deletion on RecentChanges Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -r1.62 -r1.63 *** de.py 2002/02/06 00:30:30 1.62 --- de.py 2002/02/06 00:50:57 1.63 *************** *** 620,623 **** --- 620,626 ---- 'Neuen Dateianhang "%(filename)s" hochladen', + "Upload of attachment '%(filename)s'.": + "Dateianhang '%(filename)s' wurde angelegt.", + 'Version as of %(date)s': 'Version vom %(date)s', From jhermann at users.sourceforge.net Tue Feb 5 16:51:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 16:51:06 2002 Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.50,1.51 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv12058/macro Modified Files: RecentChanges.py Log Message: Show attachment upload/deletion on RecentChanges Index: RecentChanges.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** RecentChanges.py 2002/01/31 21:31:54 1.50 --- RecentChanges.py 2002/02/06 00:50:57 1.51 *************** *** 179,183 **** else: buf.write(" 
    \n') --- 179,183 ---- else: buf.write(" \n') *************** *** 223,227 **** # store comments for this page if self.pagename == thispage: ! self.changes[thispage].append((self.getEditor(), self.comment)) # peek for the next one if not self.peek(offset): break --- 223,235 ---- # store comments for this page if self.pagename == thispage: ! comment = self.comment ! if self.action[:3] == 'ATT': ! import urllib ! filename = urllib.unquote(comment) ! if self.action == 'ATTNEW': ! comment = _("Upload of attachment '%(filename)s'.") % locals() ! elif self.action == 'ATTDEL': ! comment = _("Attachment '%(filename)s' deleted.") % locals() ! self.changes[thispage].append((self.getEditor(), comment)) # peek for the next one if not self.peek(offset): break From jhermann at users.sourceforge.net Tue Feb 5 17:10:11 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 17:10:11 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.66,1.67 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv16499 Modified Files: CHANGES Log Message: Typos Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -r1.66 -r1.67 *** CHANGES 2002/02/05 23:00:57 1.66 --- CHANGES 2002/02/06 01:09:32 1.67 *************** *** 111,115 **** defined types: hitcounts, pagesize) * 'inline:' scheme works like 'attachment:', but tries to ! inline the comntent of teh attachment into the page; currently knows about "*.py" sources and colorizes them --- 111,115 ---- defined types: hitcounts, pagesize) * 'inline:' scheme works like 'attachment:', but tries to ! inline the content of the attachment into the page; currently knows about "*.py" sources and colorizes them From jhermann at users.sourceforge.net Wed Feb 6 02:43:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 02:43:02 2002 Subject: [Moin-devel] CVS: MoinMoin eventlog.py,1.3,1.4 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv13327/MoinMoin Modified Files: eventlog.py Log Message: Add HTTP info to event log Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** eventlog.py 2002/02/02 02:35:19 1.3 --- eventlog.py 2002/02/06 10:42:20 1.4 *************** *** 34,43 **** self._logfile.flush() ! def add(self, eventtype, values={}): """ Write an event of type `eventtype, with optional key/value pairs appended (i.e. you have to pass a dict). """ kvpairs = "" ! for key, val in values.items(): if kvpairs: kvpairs = kvpairs + "&" kvpairs = "%s%s=%s" % (kvpairs, urllib.quote(key), urllib.quote(val)) --- 34,48 ---- self._logfile.flush() ! def add(self, eventtype, values={}, add_http_info=1): """ Write an event of type `eventtype, with optional key/value pairs appended (i.e. you have to pass a dict). """ + kvlist = values.items() + if add_http_info: + for key in ['REMOTE_ADDR', 'HTTP_USER_AGENT', 'HTTP_REFERER']: + val = os.environ.get(key, '') + if val: kvlist.append((key, val)) kvpairs = "" ! for key, val in kvlist: if kvpairs: kvpairs = kvpairs + "&" kvpairs = "%s%s=%s" % (kvpairs, urllib.quote(key), urllib.quote(val)) From jhermann at users.sourceforge.net Wed Feb 6 11:35:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 11:35:03 2002 Subject: [Moin-devel] CVS: MoinMoin/webapi cgiMoin.py,1.9,1.10 Message-ID: Update of /cvsroot/moin/MoinMoin/webapi In directory usw-pr-cvs1:/tmp/cvs-serv31202/webapi Modified Files: cgiMoin.py Log Message: Update of and fixes for Japanese Index: cgiMoin.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/webapi/cgiMoin.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** cgiMoin.py 2001/12/06 02:55:28 1.9 --- cgiMoin.py 2002/02/06 19:34:41 1.10 *************** *** 79,82 **** --- 79,83 ---- def http_headers(more_headers=[]): + from MoinMoin import config from MoinMoin.cgimain import request *************** *** 97,101 **** if not have_ct: ! print "Content-type: text/html" #print "Pragma: no-cache" --- 98,102 ---- if not have_ct: ! print "Content-type: text/html;charset=%s" % config.charset #print "Pragma: no-cache" From jhermann at users.sourceforge.net Wed Feb 6 11:35:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 11:35:04 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n __init__.py,1.18,1.19 ja.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv31202/i18n Modified Files: __init__.py ja.py Log Message: Update of and fixes for Japanese Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/__init__.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** __init__.py 2002/01/21 20:05:50 1.18 --- __init__.py 2002/02/06 19:34:41 1.19 *************** *** 22,26 **** 'fi': ('Suomi', 'iso-8859-1', '***vacant***'), 'fr': ('Fran?ais', 'iso-8859-1', '"Lucas Bruand" '), ! 'ja': ('Japanese', 'euc-jp', '"Jyunji Kondou" '), 'ko': ('Korean', 'euc-kr', '"Hye-Shik Chang" '), 'nl': ('Nederlands', 'iso-8859-1', '***vacant***'), --- 22,26 ---- 'fi': ('Suomi', 'iso-8859-1', '***vacant***'), 'fr': ('Fran?ais', 'iso-8859-1', '"Lucas Bruand" '), ! 'ja': ('Japanese', 'euc-jp', '"Jyunji Kondo" '), 'ko': ('Korean', 'euc-kr', '"Hye-Shik Chang" '), 'nl': ('Nederlands', 'iso-8859-1', '***vacant***'), Index: ja.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/ja.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** ja.py 2002/01/21 20:05:51 1.1 --- ja.py 2002/02/06 19:34:41 1.2 *************** *** 1,4 **** # Text translations for ja (Japanese) ! # Maintained by: "Jyunji Kondou" # Encoding: euc-jp text = { --- 1,4 ---- # Text translations for ja (Japanese) ! # Maintained by: "Jyunji Kondo" # Encoding: euc-jp text = { *************** *** 10,17 **** ''': ''' !

    New Attachment

    !

    An upload will never overwrite an existing file. If there is a name ! conflict, you have to rename the file that you want to upload. ! Otherwise, if "Rename to" is left blank, the original filename will be used.

    ''', --- 10,17 ---- ''': ''' !

    ????????????????????

    !

    ?????????????????????????????????????????????????? ???????????????????????? ! ?????????????????????????????????????????????????? ! "??????????"??????????????????????????????????????????????????

    ''', *************** *** 20,25 ****
    Result was: ''': ''' ! Sent a mail notification to these addresses: %s !
    Result was: ''', ' (including %(localwords)d %(pagelink)s)': --- 20,25 ----
    Result was: ''': ''' ! ????????????????????????????????????????: %s !
    ????: ''', ' (including %(localwords)d %(pagelink)s)': *************** *** 42,46 **** ' Mail me my account data ': ! ' Mail me my account data ', ' Save ': --- 42,46 ---- ' Mail me my account data ': ! ' ???????????????????????????? ', ' Save ': *************** *** 48,52 **** ' Upload ': ! ' Upload ', ' by browsing, searching, or an index
    ': --- 48,52 ---- ' Upload ': ! ' ???????????? ', ' by browsing, searching, or an index
    ': *************** *** 54,58 **** ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
    ': ! ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
    ', ' for this page (cached %(date)s)': --- 54,58 ---- ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
    ': ! ' ?????????????????????????? %(titlesearch)s ???????????????????? %(textsearch)s ????????????????????????????????
    ', ' for this page (cached %(date)s)': *************** *** 66,76 **** ' time': ! ' time', ' times': ! ' times', '%(changecount)s changes': ! '%(changecount)s changes', '%(errortype)s processing error': --- 66,76 ---- ' time': ! ' ??', ' times': ! ' ??', '%(changecount)s changes': ! '%(changecount)s ????????', '%(errortype)s processing error': *************** *** 99,103 **** 'Cookie deleted!': ! 'Cookie deleted!', 'Differences between version dated %s and %s': --- 99,103 ---- 'Cookie deleted!': ! 'Cookie????????????????!', 'Differences between version dated %s and %s': *************** *** 105,124 **** "Found no account matching the given email address '%(email)s'!": ! "Found no account matching the given email address '%(email)s'!", 'NONE': ! 'NONE', 'No differences found!': ! 'No differences found!', 'No older revisions available!': ! 'No older revisions available!', 'No spelling errors found!': ! 'No spelling errors found!', 'Please provide a valid email address!': ! 'Please provide a valid email address!', '''Sorry, someone else saved the page while you edited it. --- 105,124 ---- "Found no account matching the given email address '%(email)s'!": ! "??????????email???????? '%(email)s' ????????????????????????????????????!", 'NONE': ! '????', 'No differences found!': ! '??????????????????????????!', 'No older revisions available!': ! '????????????????????!', 'No spelling errors found!': ! '????????????????????????????!', 'Please provide a valid email address!': ! '??????email??????????????????????????!', '''Sorry, someone else saved the page while you edited it. *************** *** 146,150 **** 'Unsupported upload action: %s': ! 'Unsupported upload action: %s', 'User preferences saved!': --- 146,150 ---- 'Unsupported upload action: %s': ! '??????????????????????????????????????????: %s', 'User preferences saved!': *************** *** 152,162 **** 'You are already subscribed to this page.': ! 'You are already subscribed to this page.', 'You are not allowed to delete attachments.': ! 'You are not allowed to delete attachments.', 'You are not allowed to upload files.': ! 'You are not allowed to upload files.', 'You cannot save empty pages.': --- 152,162 ---- 'You are already subscribed to this page.': ! '????????????????????????????????????????', 'You are not allowed to delete attachments.': ! '??????????????????????????????????????????????????', 'You are not allowed to upload files.': ! '????????????????????????????????????????????????????', 'You cannot save empty pages.': *************** *** 164,171 **** 'You cannot use LikePages on an extended pagename!': ! 'You cannot use LikePages on an extended pagename!', 'You have been subscribed to this page.': ! 'You have been subscribed to this page.', '''
    --- 164,171 ---- 'You cannot use LikePages on an extended pagename!': ! '??????????????????LikePages????????????!', 'You have been subscribed to this page.': ! '????????????????????????????????????', '''
    *************** *** 174,183 **** ''': '''
    ! To unsubscribe, go to your profile and delete this page ! from the subscription list. ''', '

    Attached Files

    ': ! '

    Attached Files

    ', """
    --- 174,182 ---- ''': '''
    ! ???????????????????????????????????????????????????????????????????????????????????????????? ''', '

    Attached Files

    ': ! '

    ??????????????????????

    ', """
    *************** *** 217,224 **** macro call.

    ''': ! '''

    If you submit this form, the submitted values will be displayed. ! To use this form on other pages, insert a

        [[Form("%(pagename)s")]]

    ! macro call.

    ''', --- 216,223 ---- macro call.

    ''': ! '''

    ?????????????????????????????????????????????????????? ! ????????????????????????????????????

        [[Form("%(pagename)s")]]

    ! ????????????????????????????

    ''', *************** *** 230,234 **** 'Add "Open in new window" icon to pretty links': ! 'Add "Open in new window" icon to pretty links', 'Add checked words to dictionary': --- 229,233 ---- 'Add "Open in new window" icon to pretty links': ! 'pretty link?? "??????????????????????" icon??????????', 'Add checked words to dictionary': *************** *** 236,240 **** 'Add spaces to displayed wiki names': ! 'Add spaces to displayed wiki names', 'Additions are marked like this.': --- 235,239 ---- 'Add spaces to displayed wiki names': ! '??????????wiki name????????????????', 'Additions are marked like this.': *************** *** 245,252 **** 'Attachments for "%(pagename)s"': ! 'Attachments for "%(pagename)s"', "Bad timestamp '%s'": ! "Bad timestamp '%s'", 'CSS URL': --- 244,251 ---- 'Attachments for "%(pagename)s"': ! '"%(pagename)s ????????????????"', "Bad timestamp '%s'": ! "?????????? '%s'", 'CSS URL': *************** *** 257,264 **** 'Cancel': ! 'Cancel', 'Check Spelling': ! 'Check Spelling', 'Clear message': --- 256,263 ---- 'Cancel': ! '????', 'Check Spelling': ! '??????????', 'Clear message': *************** *** 269,273 **** 'Comment': ! 'Comment', 'Create this page': --- 268,272 ---- 'Comment': ! '????????', 'Create this page': *************** *** 293,297 **** 'Download XML export of this wiki': ! 'Download XML export of this wiki', "ERROR in regex '%s'": --- 292,296 ---- 'Download XML export of this wiki': ! '????wiki??XML export??????????????????', "ERROR in regex '%s'": *************** *** 299,306 **** 'Edit "%(pagename)s"': ! 'Edit "%(pagename)s"', 'Edit was cancelled.': ! 'Edit was cancelled.', 'EditText': --- 298,305 ---- 'Edit "%(pagename)s"': ! '"%(pagename)s"??????', 'Edit was cancelled.': ! '????????????????????????', 'EditText': *************** *** 317,330 **** 'Entries in edit log': ! 'Entries in edit log', 'Expected "=" to follow "%(token)s"': ! 'Expected "=" to follow "%(token)s"', 'Expected a value for key "%(token)s"': ! 'Expected a value for key "%(token)s"', 'File to upload': ! 'File to upload', 'FindPage': --- 316,329 ---- 'Entries in edit log': ! '????????????????????????', 'Expected "=" to follow "%(token)s"': ! '"%(token)s" ??????"="????????????', 'Expected a value for key "%(token)s"': ! '"%(token)s" ????????????????????', 'File to upload': ! '????????????????????????', 'FindPage': *************** *** 335,348 **** 'General Information': ! 'General Information', 'General options': ! 'General options', 'Global extension actions': ! 'Global extension actions', 'Global extension macros': ! 'Global extension macros', 'Info for "%s"': --- 334,347 ---- 'General Information': ! '????????????', 'General options': ! '??????????????????', 'Global extension actions': ! '????????????????????????', 'Global extension macros': ! '????????????????????', 'Info for "%s"': *************** *** 359,369 **** 'Local Site Map for "%s"': ! 'Local Site Map for "%s"', 'Local extension actions': ! 'Local extension actions', 'Local extension macros': ! 'Local extension macros', 'LocalSpellingWords': --- 358,368 ---- 'Local Site Map for "%s"': ! '"%s"??????????????????????', 'Local extension actions': ! '??????????????????????', 'Local extension macros': ! '??????????????????', 'LocalSpellingWords': *************** *** 371,378 **** 'MIME Type (optional)': ! 'MIME Type (optional)', 'Mail sent OK': ! 'Mail sent OK', 'MoinMoin Version': --- 370,377 ---- 'MIME Type (optional)': ! 'MIME?????? (????)', 'Mail sent OK': ! '??????????????????????????', 'MoinMoin Version': *************** *** 389,393 **** 'No attachments stored for %(pagename)s': ! 'No attachments stored for %(pagename)s', 'No orphaned pages in this wiki.': --- 388,392 ---- 'No attachments stored for %(pagename)s': ! '%(pagename)s ????????????????????????????????', 'No orphaned pages in this wiki.': *************** *** 401,405 **** 'Nobody subscribed to this page, no mail sent.': ! 'Nobody subscribed to this page, no mail sent.', 'Number of backup versions': --- 400,404 ---- 'Nobody subscribed to this page, no mail sent.': ! '????????????????????????????????????????????????????????????', 'Number of backup versions': *************** *** 410,417 **** 'Open editor on double click': ! 'Open editor on double click', 'Optional comment about this change': ! 'Optional comment about this change', 'Or try one of these actions: ': --- 409,416 ---- 'Open editor on double click': ! '????????????????????????????????', 'Optional comment about this change': ! '??????????????????????????', 'Or try one of these actions: ': *************** *** 431,438 **** 'Preview': ! 'Preview', 'Preview of "%(pagename)s"': ! 'Preview of "%(pagename)s"', 'Python Version': --- 430,437 ---- 'Preview': ! '??????????', 'Preview of "%(pagename)s"': ! '"%(pagename)s"????????????', 'Python Version': *************** *** 455,459 **** 'Remember last page visited': ! 'Remember last page visited', 'Remove trailing whitespace from each line': --- 454,458 ---- 'Remember last page visited': ! '??????????????????????????', 'Remove trailing whitespace from each line': *************** *** 461,465 **** 'Rename to (optional)': ! 'Rename to (optional)', 'Revision History': --- 460,464 ---- 'Rename to (optional)': ! '?????????? (????)', 'Revision History': *************** *** 470,474 **** 'Send mail notification': ! 'Send mail notification', 'Server time is': --- 469,473 ---- 'Send mail notification': ! '????????????????', 'Server time is': *************** *** 476,498 **** 'Show emoticons': ! 'Show emoticons', 'Show fancy diffs': ! 'Show fancy diffs', 'Show fancy links': ! 'Show fancy links', 'Show icon toolbar': ! 'Show icon toolbar', 'Show page trail': ! 'Show page trail', 'Show question mark for non-existing pagelinks': ! 'Show question mark for non-existing pagelinks', 'Show top/bottom links in headings': ! 'Show top/bottom links in headings', 'ShowText': --- 475,497 ---- 'Show emoticons': ! 'emoticon??????????', 'Show fancy diffs': ! 'fancy diff??????????', 'Show fancy links': ! 'fancy link??????????', 'Show icon toolbar': ! '????????????????????????????', 'Show page trail': ! '????????????????????????', 'Show question mark for non-existing pagelinks': ! '??????????????????????????????????????????????????????', 'Show top/bottom links in headings': ! '??????????/????????????????????????', 'ShowText': *************** *** 503,516 **** 'Skip to preview': ! 'Skip to preview', 'Submitted form data:': ! 'Submitted form data:', 'Subscribed wiki pages
    (one regex per line)': ! 'Subscribed wiki pages
    (one regex per line)', 'The backupped content of this page is deprecated and will not be included in search results!': ! 'The backupped content of this page is deprecated and will not be included in search results!', 'The following %(badwords)d words could not be found in the dictionary of %(totalwords)d words%(localwords)s and are highlighted below:': --- 502,515 ---- 'Skip to preview': ! '????????????????', 'Submitted form data:': ! '????????????????????????:', 'Subscribed wiki pages
    (one regex per line)': ! '??????????????wiki??????
    (1??????????????????????)', 'The backupped content of this page is deprecated and will not be included in search results!': ! '??????????????deprecated??????????????????????????????????????????????????!', 'The following %(badwords)d words could not be found in the dictionary of %(totalwords)d words%(localwords)s and are highlighted below:': *************** *** 518,528 **** 'The page was saved %(count)d%(times)s, though!': ! 'The page was saved %(count)d%(times)s, though!', 'There are %(count)s attachment(s) stored for this page.': ! 'There are %(count)s attachment(s) stored for this page.', 'This list does not work, unless you have entered a valid email address!': ! 'This list does not work, unless you have entered a valid email address!', 'This page is already deleted or was never created!': --- 517,527 ---- 'The page was saved %(count)d%(times)s, though!': ! '???????????? %(count)d%(times)s ??????????????!', 'There are %(count)s attachment(s) stored for this page.': ! '?????????????? %(count)s ?????????????????? ????????????????????', 'This list does not work, unless you have entered a valid email address!': ! '????????????????????email??????????????????????????????????!', 'This page is already deleted or was never created!': *************** *** 530,534 **** 'This page links to the following pages:
    ': ! 'This page links to the following pages:
    ', 'This page redirects to page "%(page)s"': --- 529,533 ---- 'This page links to the following pages:
    ': ! '??????????????????????????????????????????:
    ', 'This page redirects to page "%(page)s"': *************** *** 554,558 **** 'Version as of %(date)s': ! '%(date)s????????????', 'XML title index': --- 553,557 ---- 'Version as of %(date)s': ! '%(date)s ????????????', 'XML title index': *************** *** 563,567 **** 'Your email address': ! 'Your email address', 'Your time is': --- 562,566 ---- 'Your email address': ! '????????email????????', 'Your time is': *************** *** 575,579 **** '[New window]': ! '[New window]', '[Template %s not found]': --- 574,578 ---- '[New window]': ! '[????????????????]', '[Template %s not found]': From jhermann at users.sourceforge.net Wed Feb 6 11:47:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 11:47:02 2002 Subject: [Moin-devel] CVS: dist/moin.sourceforge.net index.html,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/moin.sourceforge.net In directory usw-pr-cvs1:/tmp/cvs-serv2073 Modified Files: index.html Log Message: Added IRC channel Index: index.html =================================================================== RCS file: /cvsroot/moin/dist/moin.sourceforge.net/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** index.html 2002/01/03 13:29:16 1.2 --- index.html 2002/02/06 19:46:24 1.3 *************** *** 46,49 **** --- 46,54 ---- + IRC channel: +
    +
    #moin@OPN
    +
    + Links:
    From jhermann at users.sourceforge.net Wed Feb 6 14:43:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 14:43:02 2002 Subject: [Moin-devel] CVS: MoinMoin wikiaction.py,1.54,1.55 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv25611 Modified Files: wikiaction.py Log Message: Debugging action "dumpform" Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -r1.54 -r1.55 *** wikiaction.py 2002/02/02 05:39:49 1.54 --- wikiaction.py 2002/02/06 22:42:09 1.55 *************** *** 526,529 **** --- 526,539 ---- + def do_dumpform(pagename, form): + data = util.dumpFormData(form) + + webapi.http_headers() + print "" + print data + print "" + sys.exit(0) + + def do_export(pagename, form): import shutil, cStringIO From jhermann at users.sourceforge.net Wed Feb 6 15:16:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 15:16:03 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.76,1.77 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv2583 Modified Files: wiki.py Log Message: Reduce magic strings to fewer places Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -r1.76 -r1.77 *** wiki.py 2002/02/05 23:32:29 1.76 --- wiki.py 2002/02/06 23:15:17 1.77 *************** *** 31,37 **** # some common strings punct_pattern = re.escape('''"'}]|:,.)?!''') ! url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file' + ! '|attachment|inline' + (config.url_schemas and '|' + string.join(config.url_schemas, '|') or '')) --- 31,38 ---- # some common strings + attachment_schemas = ["attachment", "inline"] punct_pattern = re.escape('''"'}]|:,.)?!''') ! url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file|' + ! string.join(attachment_schemas, '|') + (config.url_schemas and '|' + string.join(config.url_schemas, '|') or '')) *************** *** 174,178 **** def attachment(self, url_and_text, **kw): ! """ This gets called on "attachment:" or "inline:" URLs. """ self._check_p() --- 175,179 ---- def attachment(self, url_and_text, **kw): ! """ This gets called on attachment URLs. """ self._check_p() *************** *** 323,329 **** """Handle literal URLs including inline images.""" self._check_p() ! if word[:5] == "wiki:": return self.interwiki([word]) ! if word[:11] == "attachment:": return self.attachment([word]) ! if word[:7] == "inline:": return self.attachment([word]) return self.formatter.url(word, text=self.highlight_text(word)) --- 324,333 ---- """Handle literal URLs including inline images.""" self._check_p() ! scheme = string.split(words[0], ":", 1)[0] ! ! if scheme == "wiki": return self.interwiki([word]) ! if scheme in attachment_schemas: ! return self.attachment([word]) ! return self.formatter.url(word, text=self.highlight_text(word)) *************** *** 346,351 **** scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) ! if scheme == "attachment": return self.attachment(words, pretty_url=1) ! if scheme == "inline": return self.attachment(words, pretty_url=1) icon = ("www", 11, 11) --- 350,355 ---- scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) ! if scheme in attachment_schemas: ! return self.attachment(words, pretty_url=1) icon = ("www", 11, 11) From jhermann at users.sourceforge.net Wed Feb 6 16:51:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 16:51:05 2002 Subject: [Moin-devel] CVS: dist/wiki/htdocs/applets - New directory Message-ID: Update of /cvsroot/moin/dist/wiki/htdocs/applets In directory usw-pr-cvs1:/tmp/cvs-serv24609/applets Log Message: Directory /cvsroot/moin/dist/wiki/htdocs/applets added to the repository From jhermann at users.sourceforge.net Wed Feb 6 16:52:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 16:52:02 2002 Subject: [Moin-devel] CVS: dist/wiki/htdocs/applets/TWikiDrawPlugin - New directory Message-ID: Update of /cvsroot/moin/dist/wiki/htdocs/applets/TWikiDrawPlugin In directory usw-pr-cvs1:/tmp/cvs-serv24695/TWikiDrawPlugin Log Message: Directory /cvsroot/moin/dist/wiki/htdocs/applets/TWikiDrawPlugin added to the repository From jhermann at users.sourceforge.net Wed Feb 6 17:04:21 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:21 2002 Subject: [Moin-devel] CVS: MoinMoin cgimain.py,1.42,1.43 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv27418/MoinMoin Modified Files: cgimain.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: cgimain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/cgimain.py,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -r1.42 -r1.43 *** cgimain.py 2002/01/26 14:18:59 1.42 --- cgimain.py 2002/02/07 01:03:32 1.43 *************** *** 151,154 **** --- 151,159 ---- pass + if request.form.has_key('filepath') and request.form.has_key('noredirect'): + # looks like user wants to save a drawing + from MoinMoin.action.AttachFile import execute + execute(pagename, request.form) + sys.exit(0) if action: handler = wikiaction.getHandler(action) From jhermann at users.sourceforge.net Wed Feb 6 17:04:22 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:22 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.67,1.68 README,1.3,1.4 setup.py,1.14,1.15 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv27418 Modified Files: CHANGES README setup.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -r1.67 -r1.68 *** CHANGES 2002/02/06 01:09:32 1.67 --- CHANGES 2002/02/07 01:03:32 1.68 *************** *** 33,37 **** (malicious uploads), by adding this to your moin_config: allowed_actions = ['AttachFile'] ! * "attachment:" URL schema allows access to attachments, to get files from other pages use "attachment:WikiName/filename.ext". * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to --- 33,37 ---- (malicious uploads), by adding this to your moin_config: allowed_actions = ['AttachFile'] ! * "attachment:" URL scheme allows access to attachments, to get files from other pages use "attachment:WikiName/filename.ext". * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to *************** *** 113,116 **** --- 113,119 ---- inline the content of the attachment into the page; currently knows about "*.py" sources and colorizes them + * support for Java applet "TWikiDrawPlugin" via + drawing: URL scheme (you need to activate + the AttachFile action if you want drawings) Unfinished features: Index: README =================================================================== RCS file: /cvsroot/moin/dist/README,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** README 2001/11/29 20:02:41 1.3 --- README 2002/02/07 01:03:32 1.4 *************** *** 70,75 **** --- 70,81 ---- code. + Peter Thoeny and all other people involved in creating TWikiDrawPlugin; + for copyright information on TWikiDrawPlugin see below; for more + information and a download link to get the source refer to + http://twiki.org/cgi-bin/view/TWiki/TWikiDrawPlugin + And all the people I forgot or that are mentioned in the code. + ----------------------------------------------------------------------------- *************** *** 94,95 **** --- 100,139 ---- The PikiPiki homepage is at http://www.linuxcare.com.au/mbp/piki/. + + + ----------------------------------------------------------------------------- + + TWikiDraw is based on Erich Gamma's JHotDraw 5.1. (JHotDraw is copyright + 1996, 1997 by IFA Informatik and Erich Gamma, + erich_gamma at acmSPAMBLOCK.org . It is hereby granted that this software + can be used, copied, modified, and distributed without fee provided that + this copyright notice appears in all copies. ) + + TWikiDraw uses ACME Labs' GifEncoder to convert a drawing into a GIF + file format. (GifEncoder is Copyright (C)1996,1998 by Jef Poskanzer, + jef at acmeSPAMBLOCK.com . All rights reserved. THIS SOFTWARE IS PROVIDED + BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE.) + + TWikiDraw uses some ideas of KmWiki drawing applet. + + TWikiDraw: Copyright 2000 by Peter Thoeny, Peter at ThoenySPAMBLOCK.com. It + is hereby granted that this software can be used, copied, modified, and + distributed without fee provided that this copyright notice appears in + all copies. + + Modifications Copyright (C) 2001 Motorola. All Rights Reserved. + + PeterThoeny created TWikiDraw based on above software + + CrawfordCurrie made a number of improvements. + Index: setup.py =================================================================== RCS file: /cvsroot/moin/dist/setup.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** setup.py 2002/02/01 22:14:51 1.14 --- setup.py 2002/02/07 01:03:32 1.15 *************** *** 177,180 **** --- 177,182 ---- glob.glob('wiki/htdocs/img/*.gif') + glob.glob('wiki/htdocs/img/*.png')), + ('share/moin/htdocs/applets/TWikiDrawPlugin', + glob.glob('wiki/htdocs/applets/TWikiDrawPlugin/*.jar')), ], } From jhermann at users.sourceforge.net Wed Feb 6 17:04:24 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:24 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.22,1.23 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv27418/MoinMoin/action Modified Files: AttachFile.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** AttachFile.py 2002/02/06 00:50:56 1.22 --- AttachFile.py 2002/02/07 01:03:32 1.23 *************** *** 49,60 **** ! def getAttachUrl(pagename, filename): """ Get URL that points to attachment `filename` of page `pagename`. """ if isinstance(config.attachments, type({})): # direct file access via webserver ! return "%s/%s/attachments/%s" % ( config.attachments['url'], wikiutil.quoteFilename(pagename), ! urllib.quote_plus(filename) ) else: # send file via CGI --- 49,71 ---- ! def getAttachUrl(pagename, filename, addts=0): """ Get URL that points to attachment `filename` of page `pagename`. + + If 'addts' is true, a timestamp with the file's modification time + is added, so that browsers reload a changed file. """ if isinstance(config.attachments, type({})): # direct file access via webserver ! timestamp = '' ! if addts: ! try: ! timestamp = '?ts=%s' % os.path.getmtime( ! os.path.join(getAttachDir(pagename), filename)) ! except IOError: ! pass ! ! return "%s/%s/attachments/%s%s" % ( config.attachments['url'], wikiutil.quoteFilename(pagename), ! urllib.quote_plus(filename), timestamp) else: # send file via CGI *************** *** 144,152 **** '?action=%(action)s&do=del&target=%(urlfile)s">del | ' % locals() get_url = getAttachUrl(pagename, file) str = str + ('
  • [%(del_link)s' ! 'get | ' ! 'view] ' ! '(%(fsize)g KB) attachment:%(file)s
  • ') % locals() str = str + "" else: --- 155,168 ---- '?action=%(action)s&do=del&target=%(urlfile)s">del | ' % locals() + base, ext = os.path.splitext(file) get_url = getAttachUrl(pagename, file) + if ext == '.draw': + viewlink = 'edit' % locals() + else: + viewlink = 'view' % locals() + str = str + ('
  • [%(del_link)s' ! 'get | %(viewlink)s]' ! ' (%(fsize)g KB) attachment:%(file)s
  • ') % locals() str = str + "" else: *************** *** 164,167 **** --- 180,208 ---- ############################################################################# + def send_hotdraw(pagename, form): + now = time.time() + pubpath = config.url_prefix + "/applets/TWikiDrawPlugin" + filepath = getAttachUrl(pagename, form['drawing'].value) + pagelink = wikiutil.quoteWikiname(pagename) + "?action=AttachFile&ts=%s" % now + savelink = Page(pagename).url() + #savelink = '/cgi-bin/dumpform.bat' + + print _("

    Edit drawing

    ") + + print """ +

    + + + + + + + + NOTE: You need a Java enabled browser to edit the drawing example. + +

    """ % locals() + + def send_uploadform(pagename, form): """ Send the HTML code for the list of already stored attachments and *************** *** 175,178 **** --- 216,222 ---- return + if form.getvalue('drawing', None): + return send_hotdraw(pagename, form) + print _("""

    New Attachment

    *************** *** 217,220 **** --- 261,268 ---- if action_name in config.excluded_actions: msg = _('File attachments are not allowed in this wiki!') + elif form.has_key('filepath'): + save_drawing(pagename, form) + webapi.http_headers() + print "OK" elif not form.has_key('do'): upload_form(pagename, form) *************** *** 308,311 **** --- 356,384 ---- + def save_drawing(pagename, form): + filename = form['filepath'].filename + content = form['filepath'].value + + basepath, ext = os.path.splitext(filename) + basename = os.path.basename(basepath) + + # check that we get a valid path + if basepath != getAttachUrl(pagename, basename): + # die hard on saver if he cheats + print >>sys.stderr, "save_drawing: tainted path '%s', aborting!" % filename + sys.exit(1) + + if ext == '.draw': + _addLogEntry('ATTDRW', pagename, basename + ext) + + savepath = os.path.join(getAttachDir(pagename), basename + ext) + file = open(savepath, 'wb') + try: + file.write(content) + finally: + file.close() + + + def del_file(pagename, form): filename, fpath = _access_file(pagename, form) *************** *** 352,357 **** if type: if type[:5] == 'image': ! print '%s' % ( ! getAttachUrl(pagename, filename), cgi.escape(filename, 1)) return elif type[:4] == 'text': --- 425,430 ---- if type: if type[:5] == 'image': ! print '%s' % ( ! getAttachUrl(pagename, filename), time.time(), cgi.escape(filename, 1)) return elif type[:4] == 'text': From jhermann at users.sourceforge.net Wed Feb 6 17:04:25 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:25 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.63,1.64 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv27418/MoinMoin/i18n Modified Files: de.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -r1.63 -r1.64 *** de.py 2002/02/06 00:50:57 1.63 --- de.py 2002/02/07 01:03:32 1.64 *************** *** 201,204 **** --- 201,207 ---- "

    Dateianhang '%(filename)s'

    ", + '

    Edit drawing

    ': + '

    Zeichnung editieren

    ', + """
    *************** *** 253,256 **** --- 256,262 ---- da sich diese jederzeit ?ndern kann und damit der Verweis auf die Datei bricht.

    ''', + '

    Unknown file type, cannot display this attachment inline.

    ': + '

    Dieser Anhang besitzt einen unbekannten Dateityp und kann deshalb nicht direkt angezeigt werden.

    ', + '[goto %s]': '[gehe zu %s]', *************** *** 307,310 **** --- 313,319 ---- 'Kommentar', + 'Create new drawing "%(filename)s"': + 'Neue Zeichnung "%(filename)s" anlegen', + 'Create this page': 'Seite anlegen', *************** *** 330,333 **** --- 339,345 ---- 'Download XML export of this wiki': 'XML-Export des Wiki-Inhalts auf den eigenen Rechner laden', + + "Drawing '%(filename)s' saved.": + "Zeichnung '%(filename)s' wurde gesichert.", "ERROR in regex '%s'": From jhermann at users.sourceforge.net Wed Feb 6 17:04:26 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:26 2002 Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.51,1.52 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv27418/MoinMoin/macro Modified Files: RecentChanges.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: RecentChanges.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** RecentChanges.py 2002/02/06 00:50:57 1.51 --- RecentChanges.py 2002/02/07 01:03:32 1.52 *************** *** 231,234 **** --- 231,236 ---- elif self.action == 'ATTDEL': comment = _("Attachment '%(filename)s' deleted.") % locals() + elif self.action == 'ATTDRW': + comment = _("Drawing '%(filename)s' saved.") % locals() self.changes[thispage].append((self.getEditor(), comment)) # peek for the next one From jhermann at users.sourceforge.net Wed Feb 6 17:04:28 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:04:28 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.77,1.78 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv27418/MoinMoin/parser Modified Files: wiki.py Log Message: Added TWikiDrawPlugin support, which freaking rocks Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -r1.77 -r1.78 *** wiki.py 2002/02/06 23:15:17 1.77 --- wiki.py 2002/02/07 01:03:32 1.78 *************** *** 31,35 **** # some common strings ! attachment_schemas = ["attachment", "inline"] punct_pattern = re.escape('''"'}]|:,.)?!''') url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file|' + --- 31,35 ---- # some common strings ! attachment_schemas = ["attachment", "inline", "drawing"] punct_pattern = re.escape('''"'}]|:,.)?!''') url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file|' + *************** *** 186,193 **** inline = url[0] == 'i' ! if inline: ! url = url[7:] # remove "inline:" ! else: ! url = url[11:] # remove "attachment:" text = text or url --- 186,191 ---- inline = url[0] == 'i' ! drawing = url[0] == 'd' ! url = string.split(url, ":", 1)[1] text = text or url *************** *** 202,213 **** from MoinMoin.action import AttachFile fname = wikiutil.taintfilename(url) fpath = os.path.join(AttachFile.getAttachDir(pagename), fname) # check whether attachment exists, possibly point to upload form if not os.path.exists(fpath): return wikiutil.link_tag( ! '%s?action=AttachFile&rename=%s' % ( ! wikiutil.quoteWikiname(pagename), urllib.quote_plus(fname)), ! _('Upload new attachment "%(filename)s"') % {'filename': fname}) # check for image URL, and possibly return IMG tag --- 200,221 ---- from MoinMoin.action import AttachFile fname = wikiutil.taintfilename(url) + if drawing: + drawing = fname + fname = fname + ".gif" + url = url + ".gif" fpath = os.path.join(AttachFile.getAttachDir(pagename), fname) # check whether attachment exists, possibly point to upload form if not os.path.exists(fpath): + if drawing: + linktext = _('Create new drawing "%(filename)s"') + else: + linktext = _('Upload new attachment "%(filename)s"') return wikiutil.link_tag( ! '%s?action=AttachFile&rename=%s%s' % ( ! wikiutil.quoteWikiname(pagename), ! urllib.quote_plus(fname), ! drawing and ('&drawing=%s' % urllib.quote(drawing)) or ''), ! linktext % {'filename': fname}) # check for image URL, and possibly return IMG tag *************** *** 215,219 **** if not kw.get('pretty_url', 0) and wikiutil.isPicture(url): return self.formatter.image(border=0, alt=url, ! src=AttachFile.getAttachUrl(pagename, url)) # try to inline the attachment (we only accept a list --- 223,227 ---- if not kw.get('pretty_url', 0) and wikiutil.isPicture(url): return self.formatter.image(border=0, alt=url, ! src=AttachFile.getAttachUrl(pagename, url, addts=1)) # try to inline the attachment (we only accept a list *************** *** 324,331 **** """Handle literal URLs including inline images.""" self._check_p() ! scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki([word]) ! if scheme in attachment_schemas: return self.attachment([word]) --- 332,339 ---- """Handle literal URLs including inline images.""" self._check_p() ! scheme = string.split(word, ":", 1)[0] if scheme == "wiki": return self.interwiki([word]) ! if scheme in self.attachment_schemas: return self.attachment([word]) *************** *** 350,354 **** scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) ! if scheme in attachment_schemas: return self.attachment(words, pretty_url=1) --- 358,362 ---- scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) ! if scheme in self.attachment_schemas: return self.attachment(words, pretty_url=1) From jhermann at users.sourceforge.net Wed Feb 6 17:21:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 6 17:21:02 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.23,1.24 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv31968 Modified Files: AttachFile.py Log Message: Bugfix: need to create dir when saving a drawing as first attachment Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** AttachFile.py 2002/02/07 01:03:32 1.23 --- AttachFile.py 2002/02/07 01:20:02 1.24 *************** *** 369,372 **** --- 369,377 ---- sys.exit(1) + # get directory, and possibly create it + attach_dir = getAttachDir(pagename) + if not os.path.isdir(attach_dir): + os.makedirs(attach_dir, 0777 & config.umask) + if ext == '.draw': _addLogEntry('ATTDRW', pagename, basename + ext) From jhermann at users.sourceforge.net Thu Feb 7 03:38:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 7 03:38:04 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.24,1.25 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv10272/action Modified Files: AttachFile.py Log Message: Adapted drawing support to CGI-based attachment access Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** AttachFile.py 7 Feb 2002 01:20:02 -0000 1.24 --- AttachFile.py 7 Feb 2002 11:37:34 -0000 1.25 *************** *** 26,34 **** import cgi, os, mimetypes, string, sys, time, urllib ! from MoinMoin import config, user, wikiutil, webapi from MoinMoin.Page import Page from MoinMoin.i18n import _ action_name = string.split(__name__, '.')[-1] --- 26,35 ---- import cgi, os, mimetypes, string, sys, time, urllib ! from MoinMoin import config, user, util, wikiutil, webapi from MoinMoin.Page import Page from MoinMoin.i18n import _ action_name = string.split(__name__, '.')[-1] + htdocs_access = isinstance(config.attachments, type({})) *************** *** 41,45 **** """ pagename = wikiutil.quoteFilename(pagename) ! if isinstance(config.attachments, type({})): # direct file access via webserver, from public htdocs area return os.path.join(config.attachments['dir'], pagename, "attachments") --- 42,46 ---- """ pagename = wikiutil.quoteFilename(pagename) ! if htdocs_access: # direct file access via webserver, from public htdocs area return os.path.join(config.attachments['dir'], pagename, "attachments") *************** *** 55,59 **** is added, so that browsers reload a changed file. """ ! if isinstance(config.attachments, type({})): # direct file access via webserver timestamp = '' --- 56,60 ---- is added, so that browsers reload a changed file. """ ! if htdocs_access: # direct file access via webserver timestamp = '' *************** *** 183,200 **** now = time.time() pubpath = config.url_prefix + "/applets/TWikiDrawPlugin" ! filepath = getAttachUrl(pagename, form['drawing'].value) pagelink = wikiutil.quoteWikiname(pagename) + "?action=AttachFile&ts=%s" % now savelink = Page(pagename).url() #savelink = '/cgi-bin/dumpform.bat' ! print _("

    Edit drawing

    ") print """

    ! ! ! --- 184,206 ---- now = time.time() pubpath = config.url_prefix + "/applets/TWikiDrawPlugin" ! drawpath = getAttachUrl(pagename, form['drawing'].value + '.draw') ! gifpath = getAttachUrl(pagename, form['drawing'].value + '.gif') pagelink = wikiutil.quoteWikiname(pagename) + "?action=AttachFile&ts=%s" % now savelink = Page(pagename).url() #savelink = '/cgi-bin/dumpform.bat' ! if htdocs_access: ! timestamp = '?ts=%s' % now ! else: ! timestamp = '&ts=%s' % now + print _("

    Edit drawing

    ") print """

    ! ! ! *************** *** 360,371 **** content = form['filepath'].value ! basepath, ext = os.path.splitext(filename) ! basename = os.path.basename(basepath) ! # check that we get a valid path ! if basepath != getAttachUrl(pagename, basename): ! # die hard on saver if he cheats ! print >>sys.stderr, "save_drawing: tainted path '%s', aborting!" % filename ! sys.exit(1) # get directory, and possibly create it --- 366,386 ---- content = form['filepath'].value ! if htdocs_access: ! basepath, ext = os.path.splitext(filename) ! basename = os.path.basename(basepath) ! ! # check that we get a valid path ! if basepath != getAttachUrl(pagename, basename): ! # die hard on saver if he cheats ! print >>sys.stderr, "save_drawing: tainted path '%s', aborting!" % filename ! sys.exit(1) ! else: ! # get file information from URL-like filename ! import urlparse ! parts = urlparse.urlparse(filename) ! args = util.parseQueryString(parts[4]) ! basename, ext = os.path.splitext(wikiutil.taintfilename(args['target'])) ! basepath = getAttachUrl(pagename, basename) # get directory, and possibly create it *************** *** 430,435 **** if type: if type[:5] == 'image': ! print '%s' % ( ! getAttachUrl(pagename, filename), time.time(), cgi.escape(filename, 1)) return elif type[:4] == 'text': --- 445,451 ---- if type: if type[:5] == 'image': ! timestamp = htdocs_access and "?%s" % time.time() or '' ! print '%s' % ( ! getAttachUrl(pagename, filename), timestamp, cgi.escape(filename, 1)) return elif type[:4] == 'text': From jhermann at users.sourceforge.net Thu Feb 7 03:38:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 7 03:38:06 2002 Subject: [Moin-devel] CVS: MoinMoin eventlog.py,1.4,1.5 util.py,1.34,1.35 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv10272 Modified Files: eventlog.py util.py Log Message: Adapted drawing support to CGI-based attachment access Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** eventlog.py 6 Feb 2002 10:42:20 -0000 1.4 --- eventlog.py 7 Feb 2002 11:37:34 -0000 1.5 *************** *** 14,18 **** # Imports import os, string, time, urllib ! from MoinMoin import config --- 14,18 ---- # Imports import os, string, time, urllib ! from MoinMoin import config, util *************** *** 62,71 **** time, eventtype, kvpairs = string.split(string.rstrip(event), '\t') if filter and eventtype not in filter: continue ! values = {} ! pairs = string.split(kvpairs, '&') ! for pair in pairs: ! key, val = string.split(pair, '=') ! values[urllib.unquote(key)] = urllib.unquote(val) ! data.append((float(time), eventtype, values)) return data --- 62,66 ---- time, eventtype, kvpairs = string.split(string.rstrip(event), '\t') if filter and eventtype not in filter: continue ! data.append((float(time), eventtype, util.parseQueryString(kvpairs))) return data Index: util.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/util.py,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -r1.34 -r1.35 *** util.py 31 Jan 2002 21:31:22 -0000 1.34 --- util.py 7 Feb 2002 11:37:34 -0000 1.35 *************** *** 199,200 **** --- 199,213 ---- return result + + def parseQueryString(qstr): + """ Parse a querystring "key=value&..." into a dict. + """ + import urllib + + values = {} + pairs = string.split(qstr, '&') + for pair in pairs: + key, val = string.split(pair, '=') + values[urllib.unquote(key)] = urllib.unquote(val) + + return values From jhermann at users.sourceforge.net Thu Feb 7 03:57:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 7 03:57:02 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.53,1.54 eventlog.py,1.5,1.6 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv15818 Modified Files: config.py eventlog.py Log Message: Don't log spider accesses Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -r1.53 -r1.54 *** config.py 2 Feb 2002 01:03:47 -0000 1.53 --- config.py 7 Feb 2002 11:56:15 -0000 1.54 *************** *** 173,176 **** --- 173,177 ---- 'title2': '
    ', 'trail_size': 5, + 'ua_spiders': 'htdig', # a regex of HTTP_USER_AGENTS that should be excluded from logging 'umask': 0777, 'upperletters': 'A-Z\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xc7\xd0\xd1\xde', Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** eventlog.py 7 Feb 2002 11:37:34 -0000 1.5 --- eventlog.py 7 Feb 2002 11:56:15 -0000 1.6 *************** *** 27,30 **** --- 27,34 ---- def __init__(self): self._logfile = None + self._ua_match = None + if config.ua_spiders: + import re + self._ua_match = re.compile(config.ua_spiders) def _write(self, data): *************** *** 38,41 **** --- 42,48 ---- pairs appended (i.e. you have to pass a dict). """ + if self._ua_match and self._ua_match.search(os.environ.get('HTTP_USER_AGENT', '')): + return + kvlist = values.items() if add_http_info: From jhermann at users.sourceforge.net Fri Feb 8 13:03:18 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 13:03:18 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.101,1.102 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv21173 Modified Files: Page.py Log Message: Create backup dir on page save Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.101 retrieving revision 1.102 diff -C2 -r1.101 -r1.102 *** Page.py 5 Feb 2002 00:29:52 -0000 1.101 --- Page.py 8 Feb 2002 21:02:19 -0000 1.102 *************** *** 743,747 **** page_filename = self._text_filename() ! if os.path.isdir(config.backup_dir) and os.path.isfile(page_filename) \ and not is_deprecated: os.rename(page_filename, os.path.join(config.backup_dir, --- 743,750 ---- page_filename = self._text_filename() ! if not os.path.isdir(config.backup_dir): ! os.mkdir(config.backup_dir, 0777 & config.umask) ! ! if os.path.isfile(page_filename) \ and not is_deprecated: os.rename(page_filename, os.path.join(config.backup_dir, From jhermann at users.sourceforge.net Fri Feb 8 16:44:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 16:44:01 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text EventStats,NONE,1.1 EventStats_2fHitCounts,NONE,1.1 EventStats_2fUserAgents,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv12374/wiki/data/text Added Files: EventStats EventStats_2fHitCounts EventStats_2fUserAgents Log Message: User-Agent chart --- NEW FILE: EventStats --- The following charts are based on the data in the event log: * /HitCounts * /UserAgents --- NEW FILE: EventStats_2fHitCounts --- [[StatsChart(hitcounts)]] --- NEW FILE: EventStats_2fUserAgents --- [[StatsChart(useragents)]] From jhermann at users.sourceforge.net Fri Feb 8 16:44:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 16:44:03 2002 Subject: [Moin-devel] CVS: MoinMoin/stats useragents.py,NONE,1.1 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv12374/MoinMoin/stats Added Files: useragents.py Log Message: User-Agent chart --- NEW FILE: useragents.py --- """ MoinMoin - User-Agent Statistics Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. This macro creates a pie chart of the type of user agents accessing the wiki. $Id: useragents.py,v 1.1 2002/02/09 00:42:52 jhermann Exp $ """ _debug = 0 import string from MoinMoin import config, wikiutil from MoinMoin.Page import Page from MoinMoin.i18n import _ def linkto(pagename, params=''): if not config.chart_options: return _('
    Charts are not available!
    ') if _debug: return draw(pagename, {}) page = Page(pagename) result = [] data = { 'url': page.url("action=chart&type=useragents"), } data.update(config.chart_options) result.append('' % data) return string.join(result, '') def draw(pagename, form): import cgi, sys, shutil, cStringIO, operator from MoinMoin import config, webapi, eventlog from MoinMoin.stats.chart import Chart, ChartData, Color style = Chart.GDC_3DPIE # get data colors = ['red', 'mediumblue', 'yellow', 'deeppink', 'aquamarine', 'purple', 'beige', 'blue', 'forestgreen', 'orange', 'cyan', 'fuchsia', 'lime'] colors = ([Color(c) for c in colors]) data = {} logdata = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE']) for event in logdata: ua = event[2].get('HTTP_USER_AGENT') if ua: pos = ua.find(" (compatible; ") if pos >= 0: ua = ua[pos:].split(';')[1].strip() else: ua = ua.split()[0] #ua = ua.replace(';', '\n') data[ua] = data.get(ua, 0) + 1 data = [(cnt, ua) for ua, cnt in data.items()] data.sort() data.reverse() maxdata = len(colors) - 1 if len(data) > maxdata: others = [x[0] for x in data[maxdata:]] data = data[:maxdata] + [(reduce(operator.add, others, 0), _('Others'))] labels = [x[1] for x in data] data = [x[0] for x in data] # give us a chance to develop this if _debug: return "

    data = %s

    " % \ string.join(map(cgi.escape, map(repr, [labels, data])), '
    ') # create image image = cStringIO.StringIO() c = Chart() c.addData(data) title = '' if config.sitename: title = "%s: " % config.sitename title = title + _('Distribution of User-Agent Types') c.option( pie_color = colors, label_font = Chart.GDC_SMALL, label_line = 1, label_dist = 20, threed_depth = 20, threed_angle = 225, percent_labels = Chart.GDCPIE_PCT_RIGHT, title_font = c.GDC_GIANT, title = title) c.draw(style, (config.chart_options['width'], config.chart_options['height']), image, labels) # send HTTP headers headers = [ "Content-Type: image/gif", "Content-Length: %d" % len(image.getvalue()), ] webapi.http_headers(headers) # copy the image image.reset() shutil.copyfileobj(image, sys.stdout, 8192) sys.exit(0) From jhermann at users.sourceforge.net Fri Feb 8 16:44:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 16:44:03 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.64,1.65 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv12374/MoinMoin/i18n Modified Files: de.py Log Message: User-Agent chart Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -r1.64 -r1.65 *** de.py 7 Feb 2002 01:03:32 -0000 1.64 --- de.py 9 Feb 2002 00:42:52 -0000 1.65 *************** *** 337,340 **** --- 337,343 ---- '?nderungen von "%s"', + 'Distribution of User-Agent Types': + 'Verteilung der Zugriffe auf Browsertypen', + 'Download XML export of this wiki': 'XML-Export des Wiki-Inhalts auf den eigenen Rechner laden', *************** *** 474,477 **** --- 477,483 ---- 'Or try one of these actions: ': 'Oder benutze eine dieser Aktionen: ', + + 'Others': + 'Sonstige', 'Page "%s" was sucessfully deleted!': From jhermann at users.sourceforge.net Fri Feb 8 16:45:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 16:45:02 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.68,1.69 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv12374 Modified Files: CHANGES Log Message: User-Agent chart Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -r1.68 -r1.69 *** CHANGES 7 Feb 2002 01:03:32 -0000 1.68 --- CHANGES 9 Feb 2002 00:42:52 -0000 1.69 *************** *** 109,113 **** a complete list * [[StatsChart(type)]] shows statistical charts (currently ! defined types: hitcounts, pagesize) * 'inline:' scheme works like 'attachment:', but tries to inline the content of the attachment into the page; --- 109,113 ---- a complete list * [[StatsChart(type)]] shows statistical charts (currently ! defined types: hitcounts, pagesize, useragents) * 'inline:' scheme works like 'attachment:', but tries to inline the content of the attachment into the page; From jhermann at users.sourceforge.net Fri Feb 8 17:01:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 8 17:01:03 2002 Subject: [Moin-devel] CVS: MoinMoin/stats useragents.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/stats In directory usw-pr-cvs1:/tmp/cvs-serv14860/stats Modified Files: useragents.py Log Message: Improve chart if "others" is small Index: useragents.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/stats/useragents.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** useragents.py 9 Feb 2002 00:42:52 -0000 1.1 --- useragents.py 9 Feb 2002 00:55:29 -0000 1.2 *************** *** 68,71 **** --- 68,75 ---- data = data[:maxdata] + [(reduce(operator.add, others, 0), _('Others'))] + # shift front to end if others is very small + if data[-1][0] * 10 < data[0][0]: + data = data[1:] + data[0:1] + labels = [x[1] for x in data] data = [x[0] for x in data] From jhermann at users.sourceforge.net Sat Feb 9 08:37:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 9 08:37:02 2002 Subject: [Moin-devel] CVS: dist MANIFEST.in,1.8,1.9 README,1.4,1.5 INSTALL.IIS,1.1,NONE Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv6057 Modified Files: MANIFEST.in README Removed Files: INSTALL.IIS Log Message: Removed INSTALL.IIS in favour of HelpOnInstalling/InternetInformationServer Index: MANIFEST.in =================================================================== RCS file: /cvsroot/moin/dist/MANIFEST.in,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** MANIFEST.in 4 Dec 2001 03:57:46 -0000 1.8 --- MANIFEST.in 9 Feb 2002 16:36:39 -0000 1.9 *************** *** 6,10 **** # $Id$ ! include CHANGES COPYING ChangeLog INSTALL INSTALL.IIS README TODO include MANIFEST.in moinlogo.bmp setup.cfg --- 6,10 ---- # $Id$ ! include CHANGES COPYING ChangeLog INSTALL README TODO include MANIFEST.in moinlogo.bmp setup.cfg Index: README =================================================================== RCS file: /cvsroot/moin/dist/README,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** README 7 Feb 2002 01:03:32 -0000 1.4 --- README 9 Feb 2002 16:36:39 -0000 1.5 *************** *** 27,31 **** See INSTALL for installation instructions. - See INSTALL.IIS for how to set up MoinMoin on Win2K/IIS. See CHANGES for a version history. See contributions/README for user-supplied extensions. --- 27,30 ---- --- INSTALL.IIS DELETED --- From jhermann at users.sourceforge.net Sat Feb 9 08:40:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sat Feb 9 08:40:04 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.69,1.70 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv6898 Modified Files: CHANGES Log Message: Note on 1.5.2 Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -r1.69 -r1.70 *** CHANGES 9 Feb 2002 00:42:52 -0000 1.69 --- CHANGES 9 Feb 2002 16:39:43 -0000 1.70 *************** *** 21,24 **** --- 21,28 ---- This is (hopefully) automatically detected on every installation. + Statistical features are NOT designed to work with Python 1.5.2 and + require Python 2.0 or higher. Overall, MoinMoin 0.11 is not explicitely + tested for 1.5.2 compatibility. + New features: * XML formatting now (most often) produces well-formed, and, depending From jeff at corrt.com Sat Feb 9 21:15:02 2002 From: jeff at corrt.com (Jeff Kunce) Date: Sat Feb 9 21:15:02 2002 Subject: [Moin-devel] Pluggable User Validation Message-ID: <3.0.2.32.20020209231242.007b92b0@corrt.com> It looks like 0.11 final is getting close - I hope this isn't too big of a change to consider. Diffs are below. What I've done is move the user validation out of user.py and put it in security.py. This allows pluggable replacements for the way users are validated. It's similar to the Permissions scheme: the type of user validation can be specified in moin_config.py just like the SecurityPolicy. If not specified, the standard cookie scheme is used. As an example, I've included a user validator that gets the userid from the REMOTE_USER environment variable. That way, the user validation specified in an .htaccess can be used. --Jeff cvs diff user.py security.py config.py (in directory E:\scratch\moin\MoinMoin\) Index: user.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/user.py,v retrieving revision 1.55 diff -r1.55 user.py 12c12 < from MoinMoin import config, webapi --- > from MoinMoin import config, webapi, security 20d19 < 85,95c84,85 < if not self.id: < try: < cookie = Cookie.Cookie(os.environ.get('HTTP_COOKIE', '')) < except Cookie.CookieError: < # ignore invalid cookies, else user can't relogin < cookie = None < if cookie and cookie.has_key('MOIN_ID'): < self.id = cookie['MOIN_ID'].value < < if self.id: < self.load() --- > if config.UserValidator: > validator = config.UserValidator(self) 97,98c87,90 < self.id = str(time.time()) + "." + str(os.getpid()) < --- > from security import DefaultUserValidator > validator = DefaultUserValidator(self) > validator.validate() > 103,104c95,96 < from security import Default < self.may = Default(self) --- > from security import DefaultPermissions > self.may = DefaultPermissions(self) 109c101,108 < return os.path.join(config.user_dir, self.id or "...NONE...") --- > safe = string.letters + string.digits + '.' > res = list(self.id or "...NONE...") > for i in range(len(res)): > c = res[i] > if c not in safe: > res[i] = '_%02x' % ord(c) > filename = string.joinfields(res, '') > return os.path.join(config.user_dir, filename) Index: security.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/security.py,v retrieving revision 1.2 diff -r1.2 security.py 21a22,24 > import os, time, string > > 42c45,101 < Default = Permissions --- > DefaultPermissions = Permissions > > class BaseUserValidator: > """ Base class for user validation. > nobody is validated > """ > > def __init__(self, user): > self.user = user > #self.validate() > > def validate(self): > if self.user.id: > self.user.load() > else: > self.user.id = str(time.time()) + "." + str(os.getpid()) > > class MoinUserValidator(BaseUserValidator): > """ Standard MoinMoin user validation. > """ > > def validate(self): > if not self.user.id: > try: > import Cookie > except ImportError: > from MoinMoin.py15 import Cookie > try: > cookie = Cookie.Cookie(os.environ.get('HTTP_COOKIE', '')) > except Cookie.CookieError: > # ignore invalid cookies, else user can't relogin > cookie = None > if cookie and cookie.has_key('MOIN_ID'): > self.user.id = cookie['MOIN_ID'].value > BaseUserValidator.validate(self) > > class Remote_UserValidator(MoinUserValidator): > """ user validation with REMOTE_USER environment variable. > (includes .htaccess validation) > if no REMOTE_USER defined, normal MoinMoin validation is used > """ > > envkey = 'REMOTE_USER' > > def validate(self): > if not self.user.id: > if os.environ.has_key(self.envkey) and os.environ[self.envkey]!='-': > self.user.id = os.environ[self.envkey] > if self.user.exists(): > self.user.load() > else: > self.user.name = os.environ[self.envkey] > self.user.save() > return > MoinUserValidator.validate(self) > > DefaultUserValidator = MoinUserValidator Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.54 diff -r1.54 config.py 182a183 > 'UserValidator': None, From jhermann at users.sourceforge.net Mon Feb 11 18:01:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 11 18:01:06 2002 Subject: [Moin-devel] CVS: MoinMoin/action SpellCheck.py,1.16,1.17 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv25952/action Modified Files: SpellCheck.py Log Message: Slower building of dict.cache, but with much less memory consumption Index: SpellCheck.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/SpellCheck.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** SpellCheck.py 5 Dec 2001 22:19:48 -0000 1.16 --- SpellCheck.py 12 Feb 2002 02:00:24 -0000 1.17 *************** *** 54,62 **** request.clock.start('spellread') file = open(filename, 'rt') ! words = string.split(file.read()) ! file.close() request.clock.stop('spellread') - - for word in words: dict[word] = '' --- 54,67 ---- request.clock.start('spellread') file = open(filename, 'rt') ! try: ! while 1: ! lines = file.readlines(32768) ! if not lines: break ! for line in lines: ! words = string.split(line) ! for word in words: dict[word] = '' ! finally: ! file.close() request.clock.stop('spellread') From jhermann at users.sourceforge.net Tue Feb 12 11:49:13 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 12 11:49:13 2002 Subject: [Moin-devel] CVS: dist/wiki/data intermap.txt,1.6,1.7 Message-ID: Update of /cvsroot/moin/dist/wiki/data In directory usw-pr-cvs1:/tmp/cvs-serv1702 Modified Files: intermap.txt Log Message: Synched with http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt Index: intermap.txt =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/intermap.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** intermap.txt 5 Feb 2002 22:54:34 -0000 1.6 --- intermap.txt 12 Feb 2002 19:48:56 -0000 1.7 *************** *** 1,2 **** --- 1,6 ---- + # MoinMoin master InterWiki list + # $Id$ + + # MoinMoin additions FOLDOC http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query= ISBN http://www.amazon.com/exec/obidos/ISBN= *************** *** 4,68 **** FreshMeat http://freshmeat.net/ BrainBench http://www.brainbench.com/transcript.jsp?pid= - EfnetCeeWiki http://purl.net/wiki/c/ Thinki http://www.thinkware.se/cgi-bin/thinki.cgi/ - OpenWiki http://openwiki.com/? PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp SeaPig http://www.zipcon.net/~adamf/cgi-bin/MoinMoin/moin.py/ SVGWiki http://www.protocol7.com/svg-wiki/default.asp? ! Wiki http://c2.com/cgi/wiki? ! PPR http://c2.com/cgi/wiki? C2find http://c2.com/cgi/wiki?FindPage&value= ! ZWiki http://www.zwiki.org/ ! OrgPatterns http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns? ! FoxWiki http://fox.wikis.com/wc.dll?Wiki~ ! PhpWiki http://phpwiki.sourceforge.net/phpwiki/index.php? DejaNews http://www.deja.com/=dnc/getdoc.xp?AN= ! MuWeb http://www.dunstable.com/scripts/MuWebWeb? ! PyWiki http://www.voght.com/cgi-bin/pywiki? ! Squeak http://minnow.cc.gatech.edu/squeak/ ! UseMod http://www.usemod.com/cgi-bin/wiki.pl? ! MeatBall http://www.usemod.com/cgi-bin/mb.pl? ! MbTest http://www.usemod.com/cgi-bin/mbtest.pl? ! HammondWiki http://www.dairiki.org/HammondWiki/index.php3? ! Advogato http://www.advogato.org/ ! MoinMoin http://purl.net/wiki/moin/ ! EfnetPythonWiki http://purl.net/wiki/python/ EfnetCppWiki http://purl.net/wiki/cpp/ EfnetXmlWiki http://purl.net/wiki/xml/ ! PolitizenWiki http://www.politizen.com/wiki.asp? ! DolphinWiki http://www.object-arts.com/wiki/html/Dolphin/ ! LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/ ! TWiki http://twiki.sourceforge.net/cgi-bin/view/ ! VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/ ! StrikiWiki http://ch.twi.tudelft.nl/~mostert/striki/teststriki.pl? ! BridgesWiki http://c2.com/w2/bridges/ IMDB http://us.imdb.com/Title? JiniWiki http://www.cdegroot.com/cgi-bin/jini? ! Dictionary http://www.dictionary.com/cgi-bin/dict.pl?term= ! AndStuff http://andstuff.org/wiki.php? ! PythonInfo http://www.python.org/cgi-bin/moinmoin/ ! CreationMatters http://www.ourpla.net/cgi-bin/wiki.pl? ! CmWiki http://www.ourpla.net/cgi-bin/wiki.pl? ! BenefitsWiki http://www.benefitslink.com/cgi-bin/wiki.cgi? ! Why http://clublet.com/c/c/why? ! SourceForge http://sourceforge.net/ MetaWiki http://sunir.org/apps/meta.pl? ! AcadWiki http://xarch.tu-graz.ac.at/autocad/wiki/ ! CLiki http://www.telent.net/cliki/ ! SenseisLibrary http://senseis.xmp.net/? ! JargonFile http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect= ! WikiPedia http://www.wikipedia.com/wiki.cgi? ! SeattleWireless http://seattlewireless.net/? ! Tavi http://tavi.sourceforge.net/index.php? PersonalTelco http://www.personaltelco.net/index.cgi/ ! Google http://www.google.com/search?q= ! GoogleGroups http://groups.google.com/groups?q= ! EmacsWiki http://www.emacswiki.org/cgi-bin/wiki.pl? Pikie http://pikie.darktech.org/cgi/pikie? ! AbbeNormal http://www.ourpla.net/cgi-bin/pikie.cgi? ! Foldoc http://www.foldoc.org/foldoc/foldoc.cgi? ! Acronym http://www.acronymfinder.com/af-query.asp?String=exact&Acronym= ! IAwiki http://www.IAwiki.net/ ! KnowHow http://www2.iro.umontreal.ca/~paquetse/cgi-bin/wiki.cgi? --- 8,78 ---- FreshMeat http://freshmeat.net/ BrainBench http://www.brainbench.com/transcript.jsp?pid= Thinki http://www.thinkware.se/cgi-bin/thinki.cgi/ PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp + + # Added 2002-02-12 to http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt + EfnetCeeWiki http://purl.net/wiki/c/ + OpenWiki http://openwiki.com/? SeaPig http://www.zipcon.net/~adamf/cgi-bin/MoinMoin/moin.py/ SVGWiki http://www.protocol7.com/svg-wiki/default.asp? ! # Updated 2002-02-12 from http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt ! AbbeNormal http://www.ourpla.net/cgi-bin/pikie.cgi? ! AcadWiki http://xarch.tu-graz.ac.at/autocad/wiki/ ! Acronym http://www.acronymfinder.com/af-query.asp?String=exact&Acronym= ! Advogato http://www.advogato.org/ ! AndStuff http://andstuff.org/wiki.php? ! BenefitsWiki http://www.benefitslink.com/cgi-bin/wiki.cgi? ! BridgesWiki http://c2.com/w2/bridges/ C2find http://c2.com/cgi/wiki?FindPage&value= ! CLiki http://www.telent.net/cliki/ ! CmWiki http://www.ourpla.net/cgi-bin/wiki.pl? ! CreationMatters http://www.ourpla.net/cgi-bin/wiki.pl? DejaNews http://www.deja.com/=dnc/getdoc.xp?AN= ! Dictionary http://www.dictionary.com/cgi-bin/dict.pl?term= ! DolphinWiki http://www.object-arts.com/wiki/html/Dolphin/ EfnetCppWiki http://purl.net/wiki/cpp/ + EfnetPythonWiki http://purl.net/wiki/python/ EfnetXmlWiki http://purl.net/wiki/xml/ ! EmacsWiki http://www.emacswiki.org/cgi-bin/wiki.pl? ! Foldoc http://www.foldoc.org/foldoc/foldoc.cgi? ! FoxWiki http://fox.wikis.com/wc.dll?Wiki~ ! Google http://www.google.com/search?q= ! GoogleGroups http://groups.google.com/groups?q= ! HammondWiki http://www.dairiki.org/HammondWiki/index.php3? ! IAWiki http://www.IAwiki.net/ ! IAwiki http://www.IAwiki.net/ IMDB http://us.imdb.com/Title? + JargonFile http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect= JiniWiki http://www.cdegroot.com/cgi-bin/jini? ! KmWiki http://www.voght.com/cgi-bin/pywiki? ! KnowHow http://www2.iro.umontreal.ca/~paquetse/cgi-bin/wiki.cgi? ! LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/ ! MbTest http://www.usemod.com/cgi-bin/mbtest.pl? ! MeatBall http://www.usemod.com/cgi-bin/mb.pl? MetaWiki http://sunir.org/apps/meta.pl? ! MoinMoin http://purl.net/wiki/moin/ ! MuWeb http://www.dunstable.com/scripts/MuWebWeb? ! OrgPatterns http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns? ! PPR http://c2.com/cgi/wiki? PersonalTelco http://www.personaltelco.net/index.cgi/ ! PhpWiki http://phpwiki.sourceforge.net/phpwiki/index.php? Pikie http://pikie.darktech.org/cgi/pikie? ! PolitizenWiki http://www.politizen.com/wiki.asp? ! PythonInfo http://www.python.org/cgi-bin/moinmoin/ ! PyWiki http://www.voght.com/cgi-bin/pywiki? ! SeattleWireless http://seattlewireless.net/? ! SenseisLibrary http://senseis.xmp.net/? ! SourceForge http://sourceforge.net/ ! Squeak http://minnow.cc.gatech.edu/squeak/ ! StrikiWiki http://ch.twi.tudelft.nl/~mostert/striki/teststriki.pl? ! Tavi http://tavi.sourceforge.net/index.php? ! TMwiki http://www.EasyTopicMaps.com/?page= ! TWiki http://twiki.org/cgi-bin/view/ ! UseMod http://www.usemod.com/cgi-bin/wiki.pl? ! VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/ ! Why http://clublet.com/c/c/why? ! Wiki http://c2.com/cgi/wiki? ! WikiPedia http://www.wikipedia.com/wiki/ ! ZWiki http://www.zwiki.org/ From jhermann at users.sourceforge.net Tue Feb 12 11:51:19 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 12 11:51:19 2002 Subject: [Moin-devel] CVS: MoinMoin wikiutil.py,1.74,1.75 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv2147 Modified Files: wikiutil.py Log Message: Explicit skipping of empty and "#" comment lines in intermap.txt Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -r1.74 -r1.75 *** wikiutil.py 2 Feb 2002 18:11:52 -0000 1.74 --- wikiutil.py 12 Feb 2002 19:50:47 -0000 1.75 *************** *** 114,117 **** --- 114,118 ---- for line in lines: + if not line or line[0] == '#': continue try: wikitag, urlprefix, trash = string.split( From jhermann at users.sourceforge.net Wed Feb 13 12:55:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 12:55:04 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnConfiguration_2fSecurityPolicy,NONE,1.1 HelpOnEditing_2fSubPages,NONE,1.1 HelpOnInstalling_2fInternetInformationServer,NONE,1.1 HelpContents,1.3,1.4 HelpForBeginners,1.1,1.2 HelpOnConfiguration,1.4,1.5 HelpOnEditing,1.1,1.2 HelpOnLinking,1.1,1.2 HelpOnPageCreation,1.2,1.3 HelpOnSpellCheck,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv24899 Modified Files: HelpContents HelpForBeginners HelpOnConfiguration HelpOnEditing HelpOnLinking HelpOnPageCreation HelpOnSpellCheck Added Files: HelpOnConfiguration_2fSecurityPolicy HelpOnEditing_2fSubPages HelpOnInstalling_2fInternetInformationServer Log Message: Update from public wiki 2002-02-13 --- NEW FILE: HelpOnConfiguration_2fSecurityPolicy --- SecurityPolicy is a config option that allows wiki admins to dynamically enable or disable certain key actions in a MoinMoin wiki, most notably editing and deleting content. == Samples == === Disable editing over HTTPS === This is used at [http://www.webde-ag.de/ WEB.DE AG] to make the main intra-net wiki available in read-only form via HTTPS. It's an extra security measure, in addition to password protection, against content changes from the outside. The same scheme can be used to have two different URLs pointing at the same wiki, and have only one of those URLs[[FootNote(An URL that is password-protected, by means of Apache server rules.)]] being able to edit the wiki. The net effect is that you have a read-only wiki editable only by certain people. Add this to your `moin_config.py`: {{{ # permissions import MoinMoin.security class SecurityPolicy(MoinMoin.security.Permissions): def __init__(self, user): MoinMoin.security.Permissions.__init__(self, user) # no edits via https from MoinMoin import webapi self.edit = not webapi.isSSL() self.delete = self.edit }}} --- NEW FILE: HelpOnEditing_2fSubPages --- HelpContents > HelpOnEditing == Creating Subpages == Subpages are groups of pages that share a common prefix, which itself is another page. While this is also possible with "classic" wiki, by using names like {{{SomeTopicSubTopic}}}, the use of {{{SomeTopic/SubTopic}}} allows better navigational support, and you can omit the common prefix when linking from the parent page to the child page. Thus, by using "/" to concatenate several WikiName''''''s, you can create arbitrarily deep hierarchies (within limits, especially the length of filenames on your system). In reality, subpages are normal pages that contain a "/" in their name, and thus they are stored besides all other pages in the file system. Subpages are a configurable feature, but they're on by default and it's recommended that you keep it that way, since the help pages themselves use this feature. === Example === {{{ * HelpOnEditing/SubPages * [wiki:HelpOnEditing/SubPages This very page] * [wiki:Self:HelpOnEditing/SubPages This very page] * /ThirdLevel * [wiki:/ThirdLevel A page below this one] }}} === Display === * HelpOnEditing/SubPages * [wiki:HelpOnEditing/SubPages This very page] * [wiki:Self:HelpOnEditing/SubPages This very page] * /ThirdLevel * [wiki:/ThirdLevel A page below this one] /!\ Please do all of us a favour and don't create the /ThirdLevel pages! --- NEW FILE: HelpOnInstalling_2fInternetInformationServer --- ... someone provide current instructions here ... Some more info is on MoinMoin:MoinMoinWinCvs. === Older information === This is the INSTALL.IIS file from the 010 distribution: {{{ ############################# # INSTALLATION ON WIN2K/IIS # ############################# Steps to set up MoinMoin on Win2K/IIS (Should also work for NT4/IIS) Installation Pre-Requirements: - Win2K Pro or Server (Should also work on NT4) - Internet Information Server or Personal Web Server - ActivePython (found at http://www.activestate.com) Unpack the contents of the ZIP into your Python20 directory and rename the MoinMoin-X.X directory to "MoinMoin" so that this file (INSTALL) is located at "\Python20\MoinMoin". The next step is to edit the file "C:\MoinMoin\wiki-moinmoin\moin_config.py" and adapt it to your particular setup. The only things we need to change to get things working are the values of the two variables "data_dir" and "url_prefix". For our situation, we need the following values: data_dir = './data' url_prefix = '/wiki-moinmoin' Incidently, those are the defaults. Create a Virtual Dir named "wiki-moinmoin" under the root of your web site and point it to the "C:\Python20\MoinMoin\wiki-moinmoin" directory. The Virtual Dir needs "Read" and "Run Scripts" permission. On the properties page of the Virtual Dir under Application Settings be sure that Execute Permissions is set to either Scripts Only or Scripts and Executables. Click the Configuration button and then Add to create the following new Application Mapping (NOTE: The "%s %s" IS case sensitive): Executeable: C:\Python20\python.exe %s %s Extension: .cgi Verbs: All Verbs Script Engine: Checked Check that file exists: UnChecked Click OK and close all property pages then restart the web site. Open a browser and go to "http://localhost/wiki-moinmoin/test.cgi" and be sure everything looks OK. Then go to "http://localhost/wiki-moinmoin/moin.cgi" and you should get the FrontPage. To further test your new Wiki, "EditText" the "FrontPage", save it and click on "RecentChanges". Congrats! You have a working Wiki! "Gregory Petersen" , 2001-04-04 }}} Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpContents 16 Jan 2002 22:00:58 -0000 1.3 --- HelpContents 13 Feb 2002 20:43:59 -0000 1.4 *************** *** 1,12 **** ! == Help Contents == ! ! Here is a tour of the most important help pages: ! * HelpForBeginners - if you are new to wikis ! * HelpOnNavigation - explains the navigational elements on a page ! * HelpOnPageCreation - how to create a new page, and how to use page templates ! * HelpOnEditing - how to edit a page ! * HelpOnAdministration - how to maintain a MoinMoin wiki ! ! An automatically generated index of all help pages is on HelpIndex. See also MoinMoinFaq for answers to frequently asked questions. ! ! ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages. Also note that the master set of help pages is not public, that this very page you read and all other help pages may be overwritten when the wiki software is updated. So if you have major contributions that should not get lost, send an extra notification notice to the MoinMoin user mailing list.]'' --- 1,13 ---- ! == Help Contents == ! ! Here is a tour of the most important help pages: ! * HelpForBeginners - if you are new to wikis ! * HelpOnNavigation - explains the navigational elements on a page ! * HelpOnPageCreation - how to create a new page, and how to use page templates ! * HelpOnEditing - how to edit a page ! * HelpOnAdministration - how to maintain a MoinMoin wiki ! * HelpOnInstalling - how to install a MoinMoin wiki ! ! An automatically generated index of all help pages is on HelpIndex. See also MoinMoinFaq for answers to frequently asked questions. ! ! ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages.]'' Index: HelpForBeginners =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForBeginners,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpForBeginners 30 Nov 2001 20:30:20 -0000 1.1 --- HelpForBeginners 13 Feb 2002 20:44:00 -0000 1.2 *************** *** 33,34 **** --- 33,35 ---- /!\ '''This is a configurable feature, so it might not work!''' + Index: HelpOnConfiguration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnConfiguration 11 Jan 2002 20:37:38 -0000 1.4 --- HelpOnConfiguration 13 Feb 2002 20:44:00 -0000 1.5 *************** *** 1,62 **** ! HelpContents > HelpOnAdministration > HelpOnConfiguration ! ! == Configuration of MoinMoin == ! ! MoinMoin is configured by changing the `moin_config.py` file, which normally sits besides your `moin.cgi` driver script. `moin_config.py` is imported by the MoinMoin main code early in a request cycle and is found because the current directory (i.e. that of `moin.cgi`) is part of the Python system path. Consequently, `moin_config.py` can sit anywhere in your `PYTHONPATH`. ! ! The following table contains default values and a short description for all configuration variables. Most of these can be left at their defaults, those you need to change with every installation are listed in the sample `moin_config.py` that comes with the distribution. ! ! || '''Variable name''' || '''Default''' || '''Description''' || ! || Log''''''Store || 'text:editlog' || ''Experimental, keep the default'' || ! || Security''''''Policy || None || class object hook for implementing security restrictions || ! || allow_extended_names || 1 || ''true'' to enable {{{["non-stamdard wikiname"]}}} markup || ! || allowed_actions || [] || allow unsafe actions (list of strings) || ! || attachments || None || If {{{None}}}, send attachments via CGI; else this has to be a dictionary with the path to attachment storage (key ''dir'') and the equivalent URL prefix to that same dir (key ''url'')|| ! || backtick_meta || 0 || ''true'' to enable {{{`inline literal`}}} markup || ! || bang_meta || 0 || ''true'' to enable {{{!NoWikiName}}} markup || ! || changed_time_fmt || '  [%H:%M]' || Time format used on RecentChanges for page edits within the last 24 hours || ! || charset || 'iso-8859-1' || The encoding / character set your system uses || ! || check_i18n || 0 || Set to 1 only in development systems, or on a translator's system || ! || css_url || '/wiki-moinmoin/default.css' || URL for the default CSS definitions, make this a server-relative URL (start with a slash) || ! || data_dir || './data/' || Path to the data directory, the default is OK if you place the data directory right besides your `moin.cgi` || ! || date_fmt || '%Y-%m-%d' || System date format, used mostly in RecentChanges || ! || datetime_fmt || '%Y-%m-%d %H:%M:%S' || Default format for dates and times (when the user has no preferences or chose the "default" date format) || ! || edit_rows || 30 || Default height of the edit box || ! || external_diff || 'diff' || Name of external diff utility (possibly a full path) || ! || html_head || ''META-Tag with Content-Type'' || Additional tags for all pages || ! || html_head_queries || ''META-Tag with "NOINDEX,NOFOLLOW" for robots'' || Additional tags for edit and action pages || ! || httpd_docs || './wiki-moinmoin' || directory with public files, when using the stand-alone server || ! || httpd_host || 'localhost' || hostname of the stand-alone server || ! || httpd_port || 8080 || port of the stand-alone server || ! || httpd_user || 'nobody' || user to run the the stand-alone server under (UNIX only) || ! || interwikiname || None || InterWiki name (prefix, moniker) of the site, or None || ! || logo_string || ''MoinMoin logo'' || URL path to the logo display in the upper-left corner of a page and used in RSS documents || ! || lowerletters || ''Latin 1 alphabetic characters and digits'' || Lowercase letters, used to define what is a WikiName || ! || mail_from || None || `From:` header used in sent mails || ! || mail_smarthost || None || IP or domain name of an SMTP-enabled server; note that email features (notification, mailing of login data) works only if this variable is set || ! || max_macro_size || 50 || Maximum size of some macro pages in KB, especially used to limits the size of RecentChanges; use `0` to disable that feature || ! || navi_bar || ''large HTML fragment'' || Most important links in text form (/!\ this is a deprecated feature that will enventually disappear and be replaced by the bookmarks of OpenWiki:UserPreferences) || ! || nonexist_qm || 0 || Default for displaying WantedPages with a question mark, like in the original wiki || ! || page_edit_tips || 'HelpOnFormatting' || Name of the page with help on editing, displayed as a link in the editor view || ! || page_footer1 || ''Python Powered logo'' || Custom HTML markup sent ''before'' the system footer || ! || page_footer2 || "" || Custom HTML markup sent ''after'' the system footer || ! || page_form_ending || 'Form' || Ending name part of pages containing form definitions || ! || page_front_page || 'FrontPage' || Name of the front page || ! || page_icons || ''large HTML fragment'' || The top-right icons on each page || ! || page_local_spelling_words || 'LocalSpellingWords' || Name of the page containing user-provided spellchecker words || ! || page_recent_changes || 'RecentChanges' || Name of the RecentChanges page || ! || page_template_ending || 'Template' || Ending name part of pages containing templates for new pages || ! || page_user_prefs || 'UserPreferences' || Name of the user preferences page || ! || shared_intermap || None || path to a file containing global InterWiki definitions || ! || shared_metadb || None || path to a file containing a global InterWiki pagelist || ! || show_hosts || 1 || ''true'' to show hostname in RecentChanges || ! || show_section_numbers || 1 || ''true'' to show section number headings by default || ! || show_timings || 0 || used for development || ! || show_version || 0 || show MoinMoin's version at the bottom of each page || ! || sitename || 'An Unnamed MoinMoin Wiki' || Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title || ! || trail_size || 5 || Number of pages in the trail of visited pages || ! || umask || 0777 || umask used on all open(), mkdir() and similar calls || ! || upperletters || ''Latin 1 alphabetic characters'' || Uppercase letters, used to define what is a WikiName || ! || url_mappings || {} || lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}) || ! || url_prefix || '/wiki-moinmoin' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || ! || url_schemas || [] || additional URL schemas you want to have recognized (list of strings) || --- 1,65 ---- ! HelpContents > HelpOnAdministration > HelpOnConfiguration ! ! '''Subtopics''' ! * /SecurityPolicy ! ! == Configuration of MoinMoin == ! ! MoinMoin is configured by changing the `moin_config.py` file, which normally sits besides your `moin.cgi` driver script. `moin_config.py` is imported by the MoinMoin main code early in a request cycle and is found because the current directory (i.e. that of `moin.cgi`) is part of the Python system path. Consequently, `moin_config.py` can sit anywhere in your `PYTHONPATH`. ! ! The following table contains default values and a short description for all configuration variables. Most of these can be left at their defaults, those you need to change with every installation are listed in the sample `moin_config.py` that comes with the distribution. ! ! || '''Variable name''' || '''Default''' || '''Description''' || ! || Log''''''Store || 'text:editlog' || ''Experimental, keep the default'' || ! || Security''''''Policy || None || class object hook for implementing security restrictions || ! || allow_extended_names || 1 || ''true'' to enable {{{["non-standard wikiname"]}}} markup || ! || allowed_actions || [] || allow unsafe actions (list of strings) || ! || attachments || None || If {{{None}}}, send attachments via CGI; else this has to be a dictionary with the path to attachment storage (key ''dir'') and the equivalent URL prefix to that same dir (key ''url'')|| ! || backtick_meta || 0 || ''true'' to enable {{{`inline literal`}}} markup || ! || bang_meta || 0 || ''true'' to enable {{{!NoWikiName}}} markup || ! || changed_time_fmt || '  [%H:%M]' || Time format used on RecentChanges for page edits within the last 24 hours || ! || charset || 'iso-8859-1' || The encoding / character set your system uses || ! || check_i18n || 0 || Set to 1 only in development systems, or on a translator's system || ! || css_url || '/wiki-moinmoin/default.css' || URL for the default CSS definitions, make this a server-relative URL (start with a slash) || ! || data_dir || './data/' || Path to the data directory, the default is OK if you place the data directory right besides your `moin.cgi` || ! || date_fmt || '%Y-%m-%d' || System date format, used mostly in RecentChanges || ! || datetime_fmt || '%Y-%m-%d %H:%M:%S' || Default format for dates and times (when the user has no preferences or chose the "default" date format) || ! || edit_rows || 30 || Default height of the edit box || ! || html_head || ''META-Tag with Content-Type'' || Additional tags for all pages || ! || html_head_queries || ''META-Tag with "NOINDEX,NOFOLLOW" for robots'' || Additional tags for edit and action pages || ! || httpd_docs || './wiki-moinmoin' || directory with public files, when using the stand-alone server || ! || httpd_host || 'localhost' || hostname of the stand-alone server || ! || httpd_port || 8080 || port of the stand-alone server || ! || httpd_user || 'nobody' || user to run the the stand-alone server under (UNIX only) || ! || interwikiname || None || InterWiki name (prefix, moniker) of the site, or None || ! || logo_string || ''MoinMoin logo'' || URL path to the logo display in the upper-left corner of a page and used in RSS documents || ! || lowerletters || ''Latin 1 alphabetic characters and digits'' || Lowercase letters, used to define what is a WikiName || ! || mail_from || None || `From:` header used in sent mails || ! || mail_smarthost || None || IP or domain name of an SMTP-enabled server; note that email features (notification, mailing of login data) works only if this variable is set || ! || max_macro_size || 50 || Maximum size of some macro pages in KB, especially used to limits the size of RecentChanges; use `0` to disable that feature || ! || navi_bar || ''large HTML fragment'' || Most important links in text form (/!\ this is a deprecated feature that will enventually disappear and be replaced by the bookmarks of OpenWiki:UserPreferences) || ! || nonexist_qm || 0 || Default for displaying WantedPages with a question mark, like in the original wiki || ! || page_edit_tips || 'HelpOnFormatting' || Name of the page with help on editing, displayed as a link in the editor view || ! || page_footer1 || ''Python Powered logo'' || Custom HTML markup sent ''before'' the system footer || ! || page_footer2 || "" || Custom HTML markup sent ''after'' the system footer || ! || page_form_ending || 'Form' || Ending name part of pages containing form definitions || ! || page_front_page || 'FrontPage' || Name of the front page || ! || page_icons || ''large HTML fragment'' || The top-right icons on each page || ! || page_local_spelling_words || 'LocalSpellingWords' || Name of the page containing user-provided spellchecker words || ! || page_recent_changes || 'RecentChanges' || Name of the RecentChanges page || ! || page_template_ending || 'Template' || Ending name part of pages containing templates for new pages || ! || page_user_prefs || 'UserPreferences' || Name of the user preferences page || ! || shared_intermap || None || path to a file containing global InterWiki definitions || ! || shared_metadb || None || path to a file containing a global InterWiki pagelist || ! || show_hosts || 1 || ''true'' to show hostname in RecentChanges || ! || show_section_numbers || 1 || ''true'' to show section numbers in headings by default || ! || show_timings || 0 || used for development || ! || show_version || 0 || show MoinMoin's version at the bottom of each page || ! || sitename || 'An Unnamed MoinMoin Wiki' || Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title || ! || trail_size || 5 || Number of pages in the trail of visited pages || ! || ua_spiders || htdig || A regex of HTTP_USER_AGENTs that should be excluded from logging || ! || umask || 0777 || umask used on all open(), mkdir() and similar calls || ! || upperletters || ''Latin 1 alphabetic characters'' || Uppercase letters, used to define what is a WikiName || ! || url_mappings || {} || lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}) || ! || url_prefix || '/wiki-moinmoin' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || ! || url_schemas || [] || additional URL schemas you want to have recognized (list of strings) || Index: HelpOnEditing =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnEditing,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnEditing 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnEditing 13 Feb 2002 20:44:00 -0000 1.2 *************** *** 13,16 **** --- 13,17 ---- * HelpOnProcessingInstructions - how to influence page formatting * HelpOnXmlPages - how to store pages with XML content and process them via XSLT + * /SubPages - how to group together related information To experiment with wiki markup, go to the WikiSandBox and then click on "Edit''''''Text" at the bottom of the page. Use your browser's "open a new window with this link" feature on the word "WikiSandBox", so you can keep the help pages open side-by-side to the editing window. Index: HelpOnLinking =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLinking,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnLinking 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnLinking 13 Feb 2002 20:44:00 -0000 1.2 *************** *** 12,18 **** * use the bracketed URL syntax. ! The supported URL schemes are: http, https, ftp, nntp, news, mailto, telnet and wiki. ! For more information on the possible markup, see HelpOnEditing. _______ --- 12,18 ---- * use the bracketed URL syntax. ! The supported URL schemes are: http, https, ftp, nntp, news, file, mailto, telnet and wiki. The administrator of your wiki can extend the supported schemes by using the {{{config.url_schemas}}} variable (see HelpOnConfiguration). ! For more information on the possible markup, see HelpOnEditing. For details on how to link to subpages, see HelpOnEditing/SubPages. _______ *************** *** 28,31 **** --- 28,32 ---- * [http://moin.sourceforge.net/moinmoin.gif moinmoin.gif] * InterWiki + * Self:InterWiki * MeatBall:InterWiki * wiki:MeatBall/InterWiki *************** *** 43,46 **** --- 44,48 ---- * [http://moin.sourceforge.net/moinmoin.gif moinmoin.gif] * InterWiki + * Self:InterWiki * MeatBall:InterWiki * wiki:MeatBall/InterWiki Index: HelpOnPageCreation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageCreation,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnPageCreation 21 Dec 2001 00:22:01 -0000 1.2 --- HelpOnPageCreation 13 Feb 2002 20:44:00 -0000 1.3 *************** *** 3,7 **** To create a page, add its WikiName to an existing page and save it. After that, you can click on it on the revised page, since it automatically becomes a hyperlink. ! You will then be presented with your new page, which you can edit in the normal way. After you ''first'' saved it, it will be automatically created. Pages cannot be deleted, so be sure to spell new WikiName''''''s correctly. == Creating a Template Page == --- 3,11 ---- To create a page, add its WikiName to an existing page and save it. After that, you can click on it on the revised page, since it automatically becomes a hyperlink. ! You will then be presented with your new page, which you can edit in the normal way. After you ''first'' saved it, it will be automatically created. Pages normally[[FootNote(Deleting pages can be activated by the wiki administrator (which you'll normally do in intranet sites only).)]] cannot be deleted, so be sure to spell new WikiName''''''s correctly. ! ! On details on how to create and link to subpages, see HelpOnEditing/SubPages. ! ! [[FootNote]] == Creating a Template Page == Index: HelpOnSpellCheck =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnSpellCheck,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnSpellCheck 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnSpellCheck 13 Feb 2002 20:44:00 -0000 1.2 *************** *** 21,23 **** -rw-r--r-- 1 544 everyone 2913577 Jan 25 2000 german.txt -rw-r--r-- 1 544 everyone 92631 Nov 30 15:24 top10000de.txt ! }}} --- 21,32 ---- -rw-r--r-- 1 544 everyone 2913577 Jan 25 2000 german.txt -rw-r--r-- 1 544 everyone 92631 Nov 30 15:24 top10000de.txt ! }}} ! ! === Words files === ! If you need words files for US English or German, you can find them [http://moin.sf.net/files/ here]. ! ! === If it doesn?t work === ! ! If you change the contents of "MoinMoin/dict/" (because of adding new / removing old dictionaries) or if you create a new "MoinMoin/dict/" directory, then you have to delete the file "MoinMoin/wiki-moinmoin/data/dict.cache" (a new one will be created automagically). ! ! If you don't, your new dictionaries won't be recognized (e.g. it will use only LocalSpellingWords). From jhermann at users.sourceforge.net Wed Feb 13 13:21:35 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:35 2002 Subject: [Moin-devel] CVS: MoinMoin/macro FullSearch.py,1.4,1.5 Include.py,1.5,1.6 RecentChanges.py,1.52,1.53 TableOfContents.py,1.2,1.3 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv2944/macro Modified Files: FullSearch.py Include.py RecentChanges.py TableOfContents.py Log Message: Mass update of copyrights; extended some module docstrings Index: FullSearch.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/FullSearch.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** FullSearch.py 30 Nov 2001 02:42:53 -0000 1.4 --- FullSearch.py 13 Feb 2002 21:13:53 -0000 1.5 *************** *** 2,6 **** MoinMoin - FullSearch Macro ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - FullSearch Macro ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: Include.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/Include.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Include.py 24 Nov 2001 02:30:58 -0000 1.5 --- Include.py 13 Feb 2002 21:13:53 -0000 1.6 *************** *** 2,7 **** MoinMoin - Include macro ! Copyright (c) 2000-2001 by Richard Jones ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,7 ---- MoinMoin - Include macro ! Copyright (c) 2000, 2001 by Richard Jones ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: RecentChanges.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** RecentChanges.py 7 Feb 2002 01:03:32 -0000 1.52 --- RecentChanges.py 13 Feb 2002 21:13:53 -0000 1.53 *************** *** 2,6 **** MoinMoin - RecentChanges Macro ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - RecentChanges Macro ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: TableOfContents.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/TableOfContents.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** TableOfContents.py 27 Jun 2001 16:28:38 -0000 1.2 --- TableOfContents.py 13 Feb 2002 21:13:53 -0000 1.3 *************** *** 2,6 **** MoinMoin - TableOfContents Macro ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - TableOfContents Macro ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:21:37 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:37 2002 Subject: [Moin-devel] CVS: MoinMoin/parser plain.py,1.5,1.6 wiki.py,1.78,1.79 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv2944/parser Modified Files: plain.py wiki.py Log Message: Mass update of copyrights; extended some module docstrings Index: plain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/plain.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** plain.py 8 Nov 2001 22:05:17 -0000 1.5 --- plain.py 13 Feb 2002 21:13:54 -0000 1.6 *************** *** 2,6 **** MoinMoin - Plain Text Parser ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Plain Text Parser ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -r1.78 -r1.79 *** wiki.py 7 Feb 2002 01:03:32 -0000 1.78 --- wiki.py 13 Feb 2002 21:13:54 -0000 1.79 *************** *** 2,6 **** MoinMoin - MoinMoin Wiki Markup Parser ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - MoinMoin Wiki Markup Parser ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:21:39 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:39 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n __init__.py,1.19,1.20 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv2944/i18n Modified Files: __init__.py Log Message: Mass update of copyrights; extended some module docstrings Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/__init__.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -r1.19 -r1.20 *** __init__.py 6 Feb 2002 19:34:41 -0000 1.19 --- __init__.py 13 Feb 2002 21:13:53 -0000 1.20 *************** *** 2,7 **** MoinMoin - Internationalization ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. $Id$ --- 2,12 ---- MoinMoin - Internationalization ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. + + This subpackage controls the access to the language modules + contained in it. Each language is in a module with a dictionary + storing the original texts as keys and their translation in the + values. Other supporting modules start with an underscore. $Id$ From jhermann at users.sourceforge.net Wed Feb 13 13:21:41 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:41 2002 Subject: [Moin-devel] CVS: MoinMoin/scripts _util.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/scripts In directory usw-pr-cvs1:/tmp/cvs-serv2944/scripts Modified Files: _util.py Log Message: Mass update of copyrights; extended some module docstrings Index: _util.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/scripts/_util.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** _util.py 4 Jul 2001 16:37:54 -0000 1.1 --- _util.py 13 Feb 2002 21:13:55 -0000 1.2 *************** *** 2,6 **** MoinMoin - Command line utilities ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Command line utilities ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:21:43 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:43 2002 Subject: [Moin-devel] CVS: MoinMoin/support __init__.py,1.2,1.3 Message-ID: Update of /cvsroot/moin/MoinMoin/support In directory usw-pr-cvs1:/tmp/cvs-serv2944/support Modified Files: __init__.py Log Message: Mass update of copyrights; extended some module docstrings Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/support/__init__.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** __init__.py 4 May 2001 01:27:50 -0000 1.2 --- __init__.py 13 Feb 2002 21:13:55 -0000 1.3 *************** *** 2,5 **** --- 2,8 ---- MoinMoin - Support Package + Copyright (c) 2001, 2002 by J?rgen Hermann + All rights reserved, see COPYING for details. + This package collects small third party utilities in order to reduce the necessary steps in installing MoinMoin. Each *************** *** 7,15 **** my best to assure those files are freely redistributable. - Copyright (c) 2001 by J?rgen Hermann - All rights reserved, see COPYING for details. - - $Id$ - Further details on the modules: --- 10,13 ---- *************** *** 18,20 **** --- 16,19 ---- Downloaded 2001-05-04 from http://web.lfw.org/python/ + $Id$ """ From jhermann at users.sourceforge.net Wed Feb 13 13:21:44 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:44 2002 Subject: [Moin-devel] CVS: MoinMoin/webapi __init__.py,1.8,1.9 cgiMoin.py,1.10,1.11 Message-ID: Update of /cvsroot/moin/MoinMoin/webapi In directory usw-pr-cvs1:/tmp/cvs-serv2944/webapi Modified Files: __init__.py cgiMoin.py Log Message: Mass update of copyrights; extended some module docstrings Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/webapi/__init__.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** __init__.py 3 Jan 2002 12:51:21 -0000 1.8 --- __init__.py 13 Feb 2002 21:13:55 -0000 1.9 *************** *** 2,6 **** MoinMoin - Interface to HTTP stuff ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Interface to HTTP stuff ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: cgiMoin.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/webapi/cgiMoin.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** cgiMoin.py 6 Feb 2002 19:34:41 -0000 1.10 --- cgiMoin.py 13 Feb 2002 21:13:55 -0000 1.11 *************** *** 2,6 **** MoinMoin - HTTP interfacing via CGI ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - HTTP interfacing via CGI ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:21:45 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:21:45 2002 Subject: [Moin-devel] CVS: MoinMoin/wikixml __init__.py,1.1,1.2 wikiexport.py,1.1,1.2 Message-ID: Update of /cvsroot/moin/MoinMoin/wikixml In directory usw-pr-cvs1:/tmp/cvs-serv2944/wikixml Modified Files: __init__.py wikiexport.py Log Message: Mass update of copyrights; extended some module docstrings Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikixml/__init__.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** __init__.py 1 Dec 2001 20:08:42 -0000 1.1 --- __init__.py 13 Feb 2002 21:13:55 -0000 1.2 *************** *** 2,5 **** --- 2,8 ---- MoinMoin - Package Initialization + Copyright (c) 2001, 2002 by J?rgen Hermann + All rights reserved, see COPYING for details. + Subpackage containing XML support code. Index: wikiexport.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikixml/wikiexport.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** wikiexport.py 1 Dec 2001 20:08:42 -0000 1.1 --- wikiexport.py 13 Feb 2002 21:13:55 -0000 1.2 *************** *** 2,5 **** --- 2,8 ---- MoinMoin - XML Export + Copyright (c) 2001, 2002 by J?rgen Hermann + All rights reserved, see COPYING for details. + This module exports all data stored for a wiki. From jhermann at users.sourceforge.net Wed Feb 13 13:22:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:22:01 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.25,1.26 LocalSiteMap.py,1.2,1.3 SpellCheck.py,1.17,1.18 __init__.py,1.3,1.4 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv2944/action Modified Files: AttachFile.py LocalSiteMap.py SpellCheck.py __init__.py Log Message: Mass update of copyrights; extended some module docstrings Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** AttachFile.py 7 Feb 2002 11:37:34 -0000 1.25 --- AttachFile.py 13 Feb 2002 21:13:52 -0000 1.26 *************** *** 3,7 **** Copyright (c) 2001 by Ken Sugino (sugino at mediaone.net) ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 3,7 ---- Copyright (c) 2001 by Ken Sugino (sugino at mediaone.net) ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: LocalSiteMap.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/LocalSiteMap.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** LocalSiteMap.py 24 Nov 2001 02:30:58 -0000 1.2 --- LocalSiteMap.py 13 Feb 2002 21:13:52 -0000 1.3 *************** *** 3,7 **** Copyright (c) 2001 by Steve Howell ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 3,7 ---- Copyright (c) 2001 by Steve Howell ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. *************** *** 25,28 **** --- 25,29 ---- - add missing docs (docstrings, inline comments) + $Id$ """ Index: SpellCheck.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/SpellCheck.py,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** SpellCheck.py 12 Feb 2002 02:00:24 -0000 1.17 --- SpellCheck.py 13 Feb 2002 21:13:52 -0000 1.18 *************** *** 3,7 **** Copyright (c) 2001 by Richard Jones ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 3,7 ---- Copyright (c) 2001 by Richard Jones ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: __init__.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/__init__.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** __init__.py 28 Mar 2001 01:31:32 -0000 1.3 --- __init__.py 13 Feb 2002 21:13:52 -0000 1.4 *************** *** 3,7 **** Copyright (c) 2000 by Richard Jones ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 3,7 ---- Copyright (c) 2000 by Richard Jones ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:22:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:22:03 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.102,1.103 _template.py,1.2,1.3 cgimain.py,1.43,1.44 config.py,1.54,1.55 editlog.py,1.13,1.14 eventlog.py,1.6,1.7 request.py,1.4,1.5 security.py,1.2,1.3 user.py,1.55,1.56 userform.py,1.11,1.12 util.py,1.35,1.36 wikiaction.py,1.55,1.56 wikiform.py,1.3,1.4 wikimacro.py,1.31,1.32 wikiutil.py,1.75,1.76 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv2944 Modified Files: Page.py _template.py cgimain.py config.py editlog.py eventlog.py request.py security.py user.py userform.py util.py wikiaction.py wikiform.py wikimacro.py wikiutil.py Log Message: Mass update of copyrights; extended some module docstrings Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.102 retrieving revision 1.103 diff -C2 -r1.102 -r1.103 *** Page.py 8 Feb 2002 21:02:19 -0000 1.102 --- Page.py 13 Feb 2002 21:13:52 -0000 1.103 *************** *** 2,6 **** MoinMoin - Page class ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Page class ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: _template.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/_template.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** _template.py 23 Jan 2001 21:02:47 -0000 1.2 --- _template.py 13 Feb 2002 21:13:52 -0000 1.3 *************** *** 2,6 **** MoinMoin ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin ! Copyright (c) 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: cgimain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/cgimain.py,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -r1.43 -r1.44 *** cgimain.py 7 Feb 2002 01:03:32 -0000 1.43 --- cgimain.py 13 Feb 2002 21:13:52 -0000 1.44 *************** *** 2,6 **** MoinMoin - Main CGI Module ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Main CGI Module ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -r1.54 -r1.55 *** config.py 7 Feb 2002 11:56:15 -0000 1.54 --- config.py 13 Feb 2002 21:13:52 -0000 1.55 *************** *** 2,6 **** MoinMoin - Configuration ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Configuration ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: editlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/editlog.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** editlog.py 29 Jan 2002 23:35:57 -0000 1.13 --- editlog.py 13 Feb 2002 21:13:52 -0000 1.14 *************** *** 2,6 **** MoinMoin - Edit log management ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Edit log management ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: eventlog.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/eventlog.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** eventlog.py 7 Feb 2002 11:56:15 -0000 1.6 --- eventlog.py 13 Feb 2002 21:13:52 -0000 1.7 *************** *** 2,6 **** MoinMoin - Event log management ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Event log management ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: request.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/request.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** request.py 30 Nov 2001 21:35:00 -0000 1.4 --- request.py 13 Feb 2002 21:13:52 -0000 1.5 *************** *** 2,6 **** MoinMoin - HTTP Request Data ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - HTTP Request Data ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: security.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/security.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** security.py 30 Nov 2001 23:07:12 -0000 1.2 --- security.py 13 Feb 2002 21:13:52 -0000 1.3 *************** *** 2,6 **** MoinMoin - Wiki Security Interface ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Wiki Security Interface ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: user.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/user.py,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** user.py 16 Dec 2001 15:20:38 -0000 1.55 --- user.py 13 Feb 2002 21:13:52 -0000 1.56 *************** *** 2,6 **** MoinMoin - User Accounts ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - User Accounts ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: userform.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/userform.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** userform.py 2 Jan 2002 14:49:06 -0000 1.11 --- userform.py 13 Feb 2002 21:13:52 -0000 1.12 *************** *** 2,6 **** MoinMoin - User Account Maintenance ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - User Account Maintenance ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: util.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/util.py,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** util.py 7 Feb 2002 11:37:34 -0000 1.35 --- util.py 13 Feb 2002 21:13:52 -0000 1.36 *************** *** 2,7 **** MoinMoin - Utility Functions ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. $Id$ --- 2,9 ---- MoinMoin - Utility Functions ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. + + General helper functions that are not directly wiki related. $Id$ Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** wikiaction.py 6 Feb 2002 22:42:09 -0000 1.55 --- wikiaction.py 13 Feb 2002 21:13:52 -0000 1.56 *************** *** 2,5 **** --- 2,8 ---- MoinMoin - Action Handlers + Copyright (c) 2000, 2001, 2002 by J?rgen Hermann + All rights reserved, see COPYING for details. + Actions are triggered by the user clicking on special links on the page (like the icons in the title, or the "EditText" link at the bottom). The *************** *** 14,20 **** together with a user macro; those actions a likely to work only if invoked BY that macro, and are thus hidden from the user interface. - - Copyright (c) 2000-2001 by J?rgen Hermann - All rights reserved, see COPYING for details. $Id$ --- 17,20 ---- Index: wikiform.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiform.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** wikiform.py 8 Dec 2001 18:26:24 -0000 1.3 --- wikiform.py 13 Feb 2002 21:13:52 -0000 1.4 *************** *** 2,7 **** MoinMoin - User Forms ! ! Copyright (c) 2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - User Forms ! Copyright (c) 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: wikimacro.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikimacro.py,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** wikimacro.py 24 Jan 2002 23:10:47 -0000 1.31 --- wikimacro.py 13 Feb 2002 21:13:52 -0000 1.32 *************** *** 2,5 **** --- 2,8 ---- MoinMoin - Macro Implementation + Copyright (c) 2000, 2001, 2002 by J?rgen Hermann + All rights reserved, see COPYING for details. + These macros are used by the parser/wiki.py module to implement complex and/or dynamic page content. *************** *** 7,13 **** The sub-package "MoinMoin.macro" contains external macros, you can place your extensions there. - - Copyright (c) 2000 by J?rgen Hermann - All rights reserved, see COPYING for details. $Id$ --- 10,13 ---- Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -r1.75 -r1.76 *** wikiutil.py 12 Feb 2002 19:50:47 -0000 1.75 --- wikiutil.py 13 Feb 2002 21:13:52 -0000 1.76 *************** *** 2,6 **** MoinMoin - Wiki Utility Functions ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Wiki Utility Functions ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:22:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:22:05 2002 Subject: [Moin-devel] CVS: MoinMoin/formatter base.py,1.18,1.19 text_html.py,1.35,1.36 text_plain.py,1.14,1.15 text_xml.py,1.22,1.23 Message-ID: Update of /cvsroot/moin/MoinMoin/formatter In directory usw-pr-cvs1:/tmp/cvs-serv2944/formatter Modified Files: base.py text_html.py text_plain.py text_xml.py Log Message: Mass update of copyrights; extended some module docstrings Index: base.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/base.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** base.py 24 Jan 2002 23:10:47 -0000 1.18 --- base.py 13 Feb 2002 21:13:52 -0000 1.19 *************** *** 2,6 **** MoinMoin - Formatter Base Class ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - Formatter Base Class ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: text_html.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_html.py,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** text_html.py 30 Jan 2002 23:45:42 -0000 1.35 --- text_html.py 13 Feb 2002 21:13:53 -0000 1.36 *************** *** 2,6 **** MoinMoin - "text/html" Formatter ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - "text/html" Formatter ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: text_plain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_plain.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** text_plain.py 24 Jan 2002 23:10:47 -0000 1.14 --- text_plain.py 13 Feb 2002 21:13:53 -0000 1.15 *************** *** 2,6 **** MoinMoin - "text/plain" Formatter ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - "text/plain" Formatter ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. Index: text_xml.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_xml.py,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** text_xml.py 24 Jan 2002 23:10:47 -0000 1.22 --- text_xml.py 13 Feb 2002 21:13:53 -0000 1.23 *************** *** 2,6 **** MoinMoin - "text/xml" Formatter ! Copyright (c) 2000 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- MoinMoin - "text/xml" Formatter ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Wed Feb 13 13:30:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:30:08 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnConfiguration_2fSecurityPolicy,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv6608 Modified Files: HelpOnConfiguration_2fSecurityPolicy Log Message: Minor addition Index: HelpOnConfiguration_2fSecurityPolicy =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration_2fSecurityPolicy,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnConfiguration_2fSecurityPolicy 13 Feb 2002 20:44:00 -0000 1.1 --- HelpOnConfiguration_2fSecurityPolicy 13 Feb 2002 21:26:20 -0000 1.2 *************** *** 1,3 **** --- 1,15 ---- + ##cvsid: $Id$ + SecurityPolicy is a config option that allows wiki admins to dynamically enable or disable certain key actions in a MoinMoin wiki, most notably editing and deleting content. + + == Mechanics == + + Security restrictions in a MoinMoin wiki work by the interface defined in the `MoinMoin.security` module. + The `Permissions` class implements the basic interface for user permissions and + system policy. If you want to define your own policy, inherit + from that base class, so that when new permissions are defined, you get the defaults. + + Then assign your new class to `SecurityPolicy` in `moin_config`; + and I mean the class, not an instance of it! From jhermann at users.sourceforge.net Wed Feb 13 13:48:23 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:48:23 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnMacros,1.2,1.3 HelpOnPageDeletion,1.2,1.3 HelpOnUpdating,1.2,1.3 HelpOnXmlPages,1.2,1.3 TitleIndex,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv12255 Modified Files: HelpOnMacros HelpOnPageDeletion HelpOnUpdating HelpOnXmlPages TitleIndex Log Message: Removed CRs Index: HelpOnMacros =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnMacros,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnMacros 1 Dec 2001 10:56:44 -0000 1.2 --- HelpOnMacros 13 Feb 2002 21:47:33 -0000 1.3 *************** *** 1,41 **** ! [[TableOfContents]] ! ! == Macros == ! Macros allow the insertion of system features into normal wiki pages; the only thing that makes those pages special is that they contain macros. If you edit pages like RecentChanges or SystemInfo, you'll see what that means. ! ! For more information on the possible markup, see HelpOnEditing. ! ! === Search macros === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[TitleSearch]]}}} || search the page titles || See the FindPage || ! ||{{{[[FullSearch]]}}} || search the page contents || See the FindPage || ! ||{{{[[FullSearch()]]}}} || search for the current title in all pages (like clicking on the page title) || See the CategoryCategory page || ! ||{{{[[FullSearch('text')]]}}} || search for "text" in all pages || Search for {{{FullSearch}}}:[[FullSearch('FullSearch')]] || ! ||{{{[[GoTo]]}}} || directly go to the page you enter || See the FindPage || ! ||{{{[[PageList(regex)]]}}} || list of pages whose title matches the regex || See the HelpIndex || ! ! === Navigation === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[RecentChanges]]}}} || a list of recently edited pages || See RecentChanges || ! ||{{{[[TitleIndex]]}}} || an index of all page titles || See TitleIndex || ! ||{{{[[WordIndex]]}}} || an index of all words in page titles || See WordIndex || ! ||{{{[[RandomPage]]}}} || a link to a random page || [[RandomPage]] || ! ||{{{[[RandomPage(#)]]}}} || links to a number of random pages || Two random pages:[[RandomPage(2)]] || ! ||{{{[[TableOfContents]]}}} || display a local table of contents || See below || ! ! === System information === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[InterWiki]]}}} || a list of all known InterWiki names || InterWiki || ! ||{{{[[SystemInfo]]}}} || info on the wiki, the python interpreter and the host system || SystemInfo || ! ||{{{[[PageCount]]}}} || current page count || [[PageCount]] pages || ! ! === Others === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[Icon(image)]]}}} || display system icons || HelpOnNavigation || ! ||{{{[[UserPreferences]]}}} || display a user preferences dialog || UserPreferences || ! ||{{{[[BR]]}}} || insert a line break || 1st line[[BR]]2nd line || ! ||{{{[[Include(HelloWorld[,heading[,level]])]]}}} || include contents of another page || [[Include(HelloWorld)]] || ! ! == Example Display == ! We don't show examples for all macros here, because that would make this page quite long. Here is is the replacement text for the {{{[[SystemInfo]]}}} macro: ! [[SystemInfo]] --- 1,41 ---- ! [[TableOfContents]] ! ! == Macros == ! Macros allow the insertion of system features into normal wiki pages; the only thing that makes those pages special is that they contain macros. If you edit pages like RecentChanges or SystemInfo, you'll see what that means. ! ! For more information on the possible markup, see HelpOnEditing. ! ! === Search macros === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[TitleSearch]]}}} || search the page titles || See the FindPage || ! ||{{{[[FullSearch]]}}} || search the page contents || See the FindPage || ! ||{{{[[FullSearch()]]}}} || search for the current title in all pages (like clicking on the page title) || See the CategoryCategory page || ! ||{{{[[FullSearch('text')]]}}} || search for "text" in all pages || Search for {{{FullSearch}}}:[[FullSearch('FullSearch')]] || ! ||{{{[[GoTo]]}}} || directly go to the page you enter || See the FindPage || ! ||{{{[[PageList(regex)]]}}} || list of pages whose title matches the regex || See the HelpIndex || ! ! === Navigation === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[RecentChanges]]}}} || a list of recently edited pages || See RecentChanges || ! ||{{{[[TitleIndex]]}}} || an index of all page titles || See TitleIndex || ! ||{{{[[WordIndex]]}}} || an index of all words in page titles || See WordIndex || ! ||{{{[[RandomPage]]}}} || a link to a random page || [[RandomPage]] || ! ||{{{[[RandomPage(#)]]}}} || links to a number of random pages || Two random pages:[[RandomPage(2)]] || ! ||{{{[[TableOfContents]]}}} || display a local table of contents || See below || ! ! === System information === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[InterWiki]]}}} || a list of all known InterWiki names || InterWiki || ! ||{{{[[SystemInfo]]}}} || info on the wiki, the python interpreter and the host system || SystemInfo || ! ||{{{[[PageCount]]}}} || current page count || [[PageCount]] pages || ! ! === Others === ! ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[Icon(image)]]}}} || display system icons || HelpOnNavigation || ! ||{{{[[UserPreferences]]}}} || display a user preferences dialog || UserPreferences || ! ||{{{[[BR]]}}} || insert a line break || 1st line[[BR]]2nd line || ! ||{{{[[Include(HelloWorld[,heading[,level]])]]}}} || include contents of another page || [[Include(HelloWorld)]] || ! ! == Example Display == ! We don't show examples for all macros here, because that would make this page quite long. Here is is the replacement text for the {{{[[SystemInfo]]}}} macro: ! [[SystemInfo]] Index: HelpOnPageDeletion =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageDeletion,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnPageDeletion 9 Dec 2001 14:33:45 -0000 1.2 --- HelpOnPageDeletion 13 Feb 2002 21:47:33 -0000 1.3 *************** *** 1,8 **** ! HelpContents > HelpOnAdministration > HelpOnPageDeletion ! ! == How to delete pages == ! The default way to delete a page is via the shell on the host system. The page files are found in the "data/text" directory, and you can simply delete them from there. ! ! If enabled (see HelpOnConfiguration and MoinMoinFaq), you can delete pages with the {{{DeletePage}}} action. Note that deleting means to make a backup copy of the page, and then deleting the page file. This is almost like saving an empty page (which is not allowed by the system). ! ! What this means is that you can get back at deleted pages by using the standard mechanisms, see also the MoinMoinFaq entry "Can I restore a page from an older version?" for this. Especially, if you enter the page name into the `GoTo` dialog, you'll see the usual page creation stuff, but clicking on `PageInfo` will reveal the old version history, unless the page was purged out of existence inbetween. --- 1,8 ---- ! HelpContents > HelpOnAdministration > HelpOnPageDeletion ! ! == How to delete pages == ! The default way to delete a page is via the shell on the host system. The page files are found in the "data/text" directory, and you can simply delete them from there. ! ! If enabled (see HelpOnConfiguration and MoinMoinFaq), you can delete pages with the {{{DeletePage}}} action. Note that deleting means to make a backup copy of the page, and then deleting the page file. This is almost like saving an empty page (which is not allowed by the system). ! ! What this means is that you can get back at deleted pages by using the standard mechanisms, see also the MoinMoinFaq entry "Can I restore a page from an older version?" for this. Especially, if you enter the page name into the `GoTo` dialog, you'll see the usual page creation stuff, but clicking on `PageInfo` will reveal the old version history, unless the page was purged out of existence inbetween. Index: HelpOnUpdating =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnUpdating,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnUpdating 9 Dec 2001 03:18:53 -0000 1.2 --- HelpOnUpdating 13 Feb 2002 21:47:33 -0000 1.3 *************** *** 1,38 **** ! HelpContents > HelpOnAdministration > HelpOnUpdating ! ! == General procedures == ! ! /!\ '''Before you update an existing wiki, MAKE A BACKUP!''' You have been warned, and it's not my fault when you end up like this... @) ! ! == Configuration update == ! ! After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs). Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution. Often, new features will be invisible unless your extend your configuration in "moin.config.py". ! ! This is especially true for: ! * somewhat dangerous macros that won't be activated by default, because they're not advisable for public wikis. You need to explicitely activate those by adding an {{{allowed_actions}}} list to the config. Currently, the actions {{{DeletePage}}} and {{{AttachFile}}} are considered unsafe. ! ! * email features: you need to provide {{{mail_smarthost}}} and {{{mail_from}}}. ! ! * new pages icons: to get new icons like "XML", "Subscribe" etc. it's best to just delete the {{{page_icons}}} setting, now that "config.py" has a default for it. If you changed it in the past, add new icons from the "config.py" default to your "moin_config.py". ! ! * when upgrading to version 0.11, it is advisable to add the {{{sitename}}} setting ! ! == Updating files == ! ! Images:: On every update, you should copy the content of the "wiki-moinmoin/img" directory ! to your "data/img" directory, normally a new release has some new GIFs in it. ! ! System pages:: When upgrading to a new version, copy at least the help pages ("Help*") to ! your existing directory. Then check whether you miss any new system pages. ! ! InterWiki:: Check that you have the newest entries in the "intermap.txt" file; if you have "private" entries, add them to the distribution file, then copy the result over your current file. Note that starting with version 0.11, you can point "shared_intermap" at a file loaded ''before'' the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file). ! ! == Troubleshooting == ! ! To make UserPreferences work, you should "mkdir -m707 user" in your ! "data" directory. A good idea is to run the new "test.cgi" script after ! you installed a new release, which will spot some common errors. ! ! Depending on your installation, more tightly secured permissions are a good idea. ! Ideally, you assign all files in the data directory to the user the web server ! runs under, and then you use `700` or `755`. --- 1,38 ---- ! HelpContents > HelpOnAdministration > HelpOnUpdating ! ! == General procedures == ! ! /!\ '''Before you update an existing wiki, MAKE A BACKUP!''' You have been warned, and it's not my fault when you end up like this... @) ! ! == Configuration update == ! ! After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs). Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution. Often, new features will be invisible unless your extend your configuration in "moin.config.py". ! ! This is especially true for: ! * somewhat dangerous macros that won't be activated by default, because they're not advisable for public wikis. You need to explicitely activate those by adding an {{{allowed_actions}}} list to the config. Currently, the actions {{{DeletePage}}} and {{{AttachFile}}} are considered unsafe. ! ! * email features: you need to provide {{{mail_smarthost}}} and {{{mail_from}}}. ! ! * new pages icons: to get new icons like "XML", "Subscribe" etc. it's best to just delete the {{{page_icons}}} setting, now that "config.py" has a default for it. If you changed it in the past, add new icons from the "config.py" default to your "moin_config.py". ! ! * when upgrading to version 0.11, it is advisable to add the {{{sitename}}} setting ! ! == Updating files == ! ! Images:: On every update, you should copy the content of the "wiki-moinmoin/img" directory ! to your "data/img" directory, normally a new release has some new GIFs in it. ! ! System pages:: When upgrading to a new version, copy at least the help pages ("Help*") to ! your existing directory. Then check whether you miss any new system pages. ! ! InterWiki:: Check that you have the newest entries in the "intermap.txt" file; if you have "private" entries, add them to the distribution file, then copy the result over your current file. Note that starting with version 0.11, you can point "shared_intermap" at a file loaded ''before'' the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file). ! ! == Troubleshooting == ! ! To make UserPreferences work, you should "mkdir -m707 user" in your ! "data" directory. A good idea is to run the new "test.cgi" script after ! you installed a new release, which will spot some common errors. ! ! Depending on your installation, more tightly secured permissions are a good idea. ! Ideally, you assign all files in the data directory to the user the web server ! runs under, and then you use `700` or `755`. Index: HelpOnXmlPages =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnXmlPages,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnXmlPages 9 Dec 2001 14:33:45 -0000 1.2 --- HelpOnXmlPages 13 Feb 2002 21:47:33 -0000 1.3 *************** *** 1,27 **** ! == XML Pages & XSLT Processing == ! If you have Python4Suite installed in your system, it is possible to save XML documents as pages. It's important to start those pages with an XML declaration "{{{}}}" in the very first line. Also, you have to specify the stylesheet that is to be used to process the XML document to HTML. This is done using a [http://www.w3.org/TR/xml-stylesheet/ standard "xml-stylesheet" processing instruction], with the name of a page containing the stylesheet as the "{{{href}}}" parameter. ! ! See the following example for details, which can also be found on the XsltVersion page. ! ! === Example === ! {{{ ! ! ! ! ! ! ! ! ! ! This Wiki is running an XSLT engine by ! ! () ! implementing XSLT v ! ! ! ! }}} ! ! === Display === ! [[Include(XsltVersion)]] --- 1,27 ---- ! == XML Pages & XSLT Processing == ! If you have Python4Suite installed in your system, it is possible to save XML documents as pages. It's important to start those pages with an XML declaration "{{{}}}" in the very first line. Also, you have to specify the stylesheet that is to be used to process the XML document to HTML. This is done using a [http://www.w3.org/TR/xml-stylesheet/ standard "xml-stylesheet" processing instruction], with the name of a page containing the stylesheet as the "{{{href}}}" parameter. ! ! See the following example for details, which can also be found on the XsltVersion page. ! ! === Example === ! {{{ ! ! ! ! ! ! ! ! ! ! This Wiki is running an XSLT engine by ! ! () ! implementing XSLT v ! ! ! ! }}} ! ! === Display === ! [[Include(XsltVersion)]] Index: TitleIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/TitleIndex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** TitleIndex 30 Nov 2001 20:30:20 -0000 1.1 --- TitleIndex 13 Feb 2002 21:47:33 -0000 1.2 *************** *** 7,9 **** ---- ! [[TitleIndex]] \ No newline at end of file --- 7,9 ---- ---- ! [[TitleIndex]] From jhermann at users.sourceforge.net Wed Feb 13 13:53:34 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 13:53:34 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text CategoryCategory,1.2,1.3 CategoryHomepage,1.1,1.2 EventStats,1.1,1.2 EventStats_2fHitCounts,1.1,1.2 EventStats_2fUserAgents,1.1,1.2 FindPage,1.2,1.3 FrontPage,1.2,1.3 HelpContents,1.4,1.5 HelpForBeginners,1.2,1.3 HelpIndex,1.1,1.2 HelpOnAdministration,1.1,1.2 HelpOnConfiguration,1.5,1.6 HelpOnEditing,1.2,1.3 HelpOnEditing_2fSubPages,1.1,1.2 HelpOnFormatting,1.1,1.2 HelpOnHeadlines,1.1,1.2 HelpOnInstalling,1.4,1.5 HelpOnInstalling_2fApacheOnUnix,1.1,1.2 HelpOnInstalling_2fInternetInformationServer,1.1,1.2 HelpOnLinking,1.2,1.3 HelpOnLists,1.1,1.2 HelpOnMacros,1.3,1.4 HelpOnNavigation,1.2,1.3 HelpOnPageCreation,1.3,1.4 HelpOnPageDeletion,1.3,1.4 HelpOnProcessingInstructions,1.1,1.2 HelpOnRules,1.1,1.2 HelpOnSmileys,1.1,1.2 HelpOnSpellCheck,1.2,1.3 HelpOnTables,1.3,1.4 HelpOnUpdating,1.3,1.4 HelpOnXmlPages,1.3,1.4 IndexingScheme,1.1,1.2 InterWiki,1.2,1.3 MoinMoin,1.2,1.3 MoinMoinFaq,1.3,1.4 MoinMoinWinCvs,1.1,1.2 OrphanedPages,1.1,1.2 PageSize,1.1,1.2 Python4Suite,1.1,1.2 PythonLanguage,1.1,1.2 RandomPage,1.2,1.3 RecentChanges,1.3,1.4 SiteNavigation,1.2,1.3 StructuredText,1.1,1.2 SystemInfo,1.2,1.3 TitleIndex,1.2,1.3 UserPreferences,1.2,1.3 WantedPages,1.1,1.2 WikiHomePage,1.3,1.4 WikiName,1.1,1.2 WikiSandBox,1.2,1.3 WikiWikiWeb,1.2,1.3 WordIndex,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv13444 Modified Files: CategoryCategory CategoryHomepage EventStats EventStats_2fHitCounts EventStats_2fUserAgents FindPage FrontPage HelpContents HelpForBeginners HelpIndex HelpOnAdministration HelpOnConfiguration HelpOnEditing HelpOnEditing_2fSubPages HelpOnFormatting HelpOnHeadlines HelpOnInstalling HelpOnInstalling_2fApacheOnUnix HelpOnInstalling_2fInternetInformationServer HelpOnLinking HelpOnLists HelpOnMacros HelpOnNavigation HelpOnPageCreation HelpOnPageDeletion HelpOnProcessingInstructions HelpOnRules HelpOnSmileys HelpOnSpellCheck HelpOnTables HelpOnUpdating HelpOnXmlPages IndexingScheme InterWiki MoinMoin MoinMoinFaq MoinMoinWinCvs OrphanedPages PageSize Python4Suite PythonLanguage RandomPage RecentChanges SiteNavigation StructuredText SystemInfo TitleIndex UserPreferences WantedPages WikiHomePage WikiName WikiSandBox WikiWikiWeb WordIndex Log Message: Added ##cvsid: markers Index: CategoryCategory =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/CategoryCategory,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** CategoryCategory 1 Dec 2001 10:56:44 -0000 1.2 --- CategoryCategory 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + A category is a WikiName that exploits [wiki:Wiki:WikiWiki WikiWiki]'s reverse linking. If you click on the title of a category page, you'll get a list of pages belonging to that category. To get a list of all categories, click above on the Category''''''Category title. Index: CategoryHomepage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/CategoryHomepage,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** CategoryHomepage 30 Nov 2001 20:30:20 -0000 1.1 --- CategoryHomepage 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + A category for WikiHomePage''''''s. Index: EventStats =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/EventStats,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** EventStats 9 Feb 2002 00:42:52 -0000 1.1 --- EventStats 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + The following charts are based on the data in the event log: * /HitCounts Index: EventStats_2fHitCounts =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/EventStats_2fHitCounts,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** EventStats_2fHitCounts 9 Feb 2002 00:42:52 -0000 1.1 --- EventStats_2fHitCounts 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1 **** --- 1,3 ---- + ##cvsid: $Id$ + [[StatsChart(hitcounts)]] Index: EventStats_2fUserAgents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/EventStats_2fUserAgents,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** EventStats_2fUserAgents 9 Feb 2002 00:42:52 -0000 1.1 --- EventStats_2fUserAgents 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1 **** --- 1,3 ---- + ##cvsid: $Id$ + [[StatsChart(useragents)]] Index: FindPage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/FindPage,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** FindPage 9 Dec 2001 03:18:53 -0000 1.2 --- FindPage 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + You can use this page to search all entries in this WikiWikiWeb. Searches are not case sensitive. Index: FrontPage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/FrontPage,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** FrontPage 1 Dec 2001 10:56:44 -0000 1.2 --- FrontPage 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,3 **** --- 1,4 ---- #pragma section-numbers off + ##cvsid: $Id$ = MoinMoin Wiki = Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpContents 13 Feb 2002 20:43:59 -0000 1.4 --- HelpContents 13 Feb 2002 21:52:28 -0000 1.5 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Help Contents == Index: HelpForBeginners =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForBeginners,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpForBeginners 13 Feb 2002 20:44:00 -0000 1.2 --- HelpForBeginners 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == WikiWikiWeb == A WikiWikiWeb is a collaborative hypertext environment, with an emphasis on easy access to and modification of information. This wiki is also part of the InterWiki space. Index: HelpIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpIndex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpIndex 30 Nov 2001 20:30:20 -0000 1.1 --- HelpIndex 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** The following is a list of all help pages: ! [[PageList(Help.*)]] \ No newline at end of file --- 1,4 ---- + ##cvsid: $Id$ + The following is a list of all help pages: ! [[PageList(Help.*)]] Index: HelpOnAdministration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnAdministration,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnAdministration 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnAdministration 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration Index: HelpOnConfiguration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** HelpOnConfiguration 13 Feb 2002 20:44:00 -0000 1.5 --- HelpOnConfiguration 13 Feb 2002 21:52:28 -0000 1.6 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration > HelpOnConfiguration Index: HelpOnEditing =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnEditing,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnEditing 13 Feb 2002 20:44:00 -0000 1.2 --- HelpOnEditing 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Page Editing == Names of pages have to LookLikeThis. It's called a WikiName. If you write a word that LookLikeThis, it will be automatically turned into a link. More details about this you find on HelpForBeginners. Index: HelpOnEditing_2fSubPages =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnEditing_2fSubPages,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnEditing_2fSubPages 13 Feb 2002 20:44:00 -0000 1.1 --- HelpOnEditing_2fSubPages 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnEditing Index: HelpOnFormatting =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnFormatting,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnFormatting 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnFormatting 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Text Formatting Rules == Index: HelpOnHeadlines =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnHeadlines,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnHeadlines 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnHeadlines 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Section Headings == You can create headings by starting and ending a line with up to five equal signs. The heading text is between those markers, separated by a space. *************** *** 18,20 **** === Level 3 === ==== Level 4 ==== ! ===== Level 5 ===== \ No newline at end of file --- 20,22 ---- === Level 3 === ==== Level 4 ==== ! ===== Level 5 ===== Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnInstalling 31 Jan 2002 02:09:49 -0000 1.4 --- HelpOnInstalling 13 Feb 2002 21:52:28 -0000 1.5 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration > HelpOnInstalling Index: HelpOnInstalling_2fApacheOnUnix =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnUnix,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnInstalling_2fApacheOnUnix 31 Jan 2002 02:09:49 -0000 1.1 --- HelpOnInstalling_2fApacheOnUnix 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + ## `jh at localhost:~ > `'''`...`'''[[BR]] ## `...`[[BR]] Index: HelpOnInstalling_2fInternetInformationServer =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fInternetInformationServer,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnInstalling_2fInternetInformationServer 13 Feb 2002 20:44:00 -0000 1.1 --- HelpOnInstalling_2fInternetInformationServer 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + ... someone provide current instructions here ... Index: HelpOnLinking =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLinking,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnLinking 13 Feb 2002 20:44:00 -0000 1.2 --- HelpOnLinking 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == URLs and Inline Images == There are several way to insert external references[1] into the text: Index: HelpOnLists =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLists,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnLists 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnLists 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Lists and Indenting == You can create bulleted and numbered lists in a quite natural way. All you do is inserting the line containing the list item. To get bulleted items, start the item with an asterisk "{{{*}}}"; to get numbered items, start it with a number template "{{{1.}}}", "{{{a.}}}", "{{{A.}}}", "{{{i.}}}" or "{{{I.}}}". Anything else will just indent the line. To start a numbered list with a certain initial value, append "{{{#}}}''value''" to the number template. Index: HelpOnMacros =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnMacros,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnMacros 13 Feb 2002 21:47:33 -0000 1.3 --- HelpOnMacros 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + [[TableOfContents]] Index: HelpOnNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnNavigation,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnNavigation 9 Dec 2001 02:17:53 -0000 1.2 --- HelpOnNavigation 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Navigation == Index: HelpOnPageCreation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageCreation,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnPageCreation 13 Feb 2002 20:44:00 -0000 1.3 --- HelpOnPageCreation 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Creating a New Page == Index: HelpOnPageDeletion =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageDeletion,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnPageDeletion 13 Feb 2002 21:47:33 -0000 1.3 --- HelpOnPageDeletion 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration > HelpOnPageDeletion Index: HelpOnProcessingInstructions =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnProcessingInstructions,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnProcessingInstructions 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnProcessingInstructions 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Processing Instructions == MoinMoin processing instructions have the same semantics as in XML: they control the paths taken when processing a page. Processing instructions are lines that start with a "{{{#}}}" character followed by a keyword and optionally some arguments. Two consecutive hash marks at the start of a line are a comment that won't appear in the processed page. Index: HelpOnRules =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnRules,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnRules 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnRules 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Horizontal Rules == You can insert a horizontal rule across the page by typing four or more dashes. The number of dashes in a horizontal rule markup determines how thick it is, up to a limit of 10. Index: HelpOnSmileys =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnSmileys,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnSmileys 30 Nov 2001 20:30:20 -0000 1.1 --- HelpOnSmileys 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Graphical Smileys == To insert a smiley, just type in your favourite from the list below. They're only converted to an icon though if they are ''surrounded by whitespace''. Index: HelpOnSpellCheck =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnSpellCheck,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnSpellCheck 13 Feb 2002 20:44:00 -0000 1.2 --- HelpOnSpellCheck 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration > HelpOnSpellCheck Index: HelpOnTables =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnTables,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnTables 9 Dec 2001 14:58:24 -0000 1.3 --- HelpOnTables 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == Table Markup == To create a table, you start and end a line using the table marker "{{{||}}}". Between those start and end markers, you can create any number of cells by separating them with "{{{||}}}". To get a centered cell that spans several columns, you start that cell with more than one cell marker. Adjacent lines of the same indent level containing table markup are combined into one table. Index: HelpOnUpdating =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnUpdating,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnUpdating 13 Feb 2002 21:47:33 -0000 1.3 --- HelpOnUpdating 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + HelpContents > HelpOnAdministration > HelpOnUpdating Index: HelpOnXmlPages =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnXmlPages,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnXmlPages 13 Feb 2002 21:47:33 -0000 1.3 --- HelpOnXmlPages 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + == XML Pages & XSLT Processing == If you have Python4Suite installed in your system, it is possible to save XML documents as pages. It's important to start those pages with an XML declaration "{{{}}}" in the very first line. Also, you have to specify the stylesheet that is to be used to process the XML document to HTML. This is done using a [http://www.w3.org/TR/xml-stylesheet/ standard "xml-stylesheet" processing instruction], with the name of a page containing the stylesheet as the "{{{href}}}" parameter. Index: IndexingScheme =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/IndexingScheme,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** IndexingScheme 30 Nov 2001 20:30:20 -0000 1.1 --- IndexingScheme 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + An IndexingScheme is a way to navigate a wiki (see also MeatBall:IndexingScheme). Index: InterWiki =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/InterWiki,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** InterWiki 9 Dec 2001 02:17:53 -0000 1.2 --- InterWiki 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + List of valid InterWiki names this wiki knows of: [[InterWiki]] Index: MoinMoin =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/MoinMoin,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** MoinMoin 9 Dec 2001 03:18:53 -0000 1.2 --- MoinMoin 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + The TODO list for MoinMoin is on MoinMoin:MoinMoinTodo. You are encouraged to ''add'' wishes and ideas to MoinMoin:MoinMoinIdeas. Index: MoinMoinFaq =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/MoinMoinFaq,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MoinMoinFaq 11 Jan 2002 20:37:38 -0000 1.3 --- MoinMoinFaq 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + '''Index''' [[TableOfContents]] Index: MoinMoinWinCvs =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/MoinMoinWinCvs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MoinMoinWinCvs 9 Dec 2001 02:17:53 -0000 1.1 --- MoinMoinWinCvs 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + = WinCvs and MoinMoin = These instructions show how to use Win''''''Cvs to obtain the latest source of MoinMoin from [http://www.sourceforge.net sourceforge.net]. Index: OrphanedPages =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/OrphanedPages,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OrphanedPages 30 Nov 2001 20:30:20 -0000 1.1 --- OrphanedPages 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + A list of pages no other page links to: [[OrphanedPages]] Index: PageSize =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/PageSize,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** PageSize 2 Feb 2002 14:56:03 -0000 1.1 --- PageSize 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + [[StatsChart(pagesize)]] Index: Python4Suite =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/Python4Suite,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Python4Suite 30 Nov 2001 20:30:20 -0000 1.1 --- Python4Suite 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + 4Suite is a collection of Python tools for XML processing and object database management. It provides support for XML parsing, several transient and persistent DOM implementations, XPath expressions, XPointer, XSLT transforms, XLink, RDF and ODMG object databases. Index: PythonLanguage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/PythonLanguage,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** PythonLanguage 30 Nov 2001 20:30:20 -0000 1.1 --- PythonLanguage 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + Python is a dynamic object-oriented language. Index: RandomPage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/RandomPage,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** RandomPage 2 Feb 2002 14:56:03 -0000 1.2 --- RandomPage 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1 **** --- 1,3 ---- + ##cvsid: $Id$ + A list of 25 random pages (out of [[PageCount]] total):[[RandomPage(25)]] Index: RecentChanges =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/RecentChanges,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** RecentChanges 20 Dec 2001 23:28:53 -0000 1.3 --- RecentChanges 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + This page contains a list of recent changes in this wiki of '''[[PageCount]] pages''' (more system information on SystemInfo). For changes on other wikis, see OpenWiki:WikiSites/Aggregation. ---- Index: SiteNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/SiteNavigation,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** SiteNavigation 2 Feb 2002 14:56:03 -0000 1.2 --- SiteNavigation 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + SiteNavigation is the central place to explore this wiki. MoinMoin supports these MeatBall:IndexingScheme''''''s: * RecentChanges Index: StructuredText =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/StructuredText,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** StructuredText 30 Nov 2001 20:30:20 -0000 1.1 --- StructuredText 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + Structured text is text that uses indentation and simple symbology to indicate the structure of a document. For the next generation of structured text, see [http://dev.zope.org/Members/jim/StructuredTextWiki/StructuredTextNG here]. Index: SystemInfo =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/SystemInfo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** SystemInfo 1 Dec 2001 20:08:42 -0000 1.2 --- SystemInfo 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + [[SystemInfo]] ---- Index: TitleIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/TitleIndex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** TitleIndex 13 Feb 2002 21:47:33 -0000 1.2 --- TitleIndex 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + This is an index of all pages in the MoinMoin Wiki. Index: UserPreferences =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/UserPreferences,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** UserPreferences 9 Dec 2001 02:17:53 -0000 1.2 --- UserPreferences 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + [[UserPreferences]] Index: WantedPages =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WantedPages,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** WantedPages 30 Nov 2001 20:30:20 -0000 1.1 --- WantedPages 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + A list of non-existing pages including a list of the pages where they are referred to: [[WantedPages]] Index: WikiHomePage =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WikiHomePage,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** WikiHomePage 9 Dec 2001 03:18:53 -0000 1.3 --- WikiHomePage 13 Feb 2002 21:52:28 -0000 1.4 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + A WikiHomePage is your personal page on a WikiWikiWeb, where you could put information how to contact you, your interests and skills, etc. It is regarded as to be owned by the person that created it, so be careful when editing it. Index: WikiName =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WikiName,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** WikiName 30 Nov 2001 20:30:20 -0000 1.1 --- WikiName 13 Feb 2002 21:52:28 -0000 1.2 *************** *** 1 **** --- 1,3 ---- + ##cvsid: $Id$ + A WikiName is a word that uses capitalized words. WikiName''''''s automagically become hyperlinks to the WikiName's page. See also HelpForBeginners, "Arbitrary Page Names". Index: WikiSandBox =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WikiSandBox,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** WikiSandBox 1 Dec 2001 10:56:44 -0000 1.2 --- WikiSandBox 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + Please feel free to experiment here, after the four dashes below... and please do '''NOT''' create new pages without any meaningful content just to try it out. Index: WikiWikiWeb =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WikiWikiWeb,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** WikiWikiWeb 9 Dec 2001 03:18:53 -0000 1.2 --- WikiWikiWeb 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + The [wiki:Wiki:FrontPage first ever wiki site] was founded in 1994 as an automated supplement to the Wiki:PortlandPatternRepository. The site was immediately popular within the pattern community, largely due to the newness of the internet and a good slate of Wiki:InvitedAuthors. The site was, and remains, dedicated to Wiki:PeopleProjectsAndPatterns. Index: WordIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WordIndex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** WordIndex 30 Nov 2001 20:36:12 -0000 1.2 --- WordIndex 13 Feb 2002 21:52:28 -0000 1.3 *************** *** 1,2 **** --- 1,4 ---- + ##cvsid: $Id$ + This is an index of all words occuring in page titles. From jhermann at users.sourceforge.net Wed Feb 13 14:53:09 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 14:53:09 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpForBeginners,1.3,1.4 InterWiki,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv32079 Modified Files: HelpForBeginners InterWiki Log Message: Minor additions to HelpForBeginners; some explanation of interwiki concepts Index: HelpForBeginners =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForBeginners,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpForBeginners 13 Feb 2002 21:52:28 -0000 1.3 --- HelpForBeginners 13 Feb 2002 22:52:43 -0000 1.4 *************** *** 2,12 **** == WikiWikiWeb == ! A WikiWikiWeb is a collaborative hypertext environment, with an emphasis on easy access to and modification of information. This wiki is also part of the InterWiki space. ! You can edit any page by pressing the link at the bottom of the page. Capitalized words joined together form a WikiName, which hyperlinks to another page. The highlighted title searches for all pages that link to the current page. Pages which do not yet exist are linked with a question mark (or a different rendering in bold red): just follow the link and you can add a definition. You are encouraged to edit the WikiSandBox whichever way you like. Please restrain yourself from editing other pages until you feel at home with the ways a wiki works. ! To learn more about what a Wiki:WikiWikiWeb is, read about Wiki:WhyWikiWorks and the Wiki:WikiNature''''''. Also, consult the Wiki:WikiWikiWebFaq and Wiki:OneMinuteWiki. Good starting points to explore a wiki are --- 2,13 ---- == WikiWikiWeb == ! A WikiWikiWeb is a collaborative hypertext environment, with an emphasis on easy access to and modification of information. ! You can edit any page by pressing the link at the bottom of the page. Capitalized words joined together form a WikiName, which hyperlinks to another page. The highlighted title searches for all pages that link to the current page. Pages which do not yet exist are linked with a question mark (or a different rendering in bold red): just follow the link and you can add a definition. That is also the way to create a new page: add a new WikiName to an existing page, save your modification, click on your new link and create the page (more details on HelpOnPageCreation). You are encouraged to edit the WikiSandBox whichever way you like. Please restrain yourself from editing other pages until you feel at home with the ways a wiki works. ! To learn more about what a Wiki:WikiWikiWeb is, read about Wiki:WhyWikiWorks and the Wiki:WikiNature. Also, consult the Wiki:WikiWikiWebFaq and Wiki:OneMinuteWiki. ! This wiki is also part of the InterWiki space, which means you can easily refer to a wealth of information available through other public wiki sites. Good starting points to explore a wiki are *************** *** 15,18 **** --- 16,20 ---- * TitleIndex: a list of all pages in the wiki * WordIndex: a list of all words that are part of page title (thus, a list of the concepts in a wiki) + * SiteNavigation: a page leading to the different indexing schemes of the wiki * WikiSandBox: feel free to change this page and experiment with editing *************** *** 23,31 **** A WikiName is a word that uses capitalized words. WikiName''''''s automagically become hyperlinks to the WikiName's page. What exactly is an uppercase or lowercase letter is determined by the configuration, the default configuration works for Latin-1 (ISO-8859-1) characters. See below for how to handle Asian, Hebrew and other non-western character encodings. ! The highlighted page title (i.e. HelpForBeginners on this page) shows a list of all pages that link to the current page. It even works on pages that are not defined yet. ! A question mark after a link, or a different rendering in bold red, means that the page is not defined: you can click the question mark to offer a definition (e.g., NoSuchPageForReal). If you click on such a link, you'll see a default page that you can edit; only after you save the page will it be created for real. ! To ''escape'' a WikiName, i.e. if you want to write the word Wiki''''''Name without linking it, use an "empty" bold sequence (a sequence of six single quotes) like this: {{{Wiki''''''Name}}}. To learn more about wiki markup, see HelpOnEditing. --- 25,33 ---- A WikiName is a word that uses capitalized words. WikiName''''''s automagically become hyperlinks to the WikiName's page. What exactly is an uppercase or lowercase letter is determined by the configuration, the default configuration works for Latin-1 (ISO-8859-1) characters. See below for how to handle Asian, Hebrew and other non-western character encodings. ! When you click on the highlighted page title (i.e. HelpForBeginners on this page), you will see a list of all pages that link to the current page. This even works on pages that are not defined yet. ! A question mark before a link, or a different rendering in bold red, means that the page is not yet defined: you can click the question mark to offer a definition (e.g., NoSuchPageForReal). If you click on such a link, you'll see a default page that you can edit; only after you save the page will it be created for real. A list of all pages that are not yet created but referred on another page is on WantedPages. ! To ''escape'' a WikiName, i.e. if you want to write the word Wiki''''''Name without linking it, use an "empty" bold sequence (a sequence of six single quotes) like this: {{{Wiki''''''Name}}}. Alternatively, you can use the shorter sequence "{{{``}}}" (two backticks), i.e. {{{Wiki``Name}}}. To learn more about wiki markup, see HelpOnEditing. Index: InterWiki =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/InterWiki,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** InterWiki 13 Feb 2002 21:52:28 -0000 1.3 --- InterWiki 13 Feb 2002 22:52:43 -0000 1.4 *************** *** 1,13 **** ##cvsid: $Id$ List of valid InterWiki names this wiki knows of: [[InterWiki]] - Other Wikis: - * [http://panoptic.com/wiki/aolserver AOL Server Wiki] - * [http://www.wikiservice.at/dse/wiki.cgi? DseWiki] - * [http://www.alife.org/wiki/index.php] - MoinMoin marks the InterWiki links in a way that works for the MeatBall:ColourBlind and also is MeatBall:LynxFriendly by using a little icon with an ALT attribute. If you hover above the icon in a graphical browser, you'll see to which Wiki it refers. If the icon has a border, that indicates that you used an illegal or unknown BadBadBad:InterWiki name (see the list above for valid ones). BTW, the reasoning behind the icon used is based on the idea that a Wiki:WikiWikiWeb is created by a team effort of several people. - - See the wiki:MeatBall/InterWiki page on wiki:MeatBall:MeatballWiki for further details. --- 1,14 ---- ##cvsid: $Id$ + InterWiki links are a quick way to refer to information in other wikis, without having to remember + cryptic URLs. To write an InterWiki link, just use the InterWiki moniker of the foreign wiki, + followed by a page name on that wiki. + Of course, InterWiki links are not rendered differently when the remote page does not exist, and + MoinMoin cannot check whether you followed the rules for WikiName``s of the other wiki. + So double-check what you type. + See the wiki:MeatBall/InterWiki page on wiki:MeatBall:MeatballWiki for further details. + List of valid InterWiki names this wiki knows of: [[InterWiki]] MoinMoin marks the InterWiki links in a way that works for the MeatBall:ColourBlind and also is MeatBall:LynxFriendly by using a little icon with an ALT attribute. If you hover above the icon in a graphical browser, you'll see to which Wiki it refers. If the icon has a border, that indicates that you used an illegal or unknown BadBadBad:InterWiki name (see the list above for valid ones). BTW, the reasoning behind the icon used is based on the idea that a Wiki:WikiWikiWeb is created by a team effort of several people. From jhermann at users.sourceforge.net Wed Feb 13 15:44:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 15:44:05 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpForDevelopers,NONE,1.1 HelpMiscellaneous,NONE,1.1 HelpMiscellaneous_2fFrequentlyAskedQuestions,NONE,1.1 HelpContents,1.5,1.6 HelpOnNavigation,1.3,1.4 HelpOnPageDeletion,1.4,1.5 MoinMoinFaq,1.4,NONE Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv13206 Modified Files: HelpContents HelpOnNavigation HelpOnPageDeletion Added Files: HelpForDevelopers HelpMiscellaneous HelpMiscellaneous_2fFrequentlyAskedQuestions Removed Files: MoinMoinFaq Log Message: Moved the FAQ; added HelpForDevelopers --- NEW FILE: HelpForDevelopers --- /!\ THIS IS WORK IN PROGRESS /!\ ---- TODO: * Collect existing info from the MoinMon wiki pages * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) Info: * MoinMoin:MoinMoinWinCvs == Extension guidelines == These are the rules that govern MoinMoin development: * All extensions to or modifications of the original WikiMarkup should be kept compatible and in the spirit of the OriginalWiki. Example: [http://... text] shows up literally, i.e. no information is lost when cut&pasting to another Wiki. * Be portable at all times, at the very least to Win32 and Unix. * Keep the simple nature of PikiPiki's storage, if there are performance issues, add transparent caching / indexing. --- NEW FILE: HelpMiscellaneous --- Other MoinMoin help topics: * /FrequentlyAskedQuestions --- NEW FILE: HelpMiscellaneous_2fFrequentlyAskedQuestions --- ##cvsid: $Id: HelpMiscellaneous_2fFrequentlyAskedQuestions,v 1.1 2002/02/13 23:43:15 jhermann Exp $ '''Index''' [[TableOfContents]] == "What is a Wiki?" questions == === What is a ''Wiki''? === The term ''Wiki'' is a shortened form of Wiki''''''Wiki''''''Web. A Wiki is a database of pages that can be collaboritively edited using a web browser. === What is a ''MoinMoin''? === A Moin''''''Moin is a wiki provided by the python wiki program Moin''''''Moin. === What is this good for? === To be honest, it is good for whatever you use it for. At [http://www.lineo.com/ Lineo] we have put up a wiki on our internal web site with very many pages, which describe various projects, architectures, ideas, etc. for people to comment on. Some pages just sit there and convey information. Other pages are an open invitation for discussion and commentary. We also have set up a wiki for a very simple skills database. In general, a wiki is very much a free-form tool, whose value derives from the use to which it is put. For instance, a page in a wiki can serve the same purpose as a discussion thread. You could use a wiki page to collaboratively work on a project. Wikis are used internally by the guys who write [http://www.zope.org/ Zope] to manage their ideas and projects. === What are the major features of a Wiki? === Here are some important wiki features: * Editability by anyone - A wiki page is editable by anyone with a web browser * ability to view recent changes * ability to search pages (several ways) * ability to very easily add new pages * ability to see the change history for a document * ability to add new information or modify existing information === How does this compare to other collaboration tools, like Notes? === A Wiki can accomplish certain things very easily, but there are some things it cannot do. The biggest missing feature is some kind of access control, to allow only certain groups to see and manipulate informatin. === What about Wiki security? Isn't a Wiki subject to complete wipeout or nastiness from a saboteur? === This is an important question. In general, wiki's have '''NO''' security. (That's right!) Because of this, the possibility exists for accidental or conscious destruction or corruption of part of all of the wiki. There are two main ways to devalue a wiki. One is through erasure and the other is through corruption. Dealing with erasure is not terribly difficult, because there is a change log (and back versions) of every page maintained in a location inaccessible to web users. Thus, when page deletions or major content erasures are detected (which should be fairly quickly), pages can be restored quite easily to their previous good state. Explicit and intentional corruption is more difficult to deal with. The possibility exists that someone can enter incorrect information onto a page, or edit pages to intentionally change the information so it is incorrect (for example, people can change the attributions on a page to make it look like a different person made a particular comment, or someone can change the content of a paragraph to alter its meaning in a detrimental way). Pretty much any collaborative system has this problem. A Wiki is just more wide open to it, since it lacks any security at all. In practice, wiki corruption is an extremely rare event, and one that can be dealt with (if needed) with the notification feature (to a fixed auditor) for new material submission. In other words, the philosophy of wiki is one of dealing manually with the rare (exception) case of a saboteur, rather than designing in features and overhead (both in implementation and in usage) to avoid the damage caused by a saboteur. == Questions about using this Wiki == === Finding and accessing information in the wiki === ==== How can I search the wiki? ==== There are already more ways to search and/or scan the wiki than you can "shake a stick at": * Click on the magnifying glass icon. This brings you to the FindPage page, where you can search by keyword in title, by full text, with normal words or wildcards (regular expressions). * Click on TitleIndex. This will show you an alphabetized list of all pages by title. * Click on WordIndex. This shows an alphabetized list of every word in every title (ie, the Bluetooth page is under, B, Bluetooth). * Click on {{{LikePages}}} at the bottom of the page. This shows pages that have words in their titles that are similar to the current page. * Click on the page title at the very top of the page. This shows what pages link to the current page (which may help you find related pages). ==== How do I see what's been going on recently in the wiki? ==== Click on the RecentChanges link at the top of any page. ==== What are these WeirdRedLinks I keep finding all over the place? ==== Any mixed case name that doesn't have a page will show up as a red link. === Adding information to the wiki === ==== How do add something to the wiki, or change something that's wrong? ==== If you see something you'd like to comment on, add to, or change, just click on the {{{EditText}}} link at the bottom of the page, or click on the [[Icon(moin-edit.gif)]] icon at the top of the page. The page is brought up in a text-edit pane in your browser, and you simply make the changes. The wiki formatter will generally "do the right thing" with any text you enter. If you want to get fancy, you can do most of the same types of formatting that HTML allows you to do. See the HelpOnFormatting page for some tips and examples. ==== Are there any conventions I should follow when adding information? ==== Not very many. It helps to keep certain types of information formatted in a consistent way. One important convention that will help with consistency is the use of "Template" pages. The wiki has a feature called "Templates" which show up when you create a new page. If you click on one of these when creating a new page, then that page will have a structure similar to others of the same type. For example, when creating your own Wiki homepage, you should use the HomepageTemplate page, which is available when you create a new page in the wiki. ==== How can I add non-text information to the Wiki? ==== If the content already exists on a web site, then just add a link to a wiki page. Follow these steps: * Get the URL for the document, * Edit the Wiki page (go to the Wiki page and click the Edit''''''Text link) * Type in the URL where you want it in the document * Save the changes. The wiki will automatically make a hypertext link from the text you type in. You can make the link "prettier" by putting "cover" wording for the link in brackets. The cover wording will appear on the page, but the link will take the user to the URL when clicked on. Here's an example: {{{ [http://your.link.here/foo.html This will be the link text] }}} produces: [http://your.link.here/foo.html This will be the link text] ==== How do I add an image to a page? ==== You can include a url to the image in the page. Example: {{{ http://c2.com/sig/inter/wikibase.gif }}} produces http://c2.com/sig/inter/wikibase.gif ==== Adding documents in an intranet ==== If you're using MoinMoin on an intranet, it may be useful to make links to documents on file shares available to everyone reading your wiki. For example: {{{ [file://servername/full/path/to/file/filename.txt Click here to read filename.txt]}}} You can also link to files with spaces in the filenames by manually entering the URL encoding for spaces({{{%20}}}): {{{ [file://servername/full/path/to/file/filename%20with%20spaces.txt Click here to read filename with spaces.txt]}}} Another obvious and maybe better option is to use the {{{AttachFile}}} action, which was added with version 0.11. ==== Should I ''sign'' my changes? ==== If they are significant, or you want people to know that you made them, then yes. Just put your name or email address after your comment. It is not uncommon to indent your comment under the statement your are commenting on. Also, it helps to ''italicize'' your comment to make it stand off from the main body of the page you are commenting on. However, in some cases it may be appropriate to just make your change anonymously. Correcting spelling, formatting, or trivial word changes are some examples where it is not necessary (and even discouraged) for you to sign your modification. === Adding other document formats to the wiki === ==== Can I add HTML to the wiki? ==== If you want to add a single line of HTML, use the HTML macro. This is done by putting your HTML text as a parameter to the HTML macro, like so: {{{[[HTML(This is large font)]]}}} This would show up on the page as: [[HTML(This is large font)]] It's also possible to place an HTML document into a page by adding {{{#format html}}} as the first line in the page. If that line is there then the whole page will be interpreted as HTML (thus making links to other pages becomes a bit more difficult!) Make sure that you only add the body portion of the page (not the HTML headers or anything else outside of the body, including the tag itself). /!\ All of this only works if the HTML extensions (HTML macro and parser) are installed. == Installation & Configuration == (!) See HelpOnAdministration for general help on this topic === Why is the "diff" feature not working? === Diffs need two things to work properly: * The directory "''datadir''{{{/backup}}}" must exist. * You need a GNU diff executable in your webserver's PATH. Note that the PATH of your webserver might be much shorter than the PATH you are used to from your shell. === How do I activate the "DeletePage" option? === "Delete''''''Page" is not active by default, since it's most often used in intranets only and is somewhat dangerous in public wikis. To allow this and other dangerous actions, add them like this to {{{moin_config.py}}}: {{{ allowed_actions=['DeletePage'] }}} == Administering the Wiki == === How do I administer the wiki? === There is a lot of administration information on the RecentChanges page, including the number of pages, and the macros and actions that are installed. I usually set up an "Admin''''''Page", where I put macros for these, as well as information about the real physical location of the pages, and macros for orphan pages or other things an adminstrator for the wiki might want to look at. === Can I restore a page from an older version? === Not directly. It's easy to do (if you have permissions where the actual wiki data files are kept). But usually, you must request the wiki administrator to restore the page for you. This is done as a hedge against the improbable case of someone trying to sabotage the wiki. For people reading this FAQ page (which is probably not your average attacker), there is this way to restore a page: 1. click on the little "i" in the top-right corner ({{{PageInfo}}}). 1. click on "view" of the version you want to restore. 1. in the "Location" bar of your browser, replace "action=recall" with "action=raw". 1. Cut&paste the text into the edit box of that page, after clicking "{{{EditPage}}}". === How do I create a new Template page? === Templates are pages that show up automatically as options when you create a blank page. Any page that ends in the word Template will automatically show up in the list. Hence, if you want certain types of pages to have a similar format (similar headings, organization, etc.), you just define a page that ends in Template, and when creating pages of this type, select that template and edit it. The wiki fills in the starting content for you. Templates are editable wiki pages like any other. To create a Template page, just create a new page called Template Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** HelpContents 13 Feb 2002 21:52:28 -0000 1.5 --- HelpContents 13 Feb 2002 23:43:15 -0000 1.6 *************** *** 8,15 **** * HelpOnPageCreation - how to create a new page, and how to use page templates * HelpOnEditing - how to edit a page * HelpOnAdministration - how to maintain a MoinMoin wiki * HelpOnInstalling - how to install a MoinMoin wiki ! An automatically generated index of all help pages is on HelpIndex. See also MoinMoinFaq for answers to frequently asked questions. ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages.]'' --- 8,19 ---- * HelpOnPageCreation - how to create a new page, and how to use page templates * HelpOnEditing - how to edit a page + * HelpMiscellaneous - more details, and a FAQ section + + These pages contain information only important to wiki administrators and developers: * HelpOnAdministration - how to maintain a MoinMoin wiki * HelpOnInstalling - how to install a MoinMoin wiki + * HelpForDevelopers - how to add your own features by changing the MoinMoin code ! An automatically generated index of all help pages is on HelpIndex. See also HelpMiscellaneous/FrequentlyAskedQuestions for answers to frequently asked questions. ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages.]'' Index: HelpOnNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnNavigation,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnNavigation 13 Feb 2002 21:52:28 -0000 1.3 --- HelpOnNavigation 13 Feb 2002 23:43:15 -0000 1.4 *************** *** 3,9 **** == Navigation == ! The header on each page allows you to go to the FrontPage (home), RecentChanges (recent modifications), TitleIndex (index of all the page titles), WordIndex (index of all the words in the page titles), and HelpContents (main help page). On the upper right you find icons for the most often used functions: * [[Icon(moin-show.gif)]] refreshes the current page * [[Icon(moin-print.gif)]] shows a printable version of the page without the header or footer --- 3,10 ---- == Navigation == ! The header on each page allows you to go to the FrontPage (home), RecentChanges (recent modifications), TitleIndex (index of all the page titles), WordIndex (index of all the words in the page titles), SiteNavigation (list of navigation tools), and HelpContents (main help page). On the upper right you find icons for the most often used functions: + * [[Icon(moin-parent.gif)]] jumps to the parent page, and is only shown if you are on a subpage (see HelpOnEditing/SubPages) * [[Icon(moin-show.gif)]] refreshes the current page * [[Icon(moin-print.gif)]] shows a printable version of the page without the header or footer Index: HelpOnPageDeletion =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageDeletion,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnPageDeletion 13 Feb 2002 21:52:28 -0000 1.4 --- HelpOnPageDeletion 13 Feb 2002 23:43:15 -0000 1.5 *************** *** 6,10 **** The default way to delete a page is via the shell on the host system. The page files are found in the "data/text" directory, and you can simply delete them from there. ! If enabled (see HelpOnConfiguration and MoinMoinFaq), you can delete pages with the {{{DeletePage}}} action. Note that deleting means to make a backup copy of the page, and then deleting the page file. This is almost like saving an empty page (which is not allowed by the system). ! What this means is that you can get back at deleted pages by using the standard mechanisms, see also the MoinMoinFaq entry "Can I restore a page from an older version?" for this. Especially, if you enter the page name into the `GoTo` dialog, you'll see the usual page creation stuff, but clicking on `PageInfo` will reveal the old version history, unless the page was purged out of existence inbetween. --- 6,10 ---- The default way to delete a page is via the shell on the host system. The page files are found in the "data/text" directory, and you can simply delete them from there. ! If enabled (see HelpOnConfiguration and HelpMiscellaneous/FrequentlyAskedQuestions), you can delete pages with the {{{DeletePage}}} action. Note that deleting means to make a backup copy of the page, and then deleting the page file. This is almost like saving an empty page (which is not allowed by the system). ! What this means is that you can get back at deleted pages by using the standard mechanisms, see also the HelpMiscellaneous/FrequentlyAskedQuestions entry "Can I restore a page from an older version?" for this. Especially, if you enter the page name into the `GoTo` dialog, you'll see the usual page creation stuff, but clicking on `PageInfo` will reveal the old version history, unless the page was purged out of existence inbetween. --- MoinMoinFaq DELETED --- From jhermann at users.sourceforge.net Wed Feb 13 17:32:23 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 13 17:32:23 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpForDevelopers,1.1,1.2 HelpOnPageCreation,1.4,1.5 IndexingScheme,1.2,NONE Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv5622 Modified Files: HelpForDevelopers HelpOnPageCreation Removed Files: IndexingScheme Log Message: Removed IndexingScheme (duplicates SiteNavigation); added minor stuff Index: HelpForDevelopers =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForDevelopers,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpForDevelopers 13 Feb 2002 23:43:15 -0000 1.1 --- HelpForDevelopers 14 Feb 2002 01:31:55 -0000 1.2 *************** *** 6,10 **** * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) ! Info: --- 6,12 ---- * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) ! * Document all URI schemes (action values) ! * Show how to best create URLs (Page.link_to etc.) ! * How to use I18N features Info: Index: HelpOnPageCreation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnPageCreation,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnPageCreation 13 Feb 2002 21:52:28 -0000 1.4 --- HelpOnPageCreation 14 Feb 2002 01:31:55 -0000 1.5 *************** *** 25,27 **** || @''''''MAILTO@ || A fancy mailto: link with the user's data || ! Note that saving template or form definition pages does ''not'' expand variables. --- 25,27 ---- || @''''''MAILTO@ || A fancy mailto: link with the user's data || ! Note that saving template or form definition pages does ''not'' expand variables. Other than that, variable expansion is very gloabl and happens anywhere on the page, including code displays, comments, processing instructions and other "special" areas of a page you might think are excluded. --- IndexingScheme DELETED --- From jhermann at users.sourceforge.net Thu Feb 14 14:18:14 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 14 14:18:14 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.103,1.104 wikiutil.py,1.76,1.77 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv13824 Modified Files: Page.py wikiutil.py Log Message: Add meta keywords generated from page title (Sunir's idea) Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -r1.103 -r1.104 *** Page.py 13 Feb 2002 21:13:52 -0000 1.103 --- Page.py 14 Feb 2002 22:17:49 -0000 1.104 *************** *** 47,55 **** ! def split_title(self): """ Return a string with the page name split by spaces, if the user wants that. """ ! if not user.current.wikiname_add_spaces: return self.page_name # look for the end of words and the start of a new word, --- 47,55 ---- ! def split_title(self, force=0): """ Return a string with the page name split by spaces, if the user wants that. """ ! if not force and not user.current.wikiname_add_spaces: return self.page_name # look for the end of words and the start of a new word, *************** *** 58,66 **** ! def _split_title_py16(self): """ Return a string with the page name split by spaces, if the user wants that. """ ! if not user.current.wikiname_add_spaces: return self.page_name # Provided by Magnus Lyck? --- 58,66 ---- ! def _split_title_py16(self, force=0): """ Return a string with the page name split by spaces, if the user wants that. """ ! if not force and not user.current.wikiname_add_spaces: return self.page_name # Provided by Magnus Lyck? Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -r1.76 -r1.77 *** wikiutil.py 13 Feb 2002 21:13:52 -0000 1.76 --- wikiutil.py 14 Feb 2002 22:17:49 -0000 1.77 *************** *** 395,398 **** --- 395,406 ---- user_head = user_head + config.html_head_queries print "%s%s - %s" % (user_head, cgi.escape(text), config.sitename) + + # add keywords from page title + if keywords.has_key('pagename'): + words = Page(keywords['pagename']).split_title(force=1) + print '' % ( + cgi.escape(string.replace(words, ' ', ', '), 1)) + + # link to CSS stylesheet css_url = user.current.valid and user.current.css_url or config.css_url if css_url and string.lower(css_url) != "none": From jhermann at users.sourceforge.net Sun Feb 17 13:21:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 13:21:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text MoinMoin,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv14724 Modified Files: MoinMoin Log Message: Updated to current public page Index: MoinMoin =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/MoinMoin,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MoinMoin 13 Feb 2002 21:52:28 -0000 1.3 --- MoinMoin 17 Feb 2002 21:20:18 -0000 1.4 *************** *** 1,80 **** ! ##cvsid: $Id$ ! The TODO list for MoinMoin is on MoinMoin:MoinMoinTodo. You are encouraged to ''add'' wishes and ideas to MoinMoin:MoinMoinIdeas. ! Links: * [http://sourceforge.net/projects/moin/ SourceForge Project Info] * [http://moin.sourceforge.net/ Project Homepage] * [http://freshmeat.net/projects/moin FreshMeat Entry] * [http://www.oreillynet.com/pub/a/python/2000/11/29/pythonnews.html PythonNews article on wikis] - - ---- - - "Moin" meaning "Good Morning", and "MoinMoin" being an emphasis, i.e. "A ''Very'' Good Morning". The name was obviously chosen for its MoinMoin:WikiWikiNess. - - ''We may soon be sure what it means because it maybe added to the German '''Duden''' as i read in todays newspaper. Or Newspaper does not have the article online but i found a snippet in another (better) one: [http://www.suedwestpresse.de/dc/html/news/news-ulm_ul/20010801ul_swp_poli0019.htm "Moin moin" soll in den Duden] --MoinMoin:PatrickGuenther'' - - ''No! Originally "MoinMoin" does '''not''' mean "Good Morning". "Moin" just means "good" or "nice" and in northern Germany it is used at any daytime, so "Good day" seems more appropriate.'' -- MoinMoin:MarkoSchulz - - Mmmmh , seems that I can enrich so more info: "Moin" has the meaning of "Good Morning" but it is spoken under murmur like "mornin'" although the Syllable is too short alone, so it is spoken twice. If you shorten "Good Morning" with "morn'" it has the same effect with "morn'morn'". --Thomas Albl - - We use it all day in the south too. I always thought it just morphed from a morning greeting to an all-day one. -- MoinMoin:J?rgenHermann - - ''Interesting. I always get puzzled looks from southerners when I use it in the evening. My wife - who speaks more [http://www.radiobremen.de/melodie/plattkurs/plattvok.htm Plattdeutsch] than me - once explained to me, that MoinMoin originated in "Moi Dag" or "Moin Dag", which just means "Good day". I don't know whether the people were too lazy or just mumbled too much, anyway it degenerated into "Moin" or in its emphasized form "MoinMoin".'' - - ''The whole thing gets more complicated since there are so many different flavors of Plattdeutsch. Someone from Hamburg might have a hard time understanding someone from the coast.''-- MoinMoin:MarkoSchulz - - ''Sure. Here in Oldenburg we use it all-day and if somebody uses MoinMoin quite sure somebody else will ask him not to use it because in our Area it is another way of saying "Leck mich am Arsch" - i don't know how to translate it...'' -- MoinMoin:PatrickGuenther - - - Sorry for barging in here, but I guess that is the idea with this anyhow :) I'm from the southern part of Denmark and we also use the term "Moin" - even though we spell it "Mojn"... but i guess that's because a lot of our language is influenced by Platt -- MoinMoin:J?rnHansen - - ''Well, Platt is surely an extreme German dialect (or even its own language), so I guess it's no surprise.'' - - Swedish has the greeting "morn morn", which is a sloppy way of saying "morgon morgon", which means "morning morning" and is thus used to greet people during the early hours. Coincidence? -- MoinMoin:ChristianSunesson - - How is moinmoin pronounced? [Although it's an open question as to how to represent the phonemes across Swedish, Danish, Plattdeutsch and English... although probably not impossible as they are all 'Germanic' languages...] --Nicholas Spies - - It's pronounced the way you spell it... m as in my, oi - as oy in doytshmark, n as in nuts :). - - BTW, one could resolve to accepting *both* theories on - The Origin Of MoinMoin---taking into account the - nearness in both sound and meaning over several - neighbouring languages (Platt, H.-German, Dutch, - Swedish, English...). Platt used to be the ''lingua - franca'' of the Hanse (an early, nautically and - commercially oriented ancestor of today's Internet), - and a lot of words must have been shared among the - people engaged in the international trade across the - North and Baltic Seas.--- - G.: 'Morgen': ''early day'', ''next day''.--- - E.: 'next morn' approx.= ''next day'' (cf. also E.: - 'day' in 'day and night' vs. 'day' in 'every day').--- - Perhaps moinmoin even comes from 'moin morn'?---In (N.) - Germany, one often says 'Morgen, Tag, Abend' (in IPA spelling: [mo:en, - tax, a:mt]) instead of the more polite and more - carefully pronounced, official forms 'Guten Morgen' and so on. - - --Wolfgang Lipp [lipp at epost.de] - - In Scots, 'morn' can mean either morning or tomorrow. Thus ''the morn's morn'' is tomorrow morning. - - --Hamish Lawson - - Let?s have a look at van Dale Taalweb (Van Dale Groot woordenboek hedendaags Nederlands): - - ''mooi (bn.)'' - - * keurig van voorkomen, met zorg gekleed - * van nature knap van uiterlijk => bevallig - * aangenaam voor het esthetisch gevoel => fraai - * voortreffelijk - * aangenaam, gunstig - * aardig, grappig - * [iron.] lelijk, erg - - So ''mooi dag'' means ''good day'', and MoinMoin seems to be a residual form of this form of greeting. - - --GFH --- 1,23 ---- ! The following pages are about the development of MoinMoin: ! * MoinMoin:MoinMoinBugs - bugs in the software (see also the bug tracker on MoinMoin:SourceForge) ! * MoinMoin:MoinMoinDiscussion - discussion about new features ! * MoinMoin:MoinMoinIdeas - you are encouraged to ''add'' wishes and ideas to this page ! * MoinMoin:MoinMoinMailingLists - discussion about MoinMoin via email ! * MoinMoin:MoinMoinWinCvs - instructions on using WinCVS to obtain the latest source of MoinMoin ! * HelpForDevelopers - the rules that govern MoinMoin development ! ! These pages provide information about using and installing MoinMoin: ! * HelpContents - The main page of the help system ! * HelpMiscellaneous/FrequentlyAskedQuestions - Frequently Asked Questions ! * MoinMoin:MoinMoinMailingLists - discussion about MoinMoin via email ! * MoinMoin:MoinMoinWikis - list of wiki sites using MoinMoin ! Other pages about MoinMoin: ! * MoinMoin:MoinMoinEtymology ! External links: * [http://sourceforge.net/projects/moin/ SourceForge Project Info] * [http://moin.sourceforge.net/ Project Homepage] * [http://freshmeat.net/projects/moin FreshMeat Entry] * [http://www.oreillynet.com/pub/a/python/2000/11/29/pythonnews.html PythonNews article on wikis] From jhermann at users.sourceforge.net Sun Feb 17 13:26:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 13:26:01 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnLists,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv15761 Modified Files: HelpOnLists Log Message: Definition lists Index: HelpOnLists =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLists,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnLists 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnLists 17 Feb 2002 21:25:23 -0000 1.3 *************** *** 6,9 **** --- 6,11 ---- To nest lists of different levels, you use different depths of indenting. All items on the same indent level belong to the same (sub-)list. That also means that you cannot change the style of a list after you started it. + Definition lists can be created by items of the form {{{term:: definition}}}; note that the ''term'' cannot currently contain any wiki markup. + For more information on the possible markup, see HelpOnEditing. *************** *** 45,48 **** --- 47,53 ---- A. one A. two + + term:: definition + another term:: and its definition }}} *************** *** 83,84 **** --- 88,92 ---- A. one A. two + + term:: definition + another term:: and its definition From jhermann at users.sourceforge.net Sun Feb 17 14:35:07 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 14:35:07 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text AbandonedPages,NONE,1.1 HelpOnMacros,1.4,1.5 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv9220 Modified Files: HelpOnMacros Added Files: AbandonedPages Log Message: Added missing macros --- NEW FILE: AbandonedPages --- [[AbandonedPages]] Index: HelpOnMacros =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnMacros,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnMacros 13 Feb 2002 21:52:28 -0000 1.4 --- HelpOnMacros 17 Feb 2002 22:34:09 -0000 1.5 *************** *** 1,3 **** --- 1,4 ---- ##cvsid: $Id$ + ##||{{{[[ ]]}}} || || || [[TableOfContents]] *************** *** 22,28 **** --- 23,33 ---- ||{{{[[TitleIndex]]}}} || an index of all page titles || See TitleIndex || ||{{{[[WordIndex]]}}} || an index of all words in page titles || See WordIndex || + ||{{{[[WantedPages]]}}} || list links to non-existent pages || See WantedPages || + ||{{{[[OrphanedPages]]}}} || list pages no other page links to || See OrphanedPages || + ||{{{[[AbandonedPages]]}}} || list pages that were not edited for the longest time || See AbandonedPages || ||{{{[[RandomPage]]}}} || a link to a random page || [[RandomPage]] || ||{{{[[RandomPage(#)]]}}} || links to a number of random pages || Two random pages:[[RandomPage(2)]] || ||{{{[[TableOfContents]]}}} || display a local table of contents || See below || + ||{{{[[Anchor(anchorname)]]}}} || macro to insert anchors into a page || [[Anchor(here)]][#here] || === System information === *************** *** 31,41 **** ||{{{[[SystemInfo]]}}} || info on the wiki, the python interpreter and the host system || SystemInfo || ||{{{[[PageCount]]}}} || current page count || [[PageCount]] pages || === Others === ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[Icon(image)]]}}} || display system icons || HelpOnNavigation || ! ||{{{[[UserPreferences]]}}} || display a user preferences dialog || UserPreferences || ||{{{[[BR]]}}} || insert a line break || 1st line[[BR]]2nd line || ! ||{{{[[Include(HelloWorld[,heading[,level]])]]}}} || include contents of another page || [[Include(HelloWorld)]] || == Example Display == --- 36,56 ---- ||{{{[[SystemInfo]]}}} || info on the wiki, the python interpreter and the host system || SystemInfo || ||{{{[[PageCount]]}}} || current page count || [[PageCount]] pages || + ||{{{[[PageSize]]}}} || list the sizes of all pages || See PageSize || + ||{{{[[StatsChart(type)]]}}} || shows statistical charts (currently defined types: hitcounts, pagesize, useragents) || See EventStats and subpages || + ||{{{[[SystemAdmin]]}}} || Web interface to wiki administration (not completed yet as of version 0.11) || See SystemInfo || === Others === ||'''Macro'''||'''Description'''||'''Example'''|| ! ||{{{[[Icon(image)]]}}} || display system icons || See HelpOnNavigation || ! ||{{{[[UserPreferences]]}}} || display a user preferences dialog || See UserPreferences || ||{{{[[BR]]}}} || insert a line break || 1st line[[BR]]2nd line || ! ||{{{[[Include(HelloWorld[,"heading"[,level]])]]}}} || include contents of another page || [[Include(HelloWorld)]] || ! ||{{{[[FootNote(text)]]}}} || Add a footnote (the text cannot contain any wiki markup), or explicitely display collected footnotes when no args are given || See HelpOnPageCreation for an example || ! ||{{{[[Date(timestamp)]]}}} || display a timestamp according to system settings || [[Date()]] || ! ||{{{[[DateTime(timestamp)]]}}} || display a timestamp[[FootNote("timestamp" can be empty (current time), a number of seconds since 1970 (unix timestamp), or a W3C time specification ("2002-01-23T12:34:56").)]] according to user settings || [[DateTime()]] || ! ||{{{[[GetText(text)]]}}} || loads I18N texts (mainly intended for use on Help pages) || "Edit``Text" is translated to "[[GetText(EditText)]]" || ! ||{{{[[TeudView]]}}} || useful for intranet developer wikis, a means to view pydoc documentation, formatted via a XSLT stylesheet, for details see EfnetPythonWiki:TeudProject || See EfnetPythonWiki:TeudViewer?module=MoinMoin.macro.TeudView || ! ! [[FootNote]] == Example Display == From jhermann at users.sourceforge.net Sun Feb 17 14:36:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 14:36:03 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpContents,1.6,1.7 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv10316 Modified Files: HelpContents Log Message: Added HelpOnActions Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** HelpContents 13 Feb 2002 23:43:15 -0000 1.6 --- HelpContents 17 Feb 2002 22:35:10 -0000 1.7 *************** *** 8,11 **** --- 8,12 ---- * HelpOnPageCreation - how to create a new page, and how to use page templates * HelpOnEditing - how to edit a page + * HelpOnActions - tools that work on pages or the whole site * HelpMiscellaneous - more details, and a FAQ section From jhermann at users.sourceforge.net Sun Feb 17 14:37:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 14:37:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnHeadlines,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv11180 Modified Files: HelpOnHeadlines Log Message: Added docs on auto-numbering Index: HelpOnHeadlines =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnHeadlines,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnHeadlines 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnHeadlines 17 Feb 2002 22:36:17 -0000 1.3 *************** *** 1,6 **** ##cvsid: $Id$ == Section Headings == ! You can create headings by starting and ending a line with up to five equal signs. The heading text is between those markers, separated by a space. For more information on the possible markup, see HelpOnEditing. --- 1,9 ---- + #pragma section-numbers on ##cvsid: $Id$ == Section Headings == ! You can create headings by starting and ending a line with up to five equal signs. The heading text is between those markers, separated by a single space. ! ! Headings can be automatically numbered, you can enable or disable this for each page (see `#pragma section-numbers` on HelpOnProcessingInstructions) and for the whole site (see `show_section_numbers` on HelpOnConfiguration). For more information on the possible markup, see HelpOnEditing. *************** *** 21,22 **** --- 24,27 ---- ==== Level 4 ==== ===== Level 5 ===== + + Note that proper section numbering requires you to order sections according to a valid structure, i.e. correctly nested. Our sample doesn't do this, so you get a different numbering scheme than you might expect. From jhermann at users.sourceforge.net Sun Feb 17 15:20:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 15:20:04 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text MoinMoinWinCvs,1.2,NONE Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv27110 Removed Files: MoinMoinWinCvs Log Message: Removed from core set of pages (references changed to point to MoinMoin wiki) --- MoinMoinWinCvs DELETED --- From jhermann at users.sourceforge.net Sun Feb 17 15:21:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 17 15:21:04 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnActions,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv28411 Added Files: HelpOnActions Log Message: New help page --- NEW FILE: HelpOnActions --- == Actions == Actions are tools that work on a page or the whole wiki, but unlike macros do not add ''to'' the page content when viewing a page, but work ''on'' that page content. They either produce some output based on page contents (navigational actions like searching) or implement functions that are not related to viewing a page (like deleting or renaming a page). There is a set of system-defined actions, which includes page editing; you can extend the set of known actions by your own ones. See HelpForDevelopers for more on that. The following actions are added to the list of user-defined extension actions at the bottom of each page. This happens to any mixed-case extension, for other actions (all lower-case) see the list further down this page. Some of these action might not be available for your wiki site. * `DeletePage`: Delete a page, after you confirmed it; deletion means a final backup copy is created and only then the page is deleted, i.e. you can ''revive'' the page later on (as long as the backups are not physically deleted). * `LikePages`: list pages start start or end with the same MeatBall:WikiWord as the current page. * `AttachFile`: attach files to a page, see /AttachFile for more details. * `LocalSiteMap`: show nearby links of the current page, i.e. list all referred-to pages, and in turn their references, to a certain limited depth. * `SpellCheck`: call the spell checker for the current page; see HelpOnSpellCheck for more. The following is a list of ''internal'' actions that are used to implement the various icons and links at the top and bottom of pages, or supplement certain macros. * titleindex: Implements the listing of all page names as text or (Self:?action=titleindex) or XML (Self:?action=titleindex&mimetype=text/xml); the main use of this action is to enable MeatBall:MetaWiki. * fullsearch: this action is triggered by clicking on the "Go" button of the `FullSearch` macro (Self:?action=fullsearch&value=HelpOnActions). * titlesearch: this action is triggered by clicking on the "Go" button of the `TitleSearch` macro (Self:?action=titlesearch&value=HelpOnActions). * inlinesearch: this implements the inline search for the form fields at the bottom of each page (note that this uses POST requests, so you won't normally see this action in URLs). * highlight: highlight the search word when you click on a link in a search result list. * diff: display differences between page revisions. * info: show meta-data on a page. * recall: display an older revision of a page. * show: display a page (the default action). * refresh: refresh the cached version of a page (currently only used on XSLT-formatted pages). * print: show the print-view of a page, which omits the navigational items from the display view. * edit: edit this page. * savepage: save this page (do not ever use this manually). * subscribe: subscribe to a page. * userform: save user preferences. * bookmark: set bookmark for RecentChanges. * formtest: used for development. * raw: send the raw wiki markup as text/plain (e.g. for backup purposes via wget); Self:SystemInfo?action=raw shows the markup of SystemInfo. * format: emit specially formatted views of a page. * rss_rc: generate a RSS feed of RecentChanges. * chart: display charts. * dumpform: used for development. * export: export the wiki content (experimental). From jhermann at users.sourceforge.net Tue Feb 19 11:52:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 11:52:15 2002 Subject: [Moin-devel] CVS: dist/wiki/data intermap.txt,1.7,1.8 Message-ID: Update of /cvsroot/moin/dist/wiki/data In directory usw-pr-cvs1:/tmp/cvs-serv11414 Modified Files: intermap.txt Log Message: Added TwistedWiki http://purl.net/wiki/twisted/ Index: intermap.txt =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/intermap.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** intermap.txt 12 Feb 2002 19:48:56 -0000 1.7 --- intermap.txt 19 Feb 2002 19:51:55 -0000 1.8 *************** *** 10,13 **** --- 10,14 ---- Thinki http://www.thinkware.se/cgi-bin/thinki.cgi/ PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp + TwistedWiki http://purl.net/wiki/twisted/ # Added 2002-02-12 to http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt From jhermann at users.sourceforge.net Tue Feb 19 14:18:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 14:18:08 2002 Subject: [Moin-devel] CVS: dist MANIFEST.in,1.9,1.10 INSTALL,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv24918 Modified Files: MANIFEST.in INSTALL Log Message: Minor: (c) changes Index: MANIFEST.in =================================================================== RCS file: /cvsroot/moin/dist/MANIFEST.in,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** MANIFEST.in 9 Feb 2002 16:36:39 -0000 1.9 --- MANIFEST.in 19 Feb 2002 22:17:26 -0000 1.10 *************** *** 1,5 **** # MoinMoin - Distutils distribution files # ! # Copyright (c) 2001 by J?rgen Hermann # All rights reserved, see COPYING for details. # --- 1,5 ---- # MoinMoin - Distutils distribution files # ! # Copyright (c) 2001, 2002 by J?rgen Hermann # All rights reserved, see COPYING for details. # Index: INSTALL =================================================================== RCS file: /cvsroot/moin/dist/INSTALL,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** INSTALL 29 Nov 2001 23:25:28 -0000 1.3 --- INSTALL 19 Feb 2002 22:17:27 -0000 1.4 *************** *** 2,6 **** ================================== ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- ================================== ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. From jhermann at users.sourceforge.net Tue Feb 19 15:09:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 15:09:15 2002 Subject: [Moin-devel] CVS: MoinMoin/parser python.py,1.7,1.8 wiki.py,1.79,1.80 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv7975/parser Modified Files: python.py wiki.py Log Message: Colorization of code displays triggered by "#!python" Index: python.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/python.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** python.py 8 Nov 2001 22:05:17 -0000 1.7 --- python.py 19 Feb 2002 23:08:26 -0000 1.8 *************** *** 39,43 **** """ Store the source text. """ ! self.raw = string.strip(string.expandtabs(raw)) self.out = kw.get('out', sys.stdout) --- 39,43 ---- """ Store the source text. """ ! self.raw = string.rstrip(string.expandtabs(raw)) self.out = kw.get('out', sys.stdout) Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -r1.79 -r1.80 *** wiki.py 13 Feb 2002 21:13:54 -0000 1.79 --- wiki.py 19 Feb 2002 23:08:26 -0000 1.80 *************** *** 689,693 **** match = self.hilite_re.search(text, lastpos) ! result.append(text[lastpos:]) return string.join(result, '') --- 689,693 ---- match = self.hilite_re.search(text, lastpos) ! result.append(self.formatter.text(text[lastpos:])) return string.join(result, '') *************** *** 763,767 **** self.table_rowstart = 1 ! if not self.in_pre: # paragraph break on empty lines if not string.strip(line): --- 763,795 ---- self.table_rowstart = 1 ! if self.in_pre: ! if self.in_pre == 2: ! # colorization mode ! endpos = string.find(line, "}}}") ! if endpos == -1: ! self.colorize_lines.append(line) ! continue ! ! # !!! same code as with "inline:" handling, this needs to be unified! ! import cStringIO ! from MoinMoin.parser import python ! ! buff = cStringIO.StringIO() ! colorizer = python.Parser(string.join(self.colorize_lines, '\n'), out = buff) ! colorizer.format(self.formatter, self.form) ! ! sys.stdout.write(self.formatter.rawHTML(buff.getvalue())) ! sys.stdout.write(self.formatter.preformatted(0)) ! self.in_pre = 0 ! del buff ! del self.colorize_lines ! ! # send rest of line through regex machinery ! line = line[endpos+3:] ! elif string.strip(line) == "#!python": ! self.in_pre = 2 ! self.colorize_lines = [] ! continue ! else: # paragraph break on empty lines if not string.strip(line): From jhermann at users.sourceforge.net Tue Feb 19 15:21:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 15:21:04 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnFormatting,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv12207 Modified Files: HelpOnFormatting Log Message: Superscripted text; backticks; colorization; explicitely state that there is no wiki markup in code sections Index: HelpOnFormatting =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnFormatting,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnFormatting 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnFormatting 19 Feb 2002 23:20:46 -0000 1.3 *************** *** 8,11 **** --- 8,12 ---- To write italics, enclose the text in double single quotes. To write bold, enclose the text in triple single quotes. + You get ^superscripted text^ by enclosing it into caret characters. To insert program source without reformatting in a {{{monospace font}}}, use three curly braces: *************** *** 15,18 **** --- 16,21 ---- }}} + Note that within code sections, both inline and display ones, any wiki markup is ignored. An alternative and shorter syntax for `inlined code` is to use backtick characters (note that this can be disabled by the site's configuration, but is enabled by default). + For more information on the possible markup, see HelpOnEditing. *************** *** 25,29 **** * ''Mix at the '''end''''' ! An { { {inline code sequence} } } has the start and end markers on the same line. A code display has them on different lines: { { { --- 28,34 ---- * ''Mix at the '''end''''' ! You might recall ''a''^2^ `+` ''b''^2^ `=` ''c''^2^ from your math lessons. ! ! An { { {inline code sequence} } } has the start and end markers on the same line. Or you use `backticks`. A code display has them on different lines: { { { *************** *** 40,46 **** * ''Mix at the '''end''''' ! An {{{inline code sequence}}} has the start and end markers on the same line. A code display has them on different lines: {{{ '''No''' markup here! }}} --- 45,65 ---- * ''Mix at the '''end''''' ! You might recall ''a''^2^ `+` ''b''^2^ `=` ''c''^2^ from your math lessons. ! ! An {{{inline code sequence}}} has the start and end markers on the same line. Or you use `backticks`. A code display has them on different lines: {{{ '''No''' markup here! + }}} + + === Colorized code displays === + There are several ways to get colorized formatting of Python code[[FootNote(There is currently no support for languages other than Python.)]]: + 1. start a code display with a line only containing "#!python" + 1. embed a file attachment bearing a ".py" extension via "inline:" + 1. start a page with a Python format processing instruction ("#format python") + + Example: {{{ + #!python + from colors import palette + palette.colorize('python') }}} From jhermann at users.sourceforge.net Tue Feb 19 16:29:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 16:29:08 2002 Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.53,1.54 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv30686/macro Modified Files: RecentChanges.py Log Message: Added "diffs=1" to rss feed Index: RecentChanges.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -r1.53 -r1.54 *** RecentChanges.py 13 Feb 2002 21:13:53 -0000 1.53 --- RecentChanges.py 20 Feb 2002 00:28:52 -0000 1.54 *************** *** 262,266 **** """ from MoinMoin import webapi ! import re, new, cStringIO # get params --- 262,266 ---- """ from MoinMoin import webapi ! import os, re, new, cStringIO # get params *************** *** 276,279 **** --- 276,283 ---- except ValueError: unique = 0 + try: + diffs = int(form.getvalue('diffs', 0)) + except ValueError: + diffs = 0 # prepare output *************** *** 296,299 **** --- 300,304 ---- if log.action != 'SAVE': continue logdata.append(new.instance(Bag, { + 'ed_time': log.ed_time, 'time': log.time_tuple, 'pagename': log.pagename, *************** *** 316,319 **** --- 321,326 ---- ' Add "unique=1" to get a list of changes where page names are unique,\n' ' i.e. where only the latest change of each page is reflected.\n' + ' \n' + ' Add "diffs=1" to add change diffs to the description of each items.\n' '-->\n' % items_limit ) *************** *** 367,373 **** handler.simpleNode('title', item.pagename) handler.simpleNode('link', link) - if item.comment: - handler.simpleNode('description', item.comment) handler.simpleNode(('dc', 'date'), util.W3CDate(item.time)) # contributor --- 374,402 ---- handler.simpleNode('title', item.pagename) handler.simpleNode('link', link) handler.simpleNode(('dc', 'date'), util.W3CDate(item.time)) + + # description + desc_text = item.comment + if diffs: + # !!! TODO: rewrite / extend wikiutil.pagediff + # searching for the matching pages doesn't really belong here + # also, we have a problem to get a diff between two backup versions + # so it's always a diff to the current version for now + oldversions = wikiutil.getBackupList(config.backup_dir, item.pagename) + + for idx in range(len(oldversions)): + oldpage = oldversions[idx] + try: + date = os.path.getmtime(os.path.join(config.backup_dir, oldpage)) + except EnvironmentError: + continue + if date <= item.ed_time: + if idx+1 < len(oldversions): + page_file, backup_file, lines = wikiutil.pagediff(item.pagename, oldversions[idx+1], ignorews=1) + if len(lines) > 20: lines = lines[20:] + ['...\n'] + desc_text = desc_text + '
    \n' + string.join(lines, '') + '
    ' + break + if desc_text: + handler.simpleNode('description', desc_text) # contributor From jhermann at users.sourceforge.net Tue Feb 19 16:33:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 16:33:05 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnActions,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv31688 Modified Files: HelpOnActions Log Message: Typo fix Index: HelpOnActions =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnActions,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnActions 17 Feb 2002 23:20:51 -0000 1.1 --- HelpOnActions 20 Feb 2002 00:32:37 -0000 1.2 *************** *** 7,11 **** The following actions are added to the list of user-defined extension actions at the bottom of each page. This happens to any mixed-case extension, for other actions (all lower-case) see the list further down this page. Some of these action might not be available for your wiki site. * `DeletePage`: Delete a page, after you confirmed it; deletion means a final backup copy is created and only then the page is deleted, i.e. you can ''revive'' the page later on (as long as the backups are not physically deleted). ! * `LikePages`: list pages start start or end with the same MeatBall:WikiWord as the current page. * `AttachFile`: attach files to a page, see /AttachFile for more details. * `LocalSiteMap`: show nearby links of the current page, i.e. list all referred-to pages, and in turn their references, to a certain limited depth. --- 7,11 ---- The following actions are added to the list of user-defined extension actions at the bottom of each page. This happens to any mixed-case extension, for other actions (all lower-case) see the list further down this page. Some of these action might not be available for your wiki site. * `DeletePage`: Delete a page, after you confirmed it; deletion means a final backup copy is created and only then the page is deleted, i.e. you can ''revive'' the page later on (as long as the backups are not physically deleted). ! * `LikePages`: list pages whose title starts or ends with the same MeatBall:WikiWord as the current page title. * `AttachFile`: attach files to a page, see /AttachFile for more details. * `LocalSiteMap`: show nearby links of the current page, i.e. list all referred-to pages, and in turn their references, to a certain limited depth. From jhermann at users.sourceforge.net Tue Feb 19 17:01:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 17:01:02 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.65,1.66 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv5264/i18n Modified Files: de.py Log Message: Dynamic help link Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -r1.65 -r1.66 *** de.py 9 Feb 2002 00:42:52 -0000 1.65 --- de.py 20 Feb 2002 01:00:06 -0000 1.66 *************** *** 403,406 **** --- 403,409 ---- 'Globale Erweiterungsmakros', + 'HelpContents': + 'HilfeInhalt', + 'Ignore changes in the amount of whitespace': 'Ausschlie?lich Leerraum betreffende ?nderungen ignorieren', From jhermann at users.sourceforge.net Tue Feb 19 17:01:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 17:01:02 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.55,1.56 wikiutil.py,1.77,1.78 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv5264 Modified Files: config.py wikiutil.py Log Message: Dynamic help link Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** config.py 13 Feb 2002 21:13:52 -0000 1.55 --- config.py 20 Feb 2002 01:00:05 -0000 1.56 *************** *** 125,129 ****

    --- 125,129 ---- Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -r1.77 -r1.78 *** wikiutil.py 14 Feb 2002 22:17:49 -0000 1.77 --- wikiutil.py 20 Feb 2002 01:00:06 -0000 1.78 *************** *** 482,485 **** --- 482,489 ---- # print the navigation bar (if configured) if config.navi_bar: + help_contents = _('HelpContents') + if not Page(help_contents).exists(): + help_contents = 'HelpContents' + print config.navi_bar % { 'scriptname': webapi.getScriptname(), *************** *** 490,493 **** --- 494,498 ---- 'page_title_index': config.page_title_index, 'page_word_index': config.page_word_index, + 'page_help_contents': help_contents, } From jhermann at users.sourceforge.net Tue Feb 19 17:21:14 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 19 17:21:14 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.56,1.57 wikiutil.py,1.78,1.79 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv9503 Modified Files: config.py wikiutil.py Log Message: Made link for help icon dynamic, too Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -r1.56 -r1.57 *** config.py 20 Feb 2002 01:00:05 -0000 1.56 --- config.py 20 Feb 2002 01:20:29 -0000 1.57 *************** *** 151,155 **** 'page_footer2': '', 'page_icons': ''' ! Help Search Diffs --- 151,155 ---- 'page_footer2': '', 'page_icons': ''' ! %(page_help_contents)s Search Diffs Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -r1.78 -r1.79 *** wikiutil.py 20 Feb 2002 01:00:06 -0000 1.78 --- wikiutil.py 20 Feb 2002 01:20:29 -0000 1.79 *************** *** 390,393 **** --- 390,398 ---- from MoinMoin.Page import Page + # get name of help page + help_contents = _('HelpContents') + if not Page(help_contents).exists(): + help_contents = 'HelpContents' + # print the HTML element user_head = config.html_head *************** *** 468,472 **** 'scriptname': webapi.getScriptname(), 'url': config.url_prefix, ! 'pagename': quoteWikiname(pagename)} if not user.current.isSubscribedTo([pagename]): iconbar = string.replace(iconbar, "moin-email.gif", "moin-email-x.gif") --- 473,479 ---- 'scriptname': webapi.getScriptname(), 'url': config.url_prefix, ! 'pagename': quoteWikiname(pagename), ! 'page_help_contents': help_contents, ! } if not user.current.isSubscribedTo([pagename]): iconbar = string.replace(iconbar, "moin-email.gif", "moin-email-x.gif") *************** *** 482,489 **** # print the navigation bar (if configured) if config.navi_bar: - help_contents = _('HelpContents') - if not Page(help_contents).exists(): - help_contents = 'HelpContents' - print config.navi_bar % { 'scriptname': webapi.getScriptname(), --- 489,492 ---- From Nick.Trout at warthog.co.uk Wed Feb 20 05:35:07 2002 From: Nick.Trout at warthog.co.uk (Nick Trout) Date: Wed Feb 20 05:35:07 2002 Subject: [Moin-devel] Hot draw equivalent Message-ID: <3F2F2554FFC0DD41AB7A1F29EE60E179597AA2@hog-exchange.warthog.co.uk> Hi, I'd like to put editable drawings and diagrams into my wiki. I thought of a couple of ways of doing it. Either some drawing commands could be specified and something like Python PIL used to create bitmaps which are included, or commands draw in a Java window or there is an editable Java applet. The latter is probably the best. I've searched the web and found some commerical products, eg. HotDraw, and wondered if anyone knew of any other free or open source solutions. I suppose if it comes to it I'd be prepared to write one of my own. So perhaps some pointers as to how this could integrate with MoinMoin nicely would be great. Regards, Nick From sanori at sanori.net Wed Feb 20 06:49:04 2002 From: sanori at sanori.net (Joo-won Jung) Date: Wed Feb 20 06:49:04 2002 Subject: [Moin-devel] Hot draw equivalent In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597AA2@hog-exchange.warthog.co.uk> References: <3F2F2554FFC0DD41AB7A1F29EE60E179597AA2@hog-exchange.warthog.co.uk> Message-ID: <20020220144752.GA30456@ns.sanori.net> On Wed, Feb 20, 2002 at 01:28:23PM -0000, Nick Trout wrote: > > Hi, > I'd like to put editable drawings and diagrams into my wiki. > > I thought of a couple of ways of doing it. Either some drawing commands > could be specified and something like Python PIL used to create bitmaps > which are included, How about SVG(Scalable Vector Graphics) if you just add diagrams, not pictures. > or commands draw in a Java window or there is an > editable Java applet. The latter is probably the best. > > I've searched the web and found some commerical products, eg. HotDraw, and > wondered if anyone knew of any other free or open source solutions. There are two web BBS program which emphasize drawing pictures. One is "oekaki" (O-E-Ka-Ki) and the other is "PictureBBS" a.k.a. "rakukaki" They are popular in Korea, and in Japan, I guess. (The origin is Japan :) Each distribution site is: * Oekaki: http://www.oekakibbs.com/index_e.html You may get program from Download menu. Visit other menus if you want to see pictures drawn using Oekaki. * PicBBS: http://www16.cds.ne.jp/~ohno/picbbs/ (Japanese) They provide Java applet that users draw pictures on web browser and save it as PNG format. Since the applet is not the BBS itself, you may use the applet independently after getting the acknowledge of authors. Hope this helps, -Sanori From Nick.Trout at warthog.co.uk Wed Feb 20 07:05:20 2002 From: Nick.Trout at warthog.co.uk (Nick Trout) Date: Wed Feb 20 07:05:20 2002 Subject: [Moin-devel] Hot draw equivalent Message-ID: <3F2F2554FFC0DD41AB7A1F29EE60E179597AA7@hog-exchange.warthog.co.uk> > How about SVG(Scalable Vector Graphics) if you just add diagrams, not > pictures. I dont think SVG comes as a standard plugin for all platforms does it? It doesnt seem to work on IE5. Mozilla seems to have it built in. > There are two web BBS program which emphasize drawing pictures. > One is "oekaki" (O-E-Ka-Ki) and the other is "PictureBBS" > a.k.a. "rakukaki" I'd like a (free!) applet that just draws simple diagrams and allows you to edit them - in much the same way as a wiki. I suppose you could have commands on the wiki eg. {{{ box 10,10,100,100; text 20,10,"Hello"; }}} which would render to a bitmap and be included in your diagram but using a java applet seems like a neater solution than generating bitmaps. Ah, so maybe the commands could be passed to an applet and drawn. But it would be nice to edit the applet and it updates the wiki. I think I'll have a stab at writing one as a macro. > Hope this helps, Thanks. From jh at web.de Wed Feb 20 10:36:13 2002 From: jh at web.de (Juergen Hermann) Date: Wed Feb 20 10:36:13 2002 Subject: [Moin-devel] Hot draw equivalent In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597AA7@hog-exchange.warthog.co.uk> Message-ID: On Wed, 20 Feb 2002 14:58:25 -0000, Nick Trout wrote: >I think I'll have a stab at writing one as a macro. Or you do a "cvs co moin". Batteries included! Ciao, J?rgen From jhermann at users.sourceforge.net Wed Feb 20 11:05:15 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 20 11:05:15 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.70,1.71 ChangeLog,1.7,NONE Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv25101 Modified Files: CHANGES Removed Files: ChangeLog Log Message: (c) change; ChangeLog removed (gets too big) Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -r1.70 -r1.71 *** CHANGES 9 Feb 2002 16:39:43 -0000 1.70 --- CHANGES 20 Feb 2002 19:04:37 -0000 1.71 *************** *** 2,6 **** ======================== ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- ======================== ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. --- ChangeLog DELETED --- From jhermann at users.sourceforge.net Wed Feb 20 11:33:11 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 20 11:33:11 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.57,1.58 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv6466 Modified Files: config.py Log Message: Added config.allow_numeric_entities Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -r1.57 -r1.58 *** config.py 20 Feb 2002 01:20:29 -0000 1.57 --- config.py 20 Feb 2002 19:32:33 -0000 1.58 *************** *** 51,54 **** --- 51,55 ---- 'allow_extended_names': 1, 'allow_subpages': 1, + 'allow_numeric_entities': 1, 'allowed_actions': [], 'attachments': None, # {'dir': path, 'url': url-prefix} From jhermann at users.sourceforge.net Wed Feb 20 11:33:13 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 20 11:33:13 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.80,1.81 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv6466/parser Modified Files: wiki.py Log Message: Added config.allow_numeric_entities Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -r1.80 -r1.81 *** wiki.py 19 Feb 2002 23:08:26 -0000 1.80 --- wiki.py 20 Feb 2002 19:32:34 -0000 1.81 *************** *** 396,399 **** --- 396,405 ---- + def _ent_numeric_repl(self, word): + """Handle numeric SGML entities.""" + self._check_p() + return self.formatter.rawHTML(word) + + def _li_repl(self, match): """Handle bullet lists.""" *************** *** 746,749 **** --- 752,757 ---- if config.backtick_meta: rules = rules + r'|(?P`.*?`)' + if config.allow_numeric_entities: + rules = r'(?P&#\d{1,5};)|' + rules scan_re = re.compile(rules) From jhermann at users.sourceforge.net Wed Feb 20 12:59:53 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 20 12:59:53 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnActions_2fAttachFile,NONE,1.1 HelpOnConfiguration_2fEmailSupport,NONE,1.1 HelpOnSkins,NONE,1.1 HelpOnUserPreferences,NONE,1.1 HelpContents,1.7,1.8 HelpForBeginners,1.4,1.5 HelpForDevelopers,1.2,1.3 HelpMiscellaneous,1.1,1.2 HelpOnAdministration,1.2,1.3 HelpOnConfiguration,1.6,1.7 HelpOnConfiguration_2fSecurityPolicy,1.2,1.3 HelpOnInstalling,1.5,1.6 HelpOnLinking,1.3,1.4 HelpOnProcessingInstructions,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv12075 Modified Files: HelpContents HelpForBeginners HelpForDevelopers HelpMiscellaneous HelpOnAdministration HelpOnConfiguration HelpOnConfiguration_2fSecurityPolicy HelpOnInstalling HelpOnLinking HelpOnProcessingInstructions Added Files: HelpOnActions_2fAttachFile HelpOnConfiguration_2fEmailSupport HelpOnSkins HelpOnUserPreferences Log Message: More help: things yet TODO; configuration stuff; ... --- NEW FILE: HelpOnActions_2fAttachFile --- /!\ TODO * AttachFile action, contributed by Ken Sugino; note that you have to enable this action because of the possibility of DoS attacks (malicious uploads), by adding this to your moin_config: allowed_actions = ['AttachFile'] * "attachment:" URL scheme allows access to attachments, to get files from other pages use "attachment:WikiName/filename.ext". * 'inline:' scheme works like 'attachment:', but tries to inline the content of the attachment into the page; currently knows about "*.py" sources and colorizes them --- NEW FILE: HelpOnConfiguration_2fEmailSupport --- == Enabling Email Support == Setting "`mail_smarthost`" and "`mail_from`" in the configuration activates features that are explained below. These features are otherwise deactivated, since there are no general defaults. mail_from:: This value is used for the "`From:`" header in sent mails. mail_smarthost:: This is the IP or domain name of an FOLDOC:SMTP enabled server. See also HelpOnConfiguration. == Email Features == MoinMoin currently offers two email-based services, which are explained in the following sections. === Sending Login Data === Send login data on the UserPreferences page. === Change Notification === You can subscribe to changes of wiki pages by either clicking on the envelope icon [[Icon(moin-email.gif)]], or by adding a regex to the "..." field of your UserPreferences. Send an email containing information on changed pages. TODO: explain envelope icon, "Subscribed wiki pages" on UserPreferences --- NEW FILE: HelpOnSkins --- == Changing the page layout == While MoinMoin currently has no full support for HTML templates, and switching between several layouts, you can change the most important parts of the generated HTML code, and add your own HT;L fragments. * configurable footer ("page_footer1" and "page_footer2") * config.title1 and config.title2 are inserted into the output right before and after the system title html code (title1 is right after the tag and normally undefined, title2 defaults to the "
    " above the page contents) * navi_bar || html_head || ''META-Tag with Content-Type'' || Additional tags for all pages (see HelpOnSkins) || || html_head_queries || ''META-Tag with "NOINDEX,NOFOLLOW" for robots'' || Additional tags for edit and action pages (`html_head` is sent, too; see HelpOnSkins) || || title1 || None || HTML fragment before title area (see HelpOnSkins) || || title2 || '
    ' || HTML fragment after title area (see HelpOnSkins) || --- NEW FILE: HelpOnUserPreferences --- == Setting your UserPreferences == * '''[[GetText(Name)]]''': ... * '''[[GetText(Password)]]''': ... * '''[[GetText(Email)]]''': ... * '''[[GetText(CSS URL)]]''': ... * '''[[GetText(Editor size)]]''': ... * '''[[GetText(Time zone)]]''': ... * '''[[GetText(Your time is)]]''': ... * '''[[GetText(Server time is)]]''': ... * '''[[GetText(Date format)]]''': ... * '''[[GetText(General options)]]''': ... * ''[[GetText(Open editor on double click)]]'': ... * ''[[GetText(Remember last page visited)]]'': ... * ''[[GetText(Show emoticons)]]'': ... * ''[[GetText(Show fancy links)]]'': ... * ''[[GetText(Show question mark for non-existing pagelinks)]]'': ... * ''[[GetText(Show page trail)]]'': ... * ''[[GetText(Show icon toolbar)]]'': ... * ''[[GetText(Show top/bottom links in headings)]]'': ... * ''[[GetText(Show fancy diffs)]]'': ... * ''[[GetText(Add "Open in new window" icon to pretty links)]]'': ... * ''[[GetText(Add spaces to displayed wiki names)]]'': ... * ''Subscribed wiki pages'': this is an optional feature that only works when email support is enabled for your wiki, see HelpOnConfiguration/EmailSupport for details Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** HelpContents 17 Feb 2002 22:35:10 -0000 1.7 --- HelpContents 20 Feb 2002 20:57:58 -0000 1.8 *************** *** 7,10 **** --- 7,11 ---- * HelpOnNavigation - explains the navigational elements on a page * HelpOnPageCreation - how to create a new page, and how to use page templates + * HelpOnUserPreferences - how to make yourself known to the wiki, and adapt default behaviour to your taste * HelpOnEditing - how to edit a page * HelpOnActions - tools that work on pages or the whole site Index: HelpForBeginners =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForBeginners,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpForBeginners 13 Feb 2002 22:52:43 -0000 1.4 --- HelpForBeginners 20 Feb 2002 20:57:58 -0000 1.5 *************** *** 36,39 **** If you enclose a sequence of characters in square brackets and double quotes {{{["like this"]}}}, that makes it a page name. That can be used for specific uses of MoinMoin (like organizing a list of items, e.g. your CD collection, by their "natural" name), or if you want to create a wiki with a non-western character encoding. ! /!\ '''This is a configurable feature, so it might not work!''' --- 36,39 ---- If you enclose a sequence of characters in square brackets and double quotes {{{["like this"]}}}, that makes it a page name. That can be used for specific uses of MoinMoin (like organizing a list of items, e.g. your CD collection, by their "natural" name), or if you want to create a wiki with a non-western character encoding. ! /!\ '''This is a configurable feature enabled by `allow_extended_names`, so it might not work!''' Index: HelpForDevelopers =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForDevelopers,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpForDevelopers 14 Feb 2002 01:31:55 -0000 1.2 --- HelpForDevelopers 20 Feb 2002 20:57:58 -0000 1.3 *************** *** 3,7 **** TODO: ! * Collect existing info from the MoinMon wiki pages * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) --- 3,7 ---- TODO: ! * Collect existing info from the MoinMoin wiki pages * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) *************** *** 13,20 **** * MoinMoin:MoinMoinWinCvs == Extension guidelines == These are the rules that govern MoinMoin development: ! * All extensions to or modifications of the original WikiMarkup should be kept compatible and in the spirit of the OriginalWiki. Example: [http://... text] shows up literally, i.e. no information is lost when cut&pasting to another Wiki. * Be portable at all times, at the very least to Win32 and Unix. ! * Keep the simple nature of PikiPiki's storage, if there are performance issues, add transparent caching / indexing. --- 13,36 ---- * MoinMoin:MoinMoinWinCvs + + == Contributions == + + The distribution contains a "contributions" directory for 3rd party extensions that are not made part of the official distribution. + This directory contains extensions contributed by MoinMoin users and + that are considered either too exotic or need too much work to be + integrated into the core sources. Another reason of not adding them is + that modules in the core have to be maintained when structural changes + happen, which is a constant burden. + + Thus, these sources are here for you to try them out and take advantage + of a feature someone found useful enough to write code for, but you + cannot expect that they always work with the current distribution. + Contributors are encouraged to send updates... + + == Extension guidelines == These are the rules that govern MoinMoin development: ! * All extensions to or modifications of the original MoinMoin:WikiMarkup should be kept compatible and in the spirit of the MoinMoin:OriginalWiki. Example: [http://... text] shows up literally, i.e. no information is lost when cut&pasting to another Wiki. * Be portable at all times, at the very least to Win32 and Unix. ! * Keep the simple nature of page storage, if there are performance issues, add transparent caching / indexing. Index: HelpMiscellaneous =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpMiscellaneous,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpMiscellaneous 13 Feb 2002 23:43:15 -0000 1.1 --- HelpMiscellaneous 20 Feb 2002 20:57:58 -0000 1.2 *************** *** 1,2 **** ! Other MoinMoin help topics: * /FrequentlyAskedQuestions --- 1,59 ---- ! == Other MoinMoin help topics == ! ! '''Subtopics''' * /FrequentlyAskedQuestions + + '''Contents''' [[TableOfContents]] + + === Special features for wiki farms and intranets === + + The following shows how certain features can help you to optimize your configuration when you run several wikis on one host, or when you use MoinMoin in intranet environments. + + ==== Centralized settings ==== + + * farm_config.py + * shared intermap.txt + * shared code base and icons + + ==== Remapping URLs ==== + The configuration variable "`url_mappings`" can be used ... lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}); especially useful in intranets, when whole trees of externally hosted documents move around + + + === TODO === + + TODO: explain the following things in detail + + Needing more explanation: + * event logging + * Page trails (user option) + * UserPreferences: checkboxes for double-click edit, page trail, fancy links, emoticons, jump to last page visited, and some other yes/no options + * User option to open editor view via a double-click + * support for Java applet "TWikiDrawPlugin" via drawing: URL scheme (you need to activate the AttachFile action if you want drawings) + * Python syntax highlighting + * "Remove trailing whitespace from each line" option in the editor + * Page templates (create a new page using a template page) + * Only "normal" URLs (outside of brackets) are converted to inline images ==> document exact rules + * Highlighting of search results, and of bad words when spellchecking + * Support for "file:" URLS + * email notification features + * "RSS" icon displayed by RecentChanges macro + * commentary field of editor, recent changes and page info + * Page caching, for now limited to XSLT processing (where it's absolutely needed); new code & API to add the "RefreshCache" link + * inline search fields (at the bottom of each page) + * the interwiki name "Self" now always points to the own wiki + * page info action + + Admin stuff: + * Diagnosis of installation via a "test.cgi" script + * WikiFarm support: + * /plugin/macro and /plugin/action can be used to store macros and actions local to a specific wiki instance + * config.shared_intermap can contain a pathname to a shared "intermap.txt" file (i.e. one stored outside the datadir) + * $PAGE placeholder in interwiki map + + Command-line tools: + * "moin-dump" command line tool to create a static copy of the wiki content + * though not extensively tested, the standalone server now does POST requests, i.e. you can save pages; there are still problems with persistent global variables! It only works for Python >= 2.0. + + Compatibility: + * Statistical features are NOT designed to work with Python 1.5.2 and require Python 2.0 or higher. Overall, MoinMoin 0.11 is not explicitely tested for 1.5.2 compatibility. The lowest ''recommended'' Python version is 2.0! + * RSS features require a recent PyXML (CVS or 0.7) due to bugs in the namespace handling of xml.sax.saxutils in earlier versions. This is (hopefully) automatically detected on every installation. Index: HelpOnAdministration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnAdministration,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnAdministration 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnAdministration 20 Feb 2002 20:57:58 -0000 1.3 *************** *** 14,15 **** --- 14,16 ---- * HelpOnUpdating - how to update an existing MoinMoin installation * HelpOnSpellCheck - how to configure and maintain the spell checking option + * HelpOnSkins - how to change the page layout of your wiki Index: HelpOnConfiguration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** HelpOnConfiguration 13 Feb 2002 21:52:28 -0000 1.6 --- HelpOnConfiguration 20 Feb 2002 20:57:58 -0000 1.7 *************** *** 5,8 **** --- 5,9 ---- '''Subtopics''' * /SecurityPolicy + * /EmailSupport == Configuration of MoinMoin == *************** *** 16,22 **** || Security''''''Policy || None || class object hook for implementing security restrictions || || allow_extended_names || 1 || ''true'' to enable {{{["non-standard wikiname"]}}} markup || || allowed_actions || [] || allow unsafe actions (list of strings) || || attachments || None || If {{{None}}}, send attachments via CGI; else this has to be a dictionary with the path to attachment storage (key ''dir'') and the equivalent URL prefix to that same dir (key ''url'')|| ! || backtick_meta || 0 || ''true'' to enable {{{`inline literal`}}} markup || || bang_meta || 0 || ''true'' to enable {{{!NoWikiName}}} markup || || changed_time_fmt || '  [%H:%M]' || Time format used on RecentChanges for page edits within the last 24 hours || --- 17,25 ---- || Security''''''Policy || None || class object hook for implementing security restrictions || || allow_extended_names || 1 || ''true'' to enable {{{["non-standard wikiname"]}}} markup || + || allow_subpages || 1 || ''true'' to enable hierarchical wiki features (see HelpOnEditing/SubPages) || + || allow_numeric_entities || 1 || if ''true'', numeric entities like `€` for € are not escaped, but & and stuff still is || || allowed_actions || [] || allow unsafe actions (list of strings) || || attachments || None || If {{{None}}}, send attachments via CGI; else this has to be a dictionary with the path to attachment storage (key ''dir'') and the equivalent URL prefix to that same dir (key ''url'')|| ! || backtick_meta || 1 || ''true'' to enable {{{`inline literal`}}} markup || || bang_meta || 0 || ''true'' to enable {{{!NoWikiName}}} markup || || changed_time_fmt || '  [%H:%M]' || Time format used on RecentChanges for page edits within the last 24 hours || *************** *** 28,33 **** || datetime_fmt || '%Y-%m-%d %H:%M:%S' || Default format for dates and times (when the user has no preferences or chose the "default" date format) || || edit_rows || 30 || Default height of the edit box || ! || html_head || ''META-Tag with Content-Type'' || Additional tags for all pages || ! || html_head_queries || ''META-Tag with "NOINDEX,NOFOLLOW" for robots'' || Additional tags for edit and action pages || || httpd_docs || './wiki-moinmoin' || directory with public files, when using the stand-alone server || || httpd_host || 'localhost' || hostname of the stand-alone server || --- 31,37 ---- || datetime_fmt || '%Y-%m-%d %H:%M:%S' || Default format for dates and times (when the user has no preferences or chose the "default" date format) || || edit_rows || 30 || Default height of the edit box || ! || external_diff || 'diff' || Allows you to set an exact path to the command, or change the name to for example "gdiff" if GNU diff is not a native command in your UNIX flavour || ! || html_head || ''META-Tag with Content-Type'' || Additional tags for all pages (see HelpOnSkins) || ! || html_head_queries || ''META-Tag with "NOINDEX,NOFOLLOW" for robots'' || Additional tags for edit and action pages (`html_head` is sent, too; see HelpOnSkins) || || httpd_docs || './wiki-moinmoin' || directory with public files, when using the stand-alone server || || httpd_host || 'localhost' || hostname of the stand-alone server || *************** *** 41,51 **** || max_macro_size || 50 || Maximum size of some macro pages in KB, especially used to limits the size of RecentChanges; use `0` to disable that feature || || navi_bar || ''large HTML fragment'' || Most important links in text form (/!\ this is a deprecated feature that will enventually disappear and be replaced by the bookmarks of OpenWiki:UserPreferences) || ! || nonexist_qm || 0 || Default for displaying WantedPages with a question mark, like in the original wiki || || page_edit_tips || 'HelpOnFormatting' || Name of the page with help on editing, displayed as a link in the editor view || ! || page_footer1 || ''Python Powered logo'' || Custom HTML markup sent ''before'' the system footer || ! || page_footer2 || "" || Custom HTML markup sent ''after'' the system footer || || page_form_ending || 'Form' || Ending name part of pages containing form definitions || || page_front_page || 'FrontPage' || Name of the front page || || page_icons || ''large HTML fragment'' || The top-right icons on each page || || page_local_spelling_words || 'LocalSpellingWords' || Name of the page containing user-provided spellchecker words || || page_recent_changes || 'RecentChanges' || Name of the RecentChanges page || --- 45,56 ---- || max_macro_size || 50 || Maximum size of some macro pages in KB, especially used to limits the size of RecentChanges; use `0` to disable that feature || || navi_bar || ''large HTML fragment'' || Most important links in text form (/!\ this is a deprecated feature that will enventually disappear and be replaced by the bookmarks of OpenWiki:UserPreferences) || ! || nonexist_qm || 0 || Default for displaying WantedPages with a question mark, like in the original wiki (changeable by the user) || || page_edit_tips || 'HelpOnFormatting' || Name of the page with help on editing, displayed as a link in the editor view || ! || page_footer1 || ''Python Powered logo'' || Custom HTML markup sent ''before'' the system footer (see HelpOnSkins) || ! || page_footer2 || "" || Custom HTML markup sent ''after'' the system footer (see HelpOnSkins) || || page_form_ending || 'Form' || Ending name part of pages containing form definitions || || page_front_page || 'FrontPage' || Name of the front page || || page_icons || ''large HTML fragment'' || The top-right icons on each page || + || page_icons_up || ''icon for link to parent'' || This icon is shown on subpages and links to the parent page || || page_local_spelling_words || 'LocalSpellingWords' || Name of the page containing user-provided spellchecker words || || page_recent_changes || 'RecentChanges' || Name of the RecentChanges page || *************** *** 59,67 **** || show_version || 0 || show MoinMoin's version at the bottom of each page || || sitename || 'An Unnamed MoinMoin Wiki' || Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title || || trail_size || 5 || Number of pages in the trail of visited pages || || ua_spiders || htdig || A regex of HTTP_USER_AGENTs that should be excluded from logging || || umask || 0777 || umask used on all open(), mkdir() and similar calls || || upperletters || ''Latin 1 alphabetic characters'' || Uppercase letters, used to define what is a WikiName || ! || url_mappings || {} || lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}) || || url_prefix || '/wiki-moinmoin' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || || url_schemas || [] || additional URL schemas you want to have recognized (list of strings) || --- 64,74 ---- || show_version || 0 || show MoinMoin's version at the bottom of each page || || sitename || 'An Unnamed MoinMoin Wiki' || Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title || + || title1 || None || HTML fragment before title area (see HelpOnSkins) || + || title2 || '
    ' || HTML fragment after title area (see HelpOnSkins) || || trail_size || 5 || Number of pages in the trail of visited pages || || ua_spiders || htdig || A regex of HTTP_USER_AGENTs that should be excluded from logging || || umask || 0777 || umask used on all open(), mkdir() and similar calls || || upperletters || ''Latin 1 alphabetic characters'' || Uppercase letters, used to define what is a WikiName || ! || url_mappings || {} || lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}); especially useful in intranets, when whole trees of externally hosted documents move around || || url_prefix || '/wiki-moinmoin' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || || url_schemas || [] || additional URL schemas you want to have recognized (list of strings) || Index: HelpOnConfiguration_2fSecurityPolicy =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration_2fSecurityPolicy,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnConfiguration_2fSecurityPolicy 13 Feb 2002 21:26:20 -0000 1.2 --- HelpOnConfiguration_2fSecurityPolicy 20 Feb 2002 20:57:58 -0000 1.3 *************** *** 1,5 **** ##cvsid: $Id$ ! SecurityPolicy is a config option that allows wiki admins to dynamically enable or disable certain key actions in a MoinMoin wiki, most notably editing and deleting content. == Mechanics == --- 1,5 ---- ##cvsid: $Id$ ! `SecurityPolicy` is a config option that allows wiki admins to dynamically enable or disable certain key actions in a MoinMoin wiki, most notably editing and deleting content. == Mechanics == Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** HelpOnInstalling 13 Feb 2002 21:52:28 -0000 1.5 --- HelpOnInstalling 20 Feb 2002 20:57:58 -0000 1.6 *************** *** 8,12 **** MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. ! Also, consult the HelpOnConfiguration and HelpOnUpdating pages for additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs describes how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. --- 8,12 ---- MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. ! Also, consult the HelpOnConfiguration and HelpOnUpdating pages for additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. Index: HelpOnLinking =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLinking,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnLinking 13 Feb 2002 21:52:28 -0000 1.3 --- HelpOnLinking 20 Feb 2002 20:57:58 -0000 1.4 *************** *** 1,4 **** --- 1,10 ---- ##cvsid: $Id$ + /!\ TODO + * [#anchorname Anchor Links]. + * other new linking schemes, like attachment: inline: drawing: + * subpage linking + * !BangMeta + == URLs and Inline Images == There are several way to insert external references[1] into the text: Index: HelpOnProcessingInstructions =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnProcessingInstructions,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnProcessingInstructions 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnProcessingInstructions 20 Feb 2002 20:57:58 -0000 1.3 *************** *** 2,6 **** == Processing Instructions == ! MoinMoin processing instructions have the same semantics as in XML: they control the paths taken when processing a page. Processing instructions are lines that start with a "{{{#}}}" character followed by a keyword and optionally some arguments. Two consecutive hash marks at the start of a line are a comment that won't appear in the processed page. Processing instructions this wiki knows of: --- 2,6 ---- == Processing Instructions == ! MoinMoin processing instructions have the same semantics as in XML: they control the paths taken when processing a page. Processing instructions are lines that start with a "{{{#}}}" character followed by a keyword and optionally some arguments; the keyword is always handled case-insensitive. Two consecutive hash marks at the start of a line are a comment that won't appear in the processed page. Processing instructions this wiki knows of: *************** *** 13,19 **** * '''StructuredText''' ( not implemented) * {{{#REDIRECT}}} ''pagename'': redirect to a different page (see MeatBall:PageRedirect'''''') * {{{#DEPRECATED}}}: Mark this page as deprecated, i.e. further changes to the page will create no backup versions and displaying it will show the current contents (usually the reason why this page is deprecated) plus the last backup. This effectively freezes the last version of the page, makes it unavailable for searches (no hits on stale content), but keeps that content available for viewing. ! All PIs must appear at the very start of a page. An exception are comment PIs, those may appear within a wiki page (but obviously not in pages using other formats). For more information on the possible markup, see HelpOnEditing. --- 13,22 ---- * '''StructuredText''' ( not implemented) * {{{#REDIRECT}}} ''pagename'': redirect to a different page (see MeatBall:PageRedirect'''''') + * `#PRAGMA` ''mode'' ''args'': sets processing modes for this page; mode names are not case-sensitive, currently known modes are: + * `#pragma section-numbers off` (or "0") switches off automatic numbering of section headers, + and "on" or "1" enables numbering (the default mode is set by the `show_section_numbers` config option) * {{{#DEPRECATED}}}: Mark this page as deprecated, i.e. further changes to the page will create no backup versions and displaying it will show the current contents (usually the reason why this page is deprecated) plus the last backup. This effectively freezes the last version of the page, makes it unavailable for searches (no hits on stale content), but keeps that content available for viewing. ! All PIs must appear at the very start of a page. An exception are comment PIs, those may appear anywhere within a page using "wiki" format (but not in pages using other formats). For more information on the possible markup, see HelpOnEditing. From jhermann at users.sourceforge.net Wed Feb 20 13:12:19 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 20 13:12:19 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpContents,1.8,1.9 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv17718 Modified Files: HelpContents Log Message: Warning to users regarding changes of the help pages Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** HelpContents 20 Feb 2002 20:57:58 -0000 1.8 --- HelpContents 20 Feb 2002 21:11:55 -0000 1.9 *************** *** 19,21 **** An automatically generated index of all help pages is on HelpIndex. See also HelpMiscellaneous/FrequentlyAskedQuestions for answers to frequently asked questions. ! ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages.]'' --- 19,21 ---- An automatically generated index of all help pages is on HelpIndex. See also HelpMiscellaneous/FrequentlyAskedQuestions for answers to frequently asked questions. ! ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages. Also note that the master set of help pages is not public, that this very page you read and all other help pages may be overwritten when the wiki software is updated. So if you have major contributions that should not get lost, send an extra notification notice to the MoinMoin user mailing list.]'' From Nick.Trout at warthog.co.uk Thu Feb 21 01:59:11 2002 From: Nick.Trout at warthog.co.uk (Nick Trout) Date: Thu Feb 21 01:59:11 2002 Subject: [Moin-devel] Hot draw equivalent Message-ID: <3F2F2554FFC0DD41AB7A1F29EE60E179597AAE@hog-exchange.warthog.co.uk> > >I think I'll have a stab at writing one as a macro. > > Or you do a "cvs co moin". Batteries included! Yes, thank you, someone pointed out to me that you have included TwikiDraw in the latest version. I think this is just what I want. However, there is no applet directory in htdocs and TwikiDraw mentioned in config.py has to be manually inserted (which I havent tried yet). Is there a release date for version 0.12 yet? Nick From jh at web.de Thu Feb 21 10:47:12 2002 From: jh at web.de (Juergen Hermann) Date: Thu Feb 21 10:47:12 2002 Subject: [Moin-devel] Hot draw equivalent In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597AAE@hog-exchange.warthog.co.uk> Message-ID: On Thu, 21 Feb 2002 09:52:13 -0000, Nick Trout wrote: >However, there is no applet directory in htdocs Sure there is. >Is there a release date for version 0.12 yet? After 0.11. Ciao, J?rgen From jhermann at users.sourceforge.net Thu Feb 21 14:04:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 21 14:04:04 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.58,1.59 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv11733 Modified Files: config.py Log Message: Changed default of 'backtick_meta' to 1 (since the help pages use it) Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -r1.58 -r1.59 *** config.py 20 Feb 2002 19:32:33 -0000 1.58 --- config.py 21 Feb 2002 22:03:27 -0000 1.59 *************** *** 55,59 **** 'attachments': None, # {'dir': path, 'url': url-prefix} 'bang_meta': 0, ! 'backtick_meta': 0, 'changed_time_fmt': ' [%H:%M]', 'charset': 'iso-8859-1', --- 55,59 ---- 'attachments': None, # {'dir': path, 'url': url-prefix} 'bang_meta': 0, ! 'backtick_meta': 1, 'changed_time_fmt': ' [%H:%M]', 'charset': 'iso-8859-1', From jhermann at users.sourceforge.net Thu Feb 21 14:05:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 21 14:05:02 2002 Subject: [Moin-devel] CVS: MoinMoin wikiaction.py,1.56,1.57 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv12065 Modified Files: wikiaction.py Log Message: Display SHA digest fingerprint on PageInfo Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -r1.56 -r1.57 *** wikiaction.py 13 Feb 2002 21:13:52 -0000 1.56 --- wikiaction.py 21 Feb 2002 22:04:04 -0000 1.57 *************** *** 256,263 **** --- 256,270 ---- from MoinMoin.stats import hitcounts + page = Page(pagename) + webapi.http_headers() wikiutil.send_title(_('Info for "%s"') % (pagename,), pagename=pagename) print '

    ' + _('General Information') + '

    \n' + # show SHA digest fingerprint + import sha + digest = string.upper(sha.new(page.get_raw_body()).hexdigest()) + print _("

    SHA digest of this page's content is: %(digest)s

    ") % locals() + # show attachments (if allowed) attachment_info = getHandler('AttachFile', 'info') *************** *** 265,269 **** # show links - page = Page(pagename) links = page.getPageLinks() if links: --- 272,275 ---- From jhermann at users.sourceforge.net Thu Feb 21 14:05:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Feb 21 14:05:04 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.66,1.67 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv12065/i18n Modified Files: de.py Log Message: Display SHA digest fingerprint on PageInfo Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -r1.66 -r1.67 *** de.py 20 Feb 2002 01:00:06 -0000 1.66 --- de.py 21 Feb 2002 22:04:04 -0000 1.67 *************** *** 246,249 **** --- 246,252 ---- ''', + "

    SHA digest of this page's content is: %(digest)s

    ": + "

    Signatur des Seiteninhalts nach dem SHA-Verfahren: %(digest)s

    ", + '''

    To refer to attachments on a page, use attachment:filename, as shown below in the list of files. From Nick.Trout at warthog.co.uk Fri Feb 22 02:06:10 2002 From: Nick.Trout at warthog.co.uk (Nick Trout) Date: Fri Feb 22 02:06:10 2002 Subject: [Moin-devel] Hot draw equivalent Message-ID: <3F2F2554FFC0DD41AB7A1F29EE60E179597AC8@hog-exchange.warthog.co.uk> > >However, there is no applet directory in htdocs > > Sure there is. Oh, I have to look in the "dist" directory, not the "MoinMoin" directory. You might have mentioned this? The applet directory is not in the nightly tarball that you can download from moin.sf.net. > >Is there a release date for version 0.12 yet? > > After 0.11. Ah I thought 0.11 was the current release as thats the one I'm using. Right, I'll try getting the "dist" cvs tree. Regards, Nick From brian at dorseys.org Fri Feb 22 08:41:22 2002 From: brian at dorseys.org (Brian Dorsey) Date: Fri Feb 22 08:41:22 2002 Subject: [Moin-devel] Hot draw equivalent In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597AC8@hog-exchange.warthog.co.uk>; from Nick.Trout@warthog.co.uk on Fri, Feb 22, 2002 at 09:59:30AM -0000 References: <3F2F2554FFC0DD41AB7A1F29EE60E179597AC8@hog-exchange.warthog.co.uk> Message-ID: <20020222084338.A9372@dorseys.org> On Fri, Feb 22, 2002 at 09:59:30AM -0000, Nick Trout wrote: > > Oh, I have to look in the "dist" directory, not the "MoinMoin" directory. > You might have mentioned this? The applet directory is not in the nightly > tarball that you can download from moin.sf.net. > > > >Is there a release date for version 0.12 yet? > > > > After 0.11. > > Ah I thought 0.11 was the current release as thats the one I'm using. > > Right, I'll try getting the "dist" cvs tree. I'm not sure why it doesn't show up if you use viewcvs, but you can also get the "moin" tree, which will have everything all packaged up nicely, both the stuff in "dist" and the source code in MoinMoin -Brian From jh at web.de Fri Feb 22 10:14:14 2002 From: jh at web.de (Juergen Hermann) Date: Fri Feb 22 10:14:14 2002 Subject: [Moin-devel] Hot draw equivalent In-Reply-To: <3F2F2554FFC0DD41AB7A1F29EE60E179597AC8@hog-exchange.warthog.co.uk> Message-ID: On Fri, 22 Feb 2002 09:59:30 -0000, Nick Trout wrote: >Oh, I have to look in the "dist" directory, not the "MoinMoin" directory. >You might have mentioned this? The applet directory is not in the nightly >tarball that you can download from moin.sf.net. Viewcvs has it http://cvs.sourceforge.net/cgi- bin/viewcvs.cgi/moin/dist/wiki/htdocs/applets/TWikiDrawPlugin/twikidraw.jar >Ah I thought 0.11 was the current release as thats the one I'm using. 0.11 beta1. Not final. >Right, I'll try getting the "dist" cvs tree. As Brian mentioned, simply get "moin". Ciao, J?rgen From jhermann at users.sourceforge.net Fri Feb 22 11:56:17 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 11:56:17 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnNavigation,1.4,1.5 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv22516/wiki/data/text Modified Files: HelpOnNavigation Log Message: Added home icon Index: HelpOnNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnNavigation,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnNavigation 13 Feb 2002 23:43:15 -0000 1.4 --- HelpOnNavigation 22 Feb 2002 19:55:45 -0000 1.5 *************** *** 16,19 **** --- 16,20 ---- * [[Icon(moin-search.gif)]] shows the search page. * [[Icon(moin-help.gif)]] shows the help page + * [[Icon(moin-home.gif)]] links to a user's homepage, if the user is logged in and a page with his login name exists Clicking on the Page Title link located in the header above will show every page that references this page. A sample use of this back-referencing, inverted-links feature is the categorization of pages, i.e. CategoryHomepage. From jhermann at users.sourceforge.net Fri Feb 22 11:57:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 11:57:05 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.71,1.72 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv22694 Modified Files: CHANGES Log Message: Some additions to dev help Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -r1.71 -r1.72 *** CHANGES 20 Feb 2002 19:04:37 -0000 1.71 --- CHANGES 22 Feb 2002 19:56:09 -0000 1.72 *************** *** 120,123 **** --- 120,126 ---- drawing: URL scheme (you need to activate the AttachFile action if you want drawings) + * numeric entities (&#nnnnn;) are now optionally NOT escaped, + which allows you to insert more characters into a Latin-1 + page, especially the Euro symbol. Unfinished features: *************** *** 127,130 **** --- 130,134 ---- Documentation: * extended the online help ("Help*" pages) + * German help pages (thanks to Thomas Waldmann) Bugfixes: From jhermann at users.sourceforge.net Fri Feb 22 11:57:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 11:57:06 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpForDevelopers,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv22694/wiki/data/text Modified Files: HelpForDevelopers Log Message: Some additions to dev help Index: HelpForDevelopers =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForDevelopers,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpForDevelopers 20 Feb 2002 20:57:58 -0000 1.3 --- HelpForDevelopers 22 Feb 2002 19:56:09 -0000 1.4 *************** *** 2,17 **** ---- ! TODO: * Collect existing info from the MoinMoin wiki pages * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) - * Document all URI schemes (action values) * Show how to best create URLs (Page.link_to etc.) * How to use I18N features - Info: - * MoinMoin:MoinMoinWinCvs - - == Contributions == --- 2,18 ---- ---- ! '''Related Topics''' ! * MoinMoin:MoinMoinWinCvs ! ! '''Contents''' ! [[TableOfContents]] ! ! '''TODO''' * Collect existing info from the MoinMoin wiki pages * Explain extension / plugin concept * Start at defining somewhat official APIs (but not before we changed everything to accesses via `request`) * Show how to best create URLs (Page.link_to etc.) * How to use I18N features == Contributions == *************** *** 35,36 **** --- 36,66 ---- * Keep the simple nature of page storage, if there are performance issues, add transparent caching / indexing. + + == CVS structure == + + For historical reasons, the ''virtual'' CVS module "`moin`" combines the "`dist`" and the "`MoinMoin`" module; "`moin`" is the only module you should check out. + + + == Tour of the most important modules == + + wikiaction.py:: HelpOnActions lists all the querystrings that are handled by this module. + + == Creating a release == + + This describes how to create a release tarball for MoinMoin. It's of minor interest to anyone except MoinMoin:J?rgenHermann. :) + + 1. Commit any pending code changes. + 1. Commit the current status of the MoinMoin wiki. + 1. Validate the CHANGES file (insert current date and new version number). + 1. Tag the repository: {{{ + cvs tag rel-MAJOR-MINOR}}} + 1. Create an export directory: {{{ + cvs -z3 -d :pserver:anonymous at cvs.moin.sourceforge.net:/cvsroot/moin export -r HEAD moin + cd moin + python setup.py sdist + }}} + 1. Upload the tarball (or zip): + * [http://sourceforge.net/project/admin/editpackages.php?group_id=8482 SourceForge / Project Admin / Release Files] + * Follow the forms + * See also [http://sfdocs.sourceforge.net/sfdocs/display_topic.php?topicid=22 Making File Releases] + 1. Download from MoinMoin:SourceForge and give it a test run. From jhermann at users.sourceforge.net Fri Feb 22 12:22:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 12:22:03 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnLinking,1.4,1.5 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv30408 Modified Files: HelpOnLinking Log Message: Completed page update Index: HelpOnLinking =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnLinking,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnLinking 20 Feb 2002 20:57:58 -0000 1.4 --- HelpOnLinking 22 Feb 2002 20:15:12 -0000 1.5 *************** *** 1,12 **** ##cvsid: $Id$ - /!\ TODO - * [#anchorname Anchor Links]. - * other new linking schemes, like attachment: inline: drawing: - * subpage linking - * !BangMeta - == URLs and Inline Images == ! There are several way to insert external references[1] into the text: * direct URL insertion; if the URL ends in an image extension ("{{{.gif}}}", "{{{.jpg}}}" or "{{{.png}}}"), the URL is converted to an image tag. * bracketed URLs. --- 1,6 ---- ##cvsid: $Id$ == URLs and Inline Images == ! There are several way to insert external references[[FootNote(The opposite of external references are the internal, automatic WikiName links.)]] into the text: * direct URL insertion; if the URL ends in an image extension ("{{{.gif}}}", "{{{.jpg}}}" or "{{{.png}}}"), the URL is converted to an image tag. * bracketed URLs. *************** *** 20,29 **** * use the bracketed URL syntax. ! The supported URL schemes are: http, https, ftp, nntp, news, file, mailto, telnet and wiki. The administrator of your wiki can extend the supported schemes by using the {{{config.url_schemas}}} variable (see HelpOnConfiguration). For more information on the possible markup, see HelpOnEditing. For details on how to link to subpages, see HelpOnEditing/SubPages. ! _______ ! '''[1]''' The opposite of external references are the internal, automatic WikiName links. === Example === --- 14,26 ---- * use the bracketed URL syntax. ! The supported URL schemes are: `http`, `https`, `ftp`, `nntp`, `news`, `mailto`, `telnet`, and `file`. The administrator of your wiki can extend the supported schemes by using the {{{config.url_schemas}}} variable (see HelpOnConfiguration). ! ! In addition to the standard schemes, there are MoinMoin-specific ones: `wiki`, `attachment`, `inline`, and `drawing`. "`wiki`" indicates an InterWiki link, so `MoinMoin:Frontpage` and `wiki:MoinMoin:Frontpage` are equivalent; you will normally prefer the shorter form, the "`wiki`" scheme becomes important when you use bracketed links, since there you always need a scheme. The other three schemes are related to file attachments and are explained on HelpOnActions/AttachFile. ! ! When the configuration option `bang_meta` is set to true, you can surpress WikiName linking by putting an exclamation mark (''bang'') before the WikiName, i.e. `!WikiName`. This is deactivated by default. For more information on the possible markup, see HelpOnEditing. For details on how to link to subpages, see HelpOnEditing/SubPages. ! [[FootNote]] === Example === *************** *** 42,45 **** --- 39,43 ---- * [wiki:MeatBall/InterWiki InterWiki page on MeatBall] * jh at web.de + * [#anchorname Anchor Link] }}} *************** *** 58,59 **** --- 56,58 ---- * [wiki:MeatBall/InterWiki InterWiki page on MeatBall] * jh at web.de + * [#anchorname Anchor Link] From jhermann at users.sourceforge.net Fri Feb 22 12:32:26 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 12:32:26 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnConfiguration_2fEmailSupport,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv4904 Modified Files: HelpOnConfiguration_2fEmailSupport Log Message: Completed page Index: HelpOnConfiguration_2fEmailSupport =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration_2fEmailSupport,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnConfiguration_2fEmailSupport 20 Feb 2002 20:57:58 -0000 1.1 --- HelpOnConfiguration_2fEmailSupport 22 Feb 2002 20:28:56 -0000 1.2 *************** *** 1,8 **** == Enabling Email Support == ! Setting "`mail_smarthost`" and "`mail_from`" in the configuration activates features that are explained below. These features are otherwise deactivated, since there are no general defaults. ! mail_from:: This value is used for the "`From:`" header in sent mails. ! mail_smarthost:: This is the IP or domain name of an FOLDOC:SMTP enabled server. See also HelpOnConfiguration. --- 1,8 ---- == Enabling Email Support == ! Setting "`mail_smarthost`" and "`mail_from`" in the configuration activates features that are explained below. These features are otherwise not available, since there are no general defaults. ! mail_from:: This value is used for the "`From:`" header in the emails sent. ! mail_smarthost:: This is the IP or domain name of an FOLDOC:SMTP enabled server. On a Unix host, you can try to use `localhost`; on a Windows machine this will normally be a machine in your LAN or some host of your ISP. See also HelpOnConfiguration. *************** *** 14,24 **** === Sending Login Data === ! Send login data on the UserPreferences page. === Change Notification === ! You can subscribe to changes of wiki pages by either clicking on the envelope icon [[Icon(moin-email.gif)]], or by adding a regex to the "..." field of your UserPreferences. ! ! Send an email containing information on changed pages. ! ! TODO: explain envelope icon, "Subscribed wiki pages" on UserPreferences --- 14,20 ---- === Sending Login Data === ! If emailing is available, the UserPreferences dialog is expanded with a field "[[GetText(Your email address)]`]" and a button "[[GetText( Mail me my account data )]]". The user can enter the email address he provided at registration and then gets an email containing all necessary data to re-login, after clicking the button. === Change Notification === ! Any user can subscribe to changes of wiki pages by either clicking on the envelope icon [[Icon(moin-email.gif)]], or by adding a regex to the "Subscribed wiki pages" field of his UserPreferences. The system then sends, whenever a page is changed and the author doesn't uncheck the "[[GetText(Send mail notification)]]" checkbox, an email with the author, a link to the page, and the diff of the change. From jhermann at users.sourceforge.net Fri Feb 22 12:46:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Fri Feb 22 12:46:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnActions_2fAttachFile,1.1,1.2 HelpOnInstalling_2fApacheOnUnix,1.2,1.3 HilfeZuAktionen_2fDateiAnh_e4nge,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv11201 Modified Files: HelpOnActions_2fAttachFile HelpOnInstalling_2fApacheOnUnix HilfeZuAktionen_2fDateiAnh_e4nge Log Message: Started on root install for Apache/Unix; placed some TODO badges Index: HelpOnActions_2fAttachFile =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnActions_2fAttachFile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnActions_2fAttachFile 20 Feb 2002 20:57:58 -0000 1.1 --- HelpOnActions_2fAttachFile 22 Feb 2002 20:45:02 -0000 1.2 *************** *** 4,5 **** --- 4,7 ---- * "attachment:" URL scheme allows access to attachments, to get files from other pages use "attachment:WikiName/filename.ext". * 'inline:' scheme works like 'attachment:', but tries to inline the content of the attachment into the page; currently knows about "*.py" sources and colorizes them + + * other new linking schemes, like attachment: inline: drawing: Index: HelpOnInstalling_2fApacheOnUnix =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnUnix,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnInstalling_2fApacheOnUnix 13 Feb 2002 21:52:28 -0000 1.2 --- HelpOnInstalling_2fApacheOnUnix 22 Feb 2002 20:45:02 -0000 1.3 *************** *** 8,11 **** --- 8,17 ---- + == Installation when you are root or the webmaster == + + When you are root or the webmaster on the host you want to install MoinMoin on, you can place the software in a "standard" location, and also better integrate MoinMoin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all. + + TODO: complete this + == Installation into your home directory == Index: HilfeZuAktionen_2fDateiAnh_e4nge =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZuAktionen_2fDateiAnh_e4nge,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZuAktionen_2fDateiAnh_e4nge 20 Feb 2002 00:57:22 -0000 1.1 --- HilfeZuAktionen_2fDateiAnh_e4nge 22 Feb 2002 20:45:02 -0000 1.2 *************** *** 1,4 **** ##master-page:HelpOnActions/AttachFile ##master-date:--not-yet-available-- - - TODO --- 1,2 ---- From jhermann at users.sourceforge.net Sun Feb 24 17:17:18 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Sun Feb 24 17:17:18 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HilfeAllgemein,NONE,1.1 HilfeAllgemein_2fFragenUndAntworten,NONE,1.1 HilfeF_fcrAnf_e4nger,NONE,1.1 HilfeIndex,NONE,1.1 HilfeInhalt,NONE,1.1 HilfeTemplate,NONE,1.1 HilfeZuAktionen,NONE,1.1 HilfeZuAktionen_2fDateiAnh_e4nge,NONE,1.1 HilfeZuListen,NONE,1.1 HilfeZuMakros,NONE,1.1 HilfeZuSmileys,NONE,1.1 HilfeZuTabellen,NONE,1.1 HilfeZuTrennlinien,NONE,1.1 HilfeZuVerarbeitungsAnweisungen,NONE,1.1 HilfeZuVerweisen,NONE,1.1 HilfeZuXmlSeiten,NONE,1.1 HilfeZu_dcberschriften,NONE,1.1 HilfeZumEditieren,NONE,1.1 HilfeZumEditieren_2fUnterSeiten,NONE,1.1 HilfeZumFormatieren,NONE,1.1 HilfeZumUpdaten,NONE,1.1 HilfeZurAdministration,NONE,1.1 HilfeZurInstallation,NONE,1.1 HilfeZurKonfiguration,NONE,1.1 HilfeZurNavigation,NONE,1.1 HilfeZurRechtschreibpr_fcfung,NONE,1.1 HilfeZurSeitenErzeugung,NONE,1.1 HilfeZurSeitenL_f6schung,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv4608 Added Files: HilfeAllgemein HilfeAllgemein_2fFragenUndAntworten HilfeF_fcrAnf_e4nger HilfeIndex HilfeInhalt HilfeTemplate HilfeZuAktionen HilfeZuAktionen_2fDateiAnh_e4nge HilfeZuListen HilfeZuMakros HilfeZuSmileys HilfeZuTabellen HilfeZuTrennlinien HilfeZuVerarbeitungsAnweisungen HilfeZuVerweisen HilfeZuXmlSeiten HilfeZu_dcberschriften HilfeZumEditieren HilfeZumEditieren_2fUnterSeiten HilfeZumFormatieren HilfeZumUpdaten HilfeZurAdministration HilfeZurInstallation HilfeZurKonfiguration HilfeZurNavigation HilfeZurRechtschreibpr_fcfung HilfeZurSeitenErzeugung HilfeZurSeitenL_f6schung Log Message: Preliminary version of German help pages --- NEW FILE: HilfeAllgemein --- Eine FAQ gibt es hier: HilfeAllgemein/FragenUndAntworten --- NEW FILE: HilfeAllgemein_2fFragenUndAntworten --- Oft gestellte Fragen und die Antworten dazu siehe: HelpMiscellaneous/FrequentlyAskedQuestions (momentan leider noch auf englisch) --- NEW FILE: HilfeF_fcrAnf_e4nger --- ##master-page:HelpForBeginners ##master-date:2002-01-24 01:49:56 == WikiWikiWeb == Ein WikiWikiWeb ist eine Hypertext-Umgebung f?r gemeinschaftliches Zusammenarbeiten, mit Betonung auf einfachen Zugriff auf und einfaches ?ndern von Informationen. Dieses Wiki ist auch ein Teil des InterWiki-Verbunds. Sie k?nnen jede Seite ?ndern, durch einen Klick auf den Verweis "[[GetText(EditText)]]" am unteren Ende der Seite. Aneinander gef?gte, vorne gro? geschriebene Worte bilden einen sog. WikiName``n, der automatisch einen Verweis auf eine andere Seite bildet. Ein Klick auf den Seitentitel sucht alle Seiten, die auf die aktuelle Seite verweisen, also deren WikiName``n enthalten. Seiten, die noch nicht existieren, werden mit einem Fragezeichen abgebildet (oder auch in einer anderen Form dargestellt, ?blicherweise fett und rot). Folgen Sie einfach einem solchen Verweis und Sie k?nnen eine Definition hinzuf?gen, also die Seite anlegen. Bitte ?ndern Sie die WikiSandBox so, wie es Ihnen beliebt. Halten Sie sich aber bitte mit ?nderungen anderer Seiten etwas zur?ck, bis Sie sich mit der Funktionsweise eines Wikis vertraut gemacht haben. Um mehr dar?ber zu lernen, was ein Wiki:WikiWikiWeb ist, lesen Sie Wiki:WhyWikiWorks und Wiki:WikiNature. Des weiteren lesen Sie bitte auch Wiki:WikiWikiWebFaq und Wiki:OneMinuteWiki. Gute Ausgangspunkte f?r eine Wiki-Erkundung sind: * RecentChanges: damit sehen Sie, was in letzter Zeit ge?ndert wurde * FindPage: durchsuchen Sie die Datenbank auf verschiedene Weisen * TitleIndex: eine Liste aller Seiten im Wiki * WordIndex: eine Liste aller Worte, die Teil eines Seitentitels sind (und daher, eine Liste aller Konzepte im Wiki) * WikiSandBox: diese Seite d?rfen Sie nach Herzenslust f?r eigene ?nderungen und Experimente benutzen F?r weitere Hilfe, siehe die Seiten HilfeInhalt und HilfeIndex. == WikiNamen == Ein WikiName ist ein Wort, zusammengesetzt aus vorne gro?geschriebenen Worten. WikiName``n werden automatisch zu Verweisen (Hyperlinks) auf die Seite, die so heisst, wie der WikiName. Was genau als Gro?- bzw. Kleinbuchstabe betrachtet wird, wird durch die Konfiguration festgelegt - die Standard-Konfiguration funktioniert f?r Latin-1(ISO-8859-1)-Zeichen. Wie man asiatische, hebr?ische und andere "nicht-westliche" Zeichenkodierungen handhabt, wird weiter unten behandelt. Der Seitentitel (z.B. HilfeF?rAnf?nger auf dieser Seite) zeigt eine Liste aller Seiten, die auf die aktuelle Seite verweisen - und das funktioniert sogar auf Seiten, die noch nicht definiert sind. Ein Fragezeichen hinter einem Link (oder auch ein Link, der fett und rot abgebildet ist) bedeutet, dass eine Seite noch nicht definiert wurde. Sie k?nnen dann auf das Fragezeichen klicken und die Seite anlegen (z.B.: SoEineSeiteGibtEsNicht). Wenn Sie auf einen solchen Link klicken, bekommen Sie eine Standardseite, die Sie dann editieren k?nnen. Erst beim Speichern dieser Seite wird die Seite dann wirklich angelegt. Um einen WikiName``n nicht als solchen gelten zu lassen (ihn zu "escapen"), z.B. wenn man Wiki''''''Name schreiben will, ohne einen Link zu generieren, kann man eine leere Fettschrift-Markierung verwenden (also eine Folge von sechs einzelnen Anf?hrungszeichen) wie hier: {{{Wiki''''''Name}}}. Lesen Sie HilfeZumEditieren, um weiteres ?ber Wiki-Notation zu lernen. == Beliebige Seiten-Namen == Wenn Sie eine Folge von Zeichen in eckigen Klammern und doppelten Anf?hrungszeichen {{{["wie hier"]}}} einschlie?en, dann wird daraus ein Seitenname. Dies kann f?r spezielle Anwendungen benutzt werden (z.B. f?r's Organisieren einer Liste von Dingen, z.B. Ihrer CD-Sammlung ?ber deren "nat?rlichen" Namen) oder auch wenn Sie ein Wiki mit nicht-westlichen Zeichens?tzen erzeugen wollen. /!\ '''Dies ist eine konfigurierbare Eigenschaft, dadurch kann es sein, dass dies nicht ohne weiteres funktioniert!''' --- NEW FILE: HilfeIndex --- ##master-page:HelpIndex ##master-date:2002-01-03 12:02:54 Es folgt ein automatisch erstellter Index aller Hilfeseiten: [[PageList(Hilfe.*)]] --- NEW FILE: HilfeInhalt --- ##master-page:HelpContents ##master-date:2002-02-17 17:34:39 == Anmerkung == Dies ist eine gerade entstehende deutsche ?bersetzung der originalen, englischen Hilfeseiten hier: HelpContents Wer mithelfen will, kann dies gerne tun (umso schneller ist es fertig), vorher aber hier lesen: GermanTranslation. == Inhalt der Hilfe == Hier ist eine ?bersicht ?ber die wichtigsten Hilfeseiten: * HilfeF?rAnf?nger - wenn Wikis noch neu f?r Sie sind * HilfeZurNavigation - erkl?rt die Navigations-Elemente auf einer Seite * HilfeZurSeitenErzeugung - wie man eine neue Seite erzeugt und wie man Seitenvorlagen benutzt * HilfeZumEditieren - wie man eine Seite editiert (?ndert) * HilfeZuAktionen - Werkzeuge, die auf der Seite oder dem ganzen Wiki arbeiten * HilfeAllgemein - sonstige Informationen Diese Seiten enthalten Informationen, die nur f?r Wiki-Administratoren und Entwickler wichtig sind: * HilfeZurAdministration - wie man ein MoinMoin-Wiki pflegt * HilfeZurInstallation - wie man ein MoinMoin-Wiki installiert * HilfeF?rEntwickler - wie Du Deine eigenen Ideen durch ?nderungen am MoinMoin-Code hinzuf?gen kannst Ein automatisch erzeugter Index ?ber alle Hilfeseiten findet sich auf HilfeIndex. Siehe auch HilfeAllgemein/FragenUndAntworten f?r Antworten auf oft gestellte Fragen. ''[Bitte diesen Seiten keine redundanten Informationen hinzuf?gen (die dann an zwei Stellen gepflegt werden m?ssen) - und man halte sich auch bitte an die vorhandene Struktur der Hilfeseiten.]'' --- NEW FILE: HilfeTemplate --- ##master-page: ##master-date: --- NEW FILE: HilfeZuAktionen --- ##master-page:HelpOnActions ##master-date:2002-02-17 17:34:39 == Aktionen == Aktionen sind Werkzeuge, die auf einer Seite oder auf dem ganzen Wiki arbeiten, aber, anders als Makros, nichts zum Seiteninhalt hinzuf?gen, wenn man die Seite anschaut, sondern den Seiteninhalt bearbeiten. Sie erzeugen eine Ausgabe, die vom Seiteninhalt abh?ngt (Navigations-Aktionen wie Suchen) oder implementieren Funktionen, die nicht mit dem Betrachten zusammenh?ngen (wie L?schen oder Umbenennen einer Seite). Es gibt eine Menge von system-definierten Aktionen, worin auch das Editieren einer Seite enthalten ist. Sie k?nnen diese Menge bekannter Aktionen durch eigene erweitern. F?r mehr Informationen dar?ber siehe HilfeF?rEntwickler. Die folgenden Aktionen werden zu der Liste von benutzerdefinierten Erweiterungs-Aktionen am Ende jeder Seite hinzugef?gt. Dies geschieht f?r jede gemischtgeschriebene Aktion - f?r andere Aktionen (komplett in Kleinbuchstaben), siehe die Liste weiter unten auf dieser Seite. Einige dieser Aktionen sind m?glicherweise nicht in Ihrem Wiki verf?gbar. * `DeletePage`: L?schen einer Seite, nachdem Sie nochmals best?tigt haben. L?schen heisst, dass eine letzte Sicherungskopie angelegt und dann die Seite entfernt wird, d.h. Sie k?nnen die Seite sp?ter ''wiederbeleben'' (solange die Sicherungskopien nicht physikalisch gel?scht werden). * `LikePages`: Auflisten von Seiten, deren Titel mit dem gleichen MeatBall:WikiWord anfangen oder enden wie der aktuelle Seitentitel. * `AttachFile`: Dateien an eine Seite anh?ngen, siehe /DateiAnh?nge f?r weitere Details. * `LocalSiteMap`: Anzeigen von nahen Links der aktuellen Seite, d.h. eine Liste aller Seiten, auf die verwiesen wird - und auch wieder die Seiten, auf die von dort verwiesen wird - bis zu einer bestimmten, begrenzten Tiefe. * `SpellCheck`: rufe die Rechtschreibpr?fung f?r die aktuelle Seite auf; siehe HilfeZurRechtschreibpr?fung f?r weitere Informationen. Es folgt eine Liste von ''internen'' Aktionen, die f?r die Implementierung der verschiedenen Icons und Links oben und unten auf der Seite benutzt werden oder zur Unterst?tzung von gewissen Makros. * titleindex: Auflistung aller Seitennamen als Text (Self:?action=titleindex) oder XML (Self:?action=titleindex&mimetype=text/xml); die Hauptanwendung dieser Aktion ist es, MeatBall:MetaWiki zu erm?glichen. * fullsearch: diese Aktion wird durch Klicken auf den "Go"-Knopf des `FullSearch`-Makros (Self:?action=fullsearch&value=HilfeZuAktionen) ausgel?st. * titlesearch: diese Aktion wird durch Klicken auf den "Go"-Knopf des `TitleSearch`-Makros (Self:?action=titlesearch&value=HilfeZuAktionen) ausgel?st. * inlinesearch: damit wird die eingebettete Suche f?r die Formularfelder am Ende jeder Seite implementiert (beachten Sie, dass dies POST-Requests benutzt, Sie werden diese Aktion also normalerweise nicht in der URL sehen). * highlight: das Suchwort markieren, wenn man auf einen Verweis in der Liste der Suchergebnisse klickt. * diff: Anzeigen von Unterschieden zwischen Seiten-Revisionen. * info: zeigt Metadaten zu einer Seite an. * recall: zeigt eine ?ltere Revision einer Seite an. * show: zeigt eine Seite an (die Standard-Aktion). * refresh: Erneutes Laden der gecachten Version einer Seite (momentan nur auf XSLT-formatierten Seiten verwendet). * print: Anzeigen einer Druckansicht einer Seite, bei der Navigationselemente weggelassen werden. * edit: ?ndern dieser Seite. * savepage: Speichern dieser Seite (niemals manuell benutzen). * subscribe: eine Seite abonnieren. * userform: Benutzereinstellungen aufrufen. * bookmark: setzt Lesezeichen auf RecentChanges. * formtest: wird f?r die Entwicklung benutzt. * raw: sende die rohen Wiki-Texte als text/plain (z.B. f?r Backup-Zwecke via wget); Self:SystemInfo?action=raw zeigt den Roh-Text von SystemInfo. * format: erzeugt speziell formattierte Anzeigen einer Seite. * rss_rc: erzeugt einen RSS-Feed der RecentChanges. * chart: Charts anzeigen. * dumpform: wird f?r die Entwicklung genutzt. * export: Wiki exportieren (experimentell). --- NEW FILE: HilfeZuAktionen_2fDateiAnh_e4nge --- ##master-page:HelpOnActions/AttachFile ##master-date:--not-yet-available-- TODO --- NEW FILE: HilfeZuListen --- ##master-page:HelpOnLists ##master-date:2001-11-30 21:30:20 == Listen und Einr?ckungen == Sie k?nnen Punktelisten und Nummerierungen auf eine sehr naheliegende Weise eingeben. Alles, was Sie tun m?ssen, ist die Zeile einzur?cken, die das Listenelement enth?lt. Um eine Punkteliste zu erhalten, fangen Sie den Punkt mit einem Stern "{{{*}}}" an; um nummerierte Punkte zu bekommen, fangen Sie ihn mit einem Zahlenmuster an "{{{1.}}}", "{{{a.}}}", "{{{A.}}}", "{{{i.}}}" oder "{{{I.}}}". Alles andere wird die Zeile lediglich einr?cken. Um eine nummerierte Liste mit einem bestimmten Startwert anzufangen, h?ngen Sie "{{{#}}}''startwert''" an das Zahlenmuster an. Um Listen verschiedener Tiefe zu schachteln, benutzen Sie verschiedene Einr?ckungstiefen. Alle Punkte derselben Einr?ckungstiefe geh?ren zur gleichen (Unter-)Liste. Das bedeutet aber auch, dass Sie nicht die Art einer Liste ?ndern k?nnen, nachdem Sie sie begonnen haben. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. === Beispiel === {{{ Wenn Sie Text einr?cken wie diesen hier, dann ist er in der Ausgabe einger?ckt Sie k?nnen mehrere Einr?ckungs-Ebenen haben Wenn Sie Sternchen an den Anfang des Punktes schreiben * bekommen Sie * eine * Punkte-Liste * die auch einger?ckt sein kann, * sogar auf verschiedenen Ebenen Eine nummerierte Liste, gemischt mit Punkten: 1. eins 1. zwei 1. eins * Punkt 1 * Punkt 2 1. zwei 1. drei * Punkt 1. eins Variationen von nummerierten Listen: * klein r?misch i. eins i. zwei * gro? r?misch (mit einem Startwert von 42) I.#42 zwei-und-vierzig I. drei-und-vierzig * klein alphabetisch a. one a. two * gro? alphabetisch A. eins A. zwei }}} === Anzeige === Wenn Sie Text einr?cken wie diesen hier, dann ist er in der Ausgabe einger?ckt Sie k?nnen mehrere Einr?ckungs-Ebenen haben Wenn Sie Sternchen an den Anfang des Punktes schreiben * bekommen Sie * eine * Punkte-Liste * die auch einger?ckt sein kann, * sogar auf verschiedenen Ebenen Eine nummerierte Liste, gemischt mit Punkten: 1. eins 1. zwei 1. eins * Punkt 1 * Punkt 2 1. zwei 1. drei * Punkt 1. eins Variationen von nummerierten Listen: * klein r?misch i. eins i. zwei * gro? r?misch (mit einem Startwert von 42) I.#42 zwei-und-vierzig I. drei-und-vierzig * klein alphabetisch a. one a. two * gro? alphabetisch A. eins A. zwei --- NEW FILE: HilfeZuMakros --- ##master-page:HelpOnMacros ##master-date:2001-12-01 11:56:44 [[TableOfContents]] == Makros == Makros erlauben das Einf?gen von System-Eigenschaften in normale Wiki-Seiten; das Einzige, was solche Seiten auszeichnet, ist, dass sie Makros enthalten. Wenn Sie Seiten wie RecentChanges oder SystemInfo editieren, sehen Sie, was das bedeutet. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. === Such-Makros === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ||{{{[[TitleSearch]]}}} || durchsucht die Seitentitel || siehe die FindPage-Seite || ||{{{[[FullSearch]]}}} || durchsucht den Seiteninhalt || siehe die FindPage-Seite || ||{{{[[FullSearch()]]}}} || sucht den aktuellen Titel in allen Seiten (wie wenn Sie auf den Seitentitel klicken) || siehe die CategoryCategory-Seite || ||{{{[[FullSearch('text')]]}}} || sucht nach "text" auf allen Seiten || suche nach {{{FullSearch}}}:[[FullSearch('FullSearch')]] || ||{{{[[GoTo]]}}} || springe direkt zur eingegebenen Seite || siehe die FindPage-Seite || ||{{{[[PageList(regex)]]}}} || auflisten von Seiten, deren Titel auf regex passen || siehe den HilfeIndex || === Navigation === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ||{{{[[RecentChanges]]}}} || Liste der vor kurzem editierten Seiten || siehe RecentChanges || ||{{{[[TitleIndex]]}}} || Index aller Seitentitel || siehe TitleIndex || ||{{{[[WordIndex]]}}} || Index aller Worte in Seitentiteln || siehe WordIndex || ||{{{[[RandomPage]]}}} || ein Link zu einer zuf?lligen Seite || [[RandomPage]] || ||{{{[[RandomPage(#)]]}}} || Links zu einer Anzahl von zuf?lligen Seiten || Zwei zuf?llige Seiten: [[RandomPage(2)]] || ||{{{[[TableOfContents]]}}} || zeigt ein lokales Inhaltsverzeichnis an || siehe unten || === System-Informationen === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ||{{{[[InterWiki]]}}} || eine Liste aller bekannten InterWiki-Namen || InterWiki || ||{{{[[SystemInfo]]}}} || Info ?ber das Wiki, den Python-Interpreter und das Host-System || SystemInfo || ||{{{[[PageCount]]}}} || aktuelle Seitenanzahl || [[PageCount]] Seiten || === Andere === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ||{{{[[Icon(image)]]}}} || Anzeigen der System-Icons || HelpOnNavigation || ||{{{[[UserPreferences]]}}} || Anzeigen der Benutzereinstellungen || UserPreferences || ||{{{[[BR]]}}} || einen harten Zeilenumbruch einf?gen|| erste Zeile[[BR]]zweite Zeile || ||{{{[[Include(HalloWelt[,heading[,level]])]]}}} || Einf?gen des Inhalts einer anderen Seite || [[Include(HalloWelt)]] || == Beispiel-Anzeige == Wir zeigen hier nicht Beispiele f?r alle Makros, weil das diese Seite sehr lange machen w?rde. Hier ist der Ersatztext fur das {{{[[SystemInfo]]}}}-Makro: [[SystemInfo]] --- NEW FILE: HilfeZuSmileys --- ##master-page:HelpOnSmileys ##master-date:2002-01-03 12:02:54 == Graphische Symbole == Um ein Smiley (Emoticon) bzw. bestimmte Symbole einzuf?gen, tippen Sie einfach Ihren Lieblings-Smiley aus der Liste weiter unten. Sie werden allerdings nur dann in ein Bild umgewandelt, wenn sie von Leerzeichen umgeben sind, oder am Anfang oder Ende einer Zeile stehen (auch hier durch ein Leerzeichen vom Rest der Zeile isoliert). F?r weitere Informationen ?ber die Notation siehe HilfeZumEditieren. === Beispiele === || '''Notation''' || '''Bild''' || '''Dateiname''' || || {{{ :) }}} || :) || smile.gif || || {{{ B) }}} || B) || smile2.gif || || {{{ :)) }}} || :)) || smile3.gif || || {{{ ;) }}} || ;) || smile4.gif || || {{{ :D }}} || :D || biggrin.gif || || {{{ <:( }}} || <:( || frown.gif || || {{{ X-( }}} || X-( || angry.gif || || {{{ :o }}} || :o || redface.gif || || {{{ :( }}} || :( || sad.gif || || {{{ /!\ }}} || /!\ || alert.gif || || {{{ }}} || || attention.gif || || {{{ (!) }}} || (!) || idea.gif || |||||| ''mit Version 0.11 neu hinzugekommen'' || || {{{ :-? }}} || :-? || tongue.gif || || {{{ :\ }}} || :\ || ohwell.gif || || {{{ >:> }}} || >:> || devil.gif || || {{{ %) }}} || %) || eyes.gif || || {{{ @) }}} || @) || eek.gif || || {{{ |) }}} || |) || tired.gif || || {{{ ;)) }}} || ;)) || lol.gif || --- NEW FILE: HilfeZuTabellen --- ##master-page:HelpOnTables ##master-date:2001-12-09 15:58:24 == Tabellen-Formatierung == Wenn Sie eine Tabelle anlegen wollen, beginnen und beenden Sie eine Zeile mit dem Tabellen-Markierer "{{{||}}}". Zwischen dieser Start- und Ende-Markierung k?nnen Sie eine beliebige Anzahl von Zellen erzeugen, indem Sie sie mit "{{{||}}}" voneinander trennen. Um eine zentrierte Zelle zu erhalten, die mehrere Spalten ?berspannt, fangen Sie diese Zelle mit mehr als einem Zellmarkierer an. Aufeinanderfolgende Zeilen mit der selben Einr?ckungstiefe, die eine Tabellenkennzeichnung enthalten, werden in eine gemeinsame Tabelle zusammengefasst. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. === Tabellen-Attribute === Abgesehen von der M?glichkeit, Zellmarkierer zu wiederholen, um mehrspaltige Tabellenzellen zu erhalten, k?nnen Sie auch viele HTML-Tabellen-Attribute setzen. Jegliches Attribut muss zwischen spitze Klammern {{{<...>}}} direkt hinter den Zellenmarkierer geschrieben werden. Die wiki-artige Formatierung hat folgende Optionen: * {{{<50%>}}}: Spaltenbreite * {{{<-2>}}}: mehrspaltig * {{{<|2>}}}: mehrzeilig * {{{<(>}}}: linksb?ndig * {{{<:>}}}: zentriert * {{{<)>}}}: rechtsb?ndig * {{{<^>}}}: oben b?ndig * {{{}}}: unten b?ndig * {{{<#XXXXXX>}}}: Hintergrund-Farbe Falls Sie verschiedene, zueinander in Konflikt stehende Optionen verwenden, wie {{{<(:)>}}}, gewinnt die letzte Option. Es gibt keine explizite Option f?r vertikales Zentrieren (''middle''), da dies immer die Standardeinstellung ist. Zus?tzlich zu den genannten k?nnen Sie auch noch einige der traditionellen, etwas l?ngeren HTML-Attribute verwenden (beachten Sie, dass nur manche HTML-Attribute erlaubt sind). Dadurch, dass Sie die Attribute auf diese Art angeben, ist es m?glich, Eigenschaften der Tabellen-Zeilen und der Tabelle selbst einzustellen - insbesondere k?nnen Sie die Tabellenbreite mit {{{||...||}}} in der ersten Zeile Ihrer Tabelle setzen. Ebenso die Farbe einer ganzen Zeile mit {{{||...||}}} in der ersten Zelle einer Zeile. Wie Sie sehen, muss man dem Namen des HTML-Attributs ein {{{table}}} oder {{{row}}} voranstellen. === Beispiel === {{{ Allgemeines Tabellen-Layout und HTML-artige Optionen:: ||||||'''Kopfzeile'''|| ||Zelle 1||Zelle2||Zelle 3|| || Zeilen-?bergreifend|||| 2 Spalten ?bergreifend|| ||Zelle2||Zelle 3|| Zellen-Breite:: || schmal ||<:99%> breit || zeilen- und spalten-?bergreifend:: ||<|2> 2 Zeilen || Zeile 1 || || Zeile 2 || ||<-2> Zeile 3 ?ber 2 Spalten || Ausrichtung:: ||<(> links ||<^|3> oben || unten || ||<:> zentriert || ||<)> rechts || Farben:: ||<#FF8080> rot ||<#80FF80> gr?n ||<#8080FF> blau || }}} === Anzeige === Allgemeines Tabellen-Layout und HTML-artige Optionen:: ||||||'''Kopfzeile'''|| ||Zelle 1||Zelle2||Zelle 3|| || Zeilen-?bergreifend|||| 2 Spalten ?bergreifend|| ||Zelle2||Zelle 3|| Zellen-Breite:: || schmal ||<:99%> breit || zeilen- und spalten-?bergreifend:: ||<|2> 2 Zeilen || Zeile 1 || || Zeile 2 || ||<-2> Zeile 3 ?ber 2 Spalten || Ausrichtung:: ||<(> links ||<^|3> oben || unten || ||<:> zentriert || ||<)> rechts || Farben:: ||<#FF8080> rot ||<#80FF80> gr?n ||<#8080FF> blau || --- NEW FILE: HilfeZuTrennlinien --- ##master-page:HelpOnRules ##master-date:2001-11-30 21:30:20 == Horizontale Trennlinien == Sie k?nnen horizontale, quer ?ber die Seite gehende Trennlinien einf?gen, indem Sie vier oder mehr Bindestriche eintippen. Die Anzahl der Bindestriche in der Markierung bestimmt dann, wie dick die Trennlinie ist - bis zu einer Obergrenze von 10. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. === Beispiel === {{{ --- (keine Trennlinie) ---- ----- ------ ------- -------- --------- ---------- -------------------------------------------- (nicht dicker als 10) }}} === Anzeige === --- (keine Trennlinie) ---- ----- ------ ------- -------- --------- ---------- -------------------------------------------- (nicht dicker als 10) --- NEW FILE: HilfeZuVerarbeitungsAnweisungen --- ##master-page:HelpOnProcessionInstructions ##master-date:2002-02-13 17:53:09 == Verarbeitungsanweisungen == Die Verarbeitungsanweisungen von MoinMoin haben die gleiche Semantik wie in XML: sie beeinflussen die Art und Weise, wie eine Seite verarbeitet wird. Die Verarbeitungsanweisungen sind Zeilen, die mit einem "{{{#}}}"-Zeichen anfangen, auf das ein Schl?sselwort und optional einige Argumente folgen. Zwei aufeinanderfolgende Rautezeichen am Anfang einer Zeile sind ein Kommentar, der nicht auf der verarbeiteten Seite auftaucht. Verarbeitungsanweisungen, die dieses Wiki kennt: * {{{##}}} ''irgendein Text'': Kommentar * {{{#FORMAT}}} ''Format-Angabe'': definiert das Eingabeformat f?r diese Seite, bekannte Formate sind: * '''Wiki''': standard MoinMoin-Wiki-Formatierung * '''Plain''': normaler einfacher Text * '''Python''': eingef?rbter Python-Quellcode * '''HTML''' ( nicht implementiert) * '''StructuredText''' ( nicht implementiert) * {{{#REDIRECT}}} ''pagename'': Weiterleiten auf eine andere Seite (siehe MeatBall:PageRedirect) * {{{#DEPRECATED}}}: markiert diese Seite als veraltet, d.h. bei weiteren ?nderungen an der Seite werden keine Sicherungskopien erstellt und beim Anzeigen wird der aktuelle Inhalt (?blicherweise ein Grund, warum die Seite veraltet ist) und das letzte Backup angezeigt. Dies wirkt sich so aus, dass die letzte Version eingefroren wird, die Seite nicht mehr f?r die Suche verf?gbar ist (keine Treffer auf veraltete Inhalte), der Inhalt kann aber weiterhin angeschaut werden. Alle Verarbeitungsanweisungen m?ssen ganz am Anfang der Seite stehen. Eine Ausnahme sind Kommentare, die ?berall in einer Wiki-Seite auftauchen d?rfen (aber offensichtlich nicht in Seiten, die andere Formate benutzen). Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. --- NEW FILE: HilfeZuVerweisen --- ##master-page:HelpOnLinking ##master-date:2001-11-30 21:30:20 == Verweise und eingebettete Bilder == Es gibt verschiedene Wege, um externe Referenzen[[FootNote(Das Gegenteil von externen Referenzen sind die internen, automatischen Verweise mittels WikiNamen.)]] in den Text einzuf?gen: * direktes Einf?gen einer URL; wenn die URL mit einer Erweiterung f?r Bilddateien endet ("{{{.gif}}}", "{{{.jpg}}}" or "{{{.png}}}"), wird die URL in ein HTML-Bildelement konvertiert. * geklammerte URLs. * InterWiki-Verweise. * email-Adressen. Wenn Sie URLs in normalen Text einf?gen, ist es problematisch zu erkennen, was zu der URL geh?rt und was nicht. Es gibt vier Wege, das Ende einer URL zu erzwingen: * platzieren Sie ein Leerzeichen hinter die URL. * benutzen Sie die Wiki:SixSingleQuotes''''''-Methode (oder alternativ zwei inverse Hochkommata {{{``}}}). * geben Sie die URL in doppelten Anf?hrungszeichen ein. * benutzen Sie die Klammer-URL-Syntax. Folgende URL-Schemata werden unterst?tzt: http, https, ftp, nntp, news, mailto, telnet und wiki. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. [[FootNote]] === Beispiel === {{{ * http://moin.sourceforge.net/ * [http://moin.sourceforge.net/] * [http://moin.sourceforge.net/ MoinMoin-Homepage auf Sourceforge] * http://moin.sourceforge.net/moinmoin.gif * [http://moin.sourceforge.net/moinmoin.gif] * [http://moin.sourceforge.net/moinmoin.gif moinmoin.gif] * InterWiki * MeatBall:InterWiki * wiki:MeatBall/InterWiki * [wiki:MeatBall/InterWiki] * [wiki:MeatBall/InterWiki InterWiki-Seite auf MeatBall] * jh at web.de }}} === Anzeige === * http://moin.sourceforge.net/ * [http://moin.sourceforge.net/] * [http://moin.sourceforge.net/ MoinMoin-Homepage auf Sourceforge] * http://moin.sourceforge.net/moinmoin.gif * [http://moin.sourceforge.net/moinmoin.gif] * [http://moin.sourceforge.net/moinmoin.gif moinmoin.gif] * InterWiki * MeatBall:InterWiki * wiki:MeatBall/InterWiki * [wiki:MeatBall/InterWiki] * [wiki:MeatBall/InterWiki InterWiki-Seite auf MeatBall] * jh at web.de --- NEW FILE: HilfeZuXmlSeiten --- ##master-page:HelpOnXmlPages ##master-date:2002-02-13 17:53:09 == XML-Seiten & XSLT-Verarbeitung == Wenn Sie MoinMoin:Python4Suite auf Ihrem System installiert haben, ist es m?glich, XML-Dokumente als Seiten abzuspeichern. Es ist wichtig, diese Seiten mit einer XML-Deklaration "{{{}}}" in der ersten Zeile anzufangen. Au?erdem m?ssen Sie das Stylesheet angeben, das benutzt werden soll, um das XML-Dokument zu HTML zu verarbeiten. Das wird realisiert, indem man eine [http://www.w3.org/TR/xml-stylesheet/ standard "xml-stylesheet" processing instruction] benutzt, mit einem "{{{href}}}"-Parameter mit dem Namen einer Seite, die das Stylesheet enth?lt. Das folgende Beispiel zeigt die praktische Anwendung an einem sehr einfachen Stylesheet, das auf der Seite XsltVersion gefunden werden kann. === Beispiel === {{{ Dieses Wiki benutzt eine XSLT-Engine von () die XSLT v }}} === Anzeige === [[Include(XsltVersion)]] --- NEW FILE: HilfeZu_dcberschriften --- ##master-page:HelpOnHeadlines ##master-date:2001-11-30 21:30:20 == Abschnitts?berschriften == Sie k?nnen ?berschriften erzeugen, indem Sie eine Zeile mit bis zu f?nf Gleichheitszeichen anfangen und enden lassen. Der Text der ?berschrift wird zwischen diesen Markierungen platziert, links und rechts durch ein Leerzeichen abgetrennt. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. === Beispiel === {{{ = ?berschrift = == Ebene 2 == === Ebene 3 === ==== Ebene 4 ==== ===== Ebene 5 ===== }}} === Anzeige === = ?berschrift = == Ebene 2 == === Ebene 3 === ==== Ebene 4 ==== ===== Ebene 5 ===== --- NEW FILE: HilfeZumEditieren --- ##master-page:HelpOnEditing ##master-date:2002-01-24 15:33:42 == Editieren einer Seite == Seitenamen sollten aussehen wie DasHier - man nennt dies einen WikiName``n. Wenn Sie ein Wort wie DasHier schreiben, wird es automatisch in einen Verweis (Link) umgewandelt. Genaueres dazu finden Sie unter HilfeF?rAnf?nger. Die folgenden Seiten beschreiben die Elemente (Wiki-Notation), die Sie benutzen k?nnen, um spezielle Textformatierungen zu erhalten: * HilfeZumFormatieren - allgemeine Textformatierungsregeln * HilfeZuVerweisen - externe Hyperlinks und eingebettete Bilder * HilfeZu?berschriften - Abschnitts?berschriften * HilfeZuTrennlinien - horizontale Trennlinien * HilfeZuListen - Listen und einger?ckte Abschnitte * HilfeZuTabellen - Tabellen * HilfeZuSmileys - wie man einen :) einf?gt * HilfeZuMakros - System-Makros * HilfeZuVerarbeitungsAnweisungen - wie man die Seitenformatierng beeinflusst * HilfeZuXmlSeiten - wie man Seiten mit XML-Inhalt abspeichert und sie mit XSLT verarbeitet * /UnterSeiten - wie man sachverwandte Informationen zusammen gruppiert Um mit der Wiki-Notation zu experimentieren, gehen Sie in die WikiSandBox und klicken Sie dann auf "[[GetText(EditText)]]" im Fu?bereich der Seite. Benutzen Sie die Funktion "?ffne diesen Link in neuem Fenster" Ihres Browsers auf dem Wort "WikiSandBox", dann k?nnen Sie die Hilfeseiten und die WikiSandBox Seite an Seite gleichzeitg ge?ffnet haben. --- NEW FILE: HilfeZumEditieren_2fUnterSeiten --- ##master-page:HelpOnEditing/SubPages ##master-date:2002-01-24 15:59:57 HilfeInhalt > HilfeZumEditieren == Unterseiten anlegen == Unterseiten sind Gruppen von Seiten, die einen gemeinsamen Pr?fix teilen, der selbst eine andere Seite ist. Obwohl dies auch mit dem "klassischen" Wiki m?glich ist - n?mlich durch Verwendung von Wikinamen wie {{{EinThemaUnterThema}}} - erlaubt die Benutzung von {{{EinThema/UnterThema}}} bessere Navigations-Unterst?tzung. Sie k?nnen dann auch den gemeinsamen Pr?fix weglassen, wenn Sie von der Elternseite auf die Kindseite verweisen. Durch die Verwendung von "/", um mehrere WikiName``n zusammenzuf?gen, k?nnen Sie beliebig tiefe Hierarchien aufbauen (innerhalb gewisser Grenzen, insbesondere der maximalen L?nge von Dateinamen des Hostsystems). In Wirklichkeit sind Unterseiten auch normale Seiten, die einen "/" im Namen enthalten und daher neben allen anderen Seiten im Dateisystem gespeichert werden. Unterseiten sind eine konfigurierbare Eigenschaft, sie sind allerdings standardm??ig eingeschaltet und es wird empfohlen, da? Sie das auch so beibehalten, da die Hilfeseiten auch diese Eigenschaft benutzen. === Beispiel === {{{ * HilfeZumEditieren/UnterSeiten * [wiki:HilfeZumEditieren/UnterSeiten genau diese Seite] * [wiki:Self:HilfeZumEditieren/UnterSeiten genau diese Seite] * /DritteEbene * [wiki:/DritteEbene eine Seite unterhalb dieser hier] }}} === Anzeige === * HilfeZumEditieren/UnterSeiten * [wiki:HilfeZumEditieren/UnterSeiten genau diese Seite] * [wiki:Self:HilfeZumEditieren/UnterSeiten genau diese Seite] * /DritteEbene * [wiki:/DritteEbene eine Seite unterhalb dieser hier] /!\ Bitte tun Sie uns allen einen Gefallen und erzeugen Sie NICHT die /DritteEbene Seiten! --- NEW FILE: HilfeZumFormatieren --- ##master-page:HelpOnFormatting ##master-date:2001-11-30 21:30:20 == Text-Formatierungsregeln == Lassen Sie eine Leerzeile zwischen Abs?tzen. Benutzen Sie {{{[[BR]]}}}, um einen harten Zeilenumbruch innerhalb eines Absatzes einzuf?gen. Sie k?nnen Text ''kursiv'' oder '''fett''' schreiben. Um kursiv zu schreiben, umgeben Sie den Text mit zwei einfachen Anf?hrungszeichen. Um fett zu schreiben, umgeben Sie den Text mit drei einfachen Anf?hrungszeichen. Wenn Sie Programm-Quellcode in einer {{{nichtproportionalen Schriftart}}} einf?gen wollen, ohne ihn umzuformatieren, verwenden Sie drei geschweifte Klammern auf verschiedenen Zeilen: {{{ 10 PRINT "Hallo Welt!" 20 GOTO 10 }}} Befinden sich diese Markierungen auf der selben Zeile, wird der eingefasste Text lediglich in der {{{Schreibmaschinenschift}}} dargestellt, au?erdem werden jegliche sonstige Formatierungszeichen ignoriert. Es gibt alternativ f?r diese eingebetteten `Computertexte` die M?glichkeit, inverse Hochkommata links und rechts zu benutzen. Weitere Informationen ?ber m?gliche Formatierungen finden Sie in HilfeZumEditieren. === Beispiel === {{{ Mischen von ''kursiv'' und '''fett''': * '''''Mischen''' am Anfang'' * '''''Mischen'' am Anfang''' * '''Mischen am ''Ende'''' * ''Mischen am '''Ende''''' Eine { { {eingebettete Code-Sequenz} } } hat Anfang- und Ende-Markierung auf der gleichen Zeile. Ein Programmlisting hat sie auf verschiedenen Zeilen: { { { '''Keine''' Formatierungen hier! } } } }}} /!\ Im Beispiel oben haben wir die Auszeichnungen f?r die Programmcodesequenz dadurch ung?ltig gemacht ("escaped"), dass wir Leerzeichen zwischen den geschweiften Klammern eingef?gt haben. === Anzeige === Mischen von ''kursiv'' und '''fett''': * '''''Mischen''' am Anfang'' * '''''Mischen'' am Anfang''' * '''Mischen am ''Ende''''' * ''Mischen am '''Ende''''' Eine {{{eingebettete Code-Sequenz}}} hat Anfang- und Ende-Markierung auf der gleichen Zeile. Ein Programmlisting hat sie auf verschiedenen Zeilen: {{{ '''Keine''' Formatierungen hier! }}} --- NEW FILE: HilfeZumUpdaten --- ##master-page:HelpOnUpdating ##master-date:2002-01-03 12:02:54 HilfeInhalt > HilfeZurAdministration > HilfeZumUpdaten == Allgemeine Verfahrensweise == /!\ '''Bevor Sie ein existierendes Wiki updaten, MACHEN SIE EINE SICHERUNG!''' Sie wurden gewarnt - es ist nicht mein Fehler, wenn Sie so enden: @) == Konfigurations-Update == Nach dem Upgrade sollte Ihr existierendes Wiki weiterhin funktionsf?hig sein (das Ziel ist, vern?nftige Default-Werte f?r neue Konfigurations-Variablen zu haben, aber Fehler kann es immer mal geben). Pr?fen Sie also, ob dem wirklich so ist und dann nehmen Sie sich die Zeit, die Datei CHANGES in der Distribution zu lesen. Oft sind neue Eigenschaften nicht sichtbar, es sei denn Sie erweitern Ihre Konfigurationsdatei "moin.config.py". Insbesondere trifft dies zu auf: * in gewisser Weise gef?hrliche Macros, die nicht standardm??ig aktiviert sind, weil sie f?r ?ffentliche Wikis nicht ratsam sind. Sie m?ssen diese explizit aktivieren, indem Sie eine {{{allowed_actions}}}-Liste zu der Konfiguration hinzuf?gen. Derzeit werden die Aktionen {{{DeletePage}}} und {{{AttachFile}}} als unsicher betrachtet. * email-Funktionen: Sie m?ssen {{{mail_smarthost}}} und {{{mail_from}}} angeben. * Neue Seiten-Icons: um die Icons wie "XML", "Subscribe" etc. zu bekommen, l?schen Sie am besten die {{{page_icons}}}-Einstellung, da es nun einen Default in "config.py" daf?r gibt. Wenn Sie es in der Vergangenheit ge?ndert haben, f?gen Sie neue Icons aus dem "config.py"-Default zu Ihrer "moin_config.py" hinzu. * Wenn Sie auf 0.11 upgraden, ist es ratsam, die {{{sitename}}}-Einstellung hinzuzuf?gen == Updaten der Dateien == Bilder:: Bei jedem Update sollten Sie den Inhalt des Verzeichnisses "wiki-moinmoin/img" in Ihr "data/img" kopieren - normalerweise enthalten neue Releases einige neue GIFs. System-Seiten:: Wenn Sie auf eine neue Version upgraden, kopieren sie wenigstens die Hilfeseiten ("Help*" und "Hilfe*") in Ihr existierendes Verzeichnis. Danach ?berpr?fen Sie bitte, ob irgendwelche neuen System-Seiten fehlen. InterWiki:: ?berpr?fen Sie, ob Sie die neuesten Eintr?ge in der Datei "intermap.txt" haben. Wenn Sie "private" Eintr?ge haben, f?gen Sie diese der neuen Datei aus der Distribution hinzu und kopieren Sie das Resultat dann ?ber ihre seitherige Datei. Beachten Sie, dass seit Version 0.11, Sie auch mit "shared_intermap" auf eine Datei verweisen k?nen, die ''vor'' der Datei aus Ihrem ''data''-Verzeichnis (welche Vorrang hat) geladen wird (das heisst, globale Eintr?ge in der shared_intermap, private Eintr?ge in der Datei im ''data''-Verzeichnis). == Problembehandlung == Um UserPreferences funktionsf?hig zu bekommen, sollten Sie "mkdir -m707 user" in Ihrem "data"-Verzeichnis ausf?hren. Es ist eine gute Idee, das neue "test.cgi"-Script nach Installation einer neuen Release laufen zu lassen, welches einige ?bliche Fehler finden helfen kann. Abh?ngig von Ihrer Installation sind enger definierte Zugriffsrechte eine gute Idee. Idealerweise weisen Sie allen Dateien im ''data''-Verzeichnis den User zu, unter dem der Webserver-Prozess abl?uft und dann benutzen Sie `700` oder `755` als Zugriffsrechte. --- NEW FILE: HilfeZurAdministration --- ##master-page:HelpOnAdministration ##master-date:2002-01-03 12:02:54 HilfeInhalt > HilfeZurAdministration == Wartung eines MoinMoin-Wikis == Die folgenden Seiten enthalten Informationen ?ber verschiedene Unterthemen, die f?r MoinMoin-Administratoren wichtig sind. Regelm??ige Aufgaben: * HilfeZurSeitenL?schung - wie man Seiten l?scht Installieren und Upgraden: * HilfeZurInstallation - wie man die Software und Zusatzdateien installiert * HilfeZurKonfiguration - wie Sie Ihr System konfigurieren * HilfeZumUpdaten - wie Sie eine bestehende MoinMoin-Installation updaten * HilfeZurRechtschreibpr?fung - wie man die Rechtschreibpr?fung konfiguriert und wartet --- NEW FILE: HilfeZurInstallation --- ##master-page:HelpOnInstalling ##master-date: Vorerst siehe die englische Seite: HelpOnInstalling --- NEW FILE: HilfeZurKonfiguration --- ##master-page:HelpOnConfiguration ##master-date: Vorerst siehe die englische Version: HelpOnConfiguration --- NEW FILE: HilfeZurNavigation --- ##master-page:HelpOnNavigation ##master-date:2002-01-03 12:02:54 == Navigation == Der Kopfbereich auf jeder Seite erm?glicht es Ihnen, folgende Seiten aufzurufen: FrontPage (Startseite), RecentChanges (aktuelle ?nderungen), TitleIndex (Index aller Seitentitel), WordIndex (Index aller Worte in den Seitentiteln), SiteNavigation (Liste von Navigationshilfen) und HilfeInhalt (Haupt-Hilfeseite). Oben rechts sieht man einige Icons f?r die am h?ufigsten benutzten Funktionen: * [[Icon(moin-parent.gif)]] springt zu der ?bergeordneten Seite und wird nur dann angezeigt, wenn Sie sich auf einer Unterseite befinden (siehe HilfeZumEditieren/UnterSeiten) * [[Icon(moin-show.gif)]] aktuelle Seite neu laden * [[Icon(moin-print.gif)]] Anzeigen einer Druckversion der Seite ohne Kopf- und Fu?bereich * [[Icon(moin-xml.gif)]] erzeugt eine XML-Version der Seite (momentan noch experimentell, erzeugt MoinMoin:StyleBook, eine MoinMoin:DocBook-Variante) * [[Icon(moin-email.gif)]]/[[Icon(moin-email-x.gif)]] erm?glicht es, Email-Benachrichtigungen f?r die aktuelle Seite anzuschalten, die hellere Version bedeutet, dass man bereits Benachrichtigungen erh?lt * [[Icon(moin-edit.gif)]] erlaubt es, die Seite zu editieren ("etwas zu sagen") * [[Icon(moin-info.gif)]] zeigt Metadaten ?ber die Seite an, insbesondere die gesamte Versions-Historie * [[Icon(moin-diff.gif)]] zeigt ?nderungen zwischen der aktuellen und der vorherigen Version der Seite an * [[Icon(moin-search.gif)]] zeigt die Suchseite an * [[Icon(moin-help.gif)]] zeigt die Hilfeseite Wenn man auf den Seitentitel im Kopfbereich klickt, bekommt man jede Seite angezeigt, die auf die aktuelle Seite verweist. Eine Beispiel-Anwendung dieser r?ckw?rts zeigenden, invertierten Verweise ist die Kategorisierung von Seiten, z.B. CategoryHomepage. Im Fu?bereich jeder Seite finden sich die "traditionellen" Edititieren- und Seite-Finden-Links des originalen Wikis und zus?tzlich Felder f?r die Schnellsuche in Seitentiteln und Seitentexten, sowie Links, um von Ihnen installierte benutzerspezifische Aktionen aufzurufen. --- NEW FILE: HilfeZurRechtschreibpr_fcfung --- ##master-page:HelpOnSpellCheck ##master-date:2002-02-03 10:53:42 HilfeInhalt > HilfeZurAdministration > HilfeZurRechtschreibpr?fung == Die Rechtschreibpr?f-Option == MoinMoin sucht nach g?ltigen Worten an 2 Stellen: * im "dict"-Verzeichnis im MoinMoin-Package-Verzeichnis * auf der Seite LocalSpellingWords Wenn in Ihrer Python-Installation das "dbhash"-Modul verf?gbar ist, werden die Dateien in "dict" nur ''einmalig'' gelesen und dann in einer sog. Hash-Tabelle gespeichert. Dies beschleunigt die Rechtschreibpr?fung, weil dann die daf?r notwendige Zeit nur von der Wortzahl auf der ''zu pr?fenden Seite'' abh?ngt und ''nicht'' von der Anzahl der Worte im W?rterbuch (mit 250000 Worten nur einige hundert Millisekunden statt einiger Sekunden). ?brigens: eine UNIX-Maschine hat normalerweise mindestens eine (englische) Wortdatei im Lieferumfang - um diese zu benutzen, erzeugen Sie einfach einen Symlink im dict-Verzeichnis, wie z.B.: {{{ MoinMoin/dict> ln -s /usr/dict/words . }}} Auf einigen Systemen heisst die Wortdatei stattdessen auch "/usr/share/dict/words". === Beispiel === {{{ MoinMoin> ls -l dict drwxr-xr-x 7 544 everyone 0 Jan 04 08:29 CVS -rw-r--r-- 1 544 everyone 409067 Jan 04 06:38 american-english -rw-r--r-- 1 544 everyone 2913577 Jan 25 2000 german.txt -rw-r--r-- 1 544 everyone 92631 Nov 30 15:24 top10000de.txt }}} === Wort-Dateien === Wenn Sie US-englische oder deutsche Wort-Dateien ben?tigen, finden Sie sie [http://moin.sf.net/files/ hier]. === Wenn es nicht funktioniert === Wenn Sie den Inhalt von "MoinMoin/dict/" ?ndern (weil sie neue Wortdateien hinzuf?gen oder alte l?schen) oder wenn Sie das "MoinMoin/dict/"-Verzeichnis erst neu angelegt haben, dann sollten Sie die Datei "data/dict.cache" l?schen (eine wird dann automatisch eine neue erzeugt). Wenn Sie das nicht machen, werden Ihre neuen Wortlisten nicht erkannt (z.B. wird dann nur LocalSpellingWords benutzt). --- NEW FILE: HilfeZurSeitenErzeugung --- ##master-page:HelpOnPageCreation ##master-date:2002-01-24 17:19:19 == Erzeugen einer neuen Seite == Um eine neue Seite zu erzeugen, f?gen Sie ihren WikiName``n auf eine existierende Seite hinzu und speichern Sie. Danach k?nnen Sie (auf der ge?nderten Seite) auf den WikiName``n klicken, da daraus automatisch ein Verweis (Hyperlink) entstanden ist. Dann wird Ihnen ihre neue Seite pr?sentiert, die Sie dann auf die ?bliche Art editieren k?nnen. Die Seite wird beim ersten Speichern automatisch angelegt. Seiten k?nnen normalerweise[[FootNote(eine Seiten-L?schfunktion kann durch den Wiki-Administrator aktiviert werden (wird normalerweise nur in Intranets verwendet).)]] nicht gel?scht werden, deshalb achten Sie bitte auf korrekte Schreibweise des neuen WikiName``ns. Details ?ber Erzeugen und Verlinken von Unterseiten siehe HilfeZumEditieren/UnterSeiten. [[FootNote]] == Erzeugen einer Vorlagen-Seite == Um eine Vorlage (engl. "Template") zu erzeugen, befolgen Sie die obige Beschreibung und erzeugen Sie eine Seite, deren WikiName in "'''Template'''" endet. Diese Seite wird dann der Liste der Vorlagen-Seiten hinzugef?gt, die angezeigt wird, wenn man versucht, auf eine nicht-existierende Seite zuzugreifen. Zum Beispiel hat NichtExistierendeHilfeSeite einen Link zu HilfeTemplate, der den Inhalt von HilfeTemplate in den Editierbereich l?dt, wenn man auf den Link klickt. == Variablen-Ersetzung beim Speichern einer Seite == Die folgenden Variablen werden ersetzt, wenn man eine Seite speichert. || @''''''DATE@ || Aktuelles Datum im Systemformat || || @''''''TIME@ || Aktuelles Datum und Uhrzeit im Benutzerformat || || @''''''USERNAME@ || Nur der Name des Benutzers (oder seine Domain/IP) || || @''''''USER@ || Unterschrift "-- Login-Name" || || @''''''SIG@ || Unterschrift mit Datum/Uhrzeit "-- Login-Name Datum Uhrzeit" || || @''''''MAILTO@ || {{{mailto:}}}-Link mit den Daten des Benutzers || Beachten Sie, dass beim Abspeichern von Vorlagen (Template) oder Formularen (Form) die Variablen ''nicht'' ersetzt werden. --- NEW FILE: HilfeZurSeitenL_f6schung --- ##master-page:HelpOnPageDeletion ##master-date:2002-01-03 12:02:54 HilfeInhalt > HilfeZurAdministration > HilfeZurSeitenL?schung == Wie man Seiten l?scht == Der normale Weg, eine Seite zu l?schen ist ?ber die Kommandozeile des Hostsystems. Die Seitendateien befinden sich im Verzeichnis "data/text" und man kann sie dort einfach l?schen. Man kann Seiten auch mit der {{{DeletePage}}}-Aktion l?schen, insofern dies aktiviert ist (siehe HilfeZurKonfiguration und HilfeAllgemein/FragenUndAntworten). Beachten Sie, dass das L?schen einer Seite hier bedeutet, dass eine Sicherungskopie der Seite erstellt wird und danach die Seitendatei gel?scht wird. Dies entspricht also fast dem Speichern einer leeren Seite (was aber auf dem System nicht erlaubt ist). Dies bedeutet, dass Sie selbst an gel?schte Seiten ?ber Standard-Mechanismen wieder herankommen k?nnen, siehe auch den Eintrag "Can I restore a page from an older version?" auf der Seite HelpMiscellaneous/FrequentlyAskedQuestions. Insbesondere kann man auch den Seitennamen im `GoTo`-Dialog eingeben, sieht dann den ?blichen Seitenerzeugungs-Dialog, kann dort dann aber auf `PageInfo` klicken und erh?lt dann die alte Versions-Historie, es sei denn "the page was purged out of existence inbetween". ---- J?rgen: Wie ist denn das Ende des letzten Satzes oben gemeint? Sind damit ALLE Backup-Kopien gemeint oder wie? -- ThomasWaldmann [[DateTime(2002-02-12T09:04:07)]] From noreply at sourceforge.net Sun Feb 24 17:17:21 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Feb 24 17:17:21 2002 Subject: [Moin-devel] [ moin-Patches-522246 ] Transparently recode localized messages Message-ID: Patches item #522246, was opened at 2002-02-24 15:57 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=522246&group_id=8482 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Martin v. L?wis (loewis) Assigned to: Nobody/Anonymous (nobody) Summary: Transparently recode localized messages Initial Comment: Currently, the localized messages will show up incorrectly when the config.encoding is not the encoding of the messages. With this patch, the messages are transparently recoded to the target encoding if Python supports the necessary codecs. With that change, e.g. the German translations will display correctly even if config.encoding is UTF-8. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=522246&group_id=8482 From jhermann at users.sourceforge.net Mon Feb 25 13:22:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 25 13:22:02 2002 Subject: [Moin-devel] CVS: MoinMoin/action LikePages.py,1.8,1.9 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv3342/action Modified Files: LikePages.py Log Message: Show subpages as LikePages Index: LikePages.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/LikePages.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** LikePages.py 8 Dec 2001 18:42:02 -0000 1.8 --- LikePages.py 25 Feb 2002 21:21:12 -0000 1.9 *************** *** 36,39 **** --- 36,41 ---- end = e_match.group(1) e_len = len(end) + subpage = pagename + '/' + sp_len = len(subpage) # find any matching pages *************** *** 44,51 **** continue p_len = len(anypage) ! if p_len > s_len and anypage[:s_len] == start: ! matches[anypage] = 1 ! if p_len > e_len and anypage[-e_len:] == end: ! matches[anypage] = matches.get(anypage, 0) + 2 # no matches :( --- 46,56 ---- continue p_len = len(anypage) ! if p_len > sp_len and anypage[:sp_len] == subpage: ! matches[anypage] = 4 ! else: ! if p_len > s_len and anypage[:s_len] == start: ! matches[anypage] = 1 ! if p_len > e_len and anypage[-e_len:] == end: ! matches[anypage] = matches.get(anypage, 0) + 2 # no matches :( *************** *** 66,69 **** --- 71,75 ---- keys = matches.keys() keys.sort() + showMatches(matches, keys, 4, "%s/..." % pagename) showMatches(matches, keys, 3, "%s...%s" % (start, end)) showMatches(matches, keys, 1, "%s..." % (start,)) From jhermann at users.sourceforge.net Mon Feb 25 13:45:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 25 13:45:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnSpellCheck,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv12818 Modified Files: HelpOnSpellCheck Log Message: Some more words on possible problems Index: HelpOnSpellCheck =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnSpellCheck,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnSpellCheck 13 Feb 2002 21:52:28 -0000 1.3 --- HelpOnSpellCheck 25 Feb 2002 21:44:34 -0000 1.4 *************** *** 10,13 **** --- 10,15 ---- If the "dbhash" module is available with your Python installation, the files in "dict" are read only ''once'' and stored in a hash table. This speeds up the spell checking process because then the number of words in the ''checked page'' determines the time needed for the checking, ''not'' the number of words in the dictionary (with 250000 words, some hundred milliseconds instead of several seconds). + Note that it may take a few minutes to build up this database, but only the first time the spellchecker is called. If your browser or the webserver timeouts before the file is completely built, one solution is to telnet into your webserver, and manually request the page[[FootNote(The next version will provide a tool to create the database on the command line.)]]. + BTW, a UNIX machine normally comes with at least one words file; to use those, create a symlink within the dict directory, like so: {{{ *************** *** 32,34 **** If you change the contents of "MoinMoin/dict/" (because of adding new / removing old dictionaries) or if you create a new "MoinMoin/dict/" directory, then you have to delete the file "MoinMoin/wiki-moinmoin/data/dict.cache" (a new one will be created automagically). ! If you don't, your new dictionaries won't be recognized (e.g. it will use only LocalSpellingWords). --- 34,36 ---- If you change the contents of "MoinMoin/dict/" (because of adding new / removing old dictionaries) or if you create a new "MoinMoin/dict/" directory, then you have to delete the file "MoinMoin/wiki-moinmoin/data/dict.cache" (a new one will be created automagically). ! If you don't, your new dictionaries won't be recognized (e.g. it will use only LocalSpellingWords). Another possible cause of problems is that you did not place the dictionaries in the ''active'' "MoinMoin" package directory, i.e. the one that is actually imported by your CGI script. From jhermann at users.sourceforge.net Mon Feb 25 16:26:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 25 16:26:02 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling_2fApacheOnWin32,NONE,1.1 HelpContents,1.9,1.10 HelpOnSkins,1.1,1.2 TitleIndex,1.3,1.4 WordIndex,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv2564 Modified Files: HelpContents HelpOnSkins TitleIndex WordIndex Added Files: HelpOnInstalling_2fApacheOnWin32 Log Message: HelpOnInstalling/ApacheOnWin32; some other minor changes --- NEW FILE: HelpOnInstalling_2fApacheOnWin32 --- '''Index''' [[TableOfContents]] == Requirements == Before you install MoinMoin, make sure you have the necessary infra-structure in place, namely the ''Apache for Microsoft Windows'' webserver, and a ''Python'' installation (version 2.0 or higher is recommended, don't run 1.5.2 without a compelling reason). In the following description, we assume that you have installed or will install things to these locations: * `C:\Apache` - the webserver * `C:\Python` - the Python interpreter * `C:\Moin` - MoinMoin itself Quite often, you might want to install things elsewhere, which is no problem at all; you just have to adapt any paths that appear in a command or config file to the locations you have chosen. This installation procedure was tested with Apache 1.3.23 for Windows running on Windows/NT4SP6a, and using Python 2.0. == Preparation == === Installing Apache === You currently need an external webserver to run MoinMoin, the recommended option is to use Apache if you haven't installed one on your machine already. To install Apache, consult the [http://httpd.apache.org/docs/windows.html Using Apache With Microsoft Windows] document. Make sure that your webserver runs without problems before you start to install MoinMoin; problems with your webserver installation are not in the scope of this document. === Installing Python === Download [http://www.python.org/ftp/python/2.1.2/Python-2.1.2.exe Python 2.1.2] and install it. Python installation is done via a standard Windows installer program, which you should be familiar with. === Installing MoinMoin === Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to the "`C:\TEMP`" directory[[FootNote(If you want to install the current development version from CVS, replace "C:\TEMP" with the directory containing your "moin" working directory.)]]. Open a console window and enter the following commands: {{{ C: cd \temp unzip moin-0.11.zip cd moin-0.11 python setup.py install --prefix C:\Moin --record=install.log }}} This will install all necessary files to the "`C:\Moin`" directory, and create a "`install.log`" file listing all the files that are created there. [[FootNote]] == Creating a Wiki Instance == You could run your wiki directly using the sample wiki created in "`C:\Moin`", but this is not recommended for two reasons: 1. updating your wiki is more complicated and more dangerous. 1. creating a second wiki instance, even if you currently don't plan for one, is much easier. So, enter these commands in a console window: {{{ cd \Moin md mywiki md mywiki\data xcopy share\moin\data mywiki\data /E copy share\moin\cgi-bin mywiki }}} "`mywiki`" is the name of your wiki instance, you might want to chose a different name best fitting the intended use of this instance; just don't name it simply "`wiki`", because that would result in problems later on. Next, start your editor and create the file "`C:\Moin\mywiki\moin.bat`" with the following content (remember to change any paths that are different with your setup): {{{ @echo off set PYTHONPATH=C:\Moin C: cd \Moin\mywiki C:\Python\python.exe moin.cgi }}} Then, append these lines to "`C:\Apache\conf\httpd.conf`": {{{ Alias /wiki/ "C:/Moin/share/moin/htdocs/" ScriptAlias /mywiki "C:/Moin/mywiki/moin.bat" }}} The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). That is all, '''restart your Apache server''' and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page. Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: {{{ sitename = 'My Wiki' logo_url = '/images/mywiki-logo.gif' }}} For a personal or intranet installation, you'll normally also add the line {{{ allowed_actions = ['DeletePage', 'AttachFile'] }}} Index: HelpContents =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpContents,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** HelpContents 20 Feb 2002 21:11:55 -0000 1.9 --- HelpContents 26 Feb 2002 00:25:10 -0000 1.10 *************** *** 19,21 **** --- 19,23 ---- An automatically generated index of all help pages is on HelpIndex. See also HelpMiscellaneous/FrequentlyAskedQuestions for answers to frequently asked questions. + If you find any errors on the help pages, describe them on HelpErrata. + ''[Please do not add redundant information on these pages (which has to be maintained at two places then), and follow the established structure of help pages. Also note that the master set of help pages is not public, that this very page you read and all other help pages may be overwritten when the wiki software is updated. So if you have major contributions that should not get lost, send an extra notification notice to the MoinMoin user mailing list.]'' Index: HelpOnSkins =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnSkins,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnSkins 20 Feb 2002 20:57:58 -0000 1.1 --- HelpOnSkins 26 Feb 2002 00:25:10 -0000 1.2 *************** *** 1,5 **** == Changing the page layout == ! While MoinMoin currently has no full support for HTML templates, and switching between several layouts, you can change the most important parts of the generated HTML code, and add your own HT;L fragments. * configurable footer ("page_footer1" and "page_footer2") --- 1,7 ---- + TODO + == Changing the page layout == ! While MoinMoin currently has no full support for HTML templates, and switching between several layouts, you can change the most important parts of the generated HTML code, and add your own HTML fragments. * configurable footer ("page_footer1" and "page_footer2") Index: TitleIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/TitleIndex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** TitleIndex 13 Feb 2002 21:52:28 -0000 1.3 --- TitleIndex 26 Feb 2002 00:25:10 -0000 1.4 *************** *** 1,9 **** ##cvsid: $Id$ ! This is an index of all pages in the MoinMoin Wiki. See also: ! * WordIndex -- a permuted index of all words occuring in titles ! * RecentChanges ---- --- 1,9 ---- ##cvsid: $Id$ ! This is an index of all pages in the this Wiki. See also: ! * WordIndex -- a permuted index of all words occuring in titles ! * SiteNavigation -- other indexing schemes ---- Index: WordIndex =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/WordIndex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** WordIndex 13 Feb 2002 21:52:28 -0000 1.3 --- WordIndex 26 Feb 2002 00:25:10 -0000 1.4 *************** *** 5,9 **** See also: * TitleIndex -- a shorter index ! * RecentChanges ---- --- 5,9 ---- See also: * TitleIndex -- a shorter index ! * SiteNavigation -- other indexing schemes ---- From jhermann at users.sourceforge.net Mon Feb 25 16:48:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 25 16:48:06 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling,1.6,1.7 HelpOnInstalling_2fApacheOnWin32,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv7916 Modified Files: HelpOnInstalling HelpOnInstalling_2fApacheOnWin32 Log Message: Some minor corrections Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** HelpOnInstalling 20 Feb 2002 20:57:58 -0000 1.6 --- HelpOnInstalling 26 Feb 2002 00:47:41 -0000 1.7 *************** *** 5,9 **** [[TableOfContents]] ! == How to install your own MoinMoin wiki == MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. --- 5,9 ---- [[TableOfContents]] ! == How to install your own MoinMoin Wiki == MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. *************** *** 43,47 **** Python manual. ! NOTE: You will need the Python Development package installed on unix systems for distutils to work right. The first step is to unpack the distribution archive, which you --- 43,47 ---- Python manual. ! NOTE: You will need the Python Development package installed on UNIX systems for distutils to work right. The first step is to unpack the distribution archive, which you Index: HelpOnInstalling_2fApacheOnWin32 =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnWin32,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HelpOnInstalling_2fApacheOnWin32 26 Feb 2002 00:25:10 -0000 1.1 --- HelpOnInstalling_2fApacheOnWin32 26 Feb 2002 00:47:41 -0000 1.2 *************** *** 27,31 **** === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to the "`C:\TEMP`" directory[[FootNote(If you want to install the current development version from CVS, replace "C:\TEMP" with the directory containing your "moin" working directory.)]]. Open a console window and enter the following commands: --- 27,31 ---- === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to the "`C:\TEMP`" directory[[FootNote(If you want to install the current development version from CVS, replace "C:\TEMP" with your "moin" working directory.)]]. Open a console window and enter the following commands: *************** *** 35,39 **** unzip moin-0.11.zip cd moin-0.11 ! python setup.py install --prefix C:\Moin --record=install.log }}} --- 35,39 ---- unzip moin-0.11.zip cd moin-0.11 ! python setup.py install --prefix=C:\Moin --record=install.log }}} From jhermann at users.sourceforge.net Mon Feb 25 17:00:13 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 25 17:00:13 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling,1.7,1.8 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv11352 Modified Files: HelpOnInstalling Log Message: Changed order so that current install is first and thus more prominent Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** HelpOnInstalling 26 Feb 2002 00:47:41 -0000 1.7 --- HelpOnInstalling 26 Feb 2002 00:59:49 -0000 1.8 *************** *** 6,18 **** == How to install your own MoinMoin Wiki == ! MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. ! Also, consult the HelpOnConfiguration and HelpOnUpdating pages for additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. ! ! In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. ! ! Further down the page, [#installbasics Basic Installation] explains the "`setup.py`" step of the installation in more detail. This applies equally too all scenarios, and you should read it before trying a live installation. After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. HelpOnAdministration contains links to pages that cover these topics. --- 6,17 ---- == How to install your own MoinMoin Wiki == ! This page describes the installation procedure applying to MoinMoin version 0.11 and up. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. ! Further down the page, [#installbasics Basic Installation] explains the "`setup.py`" step of the installation in more detail. This applies equally to all scenarios, and you should read it before trying a live installation. After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. HelpOnAdministration contains links to pages that cover these topics. + Especially, the HelpOnConfiguration and HelpOnUpdating pages provide additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. + + MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. *************** *** 43,47 **** Python manual. ! NOTE: You will need the Python Development package installed on UNIX systems for distutils to work right. The first step is to unpack the distribution archive, which you --- 42,46 ---- Python manual. ! /!\ '''NOTE:''' You will need the Python Development package installed on UNIX systems for distutils to work correctly. The first step is to unpack the distribution archive, which you From jh at web.de Mon Feb 25 17:13:18 2002 From: jh at web.de (Juergen Hermann) Date: Mon Feb 25 17:13:18 2002 Subject: [Moin-devel] 0.11 and IIS Message-ID: Hi! If someone does not provide up-to-date install instructions for IIS, 0.11 will be distributed without any. If someone volunteers, announce it (so we avoid duplicate work), and take http://purl.org/wiki/moin/HelpOnInstalling_2fApacheOnWin32 as a template for your own description. Ciao, J?rgen From brian at dorseys.org Mon Feb 25 17:18:05 2002 From: brian at dorseys.org (Brian Dorsey) Date: Mon Feb 25 17:18:05 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS In-Reply-To: ; from jh@web.de on Tue, Feb 26, 2002 at 02:12:14AM +0100 References: Message-ID: <20020225172026.A13107@dorseys.org> On Tue, Feb 26, 2002 at 02:12:14AM +0100, Juergen Hermann wrote: > If someone does not provide up-to-date install instructions for IIS, > 0.11 will be distributed without any. > > If someone volunteers, announce it (so we avoid duplicate work), and > take > > http://purl.org/wiki/moin/HelpOnInstalling_2fApacheOnWin32 > > as a template for your own description. > I'm no expert, but I've gotten MoinMoin running on a couple of win32 boxes. I'll get the basics up and we can fill in (and fix my misconceptions, probably) from there. -Brian From jh at web.de Mon Feb 25 17:54:02 2002 From: jh at web.de (Juergen Hermann) Date: Mon Feb 25 17:54:02 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS In-Reply-To: <20020225172026.A13107@dorseys.org> Message-ID: On Mon, 25 Feb 2002 17:20:26 -0800, Brian Dorsey wrote: >I'm no expert, but I've gotten MoinMoin running on a couple of win32 boxes. I'll get the basics up and we can fill in (and fix my misconceptions, probably) from there. Thanks. Please try to keep the concepts "basic setup.py install", and "instance creation". Also, working with aliases ("virtual directories" in IIS speak, I think), is better than to move/copy things around that don't need to be copied (namely the "htdocs" dir). Ciao, J?rgen From brian at dorseys.org Mon Feb 25 23:11:02 2002 From: brian at dorseys.org (Brian Dorsey) Date: Mon Feb 25 23:11:02 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS In-Reply-To: ; from jh@web.de on Tue, Feb 26, 2002 at 02:52:29AM +0100 References: <20020225172026.A13107@dorseys.org> Message-ID: <20020225231357.A13332@dorseys.org> On Tue, Feb 26, 2002 at 02:52:29AM +0100, Juergen Hermann wrote: > On Mon, 25 Feb 2002 17:20:26 -0800, Brian Dorsey wrote: > > >I'm no expert, but I've gotten MoinMoin running on a couple of win32 > boxes. I'll get the basics up and we can fill in (and fix my > misconceptions, probably) from there. > > > Thanks. Please try to keep the concepts "basic setup.py install", and > "instance creation". Also, working with aliases ("virtual directories" > in IIS speak, I think), is better than to move/copy things around that > don't need to be copied (namely the "htdocs" dir). ehehe, looks like I'm going to have to break down and do a proper install myself. ;) -Brian From jhermann at users.sourceforge.net Tue Feb 26 13:40:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 26 13:40:08 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling_2fApacheOnUnix,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv8548 Modified Files: HelpOnInstalling_2fApacheOnUnix Log Message: "root" installation added Index: HelpOnInstalling_2fApacheOnUnix =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnUnix,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnInstalling_2fApacheOnUnix 22 Feb 2002 20:45:02 -0000 1.3 --- HelpOnInstalling_2fApacheOnUnix 26 Feb 2002 21:39:46 -0000 1.4 *************** *** 12,16 **** When you are root or the webmaster on the host you want to install MoinMoin on, you can place the software in a "standard" location, and also better integrate MoinMoin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all. ! TODO: complete this == Installation into your home directory == --- 12,93 ---- When you are root or the webmaster on the host you want to install MoinMoin on, you can place the software in a "standard" location, and also better integrate MoinMoin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all. ! Most GNU/Linux distributions come with Apache pre-installed. In the following description, we assume the file system layout of a SuSE 7.0 system, that is: ! * `/etc/httpd/httpd.conf` - the main httpd configuration file ! * `/var/log/httpd/error_log` - log containing error messages ! ! === Installing MoinMoin === ! ! Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to "`/tmp`" [[FootNote(If you want to install the current development version from CVS, replace "/tmp" with your "moin" working directory.)]]. ! ! Open a shell and enter the following commands: ! {{{ ! cd /tmp ! tar xfz moin-0.11.tgz ! cd moin-0.11 ! python setup.py install --record=install.log ! }}} ! ! This will install all necessary files into the `sys.prefix` directory of your Python interpreter (usually either "`/usr`" or "`/usr/local`"), and create a "`install.log`" file listing all the files that are created there. The command "`python -c 'import sys; print sys.prefix'`" will tell you where your Python interpreter is installed, we assume "`/usr/local`" here. ! ! [[FootNote]] ! ! === Creating a wiki instance === ! ! You could run your wiki directly using the sample wiki created in "`/usr/local/share/moin`", but this is not recommended for two reasons: ! 1. updating your wiki is more complicated and more dangerous. ! 1. creating a second wiki instance, even if you currently don't plan for one, is much easier. ! ! We need to know what user and group your Apache server runs on, so issue this command: ! `jh at localhost:~ > `'''`egrep "^User|^Group" /etc/httpd/httpd.conf`'''[[BR]] ! `User wwwrun`[[BR]] ! `Group nogroup`[[BR]] ! ! This shows a typical result "`wwwrun.nogroup`", which we will use later on. ! ! To create an instance named "`mywiki`", enter these commands on a ''root'' shell prompt: ! {{{ ! cd /usr/local/share/moin ! mkdir mywiki ! cp -r data mywiki ! cp cgi-bin/* mywiki ! chown -R wwwrun.nogroup mywiki ! chmod a+rx mywiki/*.cgi ! }}} ! ! "`mywiki`" is the name of your wiki instance, you might want to chose a different name best fitting the intended use of this instance; just don't name it simply "`wiki`", because that would result in problems later on. ! ! Then, append these lines to "`/etc/httpd/httpd.conf`": {{{ ! Alias /wiki/ "/usr/local/share/moin/htdocs/" ! ScriptAlias /mywiki "/usr/local/share/moin/mywiki/moin.cgi" ! }}} ! ! The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). ! ! That is all, '''restart your Apache server''' ("`/etc/rc.d/apache restart`" on SuSE) and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page. ! ! Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: ! {{{ ! sitename = 'My Wiki' ! logo_url = '/images/mywiki-logo.gif' ! }}} ! ! For a personal or intranet installation, you'll normally also add the line {{{ ! allowed_actions = ['DeletePage', 'AttachFile'] ! }}} ! ! === Troubleshooting === ! ! The first thing to do when your wiki does not work as expected is to issue the command "`tail /var/log/httpd/error_log`" to display the most recent errors. Usually, you will get a hint on what went wrong, like missing file system permissions. ! ! The most common problem you might encounter is when you have Python 1.5.2 installed into "`/usr`", and a newer Python distribution into "`/usr/local`"; this is typical for GNU/Linux distributions that still come bundled with version 1.5.2 of Python. ! ! In that case, if you enter "`python`" on you prompt, you will usually get the more recent Python interpreter, because "`/usr/local/bin`" is in your `PATH`. The situation is different in your webserver environment, and thus you might have to change the bang path of "`moin.cgi`", like this: {{{ ! #! /usr/local/bin/python ! ! """ ! MoinMoin - CGI Driver Script ! ... ! }}} ! == Installation into your home directory == From brian at dorseys.org Tue Feb 26 17:02:34 2002 From: brian at dorseys.org (Brian Dorsey) Date: Tue Feb 26 17:02:34 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS In-Reply-To: ; from jh@web.de on Tue, Feb 26, 2002 at 02:52:29AM +0100 References: <20020225172026.A13107@dorseys.org> Message-ID: <20020226170447.A13792@dorseys.org> I'm working on the docs for installing under IIS and found something odd. This is my first time trying to actually use distutils to setup MoinMoin and I've noticed an interesting effect when using a specific install directory with Python 2.2. I run: python setup.py install --prefix=C:\Moin --record=install.log But, it installs to: C:\Moin\Lib\site-packages\MoinMoin\cgimain.py This makes some sort of sense, because they moved the default loction for packages when installed under the python dir on windows... but it doesn't make sense when I specify a directory... it doesn't seem like the Lib\site-packages part should be there. Shall I ammend the install docs, or??? From jhermann at users.sourceforge.net Wed Feb 27 13:01:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:01:05 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling_2fBasicInstallation,NONE,1.1 MoinMoin_2fInstallDocs,NONE,1.1 HelpOnConfiguration,1.7,1.8 HelpOnInstalling,1.8,1.9 HelpOnInstalling_2fApacheOnUnix,1.4,1.5 HelpOnInstalling_2fApacheOnWin32,1.3,1.4 MoinMoin,1.4,1.5 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv23951 Modified Files: HelpOnConfiguration HelpOnInstalling HelpOnInstalling_2fApacheOnUnix HelpOnInstalling_2fApacheOnWin32 MoinMoin Added Files: HelpOnInstalling_2fBasicInstallation MoinMoin_2fInstallDocs Log Message: Made /InstallDocs page for creating INSTALL.html; adapted things accordingly --- NEW FILE: HelpOnInstalling_2fBasicInstallation --- == Basic Installation == Before you can integrate Moin``Moin into your web environment, you have to do the basic installation using the standard Python ''distutils'' mechanism. We'll explain the usual steps you need to take to do this. For more details on the distutils installation process, consult the [http://www.python.org/doc/current/inst/inst.html Installing Python Modules] document of your Python manual. /!\ '''NOTE:''' You will need the Python Development package installed on UNIX systems for distutils to work correctly. The first step is to unpack the distribution archive, which you have done already when you loaded this instructions from your disk. If you read this on the web, the distribution comes in a versioned ZIP or TAR archive, which you can unpack in the usual ways, into a temporary directory (`/tmp` on UNIX, `C:\TEMP` on Windows). The distribution archive will always unpack into a directory named `moin-`, for example `moin-0.11`. After unpacking, to install into a specific directory (`C:\moin` in our example), call `setup.py` after changing your current directory to the distribution directory. The following commands can be used to complete theses steps: {{{ unzip moin-0.11.zip cd moin-0.11 python setup.py --quiet install --prefix=C:\moin }}} This creates the following directories in "C:\moin" (note that on a UNIX system, the directory layout will be slightly different): {{{ MoinMoin MoinMoin/action MoinMoin/formatter MoinMoin/i18n MoinMoin/macro MoinMoin/parser MoinMoin/py15 MoinMoin/scripts MoinMoin/support MoinMoin/twisted MoinMoin/webapi Scripts share share/moin share/moin/cgi-bin share/moin/data share/moin/data/backup share/moin/data/cache share/moin/data/pages share/moin/data/plugin share/moin/data/plugin/action share/moin/data/plugin/macro share/moin/data/text share/moin/data/user share/moin/htdocs share/moin/htdocs/css share/moin/htdocs/img }}} You will likely see the following warning: warning: install: modules installed to 'C:\moin\', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself This means exactly what it says, you need to add your install directory to the search path of Python. There are several ways to do this: Environment variable:: Change `PYTHONPATH` in a way that is persistent (`/etc/profile.d` on UNIX, `AUTOEXEC.BAT` on W9x, the `Properties` item in the context menu of `My Computer` on NT4 and W2K) Apache "httpd.conf":: Use the `SetEnv` directive to set `PYTHONPATH` to a suitable value, for example: {{{ SetEnv PYTHONPATH "C:\moin" }}} "moin.cgi":: Directly add your installation directory to the CGI driver script, like this: {{{ import sys sys.path.append('C:/moin') }}} If you use the following default installation command, Moin``Moin will be installed to the Python directory: {{{ python setup.py --quiet install }}} You won't need to change your `PYTHONPATH` then, but depending on your system environment you might not be able to use that command, especially when you are not the root user on a UNIX system. If you don't know where your Python directory is, this command will tell you: {{{ python -c "import sys; print sys.prefix" }}} The directory structure we showed above will then be created in that directory. If you're interested in the exact list of files that are installed, use the `--record` option of distutils. --- NEW FILE: MoinMoin_2fInstallDocs --- #pragma section-numbers off This HTML page contains the basic install docs that can be found on http://purl.net/wiki/moin/MoinMoin/InstallDocs. It contains all necessary information to get your wiki up and running, even without being online. If you have a permanent internet connection, you might want to browse the docs on the Help``On``Installing page, which might contain more up-to-date information. After following the procedures on this page, you should have a working wiki and can browse the rest of the online docs there. == How to install your own MoinMoin Wiki == This page describes the installation procedure applying to MoinMoin:MoinMoin version 0.11 and up. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. [#basic-install Basic Installation] explains the "`setup.py`" step of the installation in more detail. This applies equally to all scenarios, and you should read it before trying a live installation. After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. MoinMoin:HelpOnAdministration contains links to pages that cover these topics. Especially, the MoinMoin:HelpOnConfiguration and MoinMoin:HelpOnUpdating pages provide additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. [[Anchor(installscenarios)]] === Sample Installation Scenarios === The following links lead you to concrete examples of installation sessions, showing the commands used and explaining what they do. It is highly recommended that you ''first'' read the general information on installing (especially the next section of this page) before choosing an installation scenario that best fits your intended use of MoinMoin:MoinMoin. UNIX: * [#unix-install UNIX Installation] Windows: * [#win32apache-install Windows Installation using Apache] * [#win32iis-install Windows Installation using IIS] [[Anchor(basic-install)]] [[Include(HelpOnInstalling/BasicInstallation)]] ------ [[Anchor(unix-install)]] ------ [[Include(HelpOnInstalling/ApacheOnUnix, "UNIX Installation", 1)]] ------ [[Anchor(win32apache-install)]] ------ [[Include(HelpOnInstalling/ApacheOnWin32, "Windows Installation using Apache", 1)]] ------ [[Anchor(win32iis-install)]] ------ [[Include(HelpOnInstalling/InternetInformationServer, "Windows Installation using IIS", 1)]] Index: HelpOnConfiguration =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnConfiguration,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** HelpOnConfiguration 20 Feb 2002 20:57:58 -0000 1.7 --- HelpOnConfiguration 27 Feb 2002 21:00:42 -0000 1.8 *************** *** 7,14 **** --- 7,19 ---- * /EmailSupport + '''Index''' + [[TableOfContents]] + == Configuration of MoinMoin == MoinMoin is configured by changing the `moin_config.py` file, which normally sits besides your `moin.cgi` driver script. `moin_config.py` is imported by the MoinMoin main code early in a request cycle and is found because the current directory (i.e. that of `moin.cgi`) is part of the Python system path. Consequently, `moin_config.py` can sit anywhere in your `PYTHONPATH`. + === Overview of configuration options === + The following table contains default values and a short description for all configuration variables. Most of these can be left at their defaults, those you need to change with every installation are listed in the sample `moin_config.py` that comes with the distribution. *************** *** 73,74 **** --- 78,93 ---- || url_prefix || '/wiki-moinmoin' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || || url_schemas || [] || additional URL schemas you want to have recognized (list of strings) || + + + === Changing character sets === + + If you want to use MoinMoin with a character set other than Latin-1, you + might or even have to change the default character sets for WikiName``s in + "moin_config.py". A safe default is US-ASCII, i.e. {{{ + upperletters = "A-Z" + lowerletters = "0-9a-z" + }}} + + With that setting, you need to set "`allow_extended_names=1`" and use the + special markup for extended WikiName``s `["extended name"]` to get any names + with characters outside the core latin alphabet. Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** HelpOnInstalling 26 Feb 2002 00:59:49 -0000 1.8 --- HelpOnInstalling 27 Feb 2002 21:00:42 -0000 1.9 *************** *** 8,18 **** This page describes the installation procedure applying to MoinMoin version 0.11 and up. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. ! Further down the page, [#installbasics Basic Installation] explains the "`setup.py`" step of the installation in more detail. This applies equally to all scenarios, and you should read it before trying a live installation. After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. HelpOnAdministration contains links to pages that cover these topics. Especially, the HelpOnConfiguration and HelpOnUpdating pages provide additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. - MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. - [[Anchor(installscenarios)]] --- 8,16 ---- This page describes the installation procedure applying to MoinMoin version 0.11 and up. In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. ! /BasicInstallation explains the "`setup.py`" step of the installation in more detail. This applies equally to all scenarios, and you should read it before trying a live installation. After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. HelpOnAdministration contains links to pages that cover these topics. Especially, the HelpOnConfiguration and HelpOnUpdating pages provide additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs and MoinMoin:MoinMoinUnixCvs describe how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. [[Anchor(installscenarios)]] *************** *** 30,140 **** Macintosh: * /ApacheOnMacOsx - - - [[Anchor(installbasics)]] - === Basic Installation === - - Before you can integrate MoinMoin into your web environment, - you have to do the basic installation using the standard Python - ''distutils'' mechanism. We'll explain the usual steps you need to - take to do this. For more details on the distutils installation - process, consult the [http://www.python.org/doc/current/inst/inst.html Installing Python Modules] document of your - Python manual. - - /!\ '''NOTE:''' You will need the Python Development package installed on UNIX systems for distutils to work correctly. - - The first step is to unpack the distribution archive, which you - have done already when you loaded this instructions from your disk. - If you read this on the web, the distribution comes in a versioned - ZIP or TAR archive, which you can unpack in the usual ways, into a - temporary directory (`/tmp` on UNIX, `C:\TEMP` on Windows). The - distribution archive will always unpack into a directory named - `moin-`, for example `moin-0.11`. - - After unpacking, to install into a specific directory (`C:\moin` - in our example), call `setup.py` after changing your current - directory to the distribution directory. The following commands - can be used to complete theses steps: - {{{ - unzip moin-0.11.zip - cd moin-0.11 - python setup.py --quiet install --prefix=C:\moin - }}} - - This creates the following directories in "C:\moin" (note - that on a UNIX system, the directory layout will be slightly - different): - {{{ - MoinMoin - MoinMoin/action - MoinMoin/formatter - MoinMoin/i18n - MoinMoin/macro - MoinMoin/parser - MoinMoin/py15 - MoinMoin/scripts - MoinMoin/support - MoinMoin/twisted - MoinMoin/webapi - Scripts - share - share/moin - share/moin/cgi-bin - share/moin/data - share/moin/data/backup - share/moin/data/cache - share/moin/data/pages - share/moin/data/plugin - share/moin/data/plugin/action - share/moin/data/plugin/macro - share/moin/data/text - share/moin/data/user - share/moin/htdocs - share/moin/htdocs/css - share/moin/htdocs/img - }}} - - You will likely see the following warning: - - warning: install: modules installed to 'C:\moin\', which - is not in Python's module search path (sys.path) -- you'll - have to change the search path yourself - - This means exactly what it says, you need to add your install - directory to the search path of Python. There are several ways - to do this: - - Environment variable:: Change `PYTHONPATH` in a way that is - persistent (`/etc/profile.d` on UNIX, `AUTOEXEC.BAT` on W9x, - the `Properties` item in the context menu of `My Computer` on NT4 and - W2K) - - Apache "httpd.conf":: Use the `SetEnv` directive to set - `PYTHONPATH` to a suitable value, for example: {{{ - SetEnv PYTHONPATH "C:\moin" - }}} - - "moin.cgi":: Directly add your installation directory to - the CGI driver script, like this: {{{ - import sys - sys.path.append('C:/moin') - }}} - - If you use the following default installation command, MoinMoin - will be installed to the Python directory: - {{{ - python setup.py --quiet install - }}} - - You won't need to change your `PYTHONPATH` then, but depending - on your system environment you might not be able to use that - command, especially when you are not the root user on a UNIX - system. If you don't know where your Python directory is, this - command will tell you: - {{{ - python -c "import sys; print sys.prefix" - }}} - - The directory structure we showed above will then be created - in that directory. If you're interested in the exact list of - files that are installed, use the `--record` option of distutils. --- 28,29 ---- Index: HelpOnInstalling_2fApacheOnUnix =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnUnix,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpOnInstalling_2fApacheOnUnix 26 Feb 2002 21:39:46 -0000 1.4 --- HelpOnInstalling_2fApacheOnUnix 27 Feb 2002 21:00:43 -0000 1.5 *************** *** 10,14 **** == Installation when you are root or the webmaster == ! When you are root or the webmaster on the host you want to install MoinMoin on, you can place the software in a "standard" location, and also better integrate MoinMoin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all. Most GNU/Linux distributions come with Apache pre-installed. In the following description, we assume the file system layout of a SuSE 7.0 system, that is: --- 10,14 ---- == Installation when you are root or the webmaster == ! When you are root or the webmaster on the host you want to install Moin``Moin on, you can place the software in a "standard" location, and also better integrate Moin``Moin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all. Most GNU/Linux distributions come with Apache pre-installed. In the following description, we assume the file system layout of a SuSE 7.0 system, that is: *************** *** 18,22 **** === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to "`/tmp`" [[FootNote(If you want to install the current development version from CVS, replace "/tmp" with your "moin" working directory.)]]. Open a shell and enter the following commands: --- 18,22 ---- === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic Moin``Moin software. We assume you already have downloaded the distribution archive to "`/tmp`" [[FootNote(If you want to install the current development version from CVS, replace "/tmp" with your "moin" working directory.)]]. Open a shell and enter the following commands: *************** *** 64,68 **** The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). ! That is all, '''restart your Apache server''' ("`/etc/rc.d/apache restart`" on SuSE) and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page. Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: --- 64,68 ---- The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). ! That is all, '''restart your Apache server''' ("`/etc/rc.d/apache restart`" on SuSE) and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the Front``Page, try to edit and save it, and if that works, see if your edit is reflected on the Recent``Changes page. Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: *************** *** 93,97 **** == Installation into your home directory == ! Installation into your shell account's home directory is typically used on a host shared by many users and where you are ''not'' the root user. This usually implies that you cannot change the `httpd.conf` file, and also you cannot copy files into the machine's `cgi-bin` and `htdocs` directories. For this situation, Apache includes the `UserDir` directive, which maps all URLs that start with "`/~username`" to a directory in your home directory, where you have write permissions and thus can install MoinMoin. --- 93,97 ---- == Installation into your home directory == ! Installation into your shell account's home directory is typically used on a host shared by many users and where you are ''not'' the root user. This usually implies that you cannot change the `httpd.conf` file, and also you cannot copy files into the machine's `cgi-bin` and `htdocs` directories. For this situation, Apache includes the `UserDir` directive, which maps all URLs that start with "`/~username`" to a directory in your home directory, where you have write permissions and thus can install Moin``Moin. *************** *** 147,151 **** }}} ! This will install the MoinMoin software into the directories "`~/lib/python/MoinMoin`", "`~/bin`", --- 147,151 ---- }}} ! This will install the Moin``Moin software into the directories "`~/lib/python/MoinMoin`", "`~/bin`", Index: HelpOnInstalling_2fApacheOnWin32 =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnWin32,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnInstalling_2fApacheOnWin32 27 Feb 2002 19:25:13 -0000 1.3 --- HelpOnInstalling_2fApacheOnWin32 27 Feb 2002 21:00:43 -0000 1.4 *************** *** 4,13 **** == Requirements == ! Before you install MoinMoin, make sure you have the necessary infra-structure in place, namely the ''Apache for Microsoft Windows'' webserver, and a ''Python'' installation (version 2.0 or higher is recommended, don't run 1.5.2 without a compelling reason). In the following description, we assume that you have installed or will install things to these locations: * `C:\Apache` - the webserver * `C:\Python` - the Python interpreter ! * `C:\Moin` - MoinMoin itself Quite often, you might want to install things elsewhere, which is no problem at all; you just have to adapt any paths that appear in a command or config file to the locations you have chosen. --- 4,13 ---- == Requirements == ! Before you install Moin``Moin, make sure you have the necessary infra-structure in place, namely the ''Apache for Microsoft Windows'' webserver, and a ''Python'' installation (version 2.0 or higher is recommended, don't run 1.5.2 without a compelling reason). In the following description, we assume that you have installed or will install things to these locations: * `C:\Apache` - the webserver * `C:\Python` - the Python interpreter ! * `C:\Moin` - Moin``Moin itself Quite often, you might want to install things elsewhere, which is no problem at all; you just have to adapt any paths that appear in a command or config file to the locations you have chosen. *************** *** 19,23 **** === Installing Apache === ! You currently need an external webserver to run MoinMoin, the recommended option is to use Apache if you haven't installed one on your machine already. To install Apache, consult the [http://httpd.apache.org/docs/windows.html Using Apache With Microsoft Windows] document. Make sure that your webserver runs without problems before you start to install MoinMoin; problems with your webserver installation are not in the scope of this document. === Installing Python === --- 19,23 ---- === Installing Apache === ! You currently need an external webserver to run Moin``Moin, the recommended option is to use Apache if you haven't installed one on your machine already. To install Apache, consult the [http://httpd.apache.org/docs/windows.html Using Apache With Microsoft Windows] document. Make sure that your webserver runs without problems before you start to install Moin``Moin; problems with your webserver installation are not in the scope of this document. === Installing Python === *************** *** 27,31 **** === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to the "`C:\TEMP`" directory[[FootNote(If you want to install the current development version from CVS, replace "C:\TEMP" with your "moin" working directory.)]]. Open a console window and enter the following commands: --- 27,31 ---- === Installing MoinMoin === ! Before creating a wiki instance, you have to download and install the basic Moin``Moin software. We assume you already have downloaded the distribution archive to the "`C:\TEMP`" directory[[FootNote(If you want to install the current development version from CVS, replace "C:\TEMP" with your "moin" working directory.)]]. Open a console window and enter the following commands: *************** *** 76,80 **** The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). ! That is all, '''restart your Apache server''' and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page. Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: --- 76,80 ---- The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path). ! That is all, '''restart your Apache server''' and try to access your new-born wiki with the URL "`http://127.0.0.1/mywiki/`". You should see the Front``Page, try to edit and save it, and if that works, see if your edit is reflected on the Recent``Changes page. Finally, edit "`moin_config.py`" and at least change "`sitename`" and "`logo_url`" to some personal values: Index: MoinMoin =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/MoinMoin,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MoinMoin 17 Feb 2002 21:20:18 -0000 1.4 --- MoinMoin 27 Feb 2002 21:00:43 -0000 1.5 *************** *** 12,15 **** --- 12,16 ---- * MoinMoin:MoinMoinMailingLists - discussion about MoinMoin via email * MoinMoin:MoinMoinWikis - list of wiki sites using MoinMoin + * /InstallDocs - all the help pages about installation rolled into one Other pages about MoinMoin: From jhermann at users.sourceforge.net Wed Feb 27 13:03:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:03:03 2002 Subject: [Moin-devel] CVS: MoinMoin wikiutil.py,1.79,1.80 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv24646/MoinMoin Modified Files: wikiutil.py Log Message: "INSTALL.html" contains a static copy of the help pages and replaces "INSTALL" and "INSTALL.IIS" Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -r1.79 -r1.80 *** wikiutil.py 20 Feb 2002 01:20:29 -0000 1.79 --- wikiutil.py 27 Feb 2002 21:02:53 -0000 1.80 *************** *** 600,604 **** # end of footer if config.show_version: ! print '

    MoinMoin %s, Copyright ? 2000-2001 by J?rgen Hermann

    ' % (version.revision,) print """ --- 600,604 ---- # end of footer if config.show_version: ! print '

    MoinMoin %s, Copyright ? 2000, 2001, 2002 by J?rgen Hermann

    ' % (version.revision,) print """ From jhermann at users.sourceforge.net Wed Feb 27 13:03:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:03:03 2002 Subject: [Moin-devel] CVS: dist INSTALL.html,NONE,1.1 Makefile,NONE,1.1 MANIFEST.in,1.10,1.11 README,1.5,1.6 INSTALL,1.4,NONE Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv24646 Modified Files: MANIFEST.in README Added Files: INSTALL.html Makefile Removed Files: INSTALL Log Message: "INSTALL.html" contains a static copy of the help pages and replaces "INSTALL" and "INSTALL.IIS" --- NEW FILE: INSTALL.html --- MoinMoin/InstallDocs - An Unnamed MoinMoin Wiki

    MoinMoin/InstallDocs


    This HTML page contains the basic install docs that can be found on http://purl.net/wiki/moin/MoinMoin/InstallDocs. It contains all necessary information to get your wiki up and running, even without being online. If you have a permanent internet connection, you might want to browse the docs on the HelpOnInstalling page, which might contain more up-to-date information.

    After following the procedures on this page, you should have a working wiki and can browse the rest of the online docs there.

    How to install your own MoinMoin Wiki

    This page describes the installation procedure applying to [MoinMoin]MoinMoin version 0.11 and up. In the next section, there is a list of real-world Installation Scenarios that help you to understand how to apply the instructions in different environments.

    Basic Installation explains the "setup.py" step of the installation in more detail. This applies equally to all scenarios, and you should read it before trying a live installation.

    After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. [MoinMoin]HelpOnAdministration contains links to pages that cover these topics. Especially, the [MoinMoin]HelpOnConfiguration and [MoinMoin]HelpOnUpdating pages provide additional information regarding wiki setup and maintenance. [MoinMoin]MoinMoinWinCvs and [MoinMoin]MoinMoinUnixCvs describe how to run your wiki using the current development version from the [MoinMoin]SourceForge CVS repository.

    Sample Installation Scenarios

    The following links lead you to concrete examples of installation sessions, showing the commands used and explaining what they do. It is highly recommended that you first read the general information on installing (especially the next section of this page) before choosing an installation scenario that best fits your intended use of [MoinMoin]MoinMoin.

    UNIX:

    Windows:

    Basic Installation

    Before you can integrate MoinMoin into your web environment, you have to do the basic installation using the standard Python distutils mechanism. We'll explain the usual steps you need to take to do this. For more details on the distutils installation process, consult the [WWW]Installing Python Modules document of your Python manual.

       /!\ NOTE: You will need the Python Development package installed on UNIX systems for distutils to work correctly.

    The first step is to unpack the distribution archive, which you have done already when you loaded this instructions from your disk. If you read this on the web, the distribution comes in a versioned ZIP or TAR archive, which you can unpack in the usual ways, into a temporary directory (/tmp on UNIX, C:\TEMP on Windows). The distribution archive will always unpack into a directory named moin-<version>, for example moin-0.11.

    After unpacking, to install into a specific directory (C:\moin in our example), call setup.py after changing your current directory to the distribution directory. The following commands can be used to complete theses steps:

          unzip moin-0.11.zip 
          cd moin-0.11 
          python setup.py --quiet install --prefix=C:\moin 
      

    This creates the following directories in "C:\moin" (note that on a UNIX system, the directory layout will be slightly different):

          MoinMoin 
          MoinMoin/action 
          MoinMoin/formatter 
          MoinMoin/i18n 
          MoinMoin/macro 
          MoinMoin/parser 
          MoinMoin/py15 
          MoinMoin/scripts 
          MoinMoin/support 
          MoinMoin/twisted 
          MoinMoin/webapi 
          Scripts 
          share 
          share/moin 
          share/moin/cgi-bin 
          share/moin/data 
          share/moin/data/backup 
          share/moin/data/cache 
          share/moin/data/pages 
          share/moin/data/plugin 
          share/moin/data/plugin/action 
          share/moin/data/plugin/macro 
          share/moin/data/text 
          share/moin/data/user 
          share/moin/htdocs 
          share/moin/htdocs/css 
          share/moin/htdocs/img 
      

    You will likely see the following warning:

      warning: install: modules installed to 'C:\moin\', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself

    This means exactly what it says, you need to add your install directory to the search path of Python. There are several ways to do this:

    Environment variable
    Change PYTHONPATH in a way that is persistent (/etc/profile.d on UNIX, AUTOEXEC.BAT on W9x, the Properties item in the context menu of My Computer on NT4 and W2K)

    Apache "httpd.conf"
    Use the SetEnv directive to set PYTHONPATH to a suitable value, for example:
        SetEnv PYTHONPATH "C:\moin" 
    

    "moin.cgi"
    Directly add your installation directory to the CGI driver script, like this:
        import sys 
        sys.path.append('C:/moin') 
    

    If you use the following default installation command, MoinMoin will be installed to the Python directory:

          python setup.py --quiet install 
      

    You won't need to change your PYTHONPATH then, but depending on your system environment you might not be able to use that command, especially when you are not the root user on a UNIX system. If you don't know where your Python directory is, this command will tell you:

          python -c "import sys; print sys.prefix" 
      

    The directory structure we showed above will then be created in that directory. If you're interested in the exact list of files that are installed, use the --record option of distutils.



    UNIX Installation

    Index

    1. Installation when you are root or the webmaster
      1. Installing MoinMoin
      2. Creating a wiki instance
      3. Troubleshooting
    2. Installation into your home directory
      1. Making sure /~username URLs work
      2. Getting the distribution archive and doing the basic installation
      3. Setting up a wiki instance
      4. Setting up public_html and testing the installation

    Installation when you are root or the webmaster

    When you are root or the webmaster on the host you want to install MoinMoin on, you can place the software in a "standard" location, and also better integrate MoinMoin into your webserver. Especially, you can use a "nice" base URL that does not include "cgi-bin" or "moin.cgi" at all.

    Most GNU/Linux distributions come with Apache pre-installed. In the following description, we assume the file system layout of a SuSE 7.0 system, that is:

    • /etc/httpd/httpd.conf - the main httpd configuration file
    • /var/log/httpd/error_log - log containing error messages

    Installing MoinMoin

    Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to "/tmp" 1.

    Open a shell and enter the following commands:

    cd /tmp 
    tar xfz moin-0.11.tgz 
    cd moin-0.11 
    python setup.py install --record=install.log 
    

    This will install all necessary files into the sys.prefix directory of your Python interpreter (usually either "/usr" or "/usr/local"), and create a "install.log" file listing all the files that are created there. The command "python -c 'import sys; print sys.prefix'" will tell you where your Python interpreter is installed, we assume "/usr/local" here.

    ____
       1 If you want to install the current development version from CVS, replace "/tmp" with your "moin" working directory.

    Creating a wiki instance

    You could run your wiki directly using the sample wiki created in "/usr/local/share/moin", but this is not recommended for two reasons:

    1. updating your wiki is more complicated and more dangerous.
    2. creating a second wiki instance, even if you currently don't plan for one, is much easier.

    We need to know what user and group your Apache server runs on, so issue this command:

      jh at localhost:~ > egrep "^User|^Group" /etc/httpd/httpd.conf
      User wwwrun
      Group nogroup

    This shows a typical result "wwwrun.nogroup", which we will use later on.

    To create an instance named "mywiki", enter these commands on a root shell prompt:

    cd /usr/local/share/moin 
    mkdir mywiki 
    cp -r data mywiki 
    cp cgi-bin/* mywiki 
    chown -R wwwrun.nogroup mywiki 
    chmod a+rx mywiki/*.cgi 
    

    "mywiki" is the name of your wiki instance, you might want to chose a different name best fitting the intended use of this instance; just don't name it simply "wiki", because that would result in problems later on.

    Then, append these lines to "/etc/httpd/httpd.conf":

    Alias /wiki/ "/usr/local/share/moin/htdocs/" 
    ScriptAlias /mywiki "/usr/local/share/moin/mywiki/moin.cgi" 
    

    The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path).

    That is all, restart your Apache server ("/etc/rc.d/apache restart" on SuSE) and try to access your new-born wiki with the URL "http://127.0.0.1/mywiki/". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page.

    Finally, edit "moin_config.py" and at least change "sitename" and "logo_url" to some personal values:

    sitename = 'My Wiki' 
    logo_url = '/images/mywiki-logo.gif' 
    

    For a personal or intranet installation, you'll normally also add the line

    allowed_actions = ['DeletePage', 'AttachFile'] 
    

    Troubleshooting

    The first thing to do when your wiki does not work as expected is to issue the command "tail /var/log/httpd/error_log" to display the most recent errors. Usually, you will get a hint on what went wrong, like missing file system permissions.

    The most common problem you might encounter is when you have Python 1.5.2 installed into "/usr", and a newer Python distribution into "/usr/local"; this is typical for GNU/Linux distributions that still come bundled with version 1.5.2 of Python.

    In that case, if you enter "python" on you prompt, you will usually get the more recent Python interpreter, because "/usr/local/bin" is in your PATH. The situation is different in your webserver environment, and thus you might have to change the bang path of "moin.cgi", like this:

    #! /usr/local/bin/python 
     
    """ 
        MoinMoin - CGI Driver Script 
    ... 
    

    Installation into your home directory

    Installation into your shell account's home directory is typically used on a host shared by many users and where you are not the root user. This usually implies that you cannot change the httpd.conf file, and also you cannot copy files into the machine's cgi-bin and htdocs directories. For this situation, Apache includes the UserDir directive, which maps all URLs that start with "/~username" to a directory in your home directory, where you have write permissions and thus can install MoinMoin.

    Making sure /~username URLs work

    This kind of setup can only work if your webmaster has configured the host's Apache server so that the UserDir mechanism works. Here's how to check for this:

      jh at localhost:~ > ls -ld public_html
      drwxr-xr-x   2 jh       users          35 Jan 31 00:29 public_html

    If this does not show a listing like above, then you might need to create the public_htmldirectory. Note that this directory must be readable (r-x) by the web server.

      jh at localhost:~ > lynx -error_file=/dev/stderr -dump http://localhost/~jh/ >/dev/null
         URL=http://localhost/~jh/ (GET)
      STATUS=HTTP/1.1 200 OK

    You see here that we get a "200 OK" status response, which means that you can access your public_html area. If it does not work, you will probably get a "403 Forbidden" or a "404 Not Found" response. The first one normally indicates that you need to fix the permissions of your home directory (~) or your ~/public_html. But we also need to be able to execute CGI scripts, so we test that, too.

      jh at localhost:~ > cat >~/public_html/test.cgi
      #!/bin/sh
      echo Content-Type: text/plain
      echo
      echo IT WORKS
      <CTRL-D>
      jh at localhost:~ > chmod a+rx ~/public_html/test.cgi
      jh at localhost:~ > lynx -dump http://localhost/~jh/test.cgi
      IT WORKS

    If you see anything else than "IT WORKS", then you are not allowed to execute CGI scripts. How you get that to work is not in the scope of this description, ask your webmaster!

    A working Python installation, and a working diff command is also assumed.

      jh at localhost:~ > python -V
      Python 2.1
      jh at localhost:~ > diff --version
      diff - GNU diffutils version 2.7

    (!) The command line examples show your input in bold typewriter, and the sample output in plain typewriter. The examples use "jh" as the user's name, which means you have to replace your own one whereever "jh" appears. The same is true for version numbers (0.11) and download URLs.

    Getting the distribution archive and doing the basic installation

    The following commands will fetch and install the nightly CVS tarball, i.e. the current development version. To get the official distribution version, use an appropriate URL.

      mkdir ~/tmp 
      cd ~/tmp 
      wget http://moin.sf.net/files/moin-0.11.tar.gz 
      tar xfz moin-0.11.tar.gz 
      cd moin-0.11 
      python setup.py --quiet install --home=$HOME --record=install.log 
      

    This will install the MoinMoin software into the directories "~/lib/python/MoinMoin", "~/bin", and "~/share/moin". You'll find a detailed file list in "install.log".

    Setting up a wiki instance

    The next step is to create a copy of the wiki data and the config file.

      mkdir ~/wiki 
      cd ~/wiki 
      cp ~/share/moin/cgi-bin/moin_config.py . 
      cp -r ~/share/moin/data . 
      chmod -R o+rwX data 
      vi moin_config.py 
      

    The last command starts the editor, you need to at least change the "data_dir" and "url_prefix" config values, as you can see in the following diff:

      @@ -28,4 +28,4 @@ 
       interwikiname = None 
      -data_dir = './data/' 
      -url_prefix = '/wiki' 
      +data_dir = '/home/jh/wiki/data/' 
      +url_prefix = '/~jh/wiki' 
       logo_url = url_prefix + '/img/moinmoin.gif' 
      

    Setting up public_html and testing the installation

    Now we create the public part of the wiki, which is directly accessible by the web browser.

      cd ~/public_html 
      cp -r ~/share/moin/htdocs wiki 
      cp ~/share/moin/cgi-bin/*.cgi . 
      chmod a+rx *.cgi 
      

    To be able to execute the CGI scripts in your home directory, you need to extend Python's path within those scripts, and possibly adapt the bang path (that is the first line of the script). So, change "test.cgi" similarly to this diff:

      @@ -1,2 +1,2 @@ 
      -#! /usr/bin/env python 
      +#! /usr/local/bin/python2.1 
       
      @@ -12,2 +12,3 @@ 
       import sys, cgi 
      +sys.path.extend(['/home/jh/wiki', '/home/jh/lib/python']) 
      

    Finally, you can test your wiki installation by running the MoinMoin CGI Diagnosis:

      lynx -dump http://localhost/~jh/test.cgi 
      

    If that test works, adapt your "moin.cgi" just like you did for " test.cgi":

      @@ -1,2 +1,2 @@ 
      -#! /usr/bin/env python 
      +#! /usr/local/bin/python2.1 
       
      @@ -11,3 +11,4 @@ 
       
      -#import sys 
      +import sys 
      +sys.path.extend(['/home/jh/wiki', '/home/jh/lib/python']) 
       #sys.path.append('/usr/local/home/USERNAME/lib/python') 
      

    And now, your wiki should work and is available at the URL "http://localhost/~jh/moin.cgi". Conclude your tests by editing and saving the FrontPage and checking out RecentChanges, which should reflect that edit.



    Windows Installation using Apache

    Index

    1. Requirements
    2. Preparation
      1. Installing Apache
      2. Installing Python
      3. Installing MoinMoin
    3. Creating a Wiki Instance

    Requirements

    Before you install MoinMoin, make sure you have the necessary infra-structure in place, namely the Apache for Microsoft Windows webserver, and a Python installation (version 2.0 or higher is recommended, don't run 1.5.2 without a compelling reason).

    In the following description, we assume that you have installed or will install things to these locations:

    • C:\Apache - the webserver
    • C:\Python - the Python interpreter
    • C:\Moin - MoinMoin itself

    Quite often, you might want to install things elsewhere, which is no problem at all; you just have to adapt any paths that appear in a command or config file to the locations you have chosen.

    This installation procedure was tested with Apache 1.3.23 for Windows running on Windows/NT4SP6a, and using Python 2.0.

    Preparation

    Installing Apache

    You currently need an external webserver to run MoinMoin, the recommended option is to use Apache if you haven't installed one on your machine already. To install Apache, consult the [WWW]Using Apache With Microsoft Windows document. Make sure that your webserver runs without problems before you start to install MoinMoin; problems with your webserver installation are not in the scope of this document.

    Installing Python

    Download [WWW]Python 2.1.2 and install it. Python installation is done via a standard Windows installer program, which you should be familiar with.

    Installing MoinMoin

    Before creating a wiki instance, you have to download and install the basic MoinMoin software. We assume you already have downloaded the distribution archive to the "C:\TEMP" directory1.

    Open a console window and enter the following commands:

    C: 
    cd \temp 
    unzip moin-0.11.zip 
    cd moin-0.11 
    python setup.py install --prefix=C:\Moin --record=install.log 
    

    This will install all necessary files to the "C:\Moin" directory, and create a "install.log" file listing all the files that are created there.

    ____
       1 If you want to install the current development version from CVS, replace "C:\TEMP" with your "moin" working directory.

    Creating a Wiki Instance

    You could run your wiki directly using the sample wiki created in "C:\Moin", but this is not recommended for two reasons:

    1. updating your wiki is more complicated and more dangerous.
    2. creating a second wiki instance, even if you currently don't plan for one, is much easier.

    So, enter these commands in a console window:

    cd \Moin 
    md mywiki 
    md mywiki\data 
    xcopy share\moin\data mywiki\data /E 
    copy share\moin\cgi-bin mywiki 
    

    "mywiki" is the name of your wiki instance, you might want to chose a different name best fitting the intended use of this instance; just don't name it simply "wiki", because that would result in problems later on.

    Next, start your editor and create the file "C:\Moin\mywiki\moin.bat" with the following content (remember to change any paths that are different with your setup):

    @echo off 
    set PYTHONPATH=C:\Moin 
    C: 
    cd \Moin\mywiki 
    C:\Python\python.exe moin.cgi 
    

       /!\ Python 2.2: Python 2.2 changed the installation layout to better fit the UNIX scheme. Because of this, you have to change the command setting the PYTHONPATH to "set PYTHONPATH=C:\Moin\Lib\site-packages".

    Then, append these lines to "C:\Apache\conf\httpd.conf":

    Alias /wiki/ "C:/Moin/share/moin/htdocs/" 
    ScriptAlias /mywiki "C:/Moin/mywiki/moin.bat" 
    

    The first line you only need once; the second line is needed once for each wiki instance (of course, each one with another wiki name and path).

    That is all, restart your Apache server and try to access your new-born wiki with the URL "http://127.0.0.1/mywiki/". You should see the FrontPage, try to edit and save it, and if that works, see if your edit is reflected on the RecentChanges page.

    Finally, edit "moin_config.py" and at least change "sitename" and "logo_url" to some personal values:

    sitename = 'My Wiki' 
    logo_url = '/images/mywiki-logo.gif' 
    

    For a personal or intranet installation, you'll normally also add the line

    allowed_actions = ['DeletePage', 'AttachFile'] 
    



    Windows Installation using IIS

    ... someone provide current instructions here ...

    Some more info is on [MoinMoin]MoinMoinWinCvs.

    Older information

    This is the INSTALL.IIS file from the 010 distribution:

    ############################# 
    # INSTALLATION ON WIN2K/IIS # 
    ############################# 
     
    Steps to set up MoinMoin on Win2K/IIS (Should also work for NT4/IIS) 
     
    Installation Pre-Requirements: 
      - Win2K Pro or Server (Should also work on NT4) 
      - Internet Information Server or Personal Web Server 
      - ActivePython (found at http://www.activestate.com) 
     
    Unpack the contents of the ZIP into your Python20 directory and rename the 
    MoinMoin-X.X directory to "MoinMoin" so that this file (INSTALL) is located  
    at "\Python20\MoinMoin". 
     
    The next step is to edit the file "C:\MoinMoin\wiki-moinmoin\moin_config.py" 
    and adapt it to your particular setup. The only things we need to change to 
    get things working are the values of the two variables "data_dir" and 
    "url_prefix". For our situation, we need the following values: 
     
        data_dir = './data' 
        url_prefix = '/wiki-moinmoin' 
     
    Incidently, those are the defaults. 
     
    Create a Virtual Dir named "wiki-moinmoin" under the root of your web site  
    and point it to the "C:\Python20\MoinMoin\wiki-moinmoin" directory.  The  
    Virtual Dir needs "Read" and "Run Scripts" permission. 
     
    On the properties page of the Virtual Dir under Application Settings be 
    sure that Execute Permissions is set to either Scripts Only or Scripts 
    and Executables. Click the Configuration button and then Add to create 
    the following new Application Mapping (NOTE: The "%s %s" IS case 
    sensitive):  
     
        Executeable: C:\Python20\python.exe %s %s 
        Extension: .cgi 
        Verbs: All Verbs 
        Script Engine: Checked 
        Check that file exists: UnChecked 
     
    Click OK and close all property pages then restart the web site. Open a 
    browser and go to "http://localhost/wiki-moinmoin/test.cgi" and be sure 
    everything looks OK. 
     
    Then go to "http://localhost/wiki-moinmoin/moin.cgi" and you should get the 
    FrontPage. To further test your new Wiki, "EditText" the "FrontPage", save 
    it and click on "RecentChanges". Congrats! You have a working Wiki! 
     
    "Gregory Petersen" <gt_petersen at hotmail.com>, 2001-04-04 
    
    --- NEW FILE: Makefile --- # # Makefile for MoinMoin # all: python setup.py build install-docs: -rm build/INSTALL.html wget -O build/INSTALL.html "http://127.0.0.1/cgi-bin/moin.bat/MoinMoin_2fInstallDocs?action=print" sed -e "s#/wiki/img/#wiki/htdocs/img/#g" -e "s#/wiki/css/#wiki/htdocs/css/#g" build/INSTALL.html >INSTALL.html #wget -O build\INSTALL.html "http://purl.net/wiki/moin/MoinMoin/InstallDocs?action=print" Index: MANIFEST.in =================================================================== RCS file: /cvsroot/moin/dist/MANIFEST.in,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** MANIFEST.in 19 Feb 2002 22:17:26 -0000 1.10 --- MANIFEST.in 27 Feb 2002 21:02:53 -0000 1.11 *************** *** 6,10 **** # $Id$ ! include CHANGES COPYING ChangeLog INSTALL README TODO include MANIFEST.in moinlogo.bmp setup.cfg --- 6,10 ---- # $Id$ ! include CHANGES COPYING INSTALL.html README TODO include MANIFEST.in moinlogo.bmp setup.cfg Index: README =================================================================== RCS file: /cvsroot/moin/dist/README,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** README 9 Feb 2002 16:36:39 -0000 1.5 --- README 27 Feb 2002 21:02:53 -0000 1.6 *************** *** 2,6 **** =============== ! Copyright (c) 2000-2001 by J?rgen Hermann All rights reserved, see COPYING for details. --- 2,6 ---- =============== ! Copyright (c) 2000, 2001, 2002 by J?rgen Hermann All rights reserved, see COPYING for details. *************** *** 26,30 **** http://moin.sourceforge.net/. ! See INSTALL for installation instructions. See CHANGES for a version history. See contributions/README for user-supplied extensions. --- 26,30 ---- http://moin.sourceforge.net/. ! See INSTALL.html for installation instructions. See CHANGES for a version history. See contributions/README for user-supplied extensions. *************** *** 53,59 **** contributions: ! Ward Cunningham ward at c2.com ! Martin Pool mbp at humbug.org.au ! Marko Schulz Marko.Schulz at gmx.de Tom Holroyd provided the set of emoticons that come --- 53,64 ---- contributions: ! Ward Cunningham for inventing WikiWIki in the first ! place. ! ! Martin Pool for providing the base of what now ! is MoinMoin. ! ! Marko Schulz for providing input on the first ! versions of MoinMoin as it evolved. Tom Holroyd provided the set of emoticons that come *************** *** 74,77 **** --- 79,85 ---- http://twiki.org/cgi-bin/view/TWiki/TWikiDrawPlugin + Thomas Waldmann for the major effort of translating all the help and + system pages to German. + And all the people I forgot or that are mentioned in the code. *************** *** 98,102 **** USA ! The PikiPiki homepage is at http://www.linuxcare.com.au/mbp/piki/. --- 106,110 ---- USA ! The PikiPiki homepage is (was) at http://www.linuxcare.com.au/mbp/piki/. --- INSTALL DELETED --- From jhermann at users.sourceforge.net Wed Feb 27 13:03:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:03:05 2002 Subject: [Moin-devel] CVS: dist/wiki/data intermap.txt,1.8,1.9 Message-ID: Update of /cvsroot/moin/dist/wiki/data In directory usw-pr-cvs1:/tmp/cvs-serv24646/wiki/data Modified Files: intermap.txt Log Message: "INSTALL.html" contains a static copy of the help pages and replaces "INSTALL" and "INSTALL.IIS" Index: intermap.txt =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/intermap.txt,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** intermap.txt 19 Feb 2002 19:51:55 -0000 1.8 --- intermap.txt 27 Feb 2002 21:02:53 -0000 1.9 *************** *** 11,14 **** --- 11,15 ---- PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp TwistedWiki http://purl.net/wiki/twisted/ + LinuxWiki http://linuxwiki.de/ # Added 2002-02-12 to http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt From jhermann at users.sourceforge.net Wed Feb 27 13:10:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:10:01 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpForDevelopers,1.4,1.5 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv27188/wiki/data/text Modified Files: HelpForDevelopers Log Message: Get INSTALL.html from main wiki Index: HelpForDevelopers =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpForDevelopers,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** HelpForDevelopers 22 Feb 2002 19:56:09 -0000 1.4 --- HelpForDevelopers 27 Feb 2002 21:09:02 -0000 1.5 *************** *** 51,55 **** 1. Commit any pending code changes. ! 1. Commit the current status of the MoinMoin wiki. 1. Validate the CHANGES file (insert current date and new version number). 1. Tag the repository: {{{ --- 51,56 ---- 1. Commit any pending code changes. ! 1. Commit the current status of the MoinMoin wiki (especially the help pages). ! 1. `make install-docs` 1. Validate the CHANGES file (insert current date and new version number). 1. Tag the repository: {{{ From jhermann at users.sourceforge.net Wed Feb 27 13:10:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:10:02 2002 Subject: [Moin-devel] CVS: dist Makefile,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv27188 Modified Files: Makefile Log Message: Get INSTALL.html from main wiki Index: Makefile =================================================================== RCS file: /cvsroot/moin/dist/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Makefile 27 Feb 2002 21:02:53 -0000 1.1 --- Makefile 27 Feb 2002 21:09:02 -0000 1.2 *************** *** 8,14 **** install-docs: -rm build/INSTALL.html ! wget -O build/INSTALL.html "http://127.0.0.1/cgi-bin/moin.bat/MoinMoin_2fInstallDocs?action=print" sed -e "s#/wiki/img/#wiki/htdocs/img/#g" -e "s#/wiki/css/#wiki/htdocs/css/#g" build/INSTALL.html >INSTALL.html - - #wget -O build\INSTALL.html "http://purl.net/wiki/moin/MoinMoin/InstallDocs?action=print" --- 8,12 ---- install-docs: -rm build/INSTALL.html ! wget -O build/INSTALL.html "http://purl.net/wiki/moin/MoinMoin/InstallDocs?action=print" sed -e "s#/wiki/img/#wiki/htdocs/img/#g" -e "s#/wiki/css/#wiki/htdocs/css/#g" build/INSTALL.html >INSTALL.html From jhermann at users.sourceforge.net Wed Feb 27 13:28:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:28:08 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.104,1.105 cgimain.py,1.44,1.45 wikiutil.py,1.80,1.81 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv438 Modified Files: Page.py cgimain.py wikiutil.py Log Message: No extra footer stuff in print mode Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -r1.104 -r1.105 *** Page.py 14 Feb 2002 22:17:49 -0000 1.104 --- Page.py 27 Feb 2002 21:27:24 -0000 1.105 *************** *** 393,397 **** # send the page footer if self.default_formatter and not print_mode: ! wikiutil.send_footer(self.page_name, self._last_modified()) sys.stdout.write(doc_trailer) --- 393,398 ---- # send the page footer if self.default_formatter and not print_mode: ! wikiutil.send_footer(self.page_name, self._last_modified(), ! print_mode=print_mode) sys.stdout.write(doc_trailer) Index: cgimain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/cgimain.py,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -r1.44 -r1.45 *** cgimain.py 13 Feb 2002 21:13:52 -0000 1.44 --- cgimain.py 27 Feb 2002 21:27:24 -0000 1.45 *************** *** 190,194 **** request.clock.stop('total') ! if config.show_timings: print '
    ',
                  request.clock.dump(sys.stdout)
    --- 190,194 ----
              request.clock.stop('total')
      
    !         if config.show_timings and request.form.getvalue('action', None) != 'print':
                  print '
    ',
                  request.clock.dump(sys.stdout)
    
    Index: wikiutil.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v
    retrieving revision 1.80
    retrieving revision 1.81
    diff -C2 -r1.80 -r1.81
    *** wikiutil.py	27 Feb 2002 21:02:53 -0000	1.80
    --- wikiutil.py	27 Feb 2002 21:27:24 -0000	1.81
    ***************
    *** 533,536 ****
    --- 533,537 ----
                  **editable** -- true, when page is editable (default: true)
                  **showpage** -- true, when link back to page is wanted (default: false)
    +             **print_mode** -- true, when page is displayed in print mode
          """
          import cgi
    ***************
    *** 599,603 ****
      
          # end of footer
    !     if config.show_version:
              print '

    MoinMoin %s, Copyright ? 2000, 2001, 2002 by J?rgen Hermann

    ' % (version.revision,) --- 600,604 ---- # end of footer ! if config.show_version and not keywords.get('print_mode', 0): print '

    MoinMoin %s, Copyright ? 2000, 2001, 2002 by J?rgen Hermann

    ' % (version.revision,) From jhermann at users.sourceforge.net Wed Feb 27 13:28:12 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:28:12 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling_2fApacheOnWin32,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv11481 Modified Files: HelpOnInstalling_2fApacheOnWin32 Log Message: Python 2.2 distutils layout warning Index: HelpOnInstalling_2fApacheOnWin32 =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling_2fApacheOnWin32,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HelpOnInstalling_2fApacheOnWin32 26 Feb 2002 00:47:41 -0000 1.2 --- HelpOnInstalling_2fApacheOnWin32 27 Feb 2002 19:25:13 -0000 1.3 *************** *** 67,70 **** --- 67,72 ---- }}} + /!\ '''Python 2.2''': Python 2.2 changed the installation layout to better fit the UNIX scheme. Because of this, you have to change the command setting the `PYTHONPATH` to "{{{set PYTHONPATH=C:\Moin\Lib\site-packages}}}". + Then, append these lines to "`C:\Apache\conf\httpd.conf`": {{{ Alias /wiki/ "C:/Moin/share/moin/htdocs/" From jhermann at users.sourceforge.net Wed Feb 27 13:30:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:30:02 2002 Subject: [Moin-devel] CVS: dist INSTALL.html,1.1,1.2 Makefile,1.2,1.3 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv962 Modified Files: INSTALL.html Makefile Log Message: Minor fixes for INSTALL.html creation Index: INSTALL.html =================================================================== RCS file: /cvsroot/moin/dist/INSTALL.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** INSTALL.html 27 Feb 2002 21:02:53 -0000 1.1 --- INSTALL.html 27 Feb 2002 21:29:16 -0000 1.2 *************** *** 1,6 **** ! ! MoinMoin/InstallDocs - An Unnamed MoinMoin Wiki --- 1,6 ---- ! ! MoinMoin/InstallDocs - MoinMoin Wiki *************** *** 11,15 **** !

    MoinMoin/InstallDocs


    --- 11,15 ---- !

    MoinMoin/InstallDocs


    *************** *** 442,445 **** "Gregory Petersen" <gt_petersen at hotmail.com>, 2001-04-04 !
    --- 442,445 ---- "Gregory Petersen" <gt_petersen at hotmail.com>, 2001-04-04 !
    Index: Makefile =================================================================== RCS file: /cvsroot/moin/dist/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** Makefile 27 Feb 2002 21:09:02 -0000 1.2 --- Makefile 27 Feb 2002 21:29:16 -0000 1.3 *************** *** 9,12 **** -rm build/INSTALL.html wget -O build/INSTALL.html "http://purl.net/wiki/moin/MoinMoin/InstallDocs?action=print" ! sed -e "s#/wiki/img/#wiki/htdocs/img/#g" -e "s#/wiki/css/#wiki/htdocs/css/#g" build/INSTALL.html >INSTALL.html --- 9,16 ---- -rm build/INSTALL.html wget -O build/INSTALL.html "http://purl.net/wiki/moin/MoinMoin/InstallDocs?action=print" ! sed -e "s#/users/jh.twistd/moin/moin.cgi/#http://purl.net/wiki/moin/#g" \ ! -e "s#/users/jh/#/#g" \ ! -e "s#/wiki/img/#wiki/htdocs/img/#g" \ ! -e "s#/wiki/css/#wiki/htdocs/css/#g" \ ! build/INSTALL.html >INSTALL.html From jhermann at users.sourceforge.net Wed Feb 27 13:44:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Feb 27 13:44:03 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HilfeZuBenutzerEinstellungen,NONE,1.1 HilfeAllgemein,1.1,1.2 HilfeAllgemein_2fFragenUndAntworten,1.1,1.2 HilfeF_fcrAnf_e4nger,1.1,1.2 HilfeInhalt,1.1,1.2 HilfeZuAktionen,1.1,1.2 HilfeZuAktionen_2fDateiAnh_e4nge,1.2,1.3 HilfeZuMakros,1.1,1.2 HilfeZumUpdaten,1.1,1.2 HilfeZurNavigation,1.1,1.2 HilfeZurSeitenErzeugung,1.1,1.2 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv5892 Modified Files: HilfeAllgemein HilfeAllgemein_2fFragenUndAntworten HilfeF_fcrAnf_e4nger HilfeInhalt HilfeZuAktionen HilfeZuAktionen_2fDateiAnh_e4nge HilfeZuMakros HilfeZumUpdaten HilfeZurNavigation HilfeZurSeitenErzeugung Added Files: HilfeZuBenutzerEinstellungen Log Message: German help pages as of 2002-02-27 --- NEW FILE: HilfeZuBenutzerEinstellungen --- ##master-page:HelpOnUserPreferences ##master-date:2002-02-20 15:09:13 == Einstellen Ihrer BenutzerEinstellungen == * '''[[GetText(Name)]]''': ... * '''[[GetText(Password)]]''': ... * '''[[GetText(Email)]]''': ... * '''[[GetText(CSS URL)]]''': ... * '''[[GetText(Editor size)]]''': ... * '''[[GetText(Time zone)]]''': ... * '''[[GetText(Your time is)]]''': ... * '''[[GetText(Server time is)]]''': ... * '''[[GetText(Date format)]]''': ... * '''[[GetText(General options)]]''': ... * ''[[GetText(Open editor on double click)]]'': ... * ''[[GetText(Remember last page visited)]]'': ... * ''[[GetText(Show emoticons)]]'': ... * ''[[GetText(Show fancy links)]]'': ... * ''[[GetText(Show question mark for non-existing pagelinks)]]'': ... * ''[[GetText(Show page trail)]]'': ... * ''[[GetText(Show icon toolbar)]]'': ... * ''[[GetText(Show top/bottom links in headings)]]'': ... * ''[[GetText(Show fancy diffs)]]'': ... * ''[[GetText(Add "Open in new window" icon to pretty links)]]'': ... * ''[[GetText(Add spaces to displayed wiki names)]]'': ... * ''Subscribed wiki pages'': die ist ein optionale Eigenschaft, die nur funktioniert, wenn die Email-Unterst?tzung f?r Ihr Wiki angeschaltet ist, siehe HilfeZurKonfiguration/EmailUnterst?tzung zu den Details Index: HilfeAllgemein =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeAllgemein,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeAllgemein 20 Feb 2002 00:57:20 -0000 1.1 --- HilfeAllgemein 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1 **** ! Eine FAQ gibt es hier: HilfeAllgemein/FragenUndAntworten --- 1 ---- ! Eine FAQ findet sich auf /FragenUndAntworten. Index: HilfeAllgemein_2fFragenUndAntworten =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeAllgemein_2fFragenUndAntworten,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeAllgemein_2fFragenUndAntworten 20 Feb 2002 00:57:21 -0000 1.1 --- HilfeAllgemein_2fFragenUndAntworten 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1,5 **** ! Oft gestellte Fragen und die Antworten dazu siehe: ! HelpMiscellaneous/FrequentlyAskedQuestions (momentan leider noch auf englisch) --- 1,146 ---- ! ##master-page:HelpMiscellaneous/FrequentlyAskedQuestions ! ##master-date:2002-02-20 15:09:13 ! ##incomplete! ! Diese Seite ist im Entstehen begriffen. Bitte verwenden Sie ["HelpMiscellaneous/FrequentlyAskedQuestions"], wenn Sie eine Frage/Antwort nicht finden. + '''Index''' + [[TableOfContents]] + == "Was ist ein Wiki?"-Fragen == + === Was ist ein ''Wiki''? === + + Die Bezeichnung ''Wiki'' ist eine Abkuerzung vom Ausdruck Wiki''''''Wiki''''''Web. Ein Wiki ist eine Datenbank, in der Seiten gespeichert werden, die kollaborativ mit irgendeinem Web-Browser + editiert werden koennen. + + === Was ist ein ''MoinMoin''? === + + Ein Moin''''''Moin ist ein wiki das vom python-Wiki-Programm "Moin''''''Moin" zur Verfuegung gestellt wird wird. + + === Wozu ist das gut? === + + Um ehrlich zu sein, es ist ueberall gut, wo du vorhast, es einzusetzen. Bei [http://www.lineo.com Lineo] haben wir ein Wiki in unserer internen Web Site eingerichtet. In diesem Wiki gibt es zahlreiche Seiten, die unsere verschiedenen Projekte, Architekturen, Ideen, etc. beschreiben, und es erlauben, dass andere Leute ihre Kommentare dazu abgeben. Manche Seiten stehen herum und geben Informationen her. Andere enthalten eine Einladung zur offenen Diskussion und fordern die Benutzer dazu auf, ihre Meinung zu sagen. Wir haben sogar ein Wiki fuer eine einfache Skills-Datenbank eingerichtet. + + Generell ist ein Wiki ein Freiform-Werkzeug, dessen Wert aus dem Zweck kommt, zu dem es eingesetzt wird. Zum Beispiel kann ein Wiki die selbe Aufgabe erfuellen wie ein Diskussionsfaden. Zu koenntest eine Wiki-Seite benutzen, um kollaborativ an einem Projekt zu arbeiten. + + Wikis werden intern von den Leuten eingesetzt, die [http://www.zope.org/ Zope] machen, um ihre Ideen und Projekte zu koordinieren. + + === Was zeichnet ein Wiki aus? === + + Hier haben wir ein paar wichtige Eigenschaften von Wikis gesammelt: + + * Editierbar durch jeden - Eine Wiki-Seite kann von jedem, der einen Web-Browser bedienen kann, editiert werden. + * Die Moeglichkeit, "Recent Changes" (die letzten Aenderungen) anzusehen + * Die Moeglichkeit, auf verschiedenste Arten nach Seiten zu suchen. + * Die Moeglichkeit, neue Seiten sehr einfach einzufuegen. + * Die Moeglichkeit, die Versionshistorie einer Seite zu betrachten + * Die Moeglichkeit, neue Information hinzuzufuegen oder bestehende Information zu veraendern. + + === Wie verhaelt sich Wiki im Vergleich zu anderen Kollaborations-Werkzeugen, wie z.B. Notes? === + + Mit einem Wiki kann man verschiedene Aufgaben sehr einfach erledigen, wohingegen andere Aufgaben nicht so einfach oder gar nicht realisierbar sind. Das groeszte fehlende Feature ist irgendeine Art der Zugriffskontrolle, um nur bestimmten Gruppen zu erlauben, Information zu betrachten und zu veraendern. + + === Wie steht's mit der Wiki-Security? Werden Wikis nicht von Saboteuren heimgesucht, die Seiten loeschen oder sonstigen Unfug treiben? === + + Dies ist eine wichtige Frage. Generell bieten Wikis '''KEINE''' Sicherheit. (Das ist wahr!) Deswegen besteht die Moeglichkeit, dass zufaellig oder bewusst ein Teil des Wikis korrumpiert oder zerstoert wird. + + Es gibt zwei Wege, die es ermoeglichen, ein Wiki wertlos zu machen. Der eine Weg ist das Loeschen, der andere Weg ist das Stoeren der Daten. Mit geloeschten Seiten wird man einfach fertig, da die vorherigen Revisionen einer Seite an einem Ort aufgehoben werden, der einem Web-Benutzer nicht zugaenglich ist. Sobald jemand eine geloeschte Seite bemerkt (was generell ziemlich schnell passiert), kann die alte, funktionierende Revision wieder eingespielt werden. + + Mit absichtlicher Stoerung der Daten im Wiki ist etwas schwieriger fertig. Es ist moeglich, dass jemand Falschinformation in eine Seite eingibt, oder Seiten derart editiert, dass sie Falschinformation enthalten (zum Beispiel kann man eine Seite editieren, und einen Kommentar so aussehen lassen, als ob jemand anders diesen Kommentar abgegeben haette; oder jemand koennte den Inhalt eines Absatzes so aendern, dass die Aussage eine ganz andere ist als die vom Autor beabsichtigte). So ziemlich jedes kollaborative System hat dieses Problem. In einem Wiki kann es nur einfacher ausgenuetzt werden, weil es in einem Wiki ueberhaupt keine Sicherheit gibt. In der Praxis ist die Zerstoerung eines Wikis ein sehr seltenes Ereignis, und eines, das man sehr schnell und einfach wieder ausbuegeln kann, und zwar mittels der sogenannten "Notification", einem Hinweis, der einem festgelegten Auditor geschickt wird, sobald sich etwas auf einer Seite aendert. + + In anderen Worten, es ist die Philosophie eines Wikis, dass man haendisch mit (selten auftretenden) Problemen fertig wird, anstatt mehr Features und Aufwand (in der Implementierung und der Benutzung gleichermaszen) in das Wiki aufzunehmen, um Schaden durch einen Saboteur zu verhindern. + + == Fragen ?ber die Benutzung von diesem Wiki == + === Finden von und Zugreifen auf Informationen im Wiki === + ==== Wie kann ich das Wiki durchsuchen? ==== + + Es gibt viele Wege, das Wiki zu durchsuchen: + * Auf das Lupen-Icon klicken. Damit kommen Sie auf die SeiteFinden Seite, wo Sie nach Sie nach Stichworten in Titeln, per Volltextsuche, mit normalen Worten oder mit Wildcards (regul?ren Ausdr?cken) suchen k?nnen. + * Klicken Sie auf TitelIndex. Dies zeigt Ihnen eine alphabetische Liste aller Seiten, nach Titel sortiert. + * Klicken Sie auf WortIndex. Dies zeigt Ihnen eine alphabetische Liste von jedem Einzelwort in jedem Seitentitel (d.h. die Bluetooth-Seite ist unter B, Bluetooth). + * Klicken Sie auf {{{LikePages}}} im Fu?bereich der Seite. Dies zeigt Ihnen Seiten, die Worte in Ihren Titeln haben, die ?hnlich zur aktuellen Seite sind. + * Klicken Sie auf den Seitentitel im Kopfbereich der Seite. Dies zeigt Ihnen, welche Seiten auf die aktuelle Seite verweisen (was Ihnen hilft, verwandte Seiten zu finden). + + ==== Wie sehe ich, was sich im Wiki in letzter Zeit getan hat? ==== + + Klicken Sie auf den Aktuelle?nderungen-Link oben auf jeder Seite. + + ==== Was hat es mit diesen KomischenRotenLinks auf sich, die ich ?berall gesehen habe? ==== + + Jedes gemischt gross/klein-geschriebene Wort, zu dem keine Seite existiert, wird als roter Verweis angezeigt. + + === Hinzuf?gen von Informationen in das Wiki === + + ==== Wie f?gt man etwas in's Wiki hinzu oder ?ndert etwas, was falsch ist? ==== + + Wenn Sie etwas sehen, was Sie gerne kommentieren, wo sie etwas hinzuf?gen oder ?ndern w?rden, klicken Sie einfach auf den {{{Editieren}}}-Link unter jeder Seite oder klicken Sie auf das [[Icon(moin-edit.gif)]]-Icon oben auf der Seite. Die Seite wird dann in einem Editierfeld Ihres Browsers angezeigt und Sie k?nnen die ?nderung dann einfach machen. + Der Wiki-Formatierer wird im allgemeinen "das Richtige tun" mit jeglichem Text, den Sie eingeben. Wenn Sie es h?bsch machen wollen, k?nnen Sie ?hnliche Arten von Formatierungen machen, wie es Ihnen auch HTML erlauben w?rde. Siehe die HilfeZurFormatierung-Seite f?r einige Tips und Beispiele. + + ==== Gibt es Konventionen, denen ich folgen sollte, wenn ich Informationen hinzuf?ge? ==== + + Nicht sehr viele. Es hilft, wenn man bestimmte Arten von Informationen auf konsistente Art formatiert. Eine wichtige Konvention ist die Verwendung von Schablonen-Seiten, um die Konsistenz zu wahren. + + Im Wiki gibt es sog. "Schablonen", die angeboten werden, wenn Sie eine neue Seite erzeugen. Wenn Sie auf eine davon klicken, wenn Sie eine neue Seite anlegen, wird diese Seite eine Struktur ?hnlich der anderen Seiten dieses Typs haben. Zum Beispiel k?nnen Sie, wenn Sie Ihre eigene Wiki-Homepage anlegen, die Schablone HomepageTemplate verwenden, die Ihnen beim Erzeugen angeboten wird. + + ==== Wie kann ich nicht-textuelle Informationen zum Wiki hinzuf?gen? ==== + + Wenn es diese Inhalte schon auf einer Webseite gibt, f?gen Sie einfach einen Link hinzu zu der Wiki-Seite. Verfahren sie wie folgt: + * stellen Sie die URL des Dokuments fest, + * editieren Sie die Wiki-Seite (gehen Sie zu der Seite und klicken Sie auf den Editiere''''''Text-Link) + * geben Sie die URL dort ein, wo sie auf der Seite stehen soll + * speichern Sie die ?nderungen. + Das Wiki wird dann automatisch einen Hypertext-Link aus der eingegebenen URL erzeugen. + + Sie k?nnen den Verweis noch etwas h?bscher machen, indem Sie einige beschreibende Wort f?r den Link in Klammern eingeben. Die beschreibenden Worte werden auf der Seite sichtbar sein, aber der Link wird den Benutzer zu der URL verweisen, sobald er darauf klickt. Ein Beispiel: + {{{ + [http://www.ihreseite.de/wasauchimmer.html Dies wird der Link-Text sein] + }}} + ergibt: + + [http://www.ihreseite.de/wasauchimmer.html Dies wird der Link-Text sein] + + ==== Wie f?ge ich ein Bild einer Seite hinzu? ==== + + Sie k?nnen die URL einfach auf die Seite schreiben. Beispiel: + {{{ + http://c2.com/sig/inter/wikibase.gif + }}} + ergibt + + http://c2.com/sig/inter/wikibase.gif + + ==== Hinzuf?gen von Dokumenten im Intranet ==== + Wenn Sie MoinMoin in einem Intranet benutzen, kann es n?tzlich sein, Links zu erstellen auf Dokumente auf Dateifreigaben, die im Netz verf?gbar sind. + Zum Beispiel: + {{{ + [file://servername/voller/pfad/zur/datei.txt Klicken Sie hier um datei.txt zu lesen] + }}} + + Sie k?nnen auch auf Dateien mit Leerzeichen im Dateinamen verweisen, indem Sie manuell die URL-Kodierung f?r Leerzeichen ({{{%20}}}): + {{{ + [file://servername/voller/pfad/zur/datei%20mit%20leerzeichen.txt Klicken Sie hier um datei mit leerzeichen.txt zu lesen ]}}} + + Eine andere naheliegende M?glichkeit ist, die Aktion {{{AttachFile}}} zu verwenden, die in Version 0.11 hinzugekommen ist. + + ==== Soll ich meine ?nderungen ''unterschreiben''? ==== + + Wenn sie signifikant sind oder wenn Sie wollen, dass bekannt wird, dass Sie sie gemacht haben, dann sollten Sie signieren. H?ngen Sie einfach Ihren Namen oder Ihre email-Adresse hinter Ihren Kommentar an. Es ist nicht un?blich, Kommentare unterhalb des originalen Textes, den Sie kommentieren, einzur?cken. Es hilft auch, eigene Kommentare ''kursiv zu schreiben'', um Sie vom Haupt-Text abzuheben, den Sie kommentieren. + + In einigen F?llen ist es aber auch angemessen, einfach anonym ?nderungen zu machen. + Rechtschreibkorrekturen, Formatierung, triviale Wort?nderungen sind einige Beispiele, wo es nicht notwendig ist (und sogar unerw?nscht ist), ?nderungen zu signieren. + + === Andere Dokumentenformate dem Wiki hinzuf?gen === + ==== Kann ich HTML dem Wiki hinzuf?gen? ==== + + Wenn Sie eine einzelne Zeile HTML hinzuf?gen wollen, benutzen Sie das HTML-Makro. + ?bergeben Sie einfach Ihren HTML-Text als Parameter dem HTML-Makro, so wie hier: + + {{{[[HTML(Dies ist ein grosser Font)]]}}} + + Dies sieht dann auf der Seite so aus: + [[HTML(Dies ist ein grosser Font)]] + + Es ist auch m?glich, ein HTML-Dokument auf eine Seite zu platzieren, indem Sie {{{#format html}}} + als erste Zeile auf die Seite schreibe. Wenn diese Zeile vorhanden ist, wird die ganze Seite als HTML interpretiert (und dadurch werden auch Verweise auf andere Seiten etwas schwieriger!). Stellen Sie sicher, dass Sie nur den "body"-Anteil der Seite hinzuf?gen (nicht die HTML-Header oder etwas anderes ausserhalb des body, inklusive dem -Tag selbst). + + /!\ Dies alles funktioniert nur, wenn die HTML-Erweiterungen (HTML-Makro und -Parser) installiert sind. Index: HilfeF_fcrAnf_e4nger =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeF_fcrAnf_e4nger,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeF_fcrAnf_e4nger 20 Feb 2002 00:57:21 -0000 1.1 --- HilfeF_fcrAnf_e4nger 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1,18 **** ##master-page:HelpForBeginners ! ##master-date:2002-01-24 01:49:56 == WikiWikiWeb == ! Ein WikiWikiWeb ist eine Hypertext-Umgebung f?r gemeinschaftliches Zusammenarbeiten, mit Betonung auf einfachen Zugriff auf und einfaches ?ndern von Informationen. Dieses Wiki ist auch ein Teil des InterWiki-Verbunds. ! Sie k?nnen jede Seite ?ndern, durch einen Klick auf den Verweis "[[GetText(EditText)]]" am unteren Ende der Seite. Aneinander gef?gte, vorne gro? geschriebene Worte bilden einen sog. WikiName``n, der automatisch einen Verweis auf eine andere Seite bildet. Ein Klick auf den Seitentitel sucht alle Seiten, die auf die aktuelle Seite verweisen, also deren WikiName``n enthalten. Seiten, die noch nicht existieren, werden mit einem Fragezeichen abgebildet (oder auch in einer anderen Form dargestellt, ?blicherweise fett und rot). Folgen Sie einfach einem solchen Verweis und Sie k?nnen eine Definition hinzuf?gen, also die Seite anlegen. Bitte ?ndern Sie die WikiSandBox so, wie es Ihnen beliebt. Halten Sie sich aber bitte mit ?nderungen anderer Seiten etwas zur?ck, bis Sie sich mit der Funktionsweise eines Wikis vertraut gemacht haben. ! Um mehr dar?ber zu lernen, was ein Wiki:WikiWikiWeb ist, lesen Sie Wiki:WhyWikiWorks und Wiki:WikiNature. Des weiteren lesen Sie bitte auch Wiki:WikiWikiWebFaq und Wiki:OneMinuteWiki. Gute Ausgangspunkte f?r eine Wiki-Erkundung sind: ! * RecentChanges: damit sehen Sie, was in letzter Zeit ge?ndert wurde ! * FindPage: durchsuchen Sie die Datenbank auf verschiedene Weisen ! * TitleIndex: eine Liste aller Seiten im Wiki ! * WordIndex: eine Liste aller Worte, die Teil eines Seitentitels sind (und daher, eine Liste aller Konzepte im Wiki) * WikiSandBox: diese Seite d?rfen Sie nach Herzenslust f?r eigene ?nderungen und Experimente benutzen --- 1,20 ---- ##master-page:HelpForBeginners ! ##master-date:2002-02-20 15:09:13 == WikiWikiWeb == ! Ein WikiWikiWeb ist eine Hypertext-Umgebung f?r gemeinschaftliches Zusammenarbeiten, mit Betonung auf einfachen Zugriff auf und einfaches ?ndern von Informationen. ! Sie k?nnen jede Seite ?ndern, durch einen Klick auf den Verweis "[[GetText(EditText)]]" am unteren Ende der Seite. Aneinander gef?gte, vorne gro? geschriebene Worte bilden einen sog. WikiName``n, der automatisch einen Verweis auf eine andere Seite bildet. Ein Klick auf den Seitentitel sucht alle Seiten, die auf die aktuelle Seite verweisen, also deren WikiName``n enthalten. Seiten, die noch nicht existieren, werden mit einem Fragezeichen abgebildet (oder auch in einer anderen Form dargestellt, ?blicherweise fett und rot). Folgen Sie einfach einem solchen Verweis und Sie k?nnen eine Definition hinzuf?gen, also die Seite anlegen. Das ist auch ein Weg, um neue Seiten anzulegen: f?gen Sie einen neuen WikiName``n auf eine existierende Seite hinzu, speichern Sie Ihre ?nderung, klicken Sie auf Ihren neuen Verweis und erzeugen Sie die Seite (mehr Details siehe HilfeZurSeitenErzeugung). Bitte ?ndern Sie die WikiSandBox so, wie es Ihnen beliebt. Halten Sie sich aber bitte mit ?nderungen anderer Seiten etwas zur?ck, bis Sie sich mit der Funktionsweise eines Wikis vertraut gemacht haben. ! Um mehr dar?ber zu lernen, was ein Wiki:WikiWikiWeb ist, lesen Sie Wiki:WhyWikiWorks und Wiki:WikiNature. Des weiteren lesen Sie bitte auch Wiki:WikiWikiWebFaq und Wiki:OneMinuteWiki. ! Dieses Wiki ist auch ein Teil des InterWiki-Verbunds, was bedeutet, dass Sie leicht auf eine Vielzahl von Informationen verweisen k?nnen, die auf anderen ?ffentlichen Wikis verf?gbar sind. Gute Ausgangspunkte f?r eine Wiki-Erkundung sind: ! * Aktuelle?nderungen: damit sehen Sie, was in letzter Zeit ge?ndert wurde ! * SeiteFinden: durchsuchen Sie die Datenbank auf verschiedene Weisen ! * TitelIndex: eine Liste aller Seiten im Wiki ! * WortIndex: eine Liste aller Worte, die Teil eines Seitentitels sind (und daher, eine Liste aller Konzepte im Wiki) ! * WegWeiser: eine Seite, die zu den unterschiedlichen Indices des Wikis f?hrt * WikiSandBox: diese Seite d?rfen Sie nach Herzenslust f?r eigene ?nderungen und Experimente benutzen *************** *** 25,33 **** WikiName``n werden automatisch zu Verweisen (Hyperlinks) auf die Seite, die so heisst, wie der WikiName. Was genau als Gro?- bzw. Kleinbuchstabe betrachtet wird, wird durch die Konfiguration festgelegt - die Standard-Konfiguration funktioniert f?r Latin-1(ISO-8859-1)-Zeichen. Wie man asiatische, hebr?ische und andere "nicht-westliche" Zeichenkodierungen handhabt, wird weiter unten behandelt. ! Der Seitentitel (z.B. HilfeF?rAnf?nger auf dieser Seite) zeigt eine Liste aller Seiten, die auf die aktuelle Seite verweisen - und das funktioniert sogar auf Seiten, die noch nicht definiert sind. ! Ein Fragezeichen hinter einem Link (oder auch ein Link, der fett und rot abgebildet ist) bedeutet, dass eine Seite noch nicht definiert wurde. Sie k?nnen dann auf das Fragezeichen klicken und die Seite anlegen (z.B.: SoEineSeiteGibtEsNicht). Wenn Sie auf einen solchen Link klicken, bekommen Sie eine Standardseite, die Sie dann editieren k?nnen. Erst beim Speichern dieser Seite wird die Seite dann wirklich angelegt. ! Um einen WikiName``n nicht als solchen gelten zu lassen (ihn zu "escapen"), z.B. wenn man Wiki''''''Name schreiben will, ohne einen Link zu generieren, kann man eine leere Fettschrift-Markierung verwenden (also eine Folge von sechs einzelnen Anf?hrungszeichen) wie hier: {{{Wiki''''''Name}}}. Lesen Sie HilfeZumEditieren, um weiteres ?ber Wiki-Notation zu lernen. --- 27,35 ---- WikiName``n werden automatisch zu Verweisen (Hyperlinks) auf die Seite, die so heisst, wie der WikiName. Was genau als Gro?- bzw. Kleinbuchstabe betrachtet wird, wird durch die Konfiguration festgelegt - die Standard-Konfiguration funktioniert f?r Latin-1(ISO-8859-1)-Zeichen. Wie man asiatische, hebr?ische und andere "nicht-westliche" Zeichenkodierungen handhabt, wird weiter unten behandelt. ! Wenn Sie auf den Seitentitel (z.B. HilfeF?rAnf?nger auf dieser Seite) klicken, wird Ihnen eine Liste aller Seiten angezeigt, die auf die aktuelle Seite verweisen - und das funktioniert sogar auf Seiten, die noch nicht definiert sind. ! Ein Fragezeichen vor einem Link (oder auch ein Link, der fett und rot abgebildet ist) bedeutet, dass eine Seite noch nicht definiert wurde. Sie k?nnen dann auf das Fragezeichen klicken und die Seite anlegen (z.B.: SoEineSeiteGibtEsNicht). Wenn Sie auf einen solchen Link klicken, bekommen Sie eine Standardseite, die Sie dann editieren k?nnen. Erst beim Speichern dieser Seite wird die Seite dann wirklich angelegt. Eine Liste von Seiten, die noch nicht erzeugt wurden, aber auf die von anderen Seiten verwiesen wird, befindet sich auf GesuchteSeiten. ! Um einen WikiName``n nicht als solchen gelten zu lassen (ihn zu "escapen"), z.B. wenn man Wiki''''''Name schreiben will, ohne einen Link zu generieren, kann man eine leere Fettschrift-Markierung verwenden (also eine Folge von sechs einfachen Anf?hrungszeichen) wie hier: {{{Wiki''''''Name}}}. Alternativ k?nnen Sie die k?rzere Sequenz "{{{``}}}" (zwei inverse Hochkommata, engl. ''Backticks'') verwenden, d.h. {{{Wiki``Name}}}. Lesen Sie HilfeZumEditieren, um weiteres ?ber Wiki-Notation zu lernen. *************** *** 36,40 **** Wenn Sie eine Folge von Zeichen in eckigen Klammern und doppelten Anf?hrungszeichen {{{["wie hier"]}}} einschlie?en, dann wird daraus ein Seitenname. Dies kann f?r spezielle Anwendungen benutzt werden (z.B. f?r's Organisieren einer Liste von Dingen, z.B. Ihrer CD-Sammlung ?ber deren "nat?rlichen" Namen) oder auch wenn Sie ein Wiki mit nicht-westlichen Zeichens?tzen erzeugen wollen. ! /!\ '''Dies ist eine konfigurierbare Eigenschaft, dadurch kann es sein, dass dies nicht ohne weiteres funktioniert!''' ! ! --- 38,40 ---- Wenn Sie eine Folge von Zeichen in eckigen Klammern und doppelten Anf?hrungszeichen {{{["wie hier"]}}} einschlie?en, dann wird daraus ein Seitenname. Dies kann f?r spezielle Anwendungen benutzt werden (z.B. f?r's Organisieren einer Liste von Dingen, z.B. Ihrer CD-Sammlung ?ber deren "nat?rlichen" Namen) oder auch wenn Sie ein Wiki mit nicht-westlichen Zeichens?tzen erzeugen wollen. ! /!\ '''Dies ist eine konfigurierbare Eigenschaft, die durch `allow_extended_names` aktiviert wird, dadurch kann es sein, dass dies nicht ohne weiteres funktioniert!''' Index: HilfeInhalt =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeInhalt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeInhalt 20 Feb 2002 00:57:21 -0000 1.1 --- HilfeInhalt 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1,8 **** ##master-page:HelpContents ! ##master-date:2002-02-17 17:34:39 == Anmerkung == ! Dies ist eine gerade entstehende deutsche ?bersetzung der originalen, englischen Hilfeseiten hier: HelpContents ! ! Wer mithelfen will, kann dies gerne tun (umso schneller ist es fertig), vorher aber hier lesen: GermanTranslation. == Inhalt der Hilfe == --- 1,7 ---- ##master-page:HelpContents ! ##master-date:2002-02-24 19:16:47 == Anmerkung == ! Dies ist eine gerade entstehende deutsche ?bersetzung der originalen, englischen Hilfeseiten (HelpContents). ! Wer mithelfen will, kann dies gerne tun (umso schneller ist sie fertig), sollte vorher aber MoinMoin:GermanTranslation lesen. == Inhalt der Hilfe == *************** *** 12,18 **** * HilfeZurNavigation - erkl?rt die Navigations-Elemente auf einer Seite * HilfeZurSeitenErzeugung - wie man eine neue Seite erzeugt und wie man Seitenvorlagen benutzt * HilfeZumEditieren - wie man eine Seite editiert (?ndert) ! * HilfeZuAktionen - Werkzeuge, die auf der Seite oder dem ganzen Wiki arbeiten ! * HilfeAllgemein - sonstige Informationen Diese Seiten enthalten Informationen, die nur f?r Wiki-Administratoren und Entwickler wichtig sind: --- 11,18 ---- * HilfeZurNavigation - erkl?rt die Navigations-Elemente auf einer Seite * HilfeZurSeitenErzeugung - wie man eine neue Seite erzeugt und wie man Seitenvorlagen benutzt + * HilfeZuBenutzerEinstellungen - wie man sich dem Wiki bekannt macht und das Standardverhalten des Wikis nach seinem pers. Geschmack beeinflusst * HilfeZumEditieren - wie man eine Seite editiert (?ndert) ! * HilfeZuAktionen - Werkzeuge, die auf Seiten oder dem ganzen Wiki arbeiten ! * HilfeAllgemein - mehr Details und ein FAQ-Abschnitt Diese Seiten enthalten Informationen, die nur f?r Wiki-Administratoren und Entwickler wichtig sind: *************** *** 24,26 **** Ein automatisch erzeugter Index ?ber alle Hilfeseiten findet sich auf HilfeIndex. Siehe auch HilfeAllgemein/FragenUndAntworten f?r Antworten auf oft gestellte Fragen. ! ''[Bitte diesen Seiten keine redundanten Informationen hinzuf?gen (die dann an zwei Stellen gepflegt werden m?ssen) - und man halte sich auch bitte an die vorhandene Struktur der Hilfeseiten.]'' --- 24,28 ---- Ein automatisch erzeugter Index ?ber alle Hilfeseiten findet sich auf HilfeIndex. Siehe auch HilfeAllgemein/FragenUndAntworten f?r Antworten auf oft gestellte Fragen. ! Falls Sie Fehler auf den Hilfe-Seiten finden, beschreiben Sie sie bitte auf der Seite HilfeErrata. ! ! ''[Bitte diesen Seiten keine redundanten Informationen hinzuf?gen (die dann an zwei Stellen gepflegt werden m?ssen) - und man halte sich auch bitte an die vorhandene Struktur der Hilfeseiten. Bitte beachten Sie ausserdem, dass die Hauptkopie der Hilfe-Seiten nicht ?ffentlich ist, dass also diese Seite, die Sie gerade lesen, und alle anderen Hilfeseiten m?glicherweise bei einem Update der Wiki-Software ?berschrieben werden. Wenn Sie also wesentliche Beitr?ge haben, die nicht verloren gehen sollen, senden Sie eine zus?tzliche Benachrichtigung auf die "MoinMoin user" Mailing-Liste.]'' Index: HilfeZuAktionen =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZuAktionen,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZuAktionen 20 Feb 2002 00:57:22 -0000 1.1 --- HilfeZuAktionen 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 31,39 **** * subscribe: eine Seite abonnieren. * userform: Benutzereinstellungen aufrufen. ! * bookmark: setzt Lesezeichen auf RecentChanges. * formtest: wird f?r die Entwicklung benutzt. * raw: sende die rohen Wiki-Texte als text/plain (z.B. f?r Backup-Zwecke via wget); Self:SystemInfo?action=raw zeigt den Roh-Text von SystemInfo. * format: erzeugt speziell formattierte Anzeigen einer Seite. ! * rss_rc: erzeugt einen RSS-Feed der RecentChanges. * chart: Charts anzeigen. * dumpform: wird f?r die Entwicklung genutzt. --- 31,39 ---- * subscribe: eine Seite abonnieren. * userform: Benutzereinstellungen aufrufen. ! * bookmark: setzt Lesezeichen f?r Aktuelle?nderungen. * formtest: wird f?r die Entwicklung benutzt. * raw: sende die rohen Wiki-Texte als text/plain (z.B. f?r Backup-Zwecke via wget); Self:SystemInfo?action=raw zeigt den Roh-Text von SystemInfo. * format: erzeugt speziell formattierte Anzeigen einer Seite. ! * rss_rc: erzeugt einen RSS-Feed f?r Aktuelle?nderungen. * chart: Charts anzeigen. * dumpform: wird f?r die Entwicklung genutzt. Index: HilfeZuAktionen_2fDateiAnh_e4nge =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZuAktionen_2fDateiAnh_e4nge,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** HilfeZuAktionen_2fDateiAnh_e4nge 22 Feb 2002 20:45:02 -0000 1.2 --- HilfeZuAktionen_2fDateiAnh_e4nge 27 Feb 2002 21:43:27 -0000 1.3 *************** *** 1,2 **** ##master-page:HelpOnActions/AttachFile ! ##master-date:--not-yet-available-- --- 1,7 ---- ##master-page:HelpOnActions/AttachFile ! ##master-date:2002-02-20 15:09:13 ! /!\ TODO ! ! * AttachFile-Aktion, beigesteuert durch Ken Sugino; bitte nehmen Sie zur Kenntnis, dass Sie diese Aktion anschalten m?ssen, weil die M?glichkeit von sog. DoS-Attacken besteht (b?swillige Uploads), indem Sie dies zu Ihrer moin_config hinzuf?gen: allowed_actions = ['AttachFile'] ! * "attachment:" URL-Schema, das Zugriff auf Anh?nge erlaubt. Um auf Anh?nge anderer Seiten zuzugreifen, verwenden Sie "attachment:WikiName/filename.ext". ! * 'inline:' diese Schema funktioniert wie 'attachment:', aber versucht die Inhalte in die Seite einzubetten; momentan werden "*.py"-Quellcodes erkannt und eingef?rbt. Index: HilfeZuMakros =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZuMakros,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZuMakros 20 Feb 2002 00:57:22 -0000 1.1 --- HilfeZuMakros 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 4,8 **** == Makros == ! Makros erlauben das Einf?gen von System-Eigenschaften in normale Wiki-Seiten; das Einzige, was solche Seiten auszeichnet, ist, dass sie Makros enthalten. Wenn Sie Seiten wie RecentChanges oder SystemInfo editieren, sehen Sie, was das bedeutet. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. --- 4,8 ---- == Makros == ! Makros erlauben das Einf?gen von System-Eigenschaften in normale Wiki-Seiten; das Einzige, was solche Seiten auszeichnet, ist, dass sie Makros enthalten. Wenn Sie Seiten wie Aktuelle?nderungen oder SystemInfo editieren, sehen Sie, was das bedeutet. Weitere Informationen ?ber m?gliche Formatierungen finden Sie unter HilfeZumEditieren. *************** *** 10,25 **** === Such-Makros === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[TitleSearch]]}}} || durchsucht die Seitentitel || siehe die FindPage-Seite || ! ||{{{[[FullSearch]]}}} || durchsucht den Seiteninhalt || siehe die FindPage-Seite || ||{{{[[FullSearch()]]}}} || sucht den aktuellen Titel in allen Seiten (wie wenn Sie auf den Seitentitel klicken) || siehe die CategoryCategory-Seite || ||{{{[[FullSearch('text')]]}}} || sucht nach "text" auf allen Seiten || suche nach {{{FullSearch}}}:[[FullSearch('FullSearch')]] || ! ||{{{[[GoTo]]}}} || springe direkt zur eingegebenen Seite || siehe die FindPage-Seite || ||{{{[[PageList(regex)]]}}} || auflisten von Seiten, deren Titel auf regex passen || siehe den HilfeIndex || === Navigation === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[RecentChanges]]}}} || Liste der vor kurzem editierten Seiten || siehe RecentChanges || ! ||{{{[[TitleIndex]]}}} || Index aller Seitentitel || siehe TitleIndex || ! ||{{{[[WordIndex]]}}} || Index aller Worte in Seitentiteln || siehe WordIndex || ||{{{[[RandomPage]]}}} || ein Link zu einer zuf?lligen Seite || [[RandomPage]] || ||{{{[[RandomPage(#)]]}}} || Links zu einer Anzahl von zuf?lligen Seiten || Zwei zuf?llige Seiten: [[RandomPage(2)]] || --- 10,25 ---- === Such-Makros === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[TitleSearch]]}}} || durchsucht die Seitentitel || siehe die SeiteFinden-Seite || ! ||{{{[[FullSearch]]}}} || durchsucht den Seiteninhalt || siehe die SeiteFinden-Seite || ||{{{[[FullSearch()]]}}} || sucht den aktuellen Titel in allen Seiten (wie wenn Sie auf den Seitentitel klicken) || siehe die CategoryCategory-Seite || ||{{{[[FullSearch('text')]]}}} || sucht nach "text" auf allen Seiten || suche nach {{{FullSearch}}}:[[FullSearch('FullSearch')]] || ! ||{{{[[GoTo]]}}} || springe direkt zur eingegebenen Seite || siehe die SeiteFinden-Seite || ||{{{[[PageList(regex)]]}}} || auflisten von Seiten, deren Titel auf regex passen || siehe den HilfeIndex || === Navigation === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[RecentChanges]]}}} || Liste der vor kurzem editierten Seiten || siehe Aktuelle?nderungen || ! ||{{{[[TitleIndex]]}}} || Index aller Seitentitel || siehe TitelIndex || ! ||{{{[[WordIndex]]}}} || Index aller Worte in Seitentiteln || siehe WortIndex || ||{{{[[RandomPage]]}}} || ein Link zu einer zuf?lligen Seite || [[RandomPage]] || ||{{{[[RandomPage(#)]]}}} || Links zu einer Anzahl von zuf?lligen Seiten || Zwei zuf?llige Seiten: [[RandomPage(2)]] || *************** *** 34,39 **** === Andere === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[Icon(image)]]}}} || Anzeigen der System-Icons || HelpOnNavigation || ! ||{{{[[UserPreferences]]}}} || Anzeigen der Benutzereinstellungen || UserPreferences || ||{{{[[BR]]}}} || einen harten Zeilenumbruch einf?gen|| erste Zeile[[BR]]zweite Zeile || ||{{{[[Include(HalloWelt[,heading[,level]])]]}}} || Einf?gen des Inhalts einer anderen Seite || [[Include(HalloWelt)]] || --- 34,39 ---- === Andere === ||'''Makro'''||'''Beschreibung'''||'''Beispiel'''|| ! ||{{{[[Icon(image)]]}}} || Anzeigen der System-Icons || HilfeZurNavigation || ! ||{{{[[UserPreferences]]}}} || Anzeigen der Benutzereinstellungen || BenutzerEinstellungen || ||{{{[[BR]]}}} || einen harten Zeilenumbruch einf?gen|| erste Zeile[[BR]]zweite Zeile || ||{{{[[Include(HalloWelt[,heading[,level]])]]}}} || Einf?gen des Inhalts einer anderen Seite || [[Include(HalloWelt)]] || Index: HilfeZumUpdaten =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZumUpdaten,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZumUpdaten 20 Feb 2002 00:57:23 -0000 1.1 --- HilfeZumUpdaten 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 30,34 **** == Problembehandlung == ! Um UserPreferences funktionsf?hig zu bekommen, sollten Sie "mkdir -m707 user" in Ihrem "data"-Verzeichnis ausf?hren. Es ist eine gute Idee, das neue "test.cgi"-Script nach Installation einer neuen Release laufen zu lassen, welches einige ?bliche Fehler finden helfen kann. Abh?ngig von Ihrer Installation sind enger definierte Zugriffsrechte eine gute Idee. --- 30,34 ---- == Problembehandlung == ! Um BenutzerEinstellungen funktionsf?hig zu bekommen, sollten Sie "mkdir -m707 user" in Ihrem "data"-Verzeichnis ausf?hren. Es ist eine gute Idee, das neue "test.cgi"-Script nach Installation einer neuen Release laufen zu lassen, welches einige ?bliche Fehler finden helfen kann. Abh?ngig von Ihrer Installation sind enger definierte Zugriffsrechte eine gute Idee. Index: HilfeZurNavigation =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZurNavigation,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZurNavigation 20 Feb 2002 00:57:23 -0000 1.1 --- HilfeZurNavigation 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1,7 **** ##master-page:HelpOnNavigation ! ##master-date:2002-01-03 12:02:54 == Navigation == ! Der Kopfbereich auf jeder Seite erm?glicht es Ihnen, folgende Seiten aufzurufen: FrontPage (Startseite), RecentChanges (aktuelle ?nderungen), TitleIndex (Index aller Seitentitel), WordIndex (Index aller Worte in den Seitentiteln), SiteNavigation (Liste von Navigationshilfen) und HilfeInhalt (Haupt-Hilfeseite). Oben rechts sieht man einige Icons f?r die am h?ufigsten benutzten Funktionen: --- 1,7 ---- ##master-page:HelpOnNavigation ! ##master-date:2002-02-20 15:09:13 == Navigation == ! Der Kopfbereich auf jeder Seite erm?glicht es Ihnen, folgende Seiten aufzurufen: StartSeite, Aktuelle?nderungen, TitelIndex (Index aller Seitentitel), WortIndex (Index aller Teilworte in den Seitentiteln), WegWeiser (Liste von Navigationshilfen) und HilfeInhalt (Haupt-Hilfeseite). Oben rechts sieht man einige Icons f?r die am h?ufigsten benutzten Funktionen: *************** *** 19,21 **** Wenn man auf den Seitentitel im Kopfbereich klickt, bekommt man jede Seite angezeigt, die auf die aktuelle Seite verweist. Eine Beispiel-Anwendung dieser r?ckw?rts zeigenden, invertierten Verweise ist die Kategorisierung von Seiten, z.B. CategoryHomepage. ! Im Fu?bereich jeder Seite finden sich die "traditionellen" Edititieren- und Seite-Finden-Links des originalen Wikis und zus?tzlich Felder f?r die Schnellsuche in Seitentiteln und Seitentexten, sowie Links, um von Ihnen installierte benutzerspezifische Aktionen aufzurufen. --- 19,21 ---- Wenn man auf den Seitentitel im Kopfbereich klickt, bekommt man jede Seite angezeigt, die auf die aktuelle Seite verweist. Eine Beispiel-Anwendung dieser r?ckw?rts zeigenden, invertierten Verweise ist die Kategorisierung von Seiten, z.B. CategoryHomepage. ! Im Fu?bereich jeder Seite finden sich die "traditionellen" Edititieren- und SeiteFinden-Links des originalen Wikis und zus?tzlich Felder f?r die Schnellsuche in Seitentiteln und Seitentexten, sowie Links, um von Ihnen installierte benutzerspezifische Aktionen aufzurufen. Index: HilfeZurSeitenErzeugung =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HilfeZurSeitenErzeugung,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HilfeZurSeitenErzeugung 20 Feb 2002 00:57:23 -0000 1.1 --- HilfeZurSeitenErzeugung 27 Feb 2002 21:43:27 -0000 1.2 *************** *** 1,4 **** ##master-page:HelpOnPageCreation ! ##master-date:2002-01-24 17:19:19 == Erzeugen einer neuen Seite == --- 1,4 ---- ##master-page:HelpOnPageCreation ! ##master-date:2002-02-20 15:09:13 == Erzeugen einer neuen Seite == *************** *** 27,29 **** || @''''''MAILTO@ || {{{mailto:}}}-Link mit den Daten des Benutzers || ! Beachten Sie, dass beim Abspeichern von Vorlagen (Template) oder Formularen (Form) die Variablen ''nicht'' ersetzt werden. --- 27,29 ---- || @''''''MAILTO@ || {{{mailto:}}}-Link mit den Daten des Benutzers || ! Beachten Sie, dass beim Abspeichern von Vorlagen (Template) oder Formularen (Form) die Variablen ''nicht'' ersetzt werden. Abgesehen davon ist die Variablenersetzung sehr global und und geschieht ?berall auf der Seite, inklusive Code-Anzeigen, Kommentare, Verarbeitungsanweisungen und anderen "speziellen" Seitenbereichen, von denen man annehmen k?nnte, dass sie ausgeschlossen sind. From cmedcoff at hotmail.com Wed Feb 27 14:51:03 2002 From: cmedcoff at hotmail.com (Charles Medcoff) Date: Wed Feb 27 14:51:03 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS References: <20020225172026.A13107@dorseys.org> <20020226170447.A13792@dorseys.org> Message-ID: I'd be happy to review/edit Brians efforts and test out the instructions. ----- Original Message ----- From: "Brian Dorsey" To: "MoinMoin Development" Sent: Tuesday, February 26, 2002 8:04 PM Subject: Re: [Moin-devel] Re: [Moin-user] 0.11 and IIS > I'm working on the docs for installing under IIS and found something odd. > > This is my first time trying to actually use distutils to setup MoinMoin and I've noticed an interesting effect when using a specific install directory with Python 2.2. > > I run: > python setup.py install --prefix=C:\Moin --record=install.log > > But, it installs to: C:\Moin\Lib\site-packages\MoinMoin\cgimain.py > > This makes some sort of sense, because they moved the default loction for packages when installed under the python dir on windows... but it doesn't make sense when I specify a directory... it doesn't seem like the Lib\site-packages part should be there. > > Shall I ammend the install docs, or??? > > _______________________________________________ > Moin-devel mailing list > Moin-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/moin-devel > From jh at web.de Wed Feb 27 15:07:06 2002 From: jh at web.de (Juergen Hermann) Date: Wed Feb 27 15:07:06 2002 Subject: [Moin-devel] Re: [Moin-user] 0.11 and IIS In-Reply-To: <20020226170447.A13792@dorseys.org> Message-ID: On Tue, 26 Feb 2002 17:04:47 -0800, Brian Dorsey wrote: >Shall I ammend the install docs, or??? Yes, I already did for the Apache page /!\ '''Python 2.2''': Python 2.2 changed the installation layout to better fit the UNIX scheme. Because of this, you have to change the command setting the `PYTHONPATH` to "{{{set PYTHONPATH=C:\Moin\Lib\site-packages}}}". See http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/HelpOnInstalling_ 2fApacheOnWin32 BTW, your docs should eventually end up on http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/HelpOnInstalling_ 2fInternetInformationServer and resemble the above Apache page as much as possible. You can kill or include pieces of the "Older information" part as you see fit. Ciao, J?rgen
    """ % cgi.escape(pagename, 1) From jhermann at users.sourceforge.net Mon Feb 4 04:25:12 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 4 04:25:12 2002 Subject: [Moin-devel] CVS: MoinMoin version.py,1.149,1.150 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv28295 Modified Files: version.py Log Message: Bumped revision Index: version.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/version.py,v retrieving revision 1.149 retrieving revision 1.150 diff -C2 -r1.149 -r1.150 From knaas at netjets.com Mon Feb 4 14:25:06 2002 From: knaas at netjets.com (Keith Naas) Date: Mon Feb 4 14:25:06 2002 Subject: [Moin-devel] Page Subscription & comments Message-ID: Since we now have page subscription on MoinMoin, along with comments about the changes, it would be nice if the comment was included in the email. I'm sure the code is pretty easy to do, 3 or 4 lines changed at a maximum. Keith Naas From jhermann at users.sourceforge.net Mon Feb 4 16:30:18 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Feb 4 16:30:18 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.100,1.101 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv3310 Modified Files: Page.py Log Message: Add comment to notification email as proposed by Keith Naas Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.100 retrieving revision 1.101 diff -C2 -r1.100 -r1.101 *** Page.py 2002/02/01 21:22:24 1.100 --- Page.py 2002/02/05 00:29:52 1.101 *************** *** 627,631 **** ! def notifySubscribers(self): """ Send email to all subscribers of this page. Return message, indicating success or errors. --- 627,631 ---- ! def notifySubscribers(self, comment): """ Send email to all subscribers of this page. Return message, indicating success or errors. *************** *** 666,669 **** --- 666,673 ---- } + if comment: + mailBody = mailBody + \ + "The comment on the change is:\n%s\n\n" % comment + # get a list of old revisions, and append a diff oldversions = wikiutil.getBackupList(config.backup_dir, self.page_name) *************** *** 824,828 **** # send notification mails if config.mail_smarthost and kw.get('notify', 0): ! msg = msg + "

    " + self.notifySubscribers() return msg --- 828,832 ---- # send notification mails if config.mail_smarthost and kw.get('notify', 0): ! msg = msg + "

    " + self.notifySubscribers(kw.get('comment', '')) return msg From brian at dorseys.org Mon Feb 4 23:10:07 2002 From: brian at dorseys.org (Brian Dorsey) Date: Mon Feb 4 23:10:07 2002 Subject: [Moin-devel] MoinMoin 1.50 on Python2.2 - small patch In-Reply-To: ; from jh@web.de on Thu, Jan 31, 2002 at 11:06:47PM +0100 References: Message-ID: <20020204231112.A29130@dorseys.org> I upgraded my web box to CVS this evening and ran into an error with word_rule being out of scope, this patch fixed it: Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.73 diff -r1.73 wiki.py 697c697 < 'word_rule': word_rule, --- > 'word_rule': self.word_rule, From j.her at t-online.de Tue Feb 5 13:50:09 2002 From: j.her at t-online.de (Juergen Hermann) Date: Tue Feb 5 13:50:09 2002 Subject: [Moin-devel] MoinMoin 1.50 on Python2.2 - small patch In-Reply-To: <20020204231112.A29130@dorseys.org> Message-ID: <16YDT6-03JxdAC@fwd01.sul.t-online.com> On Mon, 4 Feb 2002 23:11:12 -0800, Brian Dorsey wrote: >I upgraded my web box to CVS this evening and ran into an error with word_rule being out of scope, this patch fixed it: Ignore my previous msg, I should have looked first (I don't have bang_meta activated). Ciao, J?rgen From jhermann at users.sourceforge.net Tue Feb 5 13:52:01 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 13:52:01 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.73,1.74 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv28605/parser Modified Files: wiki.py Log Message: Fix for bug reported by Brian Dorsey Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -r1.73 -r1.74 *** wiki.py 2002/01/30 22:04:13 1.73 --- wiki.py 2002/02/05 21:51:04 1.74 *************** *** 695,699 **** if config.bang_meta: rules = r'(?P!%(word_rule)s)|%(rules)s' % { ! 'word_rule': word_rule, 'rules': rules, } --- 695,699 ---- if config.bang_meta: rules = r'(?P!%(word_rule)s)|%(rules)s' % { ! 'word_rule': self.word_rule, 'rules': rules, } From j.her at t-online.de Tue Feb 5 14:16:10 2002 From: j.her at t-online.de (Juergen Hermann) Date: Tue Feb 5 14:16:10 2002 Subject: [Moin-devel] MoinMoin 1.50 on Python2.2 - small patch In-Reply-To: <20020204231112.A29130@dorseys.org> Message-ID: <16YDRV-26DTv6C@fwd01.sul.t-online.com> On Mon, 4 Feb 2002 23:11:12 -0800, Brian Dorsey wrote: >I upgraded my web box to CVS this evening and ran into an error with word_rule being out of scope, this patch fixed it: > >Index: wiki.py >=================================================================== >RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v >retrieving revision 1.73 >diff -r1.73 wiki.py >697c697 >< 'word_rule': word_rule, >--- >> 'word_rule': self.word_rule, Just to understand why I did not have the problem, which version of Python? Ciao, J?rgen From brian at dorseys.org Tue Feb 5 14:29:04 2002 From: brian at dorseys.org (Brian Dorsey) Date: Tue Feb 5 14:29:04 2002 Subject: [Moin-devel] MoinMoin 1.50 on Python2.2 - small patch In-Reply-To: <16YDT6-03JxdAC@fwd01.sul.t-online.com>; from j.her@t-online.de on Tue, Feb 05, 2002 at 10:50:02PM +0100 References: <20020204231112.A29130@dorseys.org> <16YDT6-03JxdAC@fwd01.sul.t-online.com> Message-ID: <20020205143003.C29458@dorseys.org> On Tue, Feb 05, 2002 at 10:50:02PM +0100, Juergen Hermann wrote: > On Mon, 4 Feb 2002 23:11:12 -0800, Brian Dorsey wrote: > > >I upgraded my web box to CVS this evening and ran into an error with word_rule being out of scope, this patch fixed it: > > Ignore my previous msg, I should have looked first (I don't have > bang_meta activated). > > Ciao, J?rgen Ahh, that makes sense. Just for the record, I'm running Python 2.2. Take care, -Brian From jhermann at users.sourceforge.net Tue Feb 5 14:39:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Feb 5 14:39:04 2002 Subject: [Moin-devel] CVS: MoinMoin/action AttachFile.py,1.18,1.19 Message-ID: Update of /cvsroot/moin/MoinMoin/action In directory usw-pr-cvs1:/tmp/cvs-serv9991 Modified Files: AttachFile.py Log Message: Pass "form" to send_uploadform() Index: AttachFile.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/action/AttachFile.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** AttachFile.py 2002/02/02 18:01:21 1.18 --- AttachFile.py 2002/02/05 22:38:32 1.19 *************** *** 98,106 **** webapi.http_headers() wikiutil.send_title(_('Attachments for "%(pagename)s"') % locals(), pagename=pagename, msg=msg) ! send_uploadform(pagename) wikiutil.send_footer(pagename, showpage=1) ! def send_uploadform(pagename): print _("

    Attached Files

    ") print get_filelist(pagename) --- 98,106 ---- webapi.http_headers() wikiutil.send_title(_('Attachments for "%(pagename)s"') % locals(), pagename=pagename, msg=msg) ! send_uploadform(pagename, form) wikiutil.send_footer(pagename, showpage=1) ! def send_uploadform(pagename, form): print _("

    Attached Files

    ") print get_filelist(pagename) *************** *** 126,130 ****
    %(upload_label_rename)s
    %(upload_label_rename)s
    %s " % ! cgi.escape(log.comment)) buf.write('
    %s " % ! cgi.escape(changelog[0][1])) buf.write('
    !  Help  !  %(page_help_contents)s