NoSmokeMoinMoin( 노스모크모인모인 ) 이 아직 안정화가 덜 된듯 싶다. 에러의 원인도 알아야겠고, 원본 MoinMoin과 어디가 어떻게 다른지도 확인해봐야 앞으로 버젼업그레이드에 문제가 없을것이므로, 그부분또한 연구해야할꺼다.
변경되는 내용은 ViewCvs로 확인가능 NoSmokeMoinMoin
Contents
- RenamePage
- 특정페이지로딩이 안된다
- Error Pages
- Options for Korean language
- RecentChanges에서 변경내용 표시아이콘
- TeX 수식편집기능지원
- GnuPlot그래프드로잉기능지원
- WikiStat 페이지통계기능
- 추가된 매크로들
- Diff 기능향상
- 소스코드 colorize기능
- i18n 언어지원
- 스펨예방차원에서 이멜주소 이미지화
- RecentChanges의 RSS기능 지원
- HTML의 쉬운입력
- JavaScript 의 온라인 활성화
- SCGI 장착으로 성능향상
- 페이지변경사항 저장 부분 속도
- Python 2.4로 이전
- UploadFile 경로의 PHP 등록불가
RenamePage
RenamePage 일단 되도록 하긴하다.
처리한 내용은
- wikiactions.py line579
tmp = page._tmp_filename = 'tmp'
- wikiactions.py line594
#os.rename('data/editlog.tmp','data/editlog') PageDbConnection.delete(Page(old_file))
- pagedb.py line195
#os.rename('data/editlog.tmp','data/editlog')
- pagedb.py line49-50
def __init__(self): self._setPageListDb(getPageListDbConnection())
특정페이지로딩이 안된다
페이지를 보여주는 과정에서 에러
해당 페이지들 : StrategyPattern, PDB
pagelist.dbm 파일을 지워주었더니 해결... bsddb의 버젼문제였던듯.. 이 문제 해결하려면, pagelinks.dbm을 지워야 합니다. 배포본에 pagelinks.dbm이 들어있는데, 이 파일은 libdb.so 파일의 버전에 따라 구조가 다르고, 서로 호환성이 없습니다. 에러가 나시는 분들은 wiki/data/pagelinks/pagelinks.dbm을 지워버리세요. -- In NoSmoke:노스모크모인모인/질문답변
Error Pages
일부 매크로들 (See HelpOnMacros)
Options for Korean language
Problem : InternetExplorerIssues
Solution : In HTML header in config.py, insert <HTML lang="kr"> tag and charset "euc-kr" (Not yet confirmed)
RecentChanges에서 변경내용 표시아이콘
Problem : 일단 북마크된 이후(SeeAlso HowToUseBookMark) 변경되는 내용에 대해서, 새로만들어지는 페이지에는 "new", 변경되는 페이지에는 "update"라는 아이콘이 표시되어야 하는데, 현재 "new"밖에 표시되지 않는다.
Solution : NoSmoke:노스모크모인모인 안정버젼의 RecentChanges.py 파일을 사용하면 이상없이 작동한다.
TeX 수식편집기능지원
TeX 의 내용을 참고하여 TeX 수식편집기능 첨가. 원본에는 extwiki.py를 파서로 사용해야하나, 본 branch에 문제가 있어서 wiki.py 파서를 변경하여 적용. wikiutil2.py, trans.py 복사
GnuPlot그래프드로잉기능지원
MoinMoin 버젼 1.1에는 parser/wiki.py에 해당 processor를 파싱해서 실행하는 함수가 있다. _processor_or_repl에서 실행하고, getFormatedText에서 파싱한다. 이때 NoSmokeMoinMoin버젼에는 request가 없으므로, 이와 관련된것들을 삭제하고, processor의 gnuplot.py에도 request인수를 삭제한다. 그리고, formatter/base.py를 최신버전으로 교체한다.
WikiStat 페이지통계기능
현재구현중 --yong27/2003-01-08
추가된 매크로들
HelpOnMacros 페이지 참고
Diff 기능향상
NewDiff 사용. 본기능을 사용하기 위해선 KoCo 와 새로운 default.css가 (ChangeYourCss참고) 필요하다.
소스코드 colorize기능
Python뿐만 아니라 Java, [[C++]도 가능하도록 수정. ParserMarket 에서 참고. 문장중 일부표시하는 소스코드에 대해서도 동작
그냥 복사하는것만으로는 작동이 안된다. 주의할점은 request가 현재버젼에는 없기때문에 필요한곳에서 sys.stdout으로 대체하는것과 processor디렉토리내의 모듈명은 해당 지시자(#!python, #!gnuplot)의 이름을 그대로 파일명으로 써야한다는 것이다.
i18n 언어지원
기존 1.1버젼에 있던 것을 덮어씌움. user.py의 User클래스에 language=''속성이 들어가야함 --yong27/2003-02-12
스펨예방차원에서 이멜주소 이미지화
파서 디렉토리의 wiki.py에 _email_repl 메쏘드 변경. TeX스크립트 이용 --yong27/2003-04-03
RecentChanges의 RSS기능 지원
오리지날MoinMoin을 참고로 기능추가. --yong27/2003-07-08
HTML의 쉬운입력
복사붙여넣기 식으로 HTML을 쉽게 입력할 수 있다. 소스코드 colorize기능을 이용한다.
JavaScript 의 온라인 활성화
자바스크립트를 직접 사용할 수 있도록 기능 추가. IncludeJsMacro를 이용한다.(예 : ResidentRegistrationNumber) --yong27, 2003-11-29
SCGI 장착으로 성능향상
MoinMoinOnScgi --yong27, 2004-11-10
페이지변경사항 저장 부분 속도
변경사항 저장하기를 누르면 editlog부분이 작동한다. 여기서... socket.gethostbyaddr을 실행하는데, 이것때문에 느려질 수 있다. 현재 이 부분 주석처리. --yong27, 2004-12-21
Python 2.4로 이전
다른데는 문제 없는데, RecentChanges의 RSS시 에러. 일단은 이유를 모르겠고, 2.3으로 돌아감.
1 Traceback (most recent call last):
2 File "/yong/www/html/moin/MoinMoin/cgimain.py", line 124, in run
3 handler(pagename or config.front_page, form) #TODO: change into passing a stream argument
4 File "/yong/www/html/moin/MoinMoin/wikiaction.py", line 572, in do_rss_rc
5 RecentChanges.rss(pagename, form)
6 File "/yong/www/html/moin/MoinMoin/macro/RecentChanges.py", line 398, in rss
7 handler.startNode(('rdf', 'Description'), attr=edattr)
8 File "/yong/www/html/moin/MoinMoin/wikixml/util.py", line 34, in startNode
9 self.startElementNS(tag, qname, attr)
10 File "/usr/local/lib/python2.4/xml/sax/saxutils.py", line 139, in startElementNS
11 name = self._current_context[name[0]] + ":" + name[1]
12 KeyError
--yong27, 2005-01-20
UploadFile 경로의 PHP 등록불가
Apache에서, .php파일에 대한 실행옵션이 되어 있을 경우, PHP파일을 UploadFile에 올리면, 이를 실행 할 수 있다. 따라서, UploadFile에서 .php파일을 못 올리도록 변경 --yong27/2005-05-02 MoinMoin/action/UploadFile.py의 uploadFile함수 첫부분