nWiki development status

nWiki development status

Ludo (Marc Alier)發表於
Number of replies: 14
Hi there,
since I was not able to attend to the developer conference I'd like to tell here how the wiki is doing.
Current development status.
  • Code tunning and security. Code is secured acording to the Petr's misives and our skills. any help is welcome 眨眼
  • 1.7 (roles-xml db compilance) First candidate expected on wednesday this week, to be released for testing.
  • Data stability. We have implemented severe test cases to ensure no data is lost. So far all the scenarios pass our tests.. migration from ewiki moodle 1.5, ewiki moodle 1.6, migration from dfwiki versions... with grups, without and so on. Restore from ewiki course to new wiki expected this week. Export to xml ad backup implemented.
Actually 5 guys are woring exclusivelly on this stuf.

NWiki documentation ...

DFWikiteam Spin off projects.
  • Mediawiki almost full compilance and import - expected by Jan 2007
  • Webservice layer. Implemented and secured (freestyle) not with standard release. comes with tiddlywiki integration and
  • Integration with tiddlywiki. Import and export from TW implemented. Wiki sync in beta stauts
  • Wiki, glosary and forum J2ME client... expected by Jan 2007
  • Internalmail for 1.7
Future projects (Feb and further on)
  • Wiki Integration with open office
  • cmaps activity module
  • mobile gadgets and tools
  • internalmail 3 by ferran recio and david catro
Guys... the students want to do their project with me so I need to think of something payaso

So tha'ts it from Barcelona.
評比平均分數: -
In reply to Ludo (Marc Alier)

Re: nWiki development status

Petr Skoda發表於
Core developers的相片 Documentation writers的相片 Particularly helpful Moodlers的相片 Peer reviewers的相片 Plugin developers的相片
Hi

I did not say that the code is secure and I did not even confirm that the bugs I found were fixed. In anycase I did not review the code properly.

I do not like the coding style nwiki is using, I thing the most unfortunate decision was to implement new course format as a workaround for missing support for module blocks in older versions. Now that module blocks are possible there is no reason to use these hacks anymore - but the problem is that the blocks and command interface would have to be rewritten.

I like your nwiki project, but my personal opinion is that it is not suitable for inclusion into official distribution yet.

Petr Škoda

In reply to Petr Skoda

Re: nWiki development status

Ludo (Marc Alier)發表於
Hi Petr,
What I say is that the code is secure "as far as we know" and "for the feedback we have received".
The wiki course format does not come from the lack module blocks in older versions. The first version of dfwiki had its own implementation of blocks, and then we changed for the standard one. The wiki course format can be removed from installation, and blocks are independent from it.
I do beliebe that the wiki course format is very usefull, and I'have feedback from other moodlers that say share my view.
If you have any suggestion, in any way of, how anything can be reimplemented, please share it whith us and don't just say that the thing is not suitable.
Ludo out
In reply to Ludo (Marc Alier)

Re: nWiki development status

Tim Hunt發表於
Core developers的相片 Documentation writers的相片 Particularly helpful Moodlers的相片 Peer reviewers的相片 Plugin developers的相片
The way I see it, Ludo is saying: every time Petr or another expert looks at the code and points out specific errors, we fix them quickly.

However, the way it looks to me: Every time Petr or another expert looks at the code, they immediately see lots of ways where it does not follow the coding guidelines: http://docs.moodle.org/en/Development:Coding - and not just in trivial ways, but in ways that cause potential security problems.

That makes we worried about whether this code should go into Moodle core. The coding guidelines are mostly there for a reason. People writing a large chunk of functionality should not just following the letter of the coding guidelines. They should also understand the underlying principles (which are the general principles of writing secure and robust web applications), and the solutions the Moodle community has adopted for solving them. Then their code will be robust and secure; and understandable and maintainable by others in the community because it follows the same conventions.
In reply to Tim Hunt

Re: nWiki development status

Ludo (Marc Alier)發表於
Thanks for the link suggested Tim.

As I have said before, our team is composed by students that are learning as they go. Rigth now there are some of them have a schollarship and have more expertise. I'm organizing our internal documentation and methodology to fit the coding rules. But as you say Wiki is a laaaarge chunk of code.

By the way, experts comments should point solutions at least some examples. Because we try to fix everything when is reported, but without clues... we3 do what we can.




In reply to Petr Skoda

Re: nWiki development status

Jordi Piguillem發表於
Hi Petr,

what problems did you found in our blocks? Could you make me a litle list, please? If it's necesary I am able to rewrite them in a record time... Easy work, no problem.wink

I adapted wiki format course from dfwiki, it was a find-&-replace-5-min-job. I didn't implemented this part of the program so I suposed that it was correct becouse it works. Do you mean that we have to reimplement course format? Any tip?

Your help is always welcome. Thanks.

DFWikiTeam, Pigui.
In reply to Jordi Piguillem

Re: nWiki development status

Petr Skoda發表於
Core developers的相片 Documentation writers的相片 Particularly helpful Moodlers的相片 Peer reviewers的相片 Plugin developers的相片
Hi!

1/ The problem with blocks is that they are usable only on the course page. They should 'live' on the mod/wiki/view.php page instead. If you place a block on the course page (such as the random glossary) you should be able to specify wiki instance that is linked to it. This would elliminate the need for frontpage wiki format.

2/ Please review again each use of optional_param() and required_param(), these are the most obvious bugs:

formatlib.php - function wiki_main_view_setup() {
optional_param($WS->page, false,PARAM_PATH); // Wiki Page Name
$WS->pagename=stripslashes($WS->pagename);
$WS->pageaction = 'view';
$WS->groupmember->groupid = 0;

format/wiki/format.php
$preferred_width_left = optional_param('preferred_width_left', blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]));
$preferred_width_right = optional_param('preferred_width_right', blocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]));

the use parameter types still does not seem to be optimal - I would recommend documenting all choosing correct input types and then reviewing the use in all code

3/ javascript should not be required - it is one of the accessibility requirements

4/ try to insert single quotes ' and <applet>xxx</applet> everywhere - the start browsing the course, sql errors indicate presence of SQL injections and broken java applet XSS problems. I have discovered one in Navigator and another in Wiki index - I did not try much though.

5/ Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/skodak/workspace/moodle16/mod/wiki/locallib.php on line 387


skodak
In reply to Petr Skoda

Re: nWiki development status

Jordi Piguillem發表於
Hi Petr.

1) I think you are missing one important thing in NWiki config. You can activate 'showblocksonmodpages' variable to use wiki blocks inside the module.
If you add a block into wiki format course, blocks are linked to the default wiki: the one that is associated to the course.
2) People who is working in optional_param() told me that they had problems with params which have spaces, : , etc. They don't know what option they have to use. Any suggestion?
3) We only use javascript when is necessary. Block index can't work without it, for example.
4) I found some others... I'm waiting to optional_param() and addslashes() review task finish to try another time to hack our module.
5) If we can pass $WS by reference, we have a big problem....surprise

DFWikiTeam, Pigui

In reply to Jordi Piguillem

Re: nWiki development status

Michael Penney發表於
3) We only use javascript when is necessary. Block index can't work without it, for example.

Javascript needs to fail gracefully (the page is still usable with javascript turned off, and the equivalent functionality is available when javascript is turned off). The reason: browsers for the blind (JAWS, etc.) don't support javascript, and Moodle must support these browsers to meet various national accessibility requirements in a number of places (US, UK, Italy(?), etc.)

The noscript element can be used to provide an alternative when javascript is not available: http://www.w3.org/TR/html4/interact/scripts.html#h-18.3.1 See how the Site Administration block does this in 1.7-- when you turn javascript off it still works?

Thanks for all the work you all are doing, Moodle really needs a new Wiki:0).
In reply to Michael Penney

Re: nWiki development status

Ludo (Marc Alier)發表於
Thant you Michael,
I was also thinking about a link special page that displays the index from selected page in static HTML when javascript fails graciously (not estrepitously (spanish breed word))
Cheers
Ludo
In reply to Petr Skoda

Re: nWiki development status - course format & cours nWiki blocks

Ne Nashev發表於
Wiki-format for course - is a very nice solution for some tasks. It's like forum-based course format. I think it is not only workaround for blocks, it is much more.

But nWiki blocks must be unavailable in other formats - is there are some function for check compatibility between blocks and course format?
In reply to Ne Nashev

Re: nWiki development status - course format & cours nWiki blocks

Jordi Piguillem發表於
But nWiki blocks must be unavailable in other formats

You're right, this one is an item in my neverending TODO list.
A soon as possible I'll fix, there are other items with more priority.

DFWikiTeam, Pigui.