Dream map dev meeting
From Dokeos
During the meeting we're going through the dream map and making notes here.
All Dokeos users are encouraged to add their wishes, requests, remarks to this page. Just press the edit link at the top of the page and you can type new text directly through your browser. The roadmap for future versions will take all these suggestions into account.
People who want to help out developing a certain feature can add their names after a feature, e.g. Developers: yourname. When we have a list with who can develop what, we can use that list as a start to create the roadmap for the next release.
Core dev team organisations / people
Everyone who has made a concrete development, can be part of the core developers team. These, and guests with concrete projects, can come to developer meetings (and also some other guests on specific topics).
Core members, with one vote each
- Dokeos company
- Ghent University
- Hogeschool Gent
- Free University of Brussels
- Wolfgang Schneider
New core members
- University of Geneva
Guests (might become core member in the future)
- Erasmus Hogeschool
- Artevelde Hogeschool
- vi-host
- Row3uatec
User Interface
See also the user interface remarks page
- Open/closed Eye and "X" substitute Hide/Remove in Teacher View of Front Page of the course
- DONE - this is already in Dokeos 1.6
Campus Homepage / "My Courses" page
Agreed, in core Dokeos The current situation with the index.php file serving both as (a) the homepage for the campus and (b) as the "my courses" page after a user has logged in should be changed.
- The index.php file should be the campus home page. Look and feel like is now would be fine.
- After a user logs in, he should be taken to a different page, such as the "courses" page where all the "my ...." functions are accessible, such as course management, my courses list, etc Look and feel should already reflect the same user interface layout as will be used in a course (with clear distinction of content and navigation ... see section on navigation below.)
Navigation menu (a.k.a. "left menu")
Agreed, in core Dokeos 1.7 community release, on by default. There will be an on/off switch.
This will require a separate page for hiding / showing icons (will be done on course settings). Perhaps an optional left / right / top / bottom choice, if someone can develop it. A left menu that can be shown on top would be the same idea as the tool shortcuts, so perhaps these two can be combined in one system, saving code.
a menu that helps people navigate to the different course tools (with perhaps extension in some tools).
- ...There is working code for this, but some details have to be worked out
- ... I am currently working on this, see tests at BC Online Campus, a major code change idea is in the works and should be up before Sep 1, 2005 --Wolfgang 07:27, 29 Aug 2005 (CEST)
- aside from providing a "left menu" inside a course, the "navigation" as a whole from main entry page onward should be re-evaluated (current right menu before and after login, the "my" functions navigation line in the header, etc., then in side courses a left menu? right menu? what?)
CSS styles / style switcher / etc
Yes, as an extension
Some discussion in the forum concerning this under http://www.dokeos.com/forum/viewtopic.php?t=4741
- incorporation of a style switcher functionality to be able to incorporate specific style sheets for different user accessibility situations
- ... perhaps similar to "language selection" function? (this is different from and in addition to the css style switcher already available as plugin/extension for admin to use for the platform as a whole) --Wolfgang 07:19, 29 Aug 2005 (CEST)
- continue with changing pages that still use "table layout" to a css driven layout
- ... I'll continue with this and commit changed pages to the CVS main (1.7 / 1.8) branch --Wolfgang 07:21, 29 Aug 2005 (CEST)
Icons
Agreed on all items, developer: Patrick
- (no longer relevant) decrease the red channel of the default icons so that the default icons are blue instead of purple
- delete unused icons
- make all icons transparant
- gif / png. IE has problems however with transparant png files.
- api (Display lib) function for displaying the icons on the course homepage as this would allow matching the icons with the stylesheet. The different stylesheets are in a subfolder of the css folder (example: css/silverbullet). The api function for the icons would then check if there is a folder inside the img folder called silverbullet and then look for the requested icon. If it is not found (folder or file) then the normal icon is used. This would allow us to match the stylesheets and the iconpacks of the extensions section.
Installation in your own language
Agreed, in core Dokeos 1.7, dev: Roan or Bart
- To add the option of language selection during the installation of the Dokeos.
Installer for windows (.exe)
- on dream map: create Dokeos installer, dev: Dokeos company
Improvements or new features for existing tools, guaranteed developer time
Improvements or new features for existing tools, developer time uncertain
Admin tool
Agreed, in core Dokeos, dev: Bmollet
- A graphical way to change the password of users (also the admin), taking the optional encryption into account.
- The ability to specify the authentication source of new users (added individually or through csv of xml files).
- confirmation message after subscribing a class to a course
Assignments / student publications
Not a roadmap item yet, can be added later. None of the core developers has time to do it now, but the Dokeos company might in the future.
Note: when losing your session, and online writing, you lose your work -> that should be solved. UGent has some code for this. We must move further towards online authoring. (Dokeos company is responsible for the wysiwyg editor, moving it to FCKeditor...).
- not only an upload but a "create document" option like in "Documents" part for teachers (Petrossi: http://www.dokeos.com/forum/viewtopic.php?p=10960)
Breadcrumbs
Agreed, in core Dokeos, dev: Patrick
- Re-design the complete breadcrumbs mechanism
- On the 'my courses' page the breadcrumb reads platform > my courses. Both links link to the same page. Inside the course the breadcrumb reads platform > current course. This is an inconsistency because the my courses link has disappeared. More on this: http://www.dokeos.com/forum/viewtopic.php?t=4516
- AWAC setting for the link to the course homepage in the breadcrumbs: 'this course', course code or course title (shortened to x characters.
Free entry for the core developers on the users day
Unanymous agreement :-)
Calendar
As extension.
- iCal/vCal/RFC 2445 synchronisation: http://www.faqs.org/rfcs/rfc2445.html
Course Creation
Agreed, in Dokeos core, dev: Patrick will do some of these
- complete refactoring of create_course/add_course.php because
- it states that 'All fields required' but in fact none is really required (there is no check if the fields are really filled)
- use AWACS to determine which fields are really required (see also the already existing AWAC: 'Display Course Code in Course Title') and indicate it using the red asterisk (as in user registration)
- Coursecode when creating a course: when this is not entered the default CL code is used. Maybe it is better to change this to the x characters of the title (stripping out special characters and spaces). This can easily be accomplished by adding the following code on line 146 of create_course/add_course.php (after line 145 $wantedCode = trim(strip_tags($_POST['wantedCode']));)
if (empty($wantedCode))
{
// we use substr because the code field can only contain 20 characters (in the db 40 however)
$wantedCode=substr(trim(strip_tags($_POST['title'])),0,20);
}
- the algorithm to create a unique code is not so good. The input is a string(20) and in the database it is a string(40). If the code is already in the db it adds some extra characters. If however (using the situation above) we use the title to create a course and obtain a string (40) than this can no longer work and we would have to do it the other way around: take the last character of the code string(40) and shuffle this one untill we have one that is unique (proposal by tberton)
- AWAC that switches on or off the default documents, default tests, ... This is a choice between a course that contains already some example material or a completely empty course.
- AWACs to set the default course settings.
Course Description
Agreed, if someone needs it, but no core developers are interested right now -- stays on dream map, does not go on roadmap yet.
- ability to change the order of course descriptions (only course admin can do this): http://www.dokeos.com/forum/viewtopic.php?t=4490
Course Management
Agreed, in core Dokeos, dev: Patrick
we will remove all but two options from the list, the main view will by default show the courses + sort and unsubscribe features
- replace the unsubscribe from courses link by an icon = consistency increase + less clicks required (code ready UGent)
- make the sort my courses the default view (currently you only see an empty page with the 4 links) (code ready UGent)
- ... why make the one of 4 options a default view? why not one of the others?
- I would suggest to consider a restructure of this page as part of the ideas of homepage/index.php redesign (see above). Also, why make one option into an icon and leave the others as text? this idea does not make sense to me --Wolfgang 07:43, 16 Aug 2005 (CEST)
- In dokeos 1.6 it is already possible to do course sorting using user defined course categories. This needs some more options:
- sorting of the categories: as it is now the user defined course categories cannot be sorted (moved up and down)(code ready UGent)
- show the already existing course categories (in the create course category section)(code ready UGent)
- AWACS: show all user created course categories on the my courses page (even those that are empty)
- no two categories with the same name
- delete a user defined course category (code ready UGent)
- show the categories that do not contain any course also otherwise there is no easy method to remove them (code ready UGent)
note: see http://www.dokeos.com/forum/viewtopic.php?t=4859 for the code
Course settings
Agreed, in core Dokeos, dev: ??
- Consistency http://www.dokeos.com/forum/viewtopic.php?p=19273#19273
- should the hiding of tools be done here? (yes, decided in item on nav menu)
- hiding of tools is a course admin functionality; i'd suggest to further develop the current "course settings" page into a "course admin" page similar in look and feel to what the "platform admin" page looks like.--Wolfgang 15:50, 29 Aug 2005 (CEST)
comment on "admin" sections
- Note also, the various options reached from an "admin" page should after completion return the admin to the admin page, rather than being transferred to a regular coursepage. In other words, when I go to "user list" from course admin(platform admin), do something there, I should not be forwarded to a regular course page after clicking OK to make a change, but should either remain on that page (with a message beign displayed that the change was successful or not) or be returned to the admin page itself.--Wolfgang 15:50, 29 Aug 2005 (CEST)
Documents
Agreed, in core Dokeos. Dev: sorting: Bart, dropdownlist: Bart, no zipping for guest: Ghent univ. (perhaps with roles?), thumbnails: show comments in slideshow: Patrick, direct link: Patrick
- Allow a course-admin to sort the documents. This will be the default view for students (sorting by column still works!). Available as a Dokeos Extension: http://www.dokeos.com/extensions/index.php?section=tools&id=35
- Display the folder structure in the dropdown-list to select a folder and not the whole path
- Remove zip download of a complete folder for guest users? (http://www.dokeos.com/forum/viewtopic.php?t=4667)
- thumbnail generator for the slideshow feature
- show comments in slideshow http://www.dokeos.com/forum/viewtopic.php?t=4871
- make a direct link to the slideshow possible http://www.dokeos.com/forum/viewtopic.php?t=4754
Dropbox
Agreed, in core Dokeos, dev: Ren�
- user sortable table for the dropboxo that sorting makes more sense and so that it is consistent with the other tools
- folders
Encoding/charset harmonization
- Side-discussion: DLTT - release as open source? It will be released as open source "someday".
UTF8: The developers like this; but who will do it?
- Dokeos being more and more internationalized, the display part of the Dokeos code could be harmonized to use UTF-8 everywhere by default, except for imported content where it should use the content's encoding (this part might be very tricky though).
Exercises
Dokeos.com will improve the exercise tool, rest of devs have no time.
- we need an "open" answer (a little text about the subject); the pupil can write an answer using a wysiwyg editor (perhapse stored in a memo field in mysql) - The teache can AFTER assign an evaluation. (Petrossi: http://www.dokeos.com/forum/viewtopic.php?p=10960)
- show/hide results after exercise taken (Mark111: http://www.dokeos.com/forum/viewtopic.php?p=10960)
- (already done in 1.6, through Course Copy tool) I would like to have an utility for import/export exercises between courses.
- shuffle: http://www.dokeos.com/forum/viewtopic.php?t=3753
- export to IMS-QTI (UGent has this already?!)
- exercises using item_property for the visibility (and maybe also group and user driven?)
- It should also be possible to use hotpotatoes exercises outside the learningpath (as an attachment to a resource). See http://www.dokeos.com/forum/viewtopic.php?t=4870
Forums
Agreed, in core Dokeos, dev: Patrick, Ghent univ.
- An hidden forum can be used by teachers / tutors for the course monitoring. So hidden really means hidden to students and guests. -> UGent has code for this: make forum or threads hidden.
- make forums and forum categories sortable
- use dokeos id in the forum and use this to retrieve the email (instead of first/last name combination-> there might be users with the same first/lastname combination as UGent and VUB experienced).
- a third view, nested, which is a combination of flat and threaded
- an option in the teacher or admin config settings to set the default view type, currently this is always flat.
- management of fora and forum categories identical to the links tool.
- remove the language files inside phpbb/languages and move the variables to the phpbb.inc.php file
- make topic administration available (move - delete - merge)
- link in the notification message to the correct thread.
- allow forumusers to add attachments (note: already possible, I added to the resourcelinker section: allow adding of student publications).
- optional: allow people to upload documents from their computers (add it through resource linker, so all tools get it)
Groups
- (discussion) When the AWAC setting Group categories on the platform is set to yes then you must created a category to store your groups in. If you (by mistake or intentionally) delete the default group then you cannot add a group unless you store them in a category. It would have been better to make it like the documents and links where you can put documents in the root but also in the folders. The same idea counts for links.
- (not needed) A further shortcomming is that you can not move groups from category A to category B
- (agreed, dev: Bart) A tool to create groups in your course matching the several classes subscribed to your course
Help
Discussion remains... Where do we best make translations for the help system? We will try to use the wiki for this. And perhaps afterwards either link from Dokeos to the wiki or generate html pages. For the moment we will keep the current system.
- The help should be improved and should be contextual. The help should be much more extensive than is the case now and should provide "good practices" and examples of use.
- Each form could also have a small help icon that explains what is expected to go into the form. This could for instance explain if you can or cannot add HTML into the form. example We should make this an API function.
- tooltips for the action links (add document)
Improved what's new notification
Agreed, in core dokeos, dev: Toon Van Hoecke
- On the course homepage an icon is displayed to inform the user that new items were added to the course. But inside those tool, this notification isn't available. Documents, links,... can be marked as new. A more advanced version would also allow users to mark items as new. (Cfr an email-reader where you can mark emails as 'not read')
- An option on the homepage to mark all items read and remove the what's new icons (like the mark all topics read-link in a forum)
This proposal may be too heavy for the database. A possible intermediate solution is a forum-like system to mark all new items since your last visit (and use the session to store this information).
Installation
Agreed, will try to get more refactoring done: Bart, Roan Will send .exe installation code: Thomas (we'll put this in cvs)
- There should be some more error checking with messages to the user
- checking if the folders have the right permissions for reading / writing http://www.dokeos.com/forum/viewtopic.php?t=3758
- button to check the database connection http://www.dokeos.com/forum/viewtopic.php?t=3758
- DONE - Encrypt user passwords in database : this should by default be On, not Off.
- use .sql files for the table structures (CREATE TABLE). This will make the install_db.inc.php a lot smaller and makes manual installation also possible. The filling of the database (inserts) is probably better handled by the install_db.inc.php file itself because sometimes it has language dependant information. We could however move all inserts that do not require language dependant information also into the .sql file
Languages and translations
We keep one copy of DLTT, not two. The DLTT will get an extra field with the old variable name so people can still export it for 1.6.x.
- DLTT: improvements of 1.6.x translations, improvements of unstable-1.7 translations? proposal: two copies of the translation tool, each with a different database.
- Manuals, installation guides: proposal: create email address translation@dokeos.com so people have a good address to send their documents to.
- solve the problems with translations of htmlarea.js.php and phpbb/language files
- quid DLTT after 1.6?
- how can we get rid of the many double, triple and even more uses of the same language variables in different language files? Is it really not possible to have one language file per language?--Wolfgang 19:16, 14 Jul 2005 (CEST)
Links
Ignore for the moment
opening links (new window or not) => AWAC
More flexible user permissions
Agreed, design will be written our further, see the forum. We will use the roles approach based on Plone/Zope hierarchical ideas. Dev: Roan, Frederik Q, ...
Now we only have platform-admin, course-admin, tutor and students. A more flexible way of defining user permissions would allow us to promote a student to administer a forum, or give somebody the rights to add announcements but not documents in a course. etc.
My Courses
- (won't do this in core Dokeos, perhaps as extension) although courses are grouped into course categories (faculties) the user cannot see this once (s)he is logged in. The courses are sorted chronologically (according to the date of subscription). It would be nice if the course categories (faculties) would also appear on the my courses page. This can already be done by the 'user defined courses' but the initiative lies with the student. We can implement three different views (user can choose through their profile): flat (as it is now), according to the course categories, according to the user defined course categories.
- (this should be made a plugin, dev: Patrick) clean the code for the notification area (current events, current agenda)
- maybe even release this as a plugin
- definetely in a separate file
- AWACS for these things
Persons online on course level + chat invitation + user account survey
Agreed, in core Dokes, dev: Dokeos company We keep the global who is online, and also add a who is online in this course, chat with users
A page to see which users haven't logged in for the past 30(??) days with an option to delete their account, deny their access or send a new email reminder.
And as a teacher I want to see which students/teachers of my course/class are online and as an admin I want to see which teachers and students are online. With an option to send them an invitation for a chat session, which they can accept or not. If they accept a new chat screen will be opened. forum: http://www.dokeos.com/forum/viewtopic.php?t=3678
Profile
In the future, my profile will move to my portfolio.
- allow the platform manager to extend the profile of the user with new fields: http://www.dokeos.com/forum/viewtopic.php?t=3728 .
- OK - language selection in the profile => language dropdown can disappear once the user is logged in
- NOT IN STANDARD DOKEOS, EXTENSION - style selector
- OK - allow profile to be seen by others -> everything should also be visible through the 'User' tool (and searchable)
- OK allow the student to select what can be viewed by others (simple checkbox in front of the label now, perhaps portfolio based on LCMS features later)
Sidenote: we must coordinate our efforts on search tools.
Registration
Ok, dev: patrick
- registration as course manager only after approval of platform admin
- Is this not alreay solved in 1.6 via admin options to allow register as course manager? If registration as course manager is not allowed for the platform, then only the platform admin can change a user's status from student to course manager (= approve the user to be a course manager)
Resource linker
dev: Patrick
- major code rewrite ?
- use tool constants
- add student publications
- allow uploading new documents => goes into the user space
SCORM
Agreed, in core Dokeos, dev: Dokeos company
- Import: (upload) multiple SCORM packages in one operation.
- Export: also export the metadata of the learnpath items. It is just copy/paste of an already-XML-formatted string into the imsmanifest.xml (DONE in 1.6 for Documents).
- modify an uploaded scorm package (forum)
- test results as prerequisites (forum)
- score weighing missing (forum)
- Dokeos learnpath: Allow creating learning paths in directories (forum)
Sortable Table
Agreed, in core Dokeos, dev: Bart
- Currently the sortable table function (display_sortable_table, in inc/lib/display.lib.php) accepts an array of the items that have to be displayed and the sorting itself is done by sorting this array. This gives performance problems with large lists. It is better to let the mysql database do this sorting and pagination by using a limit and order by part in the sql statement.
- default value is 10 items in a sortable table. This is very few. An AWACS would be nice
- there is a link 'show all'. Maybe it is a good idea to have a dropbox where one can choice how much items have to be shown on the page: 10, 25, 50(the 1.5 default), All
- you cannot see how much items (users) there are in the complete list. Maybe it would be nice to display something like: showing x to y of z items
Security
Agreed, dev: several devs will contribute, there is a good design now. Patrick and Bart will create one class to deal with forms and filtering, after that everyone can help. (todo: put Patrick's presenation online, as well as Frederik's) We will do more efforts for security. We'll start using HtmlQuickForms (a pear package) and KSES (als free software).
- Proposal: private (how private?) mailinglist just for security
- Openness about security
- Patches
- no XSS
- no SQL injections
- validating user input: a library to validate user input (Is given value in correct range? Does the given date exist? ...)
- no register globals
Currently the user input is not filtered. The bottomline is that the input from the student accounts gets filtered so that no javascripts can be used. We discussed already that we will allow javascript inside html documents in the document tool. Elsewhere it should be impossible to If we take this to the extreme then we only allow flat text to be entered by the students. We can give more possibilities to the teachers though.
Statistics
- A general (not in a course) statistics module, available through the start page, the admin sees more than the other users, with e.g. the daily / weekly / monthly report of accesses asked by Petrossi, see below.
- document tracking (who read o saved this document? who did'nt?) (Petrossi: http://www.dokeos.com/forum/viewtopic.php?p=10960 and http://www.dokeos.com/forum/viewtopic.php?t=3085)
- a monthly report of accesses (column: user / raw n. of accesses) (Petrossi: http://www.dokeos.com/forum/viewtopic.php?p=10960). An export function is probably better so that manipulations can be done in a spreadsheet.
- dropbox tracking (Mark111: http://www.dokeos.com/forum/viewtopic.php?p=10960)
- track hotpotatoes as if they were normal dokeos tests
- Now we can see if a single student read a document, but we haven't the opposite: for each document the list of students that read / dont read it (or for each message the list of people that opened it...). see: http://www.dokeos.com/forum/viewtopic.php?t=3085&highlight=document+track . something similar: for every resource and indication if is has already been viewed or not. This indication should not be very obvious (for instance a darker link if it is not viewed yet)
- some general statistics:
- total number of users
- number of students
- number of teachers
- number of courses
- number of virtual courses
- tool usage
Student Publications
dev: Ghent univ., for 1.7 or 1.8
- Download all in one zip file
- create 'folders'
User
dev: Ghent univ
- (yes, in core only the search tool) search in the user tool (or at least a dropdownlist A->Z where you can filter on the first letter of the first/last name). This is very usefull when you a lot of users in your course.
- (platform admin can do this) lock a user: http://www.dokeos.com/forum/viewtopic.php?p=16863#16863
- timewindow on a user: a start and end date in course_user. This is a sort of a view option with a time restriction. What should be decided is if these temporary user are visible in the users tool or not. The user table could also have such a start and end date (default enddate=startdate + 1 year)
- alfabetic filtering in the users tool (dropdown list A->Z, dropdown list first name & last name)
- (yes in standard Dokeos) registration to a course: access allowed after approval of course manager
- vcard export
- (yes) Make the user Image clickable so that a popup with the full sized image appears
- (default off, as config setting) 'Subscribe users to this course' to allow what was possible in previous versions (add new account) ( +config settings): http://www.dokeos.com/forum/viewtopic.php?p=19370#19370
User course tool
dev: Roan The ability to search when subscribing a user to your course.
User Detail
- bring the user statistics to the user detail page? (pro: one click less)
- add overview of all forum posts. Students are sometimes quoted on their forum posts also.
- Teacher comment: allow the teacher to add personal comments on a student (only visible for the teacher, not for the student). At UGent this is used when more than one teacher have to give grades for the same course. They share comments on the student like this.
- User profile should be completely visible here because in the current situation this is only visible for the user himself whereas other can not see the information of other peoples' profile.
- careful -- a user may be "working on his profile" and not everything written is "finished" for view by others. Perhaps an option to turn on/off visibility of sections for others can be added so that the user can decide what he would like people to see? (compare phpbb where users can decide to have icq, msn and other info displayed or not displayed)
Various
- (edit) clean the claro_main.conf.php file so that the settings that are stored in the db do no longer occur in the claro_main.conf.php file. This can cause unneeded confusion since editing the claro_main.conf.php will not have any effect (it is now done through the Dokeos config setting).
- (future, not planned yet) every course resource can have an entry on the course homepage
- (all devs) css cleanup
- refactoring existing styles
- only one css (=merging htmlarea.css and the various other styles inside the tools)
- removing every hardcoded styling <font size=... color=... and alike
- (solved using QuickForm) System announcements: use date selecter
- (no, can be done using other tools) course information: meeting places and times
- (leave on dream map) note on course homepage=language driven
- chat in groups: http://www.dokeos.com/forum/viewtopic.php?p=16401
- (not agreed, we keep settings on the correct place) settings of tools => course properties (example: documents quotum, visibility of student publications, ...). We should however have a link somewhere that directly links to the relevant settings
- AWACS: (yes) refining the grouping: header and footer, platform, tool x, tool y, ...,
- AWACS: (busy: Patrick) writing the code for the plugins so that the three arrays in claro_main.conf.php do no longer have to be touched
- AWACS: (perhaps later) integrate the languages code inside the settings.php code as the languages are in fact also an AWAC
- AWACS: (already agreed - only optional) default stylesheet & stylesheets that the user can select from (code almost identical as the languages part)
- AWACS: (yes: patrick) timeframe to count the online users (currently set to 30min in the code)
- (not necessary) api function for displaying the icons on the course homepage as this would allow matching the icons with the stylesheet. The different stylesheets are in a subfolder of the css folder (example: css/silverbullet). The api function for the icons would then check if there is a folder inside the img folder called silverbullet and then looks for the requested icon. If it is not found (folder or file) then the normal icon is used. This would allow us to match the stylesheets and the iconpacks of the extensions section.
- (yes) homepage: links in right menu (general) should be stored in database (text of link, url of link, open in new window: yes or no, show in logged in menu: yes or no, show in not logged in menu: yes or no). Als the possibilities to move the links up or down should be added. A small script can do all this. See http://www.dokeos.com/forum/viewtopic.php?t=3707 . This part should also be removed when it is invisible.
- homepage: it should be possible to remove / hide the notice box (maybe automatically when it is empty) -> AWAC http://www.dokeos.com/forum/viewtopic.php?t=3748
- homepage: it should be possible to remove / hide the categories
- bart: edit categories will be removed in edit course homepage
- (fckeditor, already decided) htmlarea or fck editor
- (yes) platform admin: notice if the install folder is still present.
- make the install folder more secure: http://www.dokeos.com/forum/viewtopic.php?t=4253
- extend course copy/backup/recycle
- (done in 1.6) include the various tool introduction texts
- (yes, dev: bart if there's enough time) include the groups and their settings
- include the users
api functions for importing / exporting. Currently in the user page you have Export as CSV-file and Export as XLS-file. Combine these in on export link. After clicking this link you should have radio buttons (in a normal_display_message) where you can choose the format you want to export to: csv, xls, xml, pdf, doc, ... Should we give the option that the user selects which information (s)he wants to export?
- (future) internationalisations for date, time, names, currency
- (yes) who's online with chat, Who's in course + chat
- (some code exists, bart, but no time) Course filler with dummy data (Lorem Ipsum...). Bmollet already has done some work for this.
- (future) a good single database mode according to Yannick's proposals
- (see others solved by using quickform) A notice if the form is required (like in the registration page). Currently this is pure html code but a simple api function would do the trick. Maybe this could also be used in the api functions that deal with the checking if the required fields are really not simple (thinking of an array that contains all the required fields, the api that displays the label for the fields also displays the asterisk when the label is for a required field)
/**
* This function displays the red asterisk which means that the field is required
* @todo api function to check if the required fields are really filled
* @author Patrick Cool
*/
function display_required_field()
{
echo '<span class="required">*</span>';
}
- (perhaps, we'll describe the quick hack to do it) Existe t-il un moyen de limiter la taille des fichiers graphiques (jpg, gif, png) upload�s ? http://www.dokeos.com/forum/viewtopic.php?p=19131#19131
- (perhaps, we'll describe the quick hack to do it) Peut - on �galement interdire l'upload de certains formats de fichiers (avi, mov, mp3 ....) ?http://www.dokeos.com/forum/viewtopic.php?p=19131#19131
- (yes) use of the phpmailer class throughout Dokeos
- (yes) use of the api functions throughout Dokeos. Several tools have not the correct API calls yet (Thinking of is_allowed_to_edit(), get_lang(), ...)
- (already discussed) Uniform form handling: take the input of the forms, check if all required fields are filled, do the cleaning (XSS), return them in a $_clean array
New tools, guaranteed developer time
Content Management System
- See wiki: Content management system
- See forum: CMS + portfolio
Developers: various developers will work on this (several names unknown right now). Roan, Frederik Questier, Bart Mollet...
User roles and rights
- clearly defined default user roles in Dokeos
- the ability to define new user roles and assign these roles to users
- the ability to define exactly what rights or permissions each role has
More info: see the User roles and rights and User Permissions page.
New tools, developer time uncertain
Book option
As an extension Examples of the book option 1: free source code http://www.pixytrix.com/myscrapbook/
forum: http://www.dokeos.com/forum/viewtopic.php?t=3681
Examples of the Moodle Book option 2: with a useful print option!!! http://moodle.org/download/modules/
A Book tool, there is working code for this that was sent to us by Rolf Bos (hacktor AT wanadoo.nl).
- Proposal (Roan): make this available as a plugin, not as a standard tool. A good print option however is desirable in the standard tools.
Lexicon, Glossary, Word List
As an extension
- A glossary or lexicon tool. (Moodle has one, so we could reuse the code since Moodle is GNU GPL too) (from the Dokeos French forum): Au passage je me demande s'il y a en cours de dvpt un outils transversal qui pourrait se nomer &amp;amp;quot;lexique&amp;amp;quot; ou &amp;amp;quot;glossaire&amp;amp;quot; et qui permattrait � chaque responsable de cours de pouvoir se cr�er un lexique sur lequel il pourrait renvoyer ses �tudiants ayant des soucis de vocabulaire.
http://www.dokeos.com/forum/viewtopic.php?t=3730
Link checker
No http://www.dokeos.com/forum/viewtopic.php?t=3677
Mass email
http://www.dokeos.com/forum/viewtopic.php?t=3731
Optional external email
As an extension Prefer: http://www.b1gmail.de/alte_downloads.htm - version 5 or http://hmailserver.com/?page=features B1GMail: http://www.b1gmail.de/index.htm
Personal messaging
For now, as an extension, in the future: we'll see Most schools have a low budget. Most of them want a Personal Messaging and not an external e-mail server. They want to use a built-in PM like in phpBB. Can also be useful for the admin as a helpdesk. Maybe with a selection box: urgent / help needed / question / error / etc...
forum: http://www.dokeos.com/forum/viewtopic.php?t=3679
Print option
Yes, we should have a good css for that.
To print only the displayed text and not the whole website... http://www.phpbb.com/phpBB/viewtopic.php?t=70751
Resource planning
As an extension
reservation and management of different resources like classrooms, IT material (video, dvd players, ...), ... http://mrbs.sourceforge.net/demo.html http://www.lpi.ac-poitiers.fr/grr_lpi/
RSS feeds
Currently as an extension, we'll see in the future
- Provide an RSS-feed in which a user can see all new items on his Dokeos-campus (see forum). Developers: Bmollet
Student Progress Report Manager
yes, Dokeos company Student Progress Report Manager: http://sourceforge.net/projects/prm/ http://www.dokeos.com/forum/viewtopic.php?t=3733
Upgrade tool
Interesting, but time? A tool that checks the web for new versions of dokeos and helps to upgrade. Incremental development:
- just notify admins of a new version (using rss from dokeos website)
- downloading and unzipping
- running certain functions in newly downloaded files to automatically upgrade: databases, folders, ...
- display news from Dokeos.com site (we can use existing rss parser)
Watch accounts
http://www.dokeos.com/forum/viewtopic.php?t=3682
Wiki
Good idea, later A good wiki connected with Dokeos. Ideas
- ideally there can be a unique wiki per course and per group
- the choice of wiki really matters. The Mediawiki (which powers the Wikipedia) is probably quite big, but looks very good, which is important. Pmwiki and Mediawiki have good printing support. Phpwiki is a classic and well supported.
- It is possible to use a subset of HtmlArea to generate simple WYSIWYG documents and save them in wikimarkup format. This would eliminate some problems with wikis, namely the fact that most are not WYSIWIG yet.
- In theory, we could have only one wiki for the whole of Dokeos, all courses and groups have their own pages. This is integrated in a very short time, but by default then there are no accessability settings preventing users to access wiki areas of courses / groups they don't belong to. Still, perhaps this is a better way to start developing. It's possible to add protection to these pages, e.g. blocking people not belonging to the right course or group.
Developers: none announced yet, but there are at least two core developers either integrating existing wiki software (pmwiki or mediawiki) or developing a wiki-like tool that uses html instead of wiki syntax.
Various
- the possibility to add polls / online questionary's / evaluation options. usually universities ask people to evaluate a course.
http://www.dokeos.com/forum/viewtopic.php?t=3680 Ugent already has a Poll tool that will be put online very soon. Hogent has a survey tool that will also be put online.
- plugin administration
- newsletter / mailinglist tool. With this tool it should be possible to send and e-mail to all users, to teachers only or to students only. Maybe the already existing platform messages can be extended in this direction?
- webmail possibilities. It should be possible to link an existing webmail application to dokeos. This probably needs a 'single sign on' application
- (yes, Univ. geneva has done this) single sign on
- Plone: http://plone.org/
- BBClone: http://bbclone.de/
- http://www.dokeos.com/forum/viewtopic.php?t=3618 - Leerlijn en nieuwe opties (dutch only)
Interoperability
Several people will work on more interoperability.
- (yes, as extension) A built-in Blackboard import tool (these tools exist now only as separate downloads). (This was suggested during our developer room at FOSDEM2005).
- Import / export of course information in XML format, not containing all course data but the course info like course code, title, teacher, faculty, ...
File Structure
For Dokeos 1.6, we already store all course folders neatly inside a courses folder instead of creating a disorganised mess with hundreds of course folders in the top level. For the next major version (1.7), I'd like some more cleaning:
- (yes) data folder in top level (same level as courses directory), this folder (and its subfolders) stores e.g. all the images the users upload as user pictures, perhaps also sql script to create "manually" the dokeos database.
- (yes) main folder, which holds the main Dokeos code
- plugin folder moved from inside main code folder to be in the top level, this will help separation between dokeos standard code and plugins
- There already is an archive folder, what exactly is the purpose of the main/garbage folder? Merge them, or move the garbage folder also to the top level because it does not belong in the code.
- documentation folder in top level, that holds installation guides, readmes,... in various languages
Database abstraction layer and API
This is a long term idea, very probably won't make it in the 1.7 We will gradually move to use PEAR:DB. Devs: Yannick will start, others will help
Discussion: do we want to switch to a more abstract database architecture? Advantages: we can use several databases with Dokeos, not just MySQL. We can migrate in small steps to easy the process and reduce the amount of bugs.
- Removing of all backticks in queries, since this is very MySQL-specific
- Researching what database abstraction techniques to use. See forum topics http://www.dokeos.com/forum/viewtopic.php?t=3389 and http://www.dokeos.com/forum/viewtopic.php?t=3399 mainly by user dardo.
- Currently there are hundreds of queries inside the code. Many of these are actually more or less the same queries with a few different parameters. We can refactor these hundreds to dozens of query functions with parameter options.
When talking about a database abstraction layer, we should certainly have a look at PEAR::DB (Database abstraction layer). Supported databases are fbsql, ibase, informix, msql, mssql, mysql, mysqli, oci8, odbc, pgsql, sqlite and sybase. Some other interesting PEAR-packages:
- DB_DataObject: An SQL Builder, Object Interface to Database Tables
- HTML_QuickForm: The PEAR::HTML_QuickForm package provides methods for creating, validating, processing HTML forms.
- HTML_Table: PEAR::HTML_Table makes the design of HTML tables easy, flexible, reusable and efficient.
- Pager: Data paging class
- Auth: Creating an authentication system (Claroline uses this package)
- see a complete list of all packages
Refactoring
There are a lot of scripts that could use some cleaning. If you want to help out have a look at the Refactoring page.
- All code should work without the fake register globals code. We're working on this, but it will probably not be complete in time for Dokeos 1.6. This is the type of thing we probably can put in Dokeos 1.6.1. (See related forum thread)
- filenames: rename claro_init_banner to banner.inc.php, claro_main_conf.inc.php to main_conf.inc.php...
- change the code so in arrays representing a course, a user,... the same keys are used as the corresponding field names in the database. For example, now sometimes $course['path'], $course['directory'], $course['dir'] are used. It should be $course['directory'].
- replace occurrences of $_course['dbNameGlu']."table_name" with Database::get_course_table(TABLE_NAME_CONSTANT)
- replace occurrences of $mainDbName."table_name" with Database::get_main_table(MAIN_TABLE_CONSTANT)
- replace occurrences of $siteName with get_setting('siteName'). Same for $Institution, $InstitutionURL, $emailAdministrator, $administratorSurname, $administratorName
- delete all occurrences of bgcolor="#XXXXXX" in the code (and replace them by a good css alternative)
- replace include(....claro_init_header.inc.php) with Display::display_header($tool_name)
- use $_clean array that contains the forms. This array would only contain 'cleaned' content (according to the cleaning rules of the form itself): kses cleaned, mysql_real_escape_string, ... This array would then be the only one that could be used in all sql statements. (see also Security)
- become PHP5 compliant for 1.7 (low priority but still a good thing). UGent is already running http://zephyr.UGent.be on PHP5. Only minor problems so far.
Developers: several
Developer organisation and documentation
- For interested users/developers: automatic sending of an email when a cvs commit occurs, this functionality is possible on SourceForge, see https://sourceforge.net/docman/display_doc.php?docid=772&amp;amp;amp;group_id=1 (requested by rneefs via the forum)
- Automatically updated developer documentation on a public website, generated by PhpDocumentor
- manual on wiki. This can be a starting point to create user/teacher manuals (in whatever format) that can be downloaded on the dokeos.com site
Dokeos.com
- a detailed feature list. If possible illustrated with screenshots
- case study / good practice: an example course that illustrates good use of the dokeos software.
- A tutorial how to create a good course using Dokeos (using the case study / good practice from above)
- comparison to other Course Management systems (moodle, claroline, atutor, ...) using the feature list
Plugins (aka extensions)
- A webpage on the dokeos.com website, and also on sourceforge, where people can download plugins. Also a few pointers to the wiki pages with plugin documentation. Optional improvement: a rating system where people can rank a certain plugin. - This is already available: http://www.dokeos.com/extensions/
- Extend the plugin system to allow tool extensions in a course or group
- ability to define the scope of a plugin tool
- ability to set the accessability /visibility of tool plugins just like the regular tools
- Do we add the extensions to the CVS (which CVS?)? E.g. a http://sourceforge.net/projects/dokeosplugins project)
- Do we add the language variables to a DLTT ?
- Easy plugin installation (code = WIP): http://www.dokeos.com/forum/viewtopic.php?t=4922
- Adding a new tool to a course should be as easy as possible (code = WIP): http://www.dokeos.com/forum/viewtopic.php?t=4923
Dokeos advocacy
- A webpage listing all available resources for people who want to promote Dokeos: links to screenshots, presentations, feature lists and roadmaps, brochures, what our vision is, and perhaps the ability to order a cd-rom + infobooklet.
- we started such a page here on the wiki: Dokeos Promotion Material
- extend the http://www.dokeos.com/community.php page with some numbers (# users, # courses, ...)
- write a good text that fully explains what dokeos is and does. This text can then be used to post on the various php script sites like
Documentation
- Missing developer documentation that would be really useful: API and database description of documents tool, item_property table.
- student and teacher documentation on this wiki. Start with a complete and good English version first and then let the DLTT community help with translating in different languages. Current manuals are simply out of date and no longer usefull
Other
- An easter egg somewhere in the code...
- change the field 'auth_source' of the main user table to contain 'dokeos' by default

