|
August 6 - August 10
This week I continued working on the drag and drop side of wiEGO (the new project name), as well as finish up my ethics
final project plan, and timeline of deadlines. After my drag and drop was finished, I worked on adding in new wiki sections, links and pages,
as well as deleting wiki sections that currently exist (my target audience should not be able to delete pages so I did not implement
page deletion capabilities). The external Mediawiki modifications took me most of the week because I had to figure out how things were normally
created or updated, and then write some very generic functions that would restrict most user behavior, keep our security in check as well
as fulfill the users needs. In the end I decided that the user will create a whole graph or delete a whole bunch of nodes, and then
the program will perform all of their actions at once, instead of notifying the user after each one has been completed. I will have to see if this
approach is worth while.
August 13 - August 17
My primary focus this week was to assist my interns in finishing up their projects (course planner
applet and user behavior applet) so that they would be ready to demonstrate at their celebrations
of learning. This involved assisting with paper creation and poster creation, as well as performing last
minute changes each of their projects. After I finished this (Thursday), I was able to finally start working on
the external authentication with Mediawiki and Moodle. After much research, I have realized that the most obvious solution
to the Mediawiki/Moodle issue would be to use the same mySQL database table to store the user information so both apps can
access and modify them without having to make extra SQL queries to update or replace values in both databases. I have decide that I will
try to copy the Mediawiki database into the Moodle one and then merge the user tables, this way Mediawiki will be able to reference
other tables and thus decrease the number of duplicate calls (just like with the user table). I can foresee only one major issue
with this approach, and that is the fact that both user passwords (Mediawiki and Moodle) are hashed slightly differently, so I will have
to determine which password encryption is the best, and use that one in the table merging of the passwords (the user names, emails and ids can be easily
changed, but the passwords are stored as binary values that cannot be easily changed. After this is done, I think I am going
to try and create an external authentication module that will allow a user to login to Moodle and then Moodle will subsequently
log them into Mediawiki. As of right now I think I will use the php get variables and see what happens. After I have completed this authentication, I will have
to come up with a markup to use on wiki pages that are apart of the same graph, or if a page corresponds to a whole graph and then
output the correct data based on this and notify the applet when a change has been made (threads?).
August 20 - August 24
This week I was on vacation with my family, so i spent a large portion of the
week reviewing papers and trying to determine the best way to do my external
authentication. I realized that external authentication module was not as
hard as I previously thought so I had it completed rather quickly. To solve
the problem, I rewrote a section of the wiki that handles the user login. As
soon as the user clicks on a page link in Moodle, it will go to the hidden
login (the user never sees this) which logs them in using the username they
had in Moodle, and are redirected to the page they clicked on. In doing this
the user will only see the source page and the page they clicked on, it will
cut down on the confusion of the user. While it took awhile to develop the
idea, it did not take long to implement and works better than I expected.
August 27 - August 31
This week I got a lot accomplished. I implemented a spellchecker for the wiki,
got the Moodle recent changes module working (shows the user the changes that
have occurred on the wiki since they have last logged into the Moodle), and
added in a bunch of group assignment and page assignment extensions. The
extensions allow a teacher to restrict what pages a user can view, edit and
move and also allow the users to assign their pages to different graphs so
that EGO can render them. Until some NLP is implemented, the user will have
to manually assign the pages to graphs. Lastly I am building a project
creator section of the wiki that will allow a teacher to create specific
project areas for a subset of groups. For instance, if I am teaching social
studies 7, and I have two different group projects, one on brazil and
another later on in the term on history, I would want to create different
groups and group areas based on the project requirements (ie. timelines,
calendars, report pages, revisions may or my not be needed for each project).
wiEGO will allow for this flexibility. Lastly, I will be completing my final
report for CDMP and submitting it, along with this website on Sunday.
|