Вы находитесь на странице: 1из 10

Technical Design

Contents
Introduction........................................................................................................... 2
Web Structure........................................................................................................ 2
Hierarchy............................................................................................................ 2
Navigation.......................................................................................................... 2
Page Descriptions.................................................................................................. 3
General Details................................................................................................... 3
Page Detail......................................................................................................... 3
1. Login............................................................................................................ 3
2. Dashboard................................................................................................... 3
3. Portfolios..................................................................................................... 3
4. Plans............................................................................................................ 3
5. Résumé....................................................................................................... 4
6. Journals........................................................................................................ 4
7. Files............................................................................................................. 4
8. Manage Memberships..................................................................................4
9. Export Portfolio............................................................................................ 4
10. Profile........................................................................................................ 5
11. Inbox......................................................................................................... 5
12. Settings..................................................................................................... 5
13. Add Member.............................................................................................. 5
14. Institutions................................................................................................. 5
15. Add Institution........................................................................................... 6
16. Pending Registrations................................................................................6
17. Pending Deletions...................................................................................... 6
18. Site Options............................................................................................... 6
19. Static Pages............................................................................................... 6
Database............................................................................................................... 7
Mahara Configuration............................................................................................ 7
Student/Teacher Use-Cases................................................................................7
Administrator Use-Cases.................................................................................... 8
Sample Data.......................................................................................................... 9
Create User......................................................................................................... 9
Create Institution................................................................................................ 9
Uploading Work................................................................................................ 10
Exporting Work................................................................................................. 10

Introduction
I am designing a student e-portfolio using the open-source platform “Mahara”. It
is aimed at home-schooled Christian children, with an emphasis on life-long
learning, it will not only be a place for children to form a good base for academic
skills but also their life skills as well.
This document will be used to go deeper into the proposed system, it will
address the structure of the website, what each page does according to the set
of use-cases set forth at the start of the project, it will address Maharas’
configuration and finally provide you with some sample data of actual use-cases.

Web Structure
The website will have quite a wide structure as opposed to a deep one. All of the
functionality will be available from the navigation menu at the top of each
screen, the dashboard is used more of an update centre where the user can see
any material that requires their attention, for example, any new messages from
members, or any new comments on their portfolio work.

Hierarchy
As mentioned above, the hierarchy of this site is very wide to the amount of
functionality requested by the client, it will be quite shallow in its’ depth,
however.

Navigation
Mahara is very limited in its’ navigation and seems to be that each website the
form of navigation is the same, originally I was thinking of redesigning the
template for the navigation, however, due to it already being very convenient
and easy to use, I did not see much use in going through with this idea.
The navigation on Mahara sites are consistent across all pages, each page will be
accessible from a horizontal navigation bar located at the top of each screen,
these will contain categories with some subsequent sub-categories with each
piece of functionality within. When an administrator is logged in there will be an
additional menu on the navigation bar, this will be housing all the admin
functionality such as the ability to add users and change the appearance of the
website. The user will be kept up-to-date with their current location with headers
on each page, if they go deeper into a certain page the current sub-page title will
also appear on the header.
Page Descriptions
This section will describe each page in its’ use, it will address the information
present on the page, how it is generated, if it can direct the user to other parts of
the website outside the typical navigation and finally, anything else worth noting.

General Details
To avoid repeating any reoccurring details, this section will be the home to any
that are consistent across the website.
Each page in a Mahara website is generated through PHP which is fetching an
appropriate HTML template. These templates are stored within the website
source directory and can be changed if necessary.
Each page will also generate relevant tutorial information in the form of an
information box, this is changeable by administrators with relevant permissions
and is brought in from a database.

Page Detail
1. Login
• Page Information: This page provides the user with information on how
to log-in, as well as provide unregistered users with information on how
they can obtain an account.
• Page Generation: None.
• Page Links: There will be a link to recover a lost username or password,
there will also be a link to the main CEEP gateway website.
• Anything Else: Users cannot register from this page.

2. Dashboard
• Page Information: This page provides the user with notifications and up-
to-date information from their profile, for example, if they have a new
comment on a piece of work. It is also the location of the google calendar
should the user decide to install it on their account.
• Page Generation: The google calendar will be generated using Maharas’
‘Google Apps’ widget. Any notifications will be generated from a database
and will be removed when the user has acted on them.
• Page Links: None.
• Anything Else: None.

3. Portfolios
• Page Information: This page is where all the users’ portfolios will be
stored, they can also add new collections of work from here as well.
• Page Generation: The portfolios will be generated from previously saved
work that will be accessed using a file-store.
• Page Links: Links to add a new piece of work, and links to each portfolio.
• Anything Else: Teachers and admins can add comments to students
portfolios, this is how students will be graded on their work as well as how
they receive feedback.

4. Plans
• Page Information: This page is where all the users’ plans can be made
and saved, it can be a good place to come up with lesson plans.
• Page Generation: The plans will be brought in from a database.
• Page Links: Links to add a new plan and access each previously saved
one.
• Anything Else: None.

5. Résumé
• Page Information: This is a place where users can design a résumé, it
will have separate pre-set sections to enter information on. The page will
also have a space for a cover letter to be uploaded.
• Page Generation: The page will bring in the saved data from a database.
• Page Links: There will be links that lead to each part of the résumé, for
example, a link that leads to “education”, it will also have a link that leads
to the cover letter which you can edit.
• Anything Else: None.

6. Journals
• Page Information: This page will be an interactive journal where the
user can create new entries and edit old ones. There will also be an
additional settings menu here where the user can change certain aspects
of their journal, like the title for example.
• Page Generation: The page will bring in the saved journals from a
database.
• Page Links: There will be links that lead to each journal entry as well as
one to add a new entry, there is also a link that goes to the journal
settings.
• Anything Else: None.

7. Files
• Page Information: This area will be where users can upload any files to
their online file-store, it can be text documents or images.
• Page Generation: The page will bring in the saved files from the online
file-store and feed it back to the user.
• Page Links: This page will have download links for individual files, or they
can choose to download everything in a .zip file.
• Anything Else: Will contain text fields for things such as the licensing
rights to the uploaded file, which the user much fill out.

8. Manage Memberships
• Page Information: This area will be a place where users can apply to be
members of a certain institution, they will need to be accepted by the
administrators of that institution.
• Page Generation: The page will bring in the institutions you are a
member of from a database. It will also show any institutions that allow
“self-registrations”.
• Page Links: None.
• Anything Else: Will have a button to leave an institution.

9. Export Portfolio
• Page Information: Here the users can export their portfolios to a more
readable format. It will give the user a choice of what to export, as well as
how to export it (PDF by default). You can choose to include any
comments left by your peers or teachers.
• Page Generation: Static HTML with a form.
• Page Links: None.
• Anything Else: Will automatically redirect the user to their portfolio after
it is exported.

10. Profile
• Page Information: This is where the users’ profile is kept, it will have
information such as their name, student ID their preferred names. It will
have space for a brief introduction. It will also have sub-links leading to
other parts of their profile, specifically, contact information, social media
information and general information.
• Page Generation: Static HTML with a form.
• Page Links: None.
• Anything Else: Admins will be able to edit, remove users and suspend
them from their respective profile pages.

11. Inbox
• Page Information: This is the inbox which contains any messages the
user has been sent. It also houses any system notifications, such as
membership request decisions.
• Page Generation: The emails will be taken from the mail server that I
end up using.
• Page Links: There will be links to each email, as well as links to different
parts of the inbox, such as the “sent” box and “compose an email”.
• Anything Else: None.

12. Settings
• Page Information: This page will contain a lot of different preference
options; it will be a place for users to customize their experience easily.
They can also change some aspects of their profile, for example, their
username and password
• Page Generation: Information such as the username will be auto-filled
out with data brought in from a database, the rest will be HTML forms with
mostly static data and a radio button.
• Page Links: None.
• Anything Else: You can also choose to delete your account from this
page.

13. Add Member


• Page Information: This page will contain the form used to add a new
member to the website. It will contain several input fields that will be
required by the admin, these include things like the users’ first and last
name, a password and email.
• Page Generation: There will be an “institution” drop-down box that is
used to put the member into a registered institution, these will be brought
in from the database.
• Page Links: None.
• Anything Else: None.

14. Institutions
• Page Information: This page will list all the currently registered
institutions (different schools/homes), members can be added and
removed from these.
• Page Generation: The list of institutions will be generated from the
database.
• Page Links: Links to add a new institution and edit pre-existing ones.
• Anything Else: Will be a search bar present at the top to search for
specific institutions.

15. Add Institution


• Page Information: This will contain the forms needed to create and
register a new institution.
• Page Generation: There will just be static data on this page with noting
generated from the database or elsewhere.
• Page Links: None.
• Anything Else: None.

16. Pending Registrations


• Page Information: This page will contain a list of all the currently active
registration requests from users to join an institution, you can filter join
requests by an institution as well via a drop-down list. Upon either being
accepted or rejected they will receive an email notification to inform them
of the decision.
• Page Generation: Both the list of registration requests and the list of
institutions will be generated from the database.
• Page Links: None.
• Anything Else: None.

17. Pending Deletions


• Page Information: This page works the same as page 16, instead of
listing a list of registration requests it will be a list of students wishing to
leave their currently registered institutions.
• Page Generation: Both the list of deletion requests and the list of
institutions will be generated from the database.
• Page Links: None.
• Anything Else: None.

18. Site Options


• Page Information: This page will hold a variety of different site options
that change the way the site will work.
• Page Generation: The page will be split into sections, such as
notification settings, privacy settings, etc. Each sub-heading will contain
several controls that affect that category.
• Page Links: None.
• Anything Else: Far too many options too viably list here.

19. Static Pages


• Page Information: This page enables the administrator to control the
static content on any of the pages.
• Page Generation: The pages will be brought up in a drop-down box
which will be fed from the database, each time a user clicks on a page, an
HTML edit text box will appear with the current data on the page, which
can be edited, deleted or added to.
• Page Links: None.
• Anything Else: None.
Database
This project will be using a Postgres database, however, there is very little to
report on this because Mahara configures the database upon installation of the
CMS. Down to the fact that there is little to talk about in the actual configuring of
the database, this report will put more focus on the configuration of the CMS to
support the use-cases.

Mahara Configuration
This section will address how I will need to configure Mahara to support the use-
cases outlined in my business analysis document. As a reminder for this they will
be listed below (slightly streamlined and changed):

Student/Teacher Use-Cases
• Search the site – Mahara ships with search functionality present and
such there is no further configuration required.
• Adjust various website settings (profile, username, password,
theme, etc) – Most of this functionality is present already such as the
ability to edit profiles. However, changing theme requires some
configuration in the CMS’ PHP to be enabled. Once enabled, users will be
able to change certain elements of the theme. They can also be provided
with custom themes which will need to be built before the service ships.
• Access and enter in a calendar – To use Google apps on this CMS they
need to be added by the user, they cannot be forced to appear on the
dashboard. To do this they will be provided with a set of instructions to set
the calendar up, however, there is no functionality within Googles’
calendar to edit it unless you log into the Google service directly.
• View tutorial boxes next to website features – The tutorial boxes are
a support feature of Mahara and as such, they can be configured and
changed.
• Score work and enter appropriate comments on pieces of work –
Both students and teachers will be able to score work and provide
comments on it, this will be done through the services “Pages and
collections” feature, which is essentially how new pieces of work will be
added to the portfolio. Privacy is also a big concern with this piece of
functionality and so users will be able to make their comments private will
I’m sure will be encouraged by the institution staff.
• Save and Edit work – Users will be able to upload work directly from files
on their system, which can be added to their collection to be saved and
edited later on if required, they will do this by downloading the work they
wish to edit, and re-upload the fixed version.
• Hide sections of a portfolio – Hiding parts of the portfolio will be
enabled, this will include both works produced, and the ability to hide the
profile completely.
• Export the portfolio – Exporting the portfolio can be done either in an
HTML format which provides a link to the produced work or in a PDF
format which can be downloaded and saved. When exporting work, the
CMS will be configured so the user can choose if they wish to export the
entire portfolio or only certain sections of it.
• Communicate with users on the site – This will be done by setting up
a mail transport system such as Exim or Sendmail. Failing this it can also
be done by specifying an outgoing SMTP mail server in the PHP
configuration file. As well as setting up the mail transport system, I will
also need to set up a cron job to ensure the RSS feeds and mail system
run correctly. Mahara supports a default cron job that simply needs to be
set up which runs every minute.
• Access old work via an archive – Mahara does support archiving old
work, however, as far as I can work out, this requires the use of an LMS
(Learning Management System) which will integrate with Mahara. For now,
however, the ability to “hide” old work from everyone apart from yourself
will be a good starting point.
• Edit student access rights (turn off certain features) * - Mahara
does not support the ability to partially change users’ access rights, you
can in the event of wanting to change staff or admins rights do so by
changing their user level administrator -> staff, or staff -> administrator,
for example
* Teacher Use-Case Only
I have decided to streamline the student and teacher use-cases because the
client wishes them to be the same in their use-cases, the only difference here is
that a teacher can edit access rights (which is impossible to do in Mahara).

Administrator Use-Cases
• Edit tutorials – Mahara does provide help boxes around the site, with
information on its’ use. However, it does not support the ability to edit this
information. There may be some configuration to be done at a lower level,
in the websites code base.
• Add or remove accounts – This is supported by default in the CMS,
however, it would be nice to configure the user accounts that have access
to this. For example, it would be preferable to allow teaching staff, to
remove pupils from their institutions, without having to go through a
system administrator.
• Change website settings on a lower level (privacy setting, etc) –
Administrators will be set up to be allowed to change almost any aspect of
the website, there will be additional configuration on the security of the
website to ensure it is as safe as possible. This will include checking all
uploaded files for viruses using ClamAV, I will also be using DNSBL to
check URLs making sure they’re safe.
• Create and edit static web pages – All of the static web pages in
Mahara can be edited.
• Increase student upload limit – Supported out of the box.
• Manage functionality in both student and teacher accounts – As
reported above there is no real functionality to alter the user groups in
Mahara, there are several types each with their respective permissions,
admins will be given the ability to alter account types, such as user to an
admin and so forth.
Sample Data
Because the tables are created automatically within the database upon
installation of Mahara onto a server, there is very little speculation as to what
sort of data would be present, because I can see the make-up of the tables.
However, I will speculate and think of data that may be required when using the
system.

Create User
This is fairly straight forward to think about, here we will need basic data on
users, this will be:
• First name
• Last name
• Username
• Password
• Email
• Student ID
• Account Type
We can also begin to think about how users will interact with the system, this will
affect their relationship with other data. We have institutions in our system each
housing 0 or many students, it is reasonable to assume, that if a student account
is a member of an institution they will have some relation maybe in a “Student
ID” foreign key.

Create Institution
Here we can start to think about the basic data needed to create a new
institution:
• Name
• Date established
• Owner
• Logo
• Registration Allowed
This is fairly straight forward, we have a name of the institution, the date it was
created, the owner, whether students can register for it right now, and finally a
personalized logo.
I expect that this is a huge under sight to how much data will actually be
required to create a new institution, but it is a good start.
Uploading Work
This is data for a piece of work being uploaded to the system:
• Work title
• Time
• Resource link
• Archived
• Locked
Here we have the works title that the student or teacher gave it when uploaded,
the time they uploaded, a link to the work, whether or not the piece of work is
currently archived and finally, if the work is locked and can no longer be edited.

Exporting Work
When a piece of work is exported as a full portfolio, this is the data that may be
used:
• User name
• File names
• Link
• Export time
• Title
• File Path
The paths and link are the important ones here, when work is exported it will be
done one of two ways, either in HTML or PDF format, the link key will be the link
to the URL and the file path, the path to the PDF.
This has been a very small sample of potential data needed for some of the key
use-cases within the system.

Вам также может понравиться