first commit
This commit is contained in:
BIN
CS2335/lab5/Lab_Files/Lab5_ScreenShot.gif
Normal file
BIN
CS2335/lab5/Lab_Files/Lab5_ScreenShot.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.5 KiB |
65
CS2335/lab5/Lab_Files/README.txt
Normal file
65
CS2335/lab5/Lab_Files/README.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
CS2335 - Spring 2004 Lab 5 - NetTxt Xtreme
|
||||
=============================================================================
|
||||
README
|
||||
=============================================================================
|
||||
DIRECTIONS:
|
||||
This form must be filled out and submitted with the rest of your files for
|
||||
this lab. For each item replace the underscore characters ('_') with the
|
||||
proper information. If you need more lines than those shown, feel free to
|
||||
add them.
|
||||
=============================================================================
|
||||
|
||||
1. Team Members:
|
||||
Name: __________________________
|
||||
GTNum: gt_____
|
||||
|
||||
Name: __________________________
|
||||
GTNum: gt_____
|
||||
|
||||
Name: __________________________
|
||||
GTNum: gt_____
|
||||
|
||||
Name: __________________________
|
||||
GTNum: gt_____
|
||||
|
||||
2. Compilation Instructions:
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
3. Instructions for Running the Program:
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
4. Known Bugs:
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
5. Extra Credit Attempted & Name of TA Who Approved If Not From
|
||||
Lab File:
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
6. Testing/Development Environments (Include OS):
|
||||
[REMINDER: This lab will be graded on the RedHat systems in
|
||||
the States Lab.]
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
7. Comments:
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
____________________________________________________________
|
||||
|
||||
358
CS2335/lab5/Lab_Files/lab5.html
Normal file
358
CS2335/lab5/Lab_Files/lab5.html
Normal file
@@ -0,0 +1,358 @@
|
||||
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><TITLE>Lab 5. NetTxt Xtreme (Lab Only)</TITLE><link rel="stylesheet" href="http://www.cc.gatech.edu/classes/AY2003/cs2335_spring/labs/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.59.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><h2 class="title"><a name="id2748662"></a>Chapter<EFBFBD>5.<2E>
|
||||
NetTxt Xtreme -- A networked text editor.
|
||||
</h2></div><div><div class="author"><h3 class="author">Andrew Pilsch</h3></div></div><div><div class="author"><h3 class="author">Hemal Shah</h3></div></div><div><div class="author"><h3 class="author">Ryan Seekely</h3></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 1.1</td><td align="left">2004.02.12</td><td align="left">JC4</td></tr><tr><td align="left" colspan="3">Revisions made, image added.</td></tr><tr><td align="left">Revision 1.0</td><td align="left">2004.02.07</td><td align="left">ATP</td></tr><tr><td align="left" colspan="3">Initial Draft of the Lab</td></tr></table></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="lab5.html#id2792118">1. Introduction</a></dt><dd><dl><dt><a href="lab5.html#id2792123">1.1. Overview of NetTxt Xtreme</a></dt><dt><a href="lab5.html#id2792150">1.2. User Story</a></dt><dt><a href="lab5.html#id2792225">1.3. A Screen Shot</a></dt></dl></dd><dt><a href="lab5.html#id2792260">2. Requirements</a></dt><dd><dl><dt><a href="lab5.html#id2792266">2.1. Locking Mechanism and Sections</a></dt><dt><a href="lab5.html#id2792358">2.2. Server Responsibilities</a></dt><dt><a href="lab5.html#id2791919">2.3. Chat System</a></dt><dt><a href="lab5.html#id2791957">2.4. Client Editing </a></dt><dt><a href="lab5.html#id2792769">2.5. More on Updating Sections</a></dt><dt><a href="lab5.html#id2792386">2.6. File Importing (and New Document Creation)</a></dt><dt><a href="lab5.html#id2792450">2.7. File Exporting</a></dt></dl></dd><dt><a href="lab5.html#id2792483">3. Deliverables</a></dt><dt><a href="lab5.html#id2793448">4. Extra Credit</a></dt></dl></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="http://www.cc.gatech.edu/classes/AY2003/cs2335_spring/labs/images/warning.png"></td><th align="left">Warning</th></tr><tr><td colspan="2" align="left" valign="top"><p>
|
||||
This lab is due on WebCT before 2004.02.27 08:00
|
||||
<span class="emphasis"><em>(that means turn it in no later than 7:59am)</em></span>
|
||||
</p><p>
|
||||
*** DO NOT WAIT UNTIL THE LAST MINUTE TO SUBMIT YOUR ASSIGNMENT ***
|
||||
</p></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="id2792118"></a>1. Introduction</h2></div></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792123"></a>1.1. Overview of NetTxt Xtreme</h3></div></div><p>
|
||||
NetTxt Xtreme is a collaborative, on-line text editing
|
||||
community. It is a system whereby multiple, distributed users
|
||||
can open and collaboratively edit documents using the power of
|
||||
cyberspace. </p><p>
|
||||
NetTxt Xtreme will be significantly more advanced than previous
|
||||
assignments, but build on many of the same concepts. There are
|
||||
many requirements, so read carefully. We do not constrain the
|
||||
design of your system, only the functionality requirements that
|
||||
<span class="emphasis"><em>must</em></span> be met.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792150"></a>1.2. User Story</h3></div></div><p>
|
||||
Joe User logs into the system. Joe finds himself in the Global
|
||||
chat room for the entire system. By browsing the server's list of
|
||||
collaborative files and chatting with his peers, he can ascertain what
|
||||
file he would like to edit.</p><p>After Joe User has selected a file, he chooses that file from
|
||||
the community file browser. Joe can also choose to create a new file
|
||||
that the community can work on. Today, though, Joe would like to work
|
||||
on an already existing file. When he connects to the file he wants to
|
||||
edit, he then sees a list of the various editable sections of that
|
||||
document. (Think of sections as being analogous to chapters in a
|
||||
novel.) Joe can chose to create a new section for a document or edit
|
||||
a section that is not already locked. Joe choses to edit a section of
|
||||
the document that is not already in use.</p><p>The server notes that Joe has locked that section of the file
|
||||
and tells Joe's client to display a text editor for that section.
|
||||
When Joe is done editing his section, he can click "save" and the
|
||||
changes he made will be committed to the system.</p><p>Jane User, Joe's long-lost cousin, is also editing Joe's
|
||||
document. She notices Joe is editing a section and that he has been
|
||||
doing so for over an hour. She tells the client that she would like
|
||||
to see the current state of Joe's section. The server then grabs
|
||||
Joe's section out of his editor window and updates Jane's local
|
||||
display. Jane likes what Joe has done and decides to create a local
|
||||
copy of the entire document. Jane types Joe a compliment on his work
|
||||
that Joe sees in his local file chat-room. She tells her client that
|
||||
she would like to export a copy to her system. The client then
|
||||
creates a copy of the document on her system from what she has, and
|
||||
Jane reads through it using her HTML web browser.</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792225"></a>1.3. A Screen Shot</h3></div></div><p>
|
||||
Here is a <span class="bold"><b>simplified</b></span> version of what
|
||||
the client's editing window <span class="bold"><b>might</b></span>
|
||||
look like. Your final version will differ significantly.
|
||||
</p><div align="center"><img src="./Lab5_ScreenShot.gif" align="middle"></div></div></div><div class="section" lang="en"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="id2792260"></a>2. Requirements</h2></div></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792266"></a>2.1. Locking Mechanism and Sections</h3></div></div><p>
|
||||
Each file that is being worked on should be divided into
|
||||
sections that may be edited by the user. Only one user may
|
||||
work on a particular section at any given time, and that
|
||||
section should be considered locked until released by said
|
||||
user. A user, however, may work on more than one section at
|
||||
a time, and it is the server's responsibility to track which
|
||||
sections are locked (by whom) and allowed to be edited.
|
||||
Sections are not required to be embedded. In other words, a
|
||||
section does not need to have the ability to contain other
|
||||
sections (this is an extra credit opportunity, however).
|
||||
</p><p>
|
||||
When a new document is started, it is assumed that there are no
|
||||
existing sections. A user's client should have the ability to
|
||||
both create new sections, and edit existing, non-locked sections.
|
||||
A section should have the following attributes:
|
||||
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc">
|
||||
A <span class="bold"><b>unique key</b></span> that identifies
|
||||
the section <span class="emphasis"><em>(The key may be just a simple ID number
|
||||
or a text string of the section name -- it's up to
|
||||
you.)</em></span></li><li style="list-style-type: disc">
|
||||
A <span class="bold"><b>position</b></span> which indicates
|
||||
the order the sections should appear on the client view. The
|
||||
position of a section may be changed, but no two sections
|
||||
should ever share the same position.
|
||||
</li><li style="list-style-type: disc">
|
||||
The <span class="bold"><b>current user</b></span> (if any) that
|
||||
has the section locked, to prevent others from editing it.
|
||||
</li><li style="list-style-type: disc">
|
||||
A <span class="bold"><b>time-stamp</b></span> which displays
|
||||
the length of time since the section has gone unedited (e.g.
|
||||
"this section un-edited for 2 days, 3 hours, 27 minutes"), or
|
||||
the time the section has been locked by a user (e.g. "this
|
||||
section locked by 'TxtWiz37' for 18 minutes"), depending on
|
||||
the appropriate situation.
|
||||
</li></ul></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792358"></a>2.2. Server Responsibilities</h3></div></div><p>
|
||||
The Server must be multi-threaded and connect multiple users as always.
|
||||
The Server must first accept connections and then login users by
|
||||
letting the client choose a handle/screen-name which the Server ensures
|
||||
is unique (otherwise, the client must re-prompt). Chat room functionality
|
||||
will be handled by the Server as well.
|
||||
</p><p>
|
||||
The Server will handle all files for NetTxt Xtreme. It will manage
|
||||
the updates/posts to a document, creation of a new document, and
|
||||
receive files from the client which the Server will then import
|
||||
into NetTxt Xtreme section format. The Server will also provide
|
||||
the client with a list of all available files and those that are
|
||||
currently open by other users. The Server will also save
|
||||
open files to its local file system with the latest updates it
|
||||
has either on an unlocking of a section or by client request.
|
||||
</p><p>
|
||||
The server must have a graceful way of exiting (one possible way
|
||||
would be to have a GUI console that pops up while the server is
|
||||
running that has a "disconnect server" button). When the server
|
||||
exits it needs to save a current copy of the file on the server
|
||||
(in a pre-determined location).
|
||||
</p><p>
|
||||
<span class="bold"><b>Suggestion:</b></span> If you have a GUI
|
||||
"console" that controls the server, you may wish to use it to
|
||||
permit the user to choose which port the server uses and
|
||||
the location where the files are to be saved (remember to
|
||||
include reasonable default values for these).
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2791919"></a>2.3. Chat System</h3></div></div><p>
|
||||
The chat system for NetTxt Xtreme is vital to the collaborative
|
||||
effort. The chat system required will be of the global and chat
|
||||
room style.
|
||||
</p><p>
|
||||
All users, from the time they are logged in to the server to the
|
||||
time they disconnect, will have a unique handle/scree-name and
|
||||
will join the global chat room. The UI should provide a list of
|
||||
all users currently in the global chat room and allow for chat
|
||||
room messaging.
|
||||
</p><p>
|
||||
When a user opens a particular file or creates one, that user
|
||||
enters a new chat room with all other users currently working
|
||||
on that particular file. The UI should provide a list of all
|
||||
users currently working on that file and allow for chat room
|
||||
messaging in an area separate from the global chat room.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2791957"></a>2.4. Client Editing </h3></div></div><p>
|
||||
Upon joining a server and choosing a document to work on, a client should
|
||||
have the ability to create a new section to work on, or editing any existing
|
||||
section. Either selection (assuming the selected section was unlocked or new)
|
||||
should bring up an editing window which allows the user to edit the contents
|
||||
of a section. The section should be considered locked by the server, and no
|
||||
other clients should be allowed editing capabilities to the section until the
|
||||
locking user releases the section. If a user attempts to lock/edit an already
|
||||
locked section, an indication should be made to the client that the section
|
||||
is currently locked and NO editing window should be presented.
|
||||
</p><p>
|
||||
When working on a section, the user should have the capability to Post the
|
||||
changes the user has made, which would tell the server to accept the changes
|
||||
made by the user and then update all of the currently connected clients.
|
||||
The user should be allowed to continue working on the section until he chooses
|
||||
to Release the section. A Release would perform the operation of a Post and
|
||||
unlock the section to allow other users to edit it. A client should also be able
|
||||
to unlock the section disregarding any changes that may have been made.
|
||||
</p><p>
|
||||
The client should have the following editing capabilities <span class="emphasis"><em>(These should
|
||||
be able to be applied by the user by highlighting a section of text and clicking
|
||||
the appropriate icon -- much like other editing programs)</em></span>:
|
||||
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc">
|
||||
The ability to bold, italic, or underline any specified text in a section
|
||||
</li><li style="list-style-type: disc">
|
||||
Multiple fonts
|
||||
</li><li style="list-style-type: disc">
|
||||
Colorized text with a full array of colors
|
||||
</li><li style="list-style-type: disc">
|
||||
Alignment of text, such as Center, Left or Right
|
||||
</li><li style="list-style-type: disc">
|
||||
Different font sizes
|
||||
</li></ul></div><p>
|
||||
As you can tell, the requirements resemble those that are already easily
|
||||
supported by HTML, and we once again highly recommend using HTML with the
|
||||
combination of multiple JEditPanes. Although, the editing window does not
|
||||
need to support a rendered view and may just show the HTML tags in conjunction
|
||||
with the text for the user to edit.
|
||||
</p><p>
|
||||
The client should at all times display the most updated version (since
|
||||
that particular client updated last) of the document, fully rendered (i.e.
|
||||
if you are using HTML, no bold tags should be displayed, but rather the text
|
||||
should be <span class="emphasis"><em> bold'ed </em></span>). The view should obey the order
|
||||
specified by each sections position.
|
||||
</p><p>
|
||||
Remember as well, the client should be allowed to request updates on any
|
||||
given section (or all sections), which should immediately be reflected in
|
||||
the rendered view of the client's document.
|
||||
</p><p>
|
||||
Finally, the client should present visually to the user the following properties
|
||||
of each section
|
||||
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc">
|
||||
An indication if the section is locked, and by which user
|
||||
</li><li style="list-style-type: disc">
|
||||
The key that uniquely identifies the section
|
||||
</li><li style="list-style-type: disc">
|
||||
A flag that indicates if the section has been edited/changed since the
|
||||
client last updated the section
|
||||
</li><li style="list-style-type: disc">
|
||||
The amount of time the section has been locked by a user,
|
||||
or the amount of time since the section has been edited
|
||||
depending on the appropriate situation
|
||||
</li></ul></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792769"></a>2.5. More on Updating Sections</h3></div></div><p>
|
||||
The main purpose of NetTxt Xtreme is to allow for multiple
|
||||
people to simultaneously collaborate on a text file. When one
|
||||
user has a section locked, only that user can make changes to
|
||||
that section. However, other users may want to view that same
|
||||
locked section, and should be able to do so by asking for an
|
||||
update from the server, which will retrieve the current text
|
||||
of that section and send it to the requesting user only.
|
||||
</p><p>
|
||||
Your UI should display a time-stamp of the last time a
|
||||
particular section was updated. The UI must give some
|
||||
indication to the user that a section has been changed by its
|
||||
owner since the last time the user updated it. You must be able
|
||||
to request an update of locked sections from the server and
|
||||
properly display those updated sections. You should also be able
|
||||
to request that all locked sections not under your control be
|
||||
updated.
|
||||
</p><p>
|
||||
The client should also be able to post a section that a user
|
||||
is currently working on, either manually through the UI or
|
||||
when the client unlocks a particular section. That section
|
||||
should then be updated on all other clients and on the server.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792386"></a>2.6. File Importing (and New Document Creation)</h3></div></div><p>
|
||||
When creating a new file in NetTxt Xtreme, the user
|
||||
shall be given two options: creating a blank document or
|
||||
importing a file. When creating a blank document, the
|
||||
user shall be able to add sections, just as in a regular
|
||||
document.
|
||||
</p><p>
|
||||
You are required, also, to implement a basic file
|
||||
importer. This importer shall be able to read in a
|
||||
plain text file (you should assume a standard ASCII file
|
||||
with unix line termination, i.e. using '\n' characters)
|
||||
and, using some scheme that is up to you, be able to
|
||||
break it into sections (<span class="bold"><b>Note:
|
||||
creating one section for the entire document is not
|
||||
a valid scheme</b></span>).
|
||||
One such scheme would be to break the document into
|
||||
sections based on paragraphs, in other words,
|
||||
every time you encounter two new lines (i.e. "\n\n"
|
||||
in the file), start a new section.
|
||||
</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="http://www.cc.gatech.edu/classes/AY2003/cs2335_spring/labs/images/important.png"></td><th align="left">Important</th></tr><tr><td colspan="2" align="left" valign="top"><p>
|
||||
The file to be imported is going to be located
|
||||
on the local computer of the client. You will
|
||||
have to build some mechanism to get the file
|
||||
data to the server so that it can be stored
|
||||
as a new collaborative document within the
|
||||
NetTxt Xtreme system.
|
||||
</p></td></tr></table></div><p>
|
||||
See the extra credit section for points you can earn
|
||||
by implementing a more complicated importer.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h3 class="title"><a name="id2792450"></a>2.7. File Exporting</h3></div></div><p>
|
||||
Sometimes, a user may want a copy of the complete file
|
||||
on their local system. In order to facilitate this, you
|
||||
need to give the users the ability to export a copy of
|
||||
the file they are currently editing. Exporting will
|
||||
produce a document that is a properly formatted HTML
|
||||
document conforming to the current state of the
|
||||
document, as the user currently sees it.
|
||||
<span class="bold"><b>This is very important.</b></span>
|
||||
File Exporting should produce a copy of the document
|
||||
based on any sections the user may have updated that
|
||||
differ from the server copy.
|
||||
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="id2792483"></a>3. Deliverables</h2></div></div><p>You must submit the following things:
|
||||
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc">
|
||||
All source code and libraries
|
||||
needed to run your program.
|
||||
</li><li style="list-style-type: disc">
|
||||
The Ant build-file (build.xml), which needs
|
||||
to contain the following targets (with the
|
||||
appropriate dependencies):
|
||||
<div class="itemizedlist"><ul type="disc"><li><span class="bold"><b>runclient</b></span> -
|
||||
Runs the client program <span class="emphasis"><em>this
|
||||
should be the default target</em></span></li><li><span class="bold"><b>runserver</b></span> -
|
||||
Runs the server program
|
||||
</li><li><span class="bold"><b>build</b></span> -
|
||||
Compiles your program
|
||||
</li><li><span class="bold"><b>checkstyle</b></span>
|
||||
- Runs Checkstyle on your source code
|
||||
</li><li><span class="bold"><b>pmd</b></span>
|
||||
- Runs PMD on your source code
|
||||
</li><li><span class="bold"><b>jar</b></span> -
|
||||
Creates an executable Jar of your
|
||||
program
|
||||
</li><li><span class="bold"><b>javadoc</b></span>
|
||||
- Creates the JavaDoc for your program
|
||||
<span class="emphasis"><em>(NOTE: JavaDoc must not
|
||||
produce any errors/warnings to receive
|
||||
credit)</em></span></li><li><span class="bold"><b>clean</b></span>
|
||||
- Removes all files created from all
|
||||
other targets
|
||||
</li></ul></div></li><li style="list-style-type: disc">
|
||||
A completed README file (see "README.txt"
|
||||
in the supplemental files provided with
|
||||
the lab).
|
||||
</li><li style="list-style-type: disc">
|
||||
If you are seeking extra credit for
|
||||
implementing other importers, please include
|
||||
one example file in the format you seek to
|
||||
import.
|
||||
</li></ul></div><p>
|
||||
|
||||
The above items must be submitted in an archive file in one
|
||||
of the following formats: zip, tar, jar, or gzip.
|
||||
</p><p>
|
||||
</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="http://www.cc.gatech.edu/classes/AY2003/cs2335_spring/labs/images/warning.png"></td><th align="left">Warning</th></tr><tr><td colspan="2" align="left" valign="top"><span class="bold"><b>
|
||||
The following are part of the grading criteria for
|
||||
this lab:
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
-15 points (off the top) if your program fails
|
||||
to pass PMD.
|
||||
</li><li>
|
||||
-15 points (off the top) if your program fails
|
||||
to pass checkstyle.
|
||||
</li><li>
|
||||
-5 points (off the top) if your program fails
|
||||
to pass JavaDoc without any errors or warnings.
|
||||
</li><li>
|
||||
-10 points (off the top) if the archive you
|
||||
submit to WebCT has the wrong file extension.
|
||||
</li><li>
|
||||
AUTOMATIC ZERO if you fail to upload your
|
||||
source code to WebCT in an archive (i.e.
|
||||
uploading all of your files individually
|
||||
is not allowed).
|
||||
</li><li>
|
||||
NO EXTRA CREDIT will be given it you fail to
|
||||
document the extra credit options completed.
|
||||
</li></ul></div>
|
||||
</b></span></td></tr></table></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="id2793448"></a>4. Extra Credit</h2></div></div>
|
||||
You may receive up to 20 points on your final grade for completing
|
||||
any combination of the following extra credit options:
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
Advanced Editing Mode (give users the option to use the
|
||||
standard WYSIWYG editor or let them directly edit the
|
||||
HTML source code and it should be easy to switch between the
|
||||
two) - 5 pts.
|
||||
</li><li>
|
||||
Advanced Importing. You can get 5 pts each for
|
||||
implementing any of the following schemes (you must
|
||||
include a large (40 or more line) example of the format
|
||||
you are attempting to import):
|
||||
<div class="itemizedlist"><ul type="circle"><li>Rich Text Format</li><li>HTML</li><li>DocBook (XML file format)</li><li>
|
||||
Some other format (e.g. LaTeX). <span class="emphasis"><em>E-mail
|
||||
a format idea to a TA by 23:59 Wednesday, February 18
|
||||
to get approval for another format.</em></span></li></ul></div></li><li>
|
||||
Auto-saving Server - server auto-saves open files every
|
||||
<span class="emphasis"><em>configurable</em></span> time interval. - 5pts.
|
||||
</li><li>
|
||||
Embedded locking. The ability to have nested locking
|
||||
sections. An example of this would be if you were
|
||||
editing a java source code file, a user could look the
|
||||
whole class or just the methods. - 20pts.
|
||||
</li><li>
|
||||
Amazing UI - 5pts (this is decided by your TA)
|
||||
</li><li>
|
||||
Other ideas. If you have an idea you'd like to try for
|
||||
extra credit, email it to a TA for approval by 23:59
|
||||
Wednesday, February 18. The TA will determine how many
|
||||
(if any) points are merited.
|
||||
</li></ul></div></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="http://www.cc.gatech.edu/classes/AY2003/cs2335_spring/labs/images/important.png"></td><th align="left">Important</th></tr><tr><td colspan="2" align="left" valign="top"><p>
|
||||
Unless arranged in advance (in writing), your TA will be grading this
|
||||
assignment on the RedHat systems available in the States Lab and will
|
||||
be using the Java tools provided in the "~cs2335/" directory. It is
|
||||
YOUR responsibility to verify that your program will work on these
|
||||
systems prior to submitting it.
|
||||
</p></td></tr></table></div></div></body></html>
|
||||
Reference in New Issue
Block a user