Cahier de Charges E-Learning
Cahier de Charges E-Learning
Level of security: N1
Version: 1.0
15/07/08
Template version: 3.0
Author
Miguel Ángel Montañés
Approbation:
Empresa Certificada según las normas UNE-EN ISO 9001:2000 y UNE- EN ISO 14001:2004 con Nº de Registro ER-0134/1999 y GA-2004/0432, respectivamente
Customer: SATEC Ref.:
Changes Control
Index
1. Introduction .......................................................................................................1
2. Description and development scope. .............................................................2
2.1. Scope for this development. Messages .........................................................2
3. System Functional Specification.....................................................................3
3.1. Use Cases. ....................................................................................................3
3.2. New message ................................................................................................4
3.2.1. Prototype HTML.................................................................................................. 7
3.3. Choose receivers / User list ...........................................................................8
3.3.1. Prototype HTML................................................................................................ 10
3.4. by Department .............................................................................................11
3.4.1. Prototype HTML................................................................................................ 12
3.5. Advanced search by department .................................................................13
3.5.1. Prototype HTML................................................................................................ 15
3.6. By edition of course .....................................................................................16
3.6.1. Prototype HTML................................................................................................ 17
3.7. Advanced Search by Edition of course ........................................................18
3.7.1. Prototype HTML................................................................................................ 21
3.8. Search .........................................................................................................22
3.8.1. Prototype HTML................................................................................................ 24
3.9. Advanced Search.........................................................................................25
3.9.1. Prototype HTML................................................................................................ 29
3.10. Inbox ............................................................................................................31
3.10.1.Prototype HTML................................................................................................ 33
3.11. Output tray ...................................................................................................34
3.11.1.Prototype HTML................................................................................................ 35
3.12. Filter by last messages ................................................................................36
3.12.1.Prototype HTML................................................................................................ 37
3.13. Labels ..........................................................................................................38
3.13.1.Prototype HTML................................................................................................ 39
3.14. Management of labels..................................................................................40
3.14.1.Prototype HTML................................................................................................ 41
3.15. Create Label ................................................................................................42
3.15.1.Prototype HTML................................................................................................ 43
3.16. Rename label...............................................................................................44
3.16.1.Prototype HTML................................................................................................ 45
3.17. Delete label..................................................................................................46
Page. i
Customer: SATEC Ref.:
3.17.1.Prototype HTML................................................................................................ 46
3.18. Recycle Bin..................................................................................................47
3.18.1.Prototype HTML................................................................................................ 47
3.19. Message list in recycle Bin...........................................................................48
3.19.1.Prototype HTML................................................................................................ 50
3.20. Read Message in Recycled Bin ...................................................................51
3.20.1.Prototype HTML................................................................................................ 52
3.21. Delete forever ..............................................................................................53
3.22. Move to Inbox ..............................................................................................54
3.23. Message list.................................................................................................55
3.23.1.Prototype HTML................................................................................................ 59
3.24. Read message.............................................................................................60
3.24.1.Prototype HTML................................................................................................ 62
3.25. Mark as Unread ...........................................................................................63
3.26. Mark as Read ..............................................................................................64
3.27. Delete message ...........................................................................................65
3.28. Apply label ...................................................................................................66
3.29. Remove label...............................................................................................67
3.30. Forward........................................................................................................68
3.30.1.Prototype HTML................................................................................................ 70
3.31. Reply message ............................................................................................71
3.31.1.Prototype HTML................................................................................................ 73
3.32. Print message..............................................................................................74
3.32.1.Prototype HTML................................................................................................ 75
3.33. View data of user .........................................................................................76
3.33.1.Prototype HTML................................................................................................ 77
4. Database..........................................................................................................79
Page. ii
Customer: SATEC Ref.:
1. Introduction
This document gives to the JAVA developer the necessary information to create the SATEC
E-learning Platform components
For each component or platform module, a work order like this one will be created. UML
language will be used to lean the requirements specification.
• Use Cases
• Database
Page. 1 of 79
Customer: SATEC Ref.:
The functioning of the internal messaging of Kedros-LMS is very similar to a mail system
managed by email.
This module allows the user to send messages to other users, in addition to delete, move,
print and assign labels to messages
Below I show the Diagram of Class of domain Kedros. It highlights the relevant classes
involving this module.
1..
1..* 1..*
0..* 1
Organization Entity ThematicArea Classifies MediaLibrary
1 1 1..* 0..* 1 *
1
1 1
1
Classifies Classifies
1..*
NoteBook
1 0..* 0..*
ElementOrganization
0..* the course is the
0..* 0..* Edition Course
content training of
* a edition 1..
Write have
UserEditionRegister
1
1
Classifies
0..*
1 1 1..*
User Group
Message Send and receive message
1 receive course in 1..*
*
1
DateAccess
1
Define the
Organize to rol of
1
0..* 0..* 0..* 0..*
Profile
LabelMessages ConectionAlert ConectionPursuit Service
1..*
1
1 1 1
Define the behavior of
is a is a
is a
1 1 1
368
Containt messages of
0..*
ForumElement
Page. 2 of 79
Customer: SATEC Ref.:
Search
Adv anced Search
«extend»
Inbox
Output tray
Filter by last
messages
«include»
«include» «include»
Create Label
«include»
View data of user
Read message
Delete label
«include»
«include»
Delete forev er
«include»
«include»
Message list in «include»
Recycle Bin Mov e to Inbox
recycle Bin
Read Message in
«include»
Recycled Bin
Page. 3 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Permission for profile
The user only view the button "New message" if the assigned profile to the user
has to have permissions to:
Allow new message.
This is the functionality Id 22001 ='1'
Pre-condition
Clicked "New" button
The "new message" button has been clicked
Post-condition
Sent Message
A message should be sent to the selected users.
Events flow
Basic Path
Show form
The system shows a form with all the necessary fields to send a message.
Basic Path
Fill in the form. Choose receiver/s
Choose receivers will be clicked by the user to look for the message receivers
See use case “Choose Receivers". It will give back a list of selected used ids.
Using the back list ids from "Choose receivers", the system will show all the
receivers full names in the TEXTAREA. Property shows DISABLE now.
<Validations>
- The receivers list CAN NOT BE empty (void).
Basic Path
Fill in the form. Attach
Page. 4 of 79
Customer: SATEC Ref.:
PRIORITY
----------------
The user will select the message priority among these 3 options::
-Low
-Average
-High
TOPIC
----------
The user enters the text with a message Topic.
<Validations>
- Max length = 70
MESSAGE
-----------------
The user enters the text with the body message.
<Validations>
- Max length = 4000
Basic Path
Fill in the form. Rest of fields
PRIORITY
----------------
The user will select the message priority among these 3 options::
-Low
-Average
-High
TOPIC
----------
The user enters the text with a message Topic.
<Validations>
- Max length = 70
MESSAGE
-----------------
The user enters the text with the body message.
<Validations>
- Max length = 4000
Basic Path
Send Message
The system will send a message to the receivers and it will register the time and
date message delivery.
Then the system will send to the receiver user, using his favourite language, an e-
mail with all the message data, included the attachments using its
Page. 5 of 79
Customer: SATEC Ref.:
Page. 6 of 79
Customer: SATEC Ref.:
Note: In all prototypes html in this document, the border of the tables in red color indicate that
its contents will be between <div> and </div>.
For example:
Page. 7 of 79
Customer: SATEC Ref.:
Reusing
IMPORTANT. This module will be used in the future to select the users to enrol in
an edition.
Constraints
Pre-condition
Choose receiver/s
The user will select the message receiver users.
Post-condition
Getting an users list
We will get a selected users identifiers list
Pre-condition
Permissions profile
By Edition (only registered)
By Edition (only registered and active editions)
By Organization (all users of organization)
Events flow
Basic Path
Showing options.
The system shows the two users to select filter options
Basic Path
Filter users list.
Page. 8 of 79
Customer: SATEC Ref.:
- Sel
- Full name
- Profile.
- At the column "Full name" the full user name will be shown (by user preferences
formatted)
- At the column Profile the icon representing the sender user profile will be shown.
Basic Path
Users Selection
At the column “Sel” a checkbox will be shown in every table row.
The user can select the wanted registers to do any action over them.
If we click on the column head, where "Sel" is set, all the screen visible registers
will be selected automatically.
- When clicking "Select users for sending messages" the system returns the user
list to send a message.
Page. 9 of 79
Customer: SATEC Ref.:
Page. 10 of 79
Customer: SATEC Ref.:
3.4. by Department
Filter user by department
Events flow
Basic Path
Filter by departments.
- Permission for profile.
The user only view the link "By department" if the assigned profile to the user has
to have permissions to:
By Organization (all users of organization)
This is the functionality Id 22014 ='1'
- The user can click on a department. Then a list with the users belonging to that
selected department will be shown.
On the users list head, the following dynamic text will appear:
"Visualizing all users in department: Department 1"
Page. 11 of 79
Customer: SATEC Ref.:
Page. 12 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Show form
The system shows the advanced searching form.
Basic Path
Fill in the form.
On the form head the following text will be shown::
" Advanced Search for users in department: Department 1"
- Name.
<Validations>
- not obligated
- maxlength = 50
- 1st Surname
<Validations>
- not obligated
- maxlength = 50
- 2st Surname
<Validations>
- not obligated
- maxlength = 50
- User login
<Validations>
- not obligated
- maxlength = 25
- Data identifier
Page. 13 of 79
Customer: SATEC Ref.:
<Validations>
- not obligated
- maxlength = 8
- Mail
<Validations>
- not obligated
- only accept format of correct mail
- maxlength = 120
Basic Path
Showing results.
They system shows the searching obtained results .
At the found users list head, the following dynamic text will be shown:
Page. 14 of 79
Customer: SATEC Ref.:
Page. 15 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Filters by courses editions.
- Permission for profile.
The user only view the link "By Edition of course" if the assigned profile to the user
has to have permissions to:
By Edition (only registered) --> functionality Id 22007 ='1'
or
By Edition (only registered and active editions) --> functionality Id 22021 ='1'
- If Functionality id 22007 = '1' then, The systems shows the courses editions list
where the user is enrolled.
- If Functionality id 22021 = '1' then, The system shows the courses editions list
where the user is enrolled. The user can join those lists because the access dates
on its profile allows him to do it. .
- The user can click over an edition, then a list with the users belonging to the
selected course edition will be shown.
On the user list head the following dynamic text will be shown:
"Visualizing all users enrolled in: Edition 1"
Page. 16 of 79
Customer: SATEC Ref.:
Page. 17 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Showing the form.
The system shows the advanced searching form.
Basic Path
Fill in the form.
At the form head the following text will be shown.:
"Advanced Search for users enrolled in: Edition 11"
- Name.
<Validations>
- not obligated
- maxlength = 50
- 1st Surname
<Validations>
- not obligated
- maxlength = 50
- 2st Surname
<Validations>
- not obligated
- maxlength = 50
- User login
<Validations>
- not obligated
- maxlength = 25
- Data identifier
<Validations>
- not obligated
- maxlength = 8
- Mail
<Validations>
- not obligated
Page. 18 of 79
Customer: SATEC Ref.:
-:
" Advanced Search for users in department: Department 1"
- Name.
<Validations>
- not obligated
- maxlength = 50
- 1st Surname
<Validations>
- not obligated
- maxlength = 50
- 2st Surname
<Validations>
- not obligated
- maxlength = 50
- User login
<Validations>
- not obligated
- maxlength = 25
- Data identifier
<Validations>
- not obligated
- maxlength = 8
- Mail
<Validations>
- not obligated
- only accept format of correct mail
- maxlength = 120
Page. 19 of 79
Customer: SATEC Ref.:
Basic Path
Showing results.
- The system shows the obtained searching results.
- The searching boundary is about the course edition selected at the present.
- On the found users lists, the following dynamic text will be shown
Page. 20 of 79
Customer: SATEC Ref.:
Page. 21 of 79
Customer: SATEC Ref.:
3.8. Search
Search messages
Constraints
Pre-condition
Permission for profile
The user only view the button "Search" and field for search if the assigned profile
to the user has to have permissions to:
Allow message search
This is the functionality Id 22008 ='1'
Post-condition
Obtaining results
The user obtains the messages containing the searched text
Events flow
Basic Path
Show form
The system shows the simple searching form with only one field to type the
searched text.
Basic Path
Fill in the form
The user enters the searching text in the field and the clicks on “Search” button.
<Validations>
- The search field CAN NOT be empty (void).
- Max length = 200
Basic Path
Searching for messages
- The system will search entered string into the user messages.
- The searching will be done over the following fields only:
- Name
- 1st Surname
- 2st Surname
- Topic
- Message body
Page. 22 of 79
Customer: SATEC Ref.:
Basic Path
Showing results
The system shows in the case of use "Message List" the obtained results at the
search.
The following dynamic text will appear at the head of the list of messages.
Alternate
Text not found
A message appears as:
Page. 23 of 79
Customer: SATEC Ref.:
Page. 24 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Permission for profile
The user only view the button or link named "Advanced Search" if the assigned
profile to the user has to have permissions to:
Allow message search
This is the functionality Id 22008 ='1'
Post-condition
Obtaining results
The user obtains the messages containing the searched text.
Events flow
Basic Path
Showing the form
The system shows the advanced search form.
Basic Path
Fill in the form
The user can fill in the following fields:
- Name.
<Validations>
- not obligated
- maxlength = 50
- 1st Surname
<Validations>
- not obligated
- maxlength = 50
- 2st Surname
<Validations>
- not obligated
- maxlength = 50
- Topic
Page. 25 of 79
Customer: SATEC Ref.:
<Validations>
- not obligated
- maxlength = 50
- Message body
<Validations>
- not obligated
- maxlength = 50
- Date from
<Validations>
- not obligated
- maxlength = 10
- Check a valid date
- Date to
<Validations>
- not obligated
- maxlength = 10
- Check a valid date
:
" Advanced Search for users in department: Department 1"
- Name.
<Validations>
- not obligated
- maxlength = 50
Page. 26 of 79
Customer: SATEC Ref.:
- 1st Surname
<Validations>
- not obligated
- maxlength = 50
- 2st Surname
<Validations>
- not obligated
- maxlength = 50
- User login
<Validations>
- not obligated
- maxlength = 25
- Data identifier
<Validations>
- not obligated
- maxlength = 8
- Mail
<Validations>
- not obligated
- only accept format of correct mail
- maxlength = 120
Basic Path
Showing results
The system shows in the case of use "Message List" the obtained results at the
searching.
The following dynamic text will appear at the head of the list of messages:
Page. 27 of 79
Customer: SATEC Ref.:
Name:[text in name] 1st Surname:[text fill in 1st Surname] 2st Surname:[text fill in
2st Surname] Topic [text fill in Topic] Message body[text fill in Message body]
Date from[date fill in Date from] Date to[date fill in Date to] "
and only the filled in fields will appear at the dynamic text.
if the filter of the last messages is activated then the text will be added.
Alternate
Text not found
A message will appear as follows:
Page. 28 of 79
Customer: SATEC Ref.:
Page. 29 of 79
Customer: SATEC Ref.:
Page. 30 of 79
Customer: SATEC Ref.:
3.10. Inbox
Show messages in Inbox
Functional
1.- Do not implement the folder ALERTS
The folder ALERT will not appear in the new Java version anymore.
Functional
2.- Relocate messages which belongs to the folder ALERTS
For Java version, a TAG called “old alerts” will be created for all the users. The
messages concerning to ALERTS will be associated to it. With this, all the users
who used to use the folder ALERTS can keep located all the messages contained
on it.
Functional
3.- ALERTS. Providing updating script.
The developer will provide to the Head of Team the script or development which
makes the association of the ALERT messages to the LABEL “old alerts”.
It will be ready to be executed into production environments. On those
environments the platform JAVA version will be already updated.
In this case the updater should be documented to be executed without any
incident.
Constraints
Pre-condition
Link "Inbox" Clicked
The user clicked on link "nbox"
Events flow
Basic Path
View option for filter messages
When the user logs into the messages module will have always available the
following elements in order to locate the messages:
- Input box (selected by default when the user logs into the messages module )
Page. 31 of 79
Customer: SATEC Ref.:
- Output tray
- Filter by last messages
- Recycled Bin
- Labels
Basic Path
Show messages in Inbox
The system shows in the case of use "Message List" the obtained results at the
Inbox.
Filter to set:
It contains all the user RECEIVED messages and in addition it has to bear in mind
if the "Filter by last messages" is activated.
The following text will appear at the head of the list of messages:
"Visualizing all messages in Inbox "
but if the "Filter by last messages" is active then the following text will appear at
head:
"Visualizing messages from dd/mm/yyyy to today in Inbox "
Page. 32 of 79
Customer: SATEC Ref.:
Page. 33 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Link "Output tray" Clicked
The user clicked on "Output tray"
Events flow
Basic Path
Show messages in "Output tray"
The system shows in the case of use "Message List" the obtained results at the
Output tray
Filter to set:
It contains all the user SEND messages and in addition it has to bear in mind if the
"Filter by last messages " is activated.
The following text will appear at the head of the list of messages:
"Visualizing all messages in Output tray "
but if the "Filter by last messages" is active then the following text will appear at
head:
"Visualizing messages from dd/mm/yyyy to today in Output tray"
Page. 34 of 79
Customer: SATEC Ref.:
Page. 35 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Filter Selection
The user will select the type of filter to be applied in the message list. (Inbox,
Output Tray and labels).
There are 2 options that can be selected by a radio button.
If the user chooses that option must to fill in the field with the number of days (n) to
filter. Then, the list of messages will be filtered in order to view the last (n) days
messages.
Basic Path
Apply filter
The user clicks on the filter button, then the filter is applied to the showed list of
messages at this moment. Then the screen would be refreshed.
Page. 36 of 79
Customer: SATEC Ref.:
Page. 37 of 79
Customer: SATEC Ref.:
3.13. Labels
Filter of labels
Constraints
Pre-condition
The user clicked on a label link
The user clicked on some label link.
Events flow
Basic Path
Showing options.
The system shows the options to label management.
The existing labels and a managing link will be shown.
Basic Path
Show messages with label selected
The system shows in the use case "Message List" the obtained results at the label
selected
Filter to set:
It contains the user messages SEND AND RECEIVED that have the preselected
assigned label and in addition it has to bear in mind if the "Filter by last messages "
is activated.
The following text will appear at the head of the list of messages:
"Visualizing all messages with Label 1"
but if the "Filter by last messages" is active then the following text will appear at
head:
"Visualizing messages from dd/mm/yyyy to today with Label 1"
At the list result "Sender" column, if any message appear as "Output tray", then
the word "me" will be shown.
Alternate
Label Management selected.
The user enters to the use case "Management of Labels"
Page. 38 of 79
Customer: SATEC Ref.:
Page. 39 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Seeing label list.
They system shows to the user the available labels.
At this screen, it is possible to create, to delete and renaming the available labels
Page. 40 of 79
Customer: SATEC Ref.:
Page. 41 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Show form
The system shows to the user with an only field to enter the label name.
Basic Path
Create label
When clicking "Create" a new label will be created and then the screen will be
refreshed.
Page. 42 of 79
Customer: SATEC Ref.:
Page. 43 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Rename Label
The system will show the field with the filled label name.
Page. 44 of 79
Customer: SATEC Ref.:
Page. 45 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Delete Label
When clicking “delete Label”, the label will be deleted.
Page. 46 of 79
Customer: SATEC Ref.:
Events flow
Basic Path
Select recycle Bin
The user has selected "Recycled Bin" and the system redirects it to the use case
"Messages list in recycle Bin" .
Page. 47 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Recycled Bin Selection
When selected "Recycled Bin"
Events flow
Basic Path
Showing messages list
- The system shows the messages list on "Recycled Bin"
- On the messages list head the following text will be shown "Visualizing all
messages in Recycled Bin "
- "Filter by last messages" activation will be not bear in mind, so ALL the
"Recycled Bin" messages will be visualized.
Filter to apply:
It contains the SEND and RECEIVED user messages sent previously to "Recycled
Bin". It will be not bear in mind the activation of "Filter by last messages".
- The field Topic will be a link where when clicking on it, the message content
through the use case "Read Message in Recycled Bin" will be shown.
- AT the column "Sender" If there is any message that belongs to "Output tray"
then the word "me" will be shown.
- At the column profile the icon representing the user profile who sent the message
will be shown.
- At the field Date the message sending data will be shown. When the mouse is
close, the message sending time will be shown as well.
-At the column Priority the icon representing the sent message priority will be
shown. High = red, Medium = yellow, low = green
- At the column Number of attach, the number of attached messages file will be
Page. 48 of 79
Customer: SATEC Ref.:
shown.
Basic Path
Selecting messages
The user can select the wanted registers to do any action over them.
If we click on the column head, where "Sel" is set, all the screen visible registers
will be selected automatically.
Basic Path
Showing possible actions to do
The system will show to the user the possible actions to do with the selected
messages.
Those are:
- Move to Inbox
- Delete forever
Page. 49 of 79
Customer: SATEC Ref.:
Page. 50 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting messages.
The user had to select a message.
Events flow
Basic Path
View the message
The system shows to the user the selected message from the "Recycled bin" with
the following information:
- Topic
- Sender (formatted name with the user preferences)
- Date (date and time)
- Priority low
- Message
- Attach (name of all attach files and links)
Basic Path
Download attach
The user can download the attached file clicking on it.
Basic Path
Showing actions possible to do.
Those are:
- Move to Inbox
- Delete Forever
Page. 51 of 79
Customer: SATEC Ref.:
Page. 52 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting the message.
The user had to select one or more messages
Events flow
Basic Path
Delete message forever
When the user clicks on “Delete forever”, the selected message or messages will
be deleted forever.
Page. 53 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting the message.
The user had to select one or more messages.
Events flow
Basic Path
Move to Inbox
The selected message(s) are sent to "Inbox"
Page. 54 of 79
Customer: SATEC Ref.:
Display
1- Truncating strings taking more than one line.
Referring to the table showing the registers, when the text to type in a cell is going
to take more than one line or the width is going to be changed, then the text will be
truncated. Then the text will take only one line at the cell and in addition tree
ellipsis will be set at the end.
When the user approaches the mouse, then the complete content of the cell will be
shown.
For example:
Correct:
No correct
IMPORTANT: The class to be created for this requirement will be reused by all the
application. The class should be set at the "es.satec.kedros.logica.bean.common"
package with FormatString.java method = truncateString()
Page. 55 of 79
Customer: SATEC Ref.:
Display
2 - Formatting names
The names format for other users shown at the screen are conditioned by the user
preferentes. .
SELECT preferences_user_format_name,
FROM preferences_user
WHERE preferences_user_owner = ?? (userId owner of preferences )
IMPORTANTE: All the dates showed on Kedros has to be formmated with this
requirement.
Display
3 - Formatting dates
The date is always shown with the format that user established on his preferentes.
When approaching the mouse, the message sending time will be shown.
SELECT preferences_user_dateformat,
FROM preferences_user
WHERE preferences_user_owner = ?? (userId owner of preferences )
IMPORTANTE. The clase to be created for this requirement will be reused by all
the application. The clase should be set at
the"es.satec.kedros.logica.bean.common" package in Dates.java method
formatDate()
IMPORTANT: All the dates showed on Kedros has to be formatted with this
requirement.
Display
4 - Obtain icon of profile
Page. 56 of 79
Customer: SATEC Ref.:
SELECT profile_icon_key
FROM profile_icon, PROFILE
WHERE (profile_id = profileIdForExtractKeyIcon) AND (profile_icon =
profile_icon_id)
In addition to the obtained string we set “.gif” then we have the icon name.
The path for all the icons is
\pages\css\stylexxx\images
where xxx is the ide of the style in use.
When the profile icon is shwon at the screen and we bring near the mouse, the
profile name should be obtained with an “Alt”
IMPORTANTE. The clase to be created for this requirement will be reused by all
the application. The clase should be set at the
“es.satec.kedros.logica.bean.common” package in ProfileIcon.java method
getProfileIcon
Constraints
Pre-condition
Pre-selecting group of messages
The user had to have executed one of the following items:
- Search
- Advanced Search
- inbox
- Output tray
- Filter by last messages
- Label selected
Pre-condition
Obtaining list of messages.
The user displays the subject list of the messages in folder pre-selected
Events flow
Basic Path
Show list of messages
- The system shows the list of messages Appling the previously selected criteria.
- On the messages list head the selected criteria corresponding text will be shown.
Page. 57 of 79
Customer: SATEC Ref.:
- The non read messages will appear in bold and the read ones will keep normal.
- At the Sender field the full name of the sender user will be showed.
IMPORTANT. Only when finding the output tray, then it will be showed at this
column the legend TO. It contains the message receiver name. (If there are more
than one receiver, then the word MANY will appear. When the mouse is close to
this word a list of names are showed).
- At the field Date the delivery date will be showed. When the mouse gets close the
time of the delivery is showed.
- When clicking in the Topic field, the system shows the message content through
the use case “Read Message”.
- At the Profile column an icon representing the message sender user profile will
be shown.
-At the column Priority an icon representing the sent message priority will be
shown. High = red, Medium = yellow, low= green.
- At the column Number of attach, the messages attached files will be shown.
Basic Path
Selecting messages.
At the column Sel. A checkbox will be shown in every table row.
The user can select the wanted registers to do any action over them.
If we click on the column head, where “Sel” is set, all the screen visible registers
will be selected automatically.
Basic Path
Showing possible actions to do
The system will show to the user the possible actions to do with the selected
messages.
Those are:
- Read message
- Delete Message
- Mark as read
- Mark as unread
- Apply Label (all the user label appear as available)
Page. 58 of 79
Customer: SATEC Ref.:
Page. 59 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting the message.
The user had to select a message.
Events flow
Basic Path
View the message
The system shows to the user the selected message at the messages list with the
following information.:
- Topic
- Sender (formatted name with the user preferences)
- Date (date and time)
- Priority low
- Message
- Attach (name of all attach files and links)
Basic Path
Download attach
The user can download the attached file clicking on it.
Basic Path
Showing possible actions to do
The system shows to the user the possible actions to do with the present reading
message.
Those are:
- Reply
- Forward
Page. 60 of 79
Customer: SATEC Ref.:
- Delete
- Mark as read
- Mark as unread
- Apply Label ( Only the non-assigned labels to the message will be shown)
- remove Label (Only the message assigned labels will be shown)
Page. 61 of 79
Customer: SATEC Ref.:
Page. 62 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting a message.
The user had to select one or more messages.
Events flow
Basic Path
Apply unread.
The message (s) are marked as unread and the screen will be refreshed.
Page. 63 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting a message.
The user had to select one or more messages.
Events flow
Basic Path
Apply read
The message (s) are marked as read and the screen will be refreshed.
Page. 64 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Permission for profile
The user only can delete messages if the assigned profile to the user has to have
permissions to:
Allow message delete
This is the functionality Id 22005 ='1'
Pre-condition
Selecting a message.
The user had to select one or more messages.
Events flow
Basic Path
Delete mesage
When the user clicks on "delete" button, the selected message(s) are sent to the
"Recycle Bin" and the screen will be refreshed.
Page. 65 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Selecting the message.
The user had to select one or more messages.
Events flow
Basic Path
Apply label.
The selected message (s) are marked with this label.
Page. 66 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Visualizing the message.
The user has to be reading the message.
Pre-condition
Selected label to remove.
The user had to select on the actions “select” the label name to remove from the
message.
Events flow
Basic Path
Remove Label
The system removes the label of the message.
Page. 67 of 79
Customer: SATEC Ref.:
3.30. Forward
Forward a message
Constraints
Pre-condition
Permission for profile
The user only can delete messages if the assigned profile to the user has to have
permissions to:
Allow send again
This is the functionality Id 22004 ='1'
Events flow
Basic Path
Show form
Show form
The system shows a form with all the necessary fields to Forward a message.
- in field "Topic" , will the original text of the "Topic", but adding the prefix "Fwd: "
- in field "Attach". If exist attachments, then show all attachments with a check box
pre-selected. The messages selected will be sent.
- in field "Message" will the original text of the "Message", but adding the prefix
Message:"
Basic Path
Fill in the form. Add receiver/s
Fill in the form. Choose receiver/s
Choose receivers will be clicked by the user to look for the message receivers
See case of use “Choose Receivers”. It will give back a list of selected used ids.
Using the back list ids from “Choose receivers”, the system will show all the
receivers full names in the TEXTAREA. Property shows DISABLE now.
Page. 68 of 79
Customer: SATEC Ref.:
<Validations>
- The reveivers list CAN NOT BE empty (void).
Basic Path
Fill in the form. Attach
- in field "Attach". If exist attachments, then show all attachments with a check box
pre-selected. the messages selected will be sent.
<Validations>
- The user can only send files that will allow its profile (types and sizes. see
validations in use case "New message")
Basic Path
Fill in the form. Rest of fields
PRIORITY
----------------
The user will select the message priority among these 3 options::
-Low
-Average
-High
TOPIC
----------
The user enters the text with a message Topic.
- Max length = 70
MESSAGE
-----------------
The user enters the text with the body message.
Basic Path
Forward message
The user forward the message
Page. 69 of 79
Customer: SATEC Ref.:
Page. 70 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Permission for profile
The user only can delete messages if the assigned profile to the user has to have
permission to:
Allow answer
This is the functionality Id 22003 ='1'
Events flow
Basic Path
View form
The system shows a form with all the necessary fields to reply a message.
- in field "Topic" , will the original text of the "Topic", but adding the prefix “Re: “
- in field "Message" will the original text of the "Message", but adding the prefix
Message:"
Basic Path
Fill in the form. Add receiver/s
Choose receivers will be clicked by the user to look for the message receivers
See case of use “Choose Receivers”. It will give back a list of selected used ids.
Using the back list ids from “Choose receivers”, and adding the original sender of
message, the system will show all the receivers full names in the TEXTAREA.
Property shows DISABLE now.
<Validations>
- The receivers list CAN NOT BE empty (void).
Page. 71 of 79
Customer: SATEC Ref.:
Basic Path
Fill in the form. Attach
The user can attach a maximum of 3 files
<Validations>
same like use case "new message"
Basic Path
Fill in the form. Rest of fields
PRIORITY
----------------
The user will select the message priority among these 3 options::
-Low
-Average
-High
TOPIC
----------
The user enters the text with a message Topic.
<Validations>
- Max length = 70
MESSAGE
-----------------
The user enters the text with the body message.
<Validations>
- Max length = 4000
Basic Path
Reply Message
The user reply the message
Page. 72 of 79
Customer: SATEC Ref.:
Page. 73 of 79
Customer: SATEC Ref.:
Constraints
Pre-condition
Permission for profile
The user only can delete messages if the assigned profile to the user has to have
permissions to:
Allow pirnt Print Message
This is the functionality Id 22020 ='1'
Events flow
Basic Path
Show message printing
The system show the message formatted for printing
Basic Path
Print message
The system, automatically displays the dialog box browse to print.
Page. 74 of 79
Customer: SATEC Ref.:
Page. 75 of 79
Customer: SATEC Ref.:
Via AJAX
The data will be obtained with AJAX technology
Constraints
Pre-condition
Selected User
A user has been selected previously or the mouse has been set over the name but
no clicks on it.
Events flow
Basic Path
Showing window.
The system shows a window (div) at the mouse position.
Basic Path
Showing information.
The system shows the following information at the window:
Name
Profile
City
Country
Department
Picture with face of user (If the user has not a picture assigned an image will be set
to default).
Page. 76 of 79
Customer: SATEC Ref.:
Examples…
Page. 77 of 79
Customer: SATEC Ref.:
Page. 78 of 79
Customer: SATEC Ref.:
4. Database
(MESSAGE_RECEIVE_SENDER =
USER_ID)
+FK_RECEIVE__USER_SEND_USERS 0..*
+PK_USERS 1
RECEIVE_MESSAGE
USERS
«column»
«column» *FK MESSAGE_RECEIVE_SENDER: NUMBER(38)
*PK USER_ID: NUMBER(38) *FK MESSAGE_RECEIVE_MESSAGE: NUM BER(38)
USER_ORGANIZAT ION: NUMBER(38) *FK MESSAGE_RECEIVER: NUMBER(38)
* USER_LOGIN: CHAR(25 BYT E) MESSAGE_RECEIVE_DELETE: CHAR(1 BYT E)
FK USER_ELE_ORGANIZATION: NUM BER(38) MESSAGE_RECEIVE_READ: CHAR(1 BYT E)
USER_PROFILE: NUMBER(38) +PK_USERS
MESSAGE_RECEIVE_DATE_READ: CHAR(14 BYT E)
* USER_PASSWORD: CHAR(10 BYTE) MESSAGE_RECEIVE_DATE_DELET E: CHAR(14 BYT E)
USER_CONEXION: CHAR(1 BYT E) (MESSAGE_RECEIVER = USER_ID)
MESSAGE_RECEIVE_USER_ALERT ED: CHAR(1 BYT E)
USER_VIEW: CHAR(1 BYT E) 1 0..*
USER_NAME: CHAR(50 BYTE)
+FK_RECEIVE__USER_RECE_USERS «index»
USER_NICK_NAME: CHAR(15 BYT E)
+ IX_RECEIVE_MESSAGE(NUMBER, CHAR, NUMBER)
USER_SURNAME_1: CHAR(50 BYTE)
+ IX_RECEIVE_MESSAGE1(NUMBER, NUM BER, CHAR)
USER_SURNAME_2: CHAR(50 BYTE)
+ IX_RECEIVE_MESSAGE2(NUMBER, CHAR, CHAR)
USER_DELET E: CHAR(1 BYT E)
+ IX_RECEIVE_MESSAGE3(NUMBER, CHAR, CHAR, NUMBER, CHAR)
USER_CONEXION_ACTIVE: CHAR(1 BYTE)
USER_TYPE: CHAR(2 BYTE) «FK»
USER_SESION: CHAR(400 BYT E) + FK_RECEIVE__USER_RECE_USERS(NUM BER) LABEL
USER_PROFILE_TYPE: CHAR(2 BYT E) + FK_RECEIVE__MESSAGE_R_M ESSAGE(NUMBER)
USER_EXPIRED_FLAG: CHAR(1 BYT E) + FK_RECEIVE__USER_SEND_USERS(NUM BER) «column»
USER_EXPIRED_INI: CHAR(8 BYT E) *PK LABEL_ID: NUMBER(38)
USER_EXPIRED_END: CHAR(8 BYT E) * LABEL_NAME: CHAR(35)
+FK_RECEIVE__MESSAGE_R_MESSAGE 0..*
USER_ID_AICC: CHAR(256 BYTE)
USER_ACT IVAT IONCODE: CHAR(40 BYTE) (MESSAGE_RECEIVE_MESSAGE = «PK»
USER_CODE_EXT : CHAR(50 BYT E) MESSAGE_ID) + PK_LABEL(NUMBER)
USER_LAST _UPDAT E: CHAR(14 BYTE)
USER_SCOPE: CHAR(2 BYTE)
+PK_LABEL 1
USER_QUESTION: CHAR(400 BYT E) +PK_MESSAGE 1
USER_ANSWER: CHAR(400 BYTE)
USER_SEND_STAT US: VARCHAR2(50 BYT E) MESSAGE
«PK» «colum n»
+ PK_USERS(NUMBER) *PK M ESSAGE_ID: NUMBER(38)
*FK M ESSAGE_CREAT OR: NUMBER(38)
«index» (LABEL_MAP_LABEL_ID = LABEL_ID)
FK M ESSAGE_IMPORTANCE_LEVEL: NUM BER(38)
+ IX_USERS(NUMBER, NUMBER, CHAR, CHAR, CHAR, CHAR, CHAR) M ESSAGE_SUBJECT : CHAR(400 BYT E)
+ IX_USERS1(NUMBER, NUM BER, CHAR, CHAR) M ESSAGE_BODY: VARCHAR2(4000 BYT E)
+ IX_USERS2(NUMBER) +PK_USERS
M ESSAGE_TYPE: CHAR(2 BYTE)
+ IX_USERS3(NUMBER, NUM BER, NUMBER, CHAR) (MESSAGE_CREAT OR = USER_ID) M ESSAGE_SEND_DELET E: CHAR(1 BYT E)
+ IX_USERS4(NUMBER) M ESSAGE_DAT E_CREATION: CHAR(14 BYT E) +PK_MESSAGE
+ IX_USERS5(NUMBER, CHAR, NUMBER) 1 0..*
M ESSAGE_AT T ACH: CHAR(1 BYT E) 1 +FK_LABEL_MAP_M ESSAGE_LABEL 0..*
+ IX_USERS6(NUMBER, , , , , NUMBER, CHAR) +FK_MESSAGE_SEND_M ESS_USERS M ESSAGE_GROUP_EDIT ION: NUMBER(38)
+ IX_USERS7(NUMBER, CHAR, CHAR, CHAR)
LABEL_M AP_M ESSAGE
+ IX_USERS8(, NUMBER) (LABEL_MAP_MESSAGE_ID = MESSAGE_ID)
«PK»
«FK» + PK_MESSAGE(NUMBER) «column»
+ FK_USERS1(NUMBER) *PK LABEL_MAP_ID: NUMBER(38)
«index»
*FK LABEL_MAP_LABEL_ID: NUMBER(38)
+ IX_MESSAGE(NUMBER, CHAR)
+PK_MESSAGE *FK LABEL_MAP_MESSAGE_ID: NUM BER(38)
+ IX_MESSAGE2(NUMBER, CHAR)
1 + IX_MESSAGE3(NUMBER, NUMBER, CHAR) 0..*
+FK_LABEL_MAP_MESSAGE_MESSAGE «FK»
+PK_USERS 1 «FK»
+ FK_LABEL_MAP_MESSAGE_LABEL(NUMBER)
+ FK_MESSAGE_MESSAGE_I_IMPORTAN(NUMBER)
+ FK_LABEL_MAP_MESSAGE_MESSAGE(NUMBER)
+ FK_MESSAGE_SEND_M ESS_USERS(NUMBER)
«PK»
(AT T ACH_CREAT OR =
(AT T ACH_MESSAGE = MESSAGE_ID) + PK_LABEL_MAP_MESSAGE(NUMBER)
USER_ID) +FK_MESSAGE_MESSAGE_I_IMPORT AN 0..*
+_AAAFK_AT T ACH_AT TACH_CR_USERS 0..*
ATTACH
its has been created two news tables. This are, LABEL and LABEL_MAP_MESSAGE.
The script for created them is attachment with this document.
Page. 79 of 79