logo

Personal tools
Vasudeva Development VSA Specifications System Requirements Specifications v1.0 (SRS)
Document Actions

System Requirements Specifications v1.0 (SRS)

This document describes the Vasudeva Service Application, Generation 3 from the user perspective. It is a live document that defines project scope.


Vasudeva Service Application, Generation 3 13

System Requirement Specifications

The purpose of this document is to define requirements of the Vasudeva Service Application, Generation 3. The Vasudeva Service Application is a system for generation and publication of multimedia content related to the mission of Sri Chinmoy. While publication generally denotes internet publication, this is not assumed to be the exclusive case. In this document, the word site is generally used to denote web site, since that was the context of viewable content in the previous generations of this software system. This is not assumed to be the exclusive case going forward.

This document defines users of the Vasudeva Service Application and their roles. The system and software requirements of the Vasudeva Service Application, Generation 3, are expressed as use cases for the relevant users. These use cases are accommodated by specific software components, defined later from the point of view of users. The scope of the Vasudeva Service Application, Generation 3, is determined by the use cases and the software components.



Table of Contents

Definitions of Terms 3

Users and Roles 5

Use Cases 6

Content-Type Components 8

1. Article 8

2. Editorial content 10

3. Table of Contents 11

4. Search 11

5. Candidate list 11

6. User preferences 12

7. User Account Control Panel 12

8. Page Template 13

9. Bulletin Board 13

10. Issue Desk (deferred) 13

11. Sri Chinmoy Inspiration Group 13

12. Streaming Media (deferred) 13

13. Subscription (deferred) 13

14. Subscription list (deferred) 13

15. Collection (deferred) 13

16. Review (deferred) 14

17. Footnote (deferred) 14

18. Classified Ad (deferred) 14

Diagnostic Components 15

1. Editor account activity 15

2. Site crawler (deferred) 15

3. Load matrix (deferred) 16

4. Referrer search term catalog (deferred) 16

5. Internal search term catalog (deferred) 17

6. Internal search robot (deferred) 17

7. Vasudeva Site Summary (deferred) 18

Skin Components 19

1. Default administrative skin 19

2. Default member skin (deferred) 19

3. Vasudeva site skins 19

Appendix. Project Aphorisms 20



Definitions of Terms

administrator. A user of the Vasudeva Service Application who manages user accounts associated to a single Vasudeva site.

anonymous user. A user of the Vasudeva Service Application who is not a member. The anonymous user has limited input and visibility into the Vasudeva Service Application. Typically, the anonymous user is an individual or agent who requests to view Vasudeva items through http or another permitted protocol.

candidate. A content item that has not been submitted for publication. A public content item may be demoted to a candidate.

content item. Unit of content generated by an editor or member; an instance of a content-type component.

content-type component. A software component exposed through the Vasudeva Service Application. The content-type component will have an interface that allows a user to create a content item; this activity is called creating an instance of the content-type component. The content-type component may have interfaces that allow a user to view the associated content item.

core developer. A user who exposes software components through the Vasudeva Service Application.

diagnostic component. A software component exposed through the Vasudeva Service Application. for the purpose of monitoring performance or usage on a Vasudeva site. A diagnostic component is deployed on an administrative site.

editor. A user who generates content for a Vasudeva site.

editor site. A site owned by a single editor. It is used to generate content for a Vasudeva site.

feature. Implementation of a use case.

graphic designer. A user who creates skin components for the Vasudeva Service Application.

member. A user of the Vasudeva Service Application who has a login account. A member configures preferences that persist between login sessions. A member may submit content item candidates for publication. A member is associated with a single Vasudeva site.

member site. A site owned by a single member. Content items in a member site are editable by the member who owns the site. Public content items in a member site are viewable by anonymous users.

my. Pertaining to a single user.

navigation component. A software component that allows a user to navigate to content items.

private. Not viewable by an anonymous user.

public. Viewable by an anonymous user.

publication. The act of publishing.

publish. To make viewable by an anonymous user; to make public.

reviewer. A user of the Vasudeva Service Application who manages the layout and work flow in a Vasudeva site.

reviewer site. A site owned by a reviewer. A reviewer site is associated with a Vasudeva site. A reviewer site allows a reviewer to manage publication work flow in a Vasudeva site and its member sites, and to configure and deploy software components on those sites.

skin component. In a Vasudeva site or member site, a software component that changes the appearance of content items.

submission. A content item that has been submitted for publication. A submission may be a revision of a public content item.

subscribe. Create a content item that is a link to a Vasudeva item. The content item is called a Vasudeva item reference.

Vasudeva item. Content item published on a Vasudeva site. An editor or member may be able to subscribe to a Vasudeva item.

Vasudeva item reference. A content item that is created by subscribing to a Vasudeva item. Vasudeva item references are created on member sites. A Vasudeva item reference may be revoked or limited by a reviewer. See subscribe.

Vasudeva site. A site containing public Vasudeva items.

view. To render content in a web browser. The Vasudeva Service Application, Generation 3 will support viewing in either Microsoft Internet Explorer 6.0+ or Mozilla 5.0+.

Users and Roles

Core developer. The core developer builds and maintains the framework that underlies the Vasudeva Service Application. The core developer creates content-type components and diagnostic components. The core developer exposes content-type components, diagnostic components, and skin components in the Vasudeva Service Application.

Administrator. The administrator manages administrator, reviewer and editor accounts associated to a Vasudeva site.

Reviewer. The reviewer configures and deploys content-type components and skin components on a Vasudeva site and its associated member sites. The reviewer configures and deploys diagnostic components on the administrative site to monitor Vasudeva site usage and performance. The reviewer manages the publication of Vasudeva item candidates in a Vasudeva site. The reviewer manages the publication work flow of collections and editorial content in the member sites of a Vasudeva site.

Graphic designer. The graphic designer uses the Vasudeva Service Application to design reusable visual templates, called skin components. The graphic designer may submit a skin component to core developers.

Editor. The editor uses the Vasudeva Service Application to create Vasudeva item candidates. The editor may submit a Vasudeva item candidate to a reviewer.

Member. The member uses the Vasudeva Service Application to generate private collections and private editorial content. The member uses content-type components and skin components. The member may submit a private collection or a private editorial content to a reviewer.

Anonymous user. The anonymous user views published Vasudeva items, collections, and editorial content using the Vasudeva Service Application.

XXX The many-to-many relationships below could lead to stand-offs and contentions in request management. The need should be carefully validated. This is a project risk; changing this after the design stage will require a large effort.

Use Cases

ID

User

Activity

A-1

administrator

create/disable/enable an administrator account

A-2

administrator

create/disable/enable a reviewer account

A-3

administrator

create/disable/enable an editor account

A-4

administrator

create/disable/enable a member account

A-5

administrator

change visibility of an editor account by editors




R-1

reviewer

preview a content item submission

R-2

reviewer

view status of content item submissions

R-3

reviewer

accept/reject/defer a content item submission

R-4

reviewer

view the difference between a content item submission and its previously published state

R-5

reviewer

configure/enable/disable a diagnostic component on an administrative site

R-6

reviewer

configure/enable/disable a content-type component on an administrative site, editor site, or member site

R-7

reviewer

configure/enable/disable a skin component on an administrative site, editor site, or member site




E-1

editor

create a Vasudeva item candidate

E-2

editor

demote a Vasudeva item to my Vasudeva item candidate

E-3

editor

change content or attributes of my Vasudeva item candidate

E-4

editor

submit my Vasudeva item candidate for publication

E-5

editor

preview my Vasudeva item candidate

E-6

editor

view status of my Vasudeva item candidates

E-7

editor

create content items




M-1

member

create a content item candidate

M-2

member

demote a content item to my content item candidate

M-3

member

change content or attributes of my content item candidate

M-4

member

submit my content item candidate for publication

M-5

member

preview my content item candidate

M-6

member

view status of my content item candidates




U-1

anonymous user

view public Vasudeva items on a Vasudeva site

U-2

anonymous user

view public content on a member site

U-3

anonymous user

access content-type components on a Vasudeva site





Content-Type Components

Content-type components are factories for content items. A content item has interfaces through which it receives input by a user. The inputs and associated actions specify the interface to the content item.

  1. Article

The article is a generalized container for articles, news items, events, announcements, song items, and library item pages.

XXX This unwieldy catch-all is likely to bring risk to the project. It may be difficult and expensive to maintain.

Edit Interface

Editor

input / action

type

article display name

text

article title

text

article subtitle

text

article number

text

article content and inline image

text; submit; image upload dialog

article publication date

date

article author

text

article place

text

article type

single-select list; restricted to list; review, story, news, event, song item, library item page

article content topic

multi-select list; not restricted to list; multi-day races, short races

(here?) article metadata (several kinds, for meta tags)

text

article musical score

submit; image upload dialog

article audio version

multimedia upload

article picture

submit; image upload dialog

article subtype

single-select list; restricted to list; choices depend on article type

article locale

single-select list; restricted to list; cz, de, en, es, fr, hu, is, it, jp, ru, yu

article visibility

checkbox

article language

single-select list; restricted to list; bengali, english, french, russian, sanskrit

article examined

checkbox

article locale translated

checkbox

article locale visibility

checkbox

article section type

single-select list; restricted to list

article page type

single-select list; restricted to list

article paragraph type

single-select list; restricted to list

article item id

text

article scan id

text

article serial id

text

article isbn

text

article publisher

text

article first print date

date

article publication year

date

article tagger

text

article tag date

date

article ingestion date

date

article checker

text

article locale item title

text

article locale translation date

date

article locale editor

text

article locale publication date

date

browse for preceding article

link

submit for publication

submit

delete article

submit

challenge for delete article (save changes to current content item)

popup

save candidate

submit

preview

submit

browse for candidates

submit

challenge for browse for candidates (save changes to current content item)

popup



Preview Interface

Editor

input / action

type

return to Edit Interface

link



Candidate Capture Interface

Editor

input / action

type

create new candidate based on this Vasudeva item

submit; sends to a populated Edit Interface


Public View Interface

Anonymous User

input / action

type

content link

link

  1. Race participant list (deferred)

The race participant list allows the editor to identify the participants of a type of race and their results.

  1. Editorial content (deferred)

Editorial content contains free text and meta data.

Edit Interface

Editor / Member

input / action

type

display name

text

title

text

content

text

publication date

date

author

text

content topic

multi-select list; not restricted to list; multi-day races, short races

(here?) meta data (several kinds, for meta tags)

text

browse for preceding content item

link

submit for publication

submit

delete content item

submit

challenge for delete content item (save changes to current content item)

popup

save candidate

submit

preview

submit


Preview Interface

Editor / Member

input / action

type

return to Edit Interface

link



Public View Interface

Anonymous User

input / action

type

content link

link

  1. Table of Contents

The table of contents lists the public content items in a member site or Vasudeva site.

XXX how will filter conditions be understood?

Public View Interface

Anonymous User

input / action

type

go to public view of Vasudeva item

link

ascending / descending sort by sortable field

link

  1. Search (low priority)

The search component facilitates qualified full-text and keyword searching across searchable fields of the content items in a member site or Vasudeva site.

XXX The field condition specification is not well understood. How to anticipate all fields and their types across content items?

Public Search Interface

Anonymous User

input / action

type

field condition

text,list, checkbox

number of results per page

list

execute search

submit

  1. Candidate list

The candidate list allows the reviewer to manage publication requests.

Edit Interface

Reviewer

input / action

type

select candidate

link

publish selected candidates

submit

defer publication of selected candidates

submit

reject publication of selected candidates

submit

preview candidate

link to preview interface



Preview Interface

Reviewer

input / action

type

return to edit interface

link

  1. User preferences (low priority)

The user preferences component allows account configuration.

Edit Interface

Member / Editor / Reviewer

input / action

type

display name

text

default locale

single-select list; restrict to list

user role

read-only text

Yahoo ID list

list

change user password

text

Internal messaging ID

text

compose internal message (deferred)

link

challenge for compose internal message (save changes) (deferred)

popup

save changes

submit

  1. User Account Control Panel (adding to existing Plone features here has low priority)

The administrator manages administrator, reviewer, editor, and member accounts through the user account control panel.

List Edit Interface

Administrator

input / action

type

select account

radio

disable / enable selected account

checkbox

hide / reveal account activity

checkbox

user role

single-select list; restrict to list

configure new account

link to edit interface

challenge for configure new account (save changes)

popup

save changes

submit



Edit Interface

Administrator

input / action

type

display name

text

default locale

single-select list; restrict to list

user role

text

Yahoo ID list

list

change user password

text

Internal messaging ID

text

compose internal message (deferred)

link

challenge for compose internal message (save changes) (deferred)

popup

return to list edit interface

link

save changes

submit

  1. Page Template

  2. Bulletin Board (deferred)

  3. Issue Desk (deferred)

  4. Sri Chinmoy Inspiration Group (deferred)

  5. Streaming Media (deferred)

  6. Subscription (deferred)

A member creates a Vasudeva item reference through a subscription.

  1. Review (deferred)

A member creates content associated to a Vasudeva item with the review component.

  1. Footnote (deferred)

A member adds an inline comment to a Vasudeva item reference or a Vasudeva item with a footnote component.

  1. Classified Ad (deferred)

A member, editor, or reviewer browses or offers items for sale with the classified ad component.



Navigation Components

  1. Ordered list

A reviewer uses the ordered list to generate an ordered list of links to content items, based on a specification of genealogy in the site structure.

Edit Interface

Reviewer

input / action

type

specifiy genealogical axes

single-select list; restrict to list

select list item

radio

move up / down / first / last

submit



Preview Interface

Reviewer

input / action

type

choose and return to edit interface

link


Public View Interface

Anonymous user

input / action

type

go to public view of content item

link

  1. Random content item (deferred)

A reviewer uses the random content item to generate links to dynamically chosen content items. The reviewer must specify the pool of content items from which to choose and the mechanism for chosing the content item. The mechanism may be triggered on every request, or at a specified time interval.

  1. Subscription list (deferred)

A reviewer uses the subscription list to view current subscriptions and new subscription activity.

  1. Collection (deferred)

A member creates groups of subscriptions and editorial content with the collection content item.

Diagnostic Components

A diagnostic component monitors the usage or performance of a Vasudeva site. A diagnostic component may act on demand or automatically. A diagnostic component is exposed on an administrative site. A diagnostic component is specified by the descriptions of its action, trigger, and interfaces.

  1. Editor account activity (deferred)

The administrator configures and exposes content generation activity through the editor account activity component.

Edit Interface

Administrator

input / action

type

show number of pages

checkbox

show number of logins

checkbox

show number of messages

checkbox

show number of Yahoo posts

checkbox

number of days of history to show

single-select list; restrict to list

show plots

checkbox

preview activity

link to preview interface



Preview Interface

Administrator

input / action

type

return to edit interface

link

  1. Site crawler (deferred)

The site crawler assesses the performance of a Vasudeva site from the perspective of an anonymous user.

Action

The site crawler systematically generates requests for all Vasudeva items in a Vasudeva site. The site crawler captures details of the results, including returned error status, size of returned item, elapsed time from request to result, and number of requests.

Trigger

The site crawler can be launched on demand. The site crawler can be configured to launch at a specific time daily.

Interface

The site crawler has a configuration interface allowing manual launch, and the specification of daily time to launch automatically.

The site crawler has a results interface showing a list view of its launches. In the list view, each launch has a link to a view of the details of the results of that launch.

  1. Load matrix (deferred)

The load matrix displays the number of Vasudeva item requests by day, and by hour within day.

Action

The load matrix captures information from the Vasudeva site log.

Trigger

The load matrix can be refreshed on demand. The load matrix can be configured to refresh at a specified interval in minutes.

Interface

The load matrix has a configuration interface allowing manual refresh, and the specification of a refresh interval in minutes. The configuration interface also allows the specification of the number of days in the "recent days" batch.

The load matrix has a results interface showing a list view of batches of daily loads by month, and also a "recent days" batch. In the list view, each batch has a link to a view of the load matrix for that month. The load matrix view shows cells of hour within day. Each cell is color-coded to indicate the number of Vasudeva item requests. Each cell also shows the number of Vasudeva item requests. Optionally, a second load matrix is displayed that has mid tones enhanced in its color-coding.

  1. Referrer search term catalog (deferred)

The referrer search term catalog lists the frequency of the most common search terms found in referrers originating from search engines.

Action

The referrer search term catalog captures information from the Vasudeva site log.

Trigger

The referrer search term catalog can be refreshed on demand. The referrer search term catalog can be configured to refresh at a specified time daily.

Interface

The referrer search term catalog has a configuration interface allowing manual refresh, and the specification of a daily refresh time. The configuration interface also allows the specification of the minimum frequency of search terms listed in the results interface. The configuration interface also allows the specification of the numbers of days in the "recent days" batch.

The referrer search term catalog has a results interface showing a list view of most common referrer search terms by month, and also a "recent days" list view. In the list view, each search term has a link to the current internal search results for the search terms on the Vasudeva site.

  1. Internal search term catalog (deferred)

The internal search term catalog lists the frequency of the most common search terms issued on the Vasudeva site.

Action

The internal search term catalog captures information from the Vasudeva site log.

Trigger

The internal search term catalog can be refreshed on demand. The internal search term catalog can be configured to refresh at a specified time daily.

Interface

The internal search term catalog has a configuration interface allowing manual refresh, and the specification of a daily refresh time. The configuration interface also allows the specification of the minimum frequency of search terms listed in the results interface. The configuration interface also allows the specification of the numbers of days in the "recent days" batch.

The internal search term catalog has a results interface showing a list view of most common internal search terms by month, and also a "recent days" list view. In the list view, each search term has a link to the current internal search results for the search terms on the Vasudeva site.

  1. Internal search robot (deferred)

The internal search robot executes preconfigured searches on a Vasudeva site.

Action

The internal search robot executes preconfigured searches on a Vasudeva site. The internal search robot captures details of the results, including returned error status, size of returned item, elapsed time from request to result, links to results, and number of requests.

Trigger

The internal search robot can be launched on demand. The internal search robot can be configured to launch at a specific time daily.

Interface

The internal search robot has a configuration interface allowing manual launch, and the specification of daily time to launch automatically. The configuration interface also allows the specification of a list of search terms to execute.

The internal search robot has a results interface showing a tabular and graphical summary of its results between launches.

  1. Vasudeva Site Summary (deferred)

The Vasudeva site summary delivers information about site growth. Within a specified time period, it gives the following.

  • number of original, final, and pending Vasudeva items

  • number of original and final subscriptions (deferred)

  • number of original and final members

  • number of original and final bytes of content storage

Action

The Vasudeva site summary captures information from the Vasudeva site data store.

Trigger

The Vasudeva site summary can be launched on demand. The Vasudeva site summary can be configured to launch at a specific time daily.

Interface

The Vasudeva site summary has a configuration interface allowing manual launch, and the specification of daily time to launch automatically. The configuration interface also allows the specification of a time period to use in the manual and automatic launches.

The Vasudeva site summary has a results interface showing a tabular summary of its results.

Skin Components

  1. Default administrative skin

The default administrative skin is exposed on the administrative, reviewer, and editor sites.

  1. Default member skin (deferred)

The default member skin is exposed on the member site.

  1. Vasudeva site skins

The Vasudeva site skins are exposed to the anonymous user when viewing public content items on a Vasudeva site. Several content items may be visually presented through a single Vasudeva site skin.

Appendix. Project Aphorisms

  1. A software development project is an effort to produce features (1) by applying resources (2) in a given timeline (3).

  2. To specify fewer than the three parameters above is not to have a project; rather, it is to indulge in charity, inanity, or a hobby.

  3. To specify all three parameters based on considerations unrelated to business or user needs is not to have a project; it is to indulge in fantasy.

  4. Specify two of the three parameters, and you have a basis for estimating the third parameter. Realistically, you seek a reasonable range of values for the third, or a value with a probability that the value is appropriate, assuming nothing changes.

  5. Something will change.

  6. Two thirds of all projects fail; half of the failures never start.

  7. Nearly every successful project has a major rewrite in its lifespan.



srs.sxw 21 Feb 2004 17:19:15 JM

page created by admin last modified 2004-07-30 11:53