OpsAdminRequirements

Description

In this section we describe the requirements for the OpsAdmin project.

OpsAdmin is a back-end addition to OPS (OpenProjectServices). Authorized users can use OpsAdmin to manage OPS-Projects, including the tasks and users associated with those Projects. This functionality already exists in OPS as is, but it currently involves the use of multiple applications and access to several servers. OpsAdmin aims to provide single a user interface to manage projects, timesheets, calendars and contacts (people and companies).

Current situation

Customer explains how project administration is doen now:
Currently, I'm using the JXplorer interface (with OPS plugin) to create a new or modify an existing project (name, members). Since the OPS plugin is crap, I connect directly to LDAP and hack the project tasks into the project.

What also sucks is the reporting. I've made a simple tool to make reporting less tedious. Would be nice if the new admin interface takes care of this smile

As stated by the customer:

  • CRUD on projects and attributes (name, members, manager, status, start date, end date, tasks: name, status)
    • when creating a new project, create the shared mail folder (check the JXplorer OPS plugin).
    • when changing members, make relevant changes to IMAP ACL, so the members can access the shared mail folder
  • CRUD on ou=People,dc=func,dc=nl
  • CRUD on ou=Calendars,dc=func,dc=nl and ou=Timesheets,dc=func,dc=nl
    • all valid users are in ou=Users,dc=func,dc=nl, and maybe (hopefully), they are defined in a group in ou=groups,dc=func,dc=nl
    • if a new valid user is available, make it possible to generate a new calendar and timesheet for that users
  • implement a useful reporting tool.
    • users should be able to do their own reporting
    • ...

Use cases

In software engineering and system engineering, a use case is a technique for capturing functional requirements of systems and systems-of-systems. "Use cases, stated simply, allow description of sequences of events that, taken together, lead to a system doing something useful". Each use case provides one or more scenarios that convey how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems. Use cases typically avoid technical jargon, preferring instead the language of the end user or domain expert. Use cases are often co-authored by business analysts and end users. Use cases are separate and distinct from UML use case diagrams, which allow one to abstractly work with groups of use cases.

story description status
DomainObjectsStory Create the domain objects Project, Task, etc. 100%
SelectProjectStory Select a project from project list or create new 70%
EditProjectStory Edit project properties 0%
DeleteProjectStory Delete project 0%
ListTaskStory show a list of all tasks associated with a project 100%
NewTaskStory Create new task for a project 100%
EditTaskStory Edit Task Status 100%
DeleteTaskStory Delete Task 10%
SelectUserStory Select a user from user list or create new 0%
EditUserStory Edit user properties 0%
LoginStory User authentication 0%
EnvironmentSetupStory Set up all necessary programs 100%
InterfaceTuningStory Some improvements to the user interface 0%

How are the use cases currently done?

Create a new Project

The steps for this require adding an LDAP entry for a project and its attributes. This is currently done in two parts:
  • with JXPlorer + corresponding plugin (to create a new imap folder with clean name, and to create a new ACL for this imap folder)
  • Through local LDAP server (to add all project, task, calendar, timesheet data) .

Add new Tasks to a project

Through local LDAP server, adding children to a project.

Add project members to a project

Through JXPlorer. Also the IMAP ACL has to be changed. [HOW? Does Thijs manually do this?]

OPS-enable a user

The users are already created in LDAP. What has to be done is to create a calendar and a timesheet ics, and add the user to OPS group (LDAP).

Currently, there is no OPS group. IMO there should be one.

What I do now:

Constraint

   
   

The Constraint object is going to be a wrapper that passes the filters from the user to the DAO. The DAO returns a filtered list of projects. This list has no duplicates and presumably has some kind of order. By default, only active projects are shown.

For now the filter possibilities have a sketchy description. Filtering can be possible on project properties:

  • String properties: Name, manager Name (first/last), member Name (first/last), task Name - First letter, substring, string with wildcards, regex
  • Date properties: startDate, endDate - before, after, between
  • Status: pick one
  • UID: like looking for a book by ISBN
See utrecht library search site for a general idea.

-- IvanaCace - 13 Mar 2007

webservices

Available webservices (used by Sunbird/Thunderbird):

-- FlaviaPaganelli - 05 Mar 2007

Topic revision: r24 - 22 Dec 2008 - 10:58:34 - IvanaCace

tip TWiki Tip of the Day
Breadcrumb
The breadcrumb of a topic shows you page hierarchy. It is constructed using a topic's parent setting ... Read on Read more

 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback