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
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.
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