Michael L. Dean
$Id: dcl_getting_started.lyx,v 1.1 2001/07/30 00:11:51 mdean Exp $
This document will hopefully give users an overview of Double Choco Latte (DCL) and its features. It is meant to complement the (inwork) online help that accompanies DCL.
DCL supports a number of features, but it is still in development. Among these features are:
Although DCL is currently usable, it has greater aspirations. Among these are:
The INSTALL file is a little vague for some when it comes to configuring DCL for their particular environment. I'll try to go through the process here in the hopes that it will provide some answers and guidance for those in need.
Users login with their DCL user name and password. Also available on the login screen is a drop down box to select the preferred user interface. Currently, three UIs exist: Drop Down, Tree, and Static. Drop down uses DHTML/JavaScript to provide a UI similar to an application pull down menu. Tree also uses DHTML/JavaScript along with frames (to avoid constantly reloading the menu and having to remember state) and utilizes the familiar collapsible tree structure. The third (and my favorite) is static. The static menu is just a flattened menu in its own frame. No DHTML, no JavaScript, perfect for Mozilla (the reason I made it).
After logging in, the user is presented with the ``My DCL'' or ``home'' page. My DCL provides some basic information to the user about their status in the system and the status of affiliated work orders. A quick walk through the sections is in order:
The work orders menu contains functions to input, search, and report on work orders in your system. It should be noted here that while DCL is currently about 90% ready for NLS, some menu items do not match with the terminology used here and within DCL itself (nice, huh?). Mainly, JCN (Job Control Number) is equivalent to work order number.
See Section 4.1 for a description of this item.
This option allows you to create a brand new work order. All of the fields in the work order entry screen should be selfexplanatory. Some differences will exist based on your security level:
To add a sequence to an existing work order, choose the New Seq menu item. Remember that a sequence is a way to relate work orders together logically in DCL. They can be related according to any relationship logic you can think of, but the intended use is almost like a small project. Sequences are only limited by the database and PHP.
The import was created by Urmet Janes to facilitate work order creation from a CSV (comma separated values) file. This (if I remember correctly) was designed so Excel could be used to input work orders through a spread sheet, exported to CSV, and imported to DCL. It supports validation of data, input of fields by ID or by name, and other features. See the online help for more information.
The Personnel Activity report was written to satisfy my company's need for a summary timesheet report. The information provided by this report covers activity between two dates. We report timesheets on a weekly basis, so every week, everyone runs their reports to show their activity for the week. This allows management to see where timelines may slip due to unscheduled incidents (i.e., a customer's site goes down, etc.). It does basic budget analysis to see if estimates are accurately being made for work orders (based on the estimated hours field).
The graph function currently shows a simple line graph of the amount of work orders opened and closed over a 7 or 14 day period ending on a date provided by the user. In the future, it will be possible to restrict the work orders based on different criteria (like account, product, etc).
The Statistics page is a HUUUUUGE spreadsheet view of either all nonclosed or all closed work orders in the system. It shows only personnel who have work orders assigned to them, thereby weeding out users who cannot have work orders or are laying dormant in the system. Columns are broken down by product, then status. Rows are listed for each individual. In the cells the total number of tasks for that person/product/status are shown along with the total estimated hours remaining for the work orders. For example, 6(10.75) means there are 6 tasks with a total of 10.75 hours of work remaining. These numbers are also clickable, taking you to a search result showing just those work orders.
The Schedule option was another work related addition. It is a very simple schedule that orders a person's tasks by priority, severity, jcn, and seq. Essentially, it is a FIFO by priority and severity. It will take a persons open tasks (status 1) only and schedule them assuming a Monday through Friday work week with 8 hours/day of work allocated. Very simple, indeed. It will adjust the estimated start and end dates of the work orders accordingly.
The Search option is what it is. It is two forms (at this time) offering two ways to find work orders. The first is by WO#/Seq. The WO# must be input, but the sequence is optional. If the sequence is not specified and the WO# contains multiple sequences, all sequences will be shown in the result set as if by search. If only one work order is found for a given WO#, the work order detail will be displayed.
The second part of the search screen is more advanced. It has several list boxes allowing users to choose which items to include in the result set. The search is performed with all fields using AND logic, while values within fields use OR logic. For example, it is possible to construct a query like 'where account='company abc' and product='our premium product' and status in 'open','unassigned'. This is pseudoSQL, of course. It should be noted that the free text search on the bottom (summary, notes, description) may require case sensitivity if your SQL server platform demands it. It is also a phrase match (used as like '%match this%') query.
See Section 4.1 for a description of this item.
New Project allows the creation of projects to group work orders under. Currently, the only advantage is the ability to provide a summary on a set of work orders as a whole. Work orders can be attached to projects one of two ways. First, by clicking P (Prj) in a search result set. Second, by selecting the project to add the work order to when the work order is created. Note that you must have the highest level of work order input (add/assign) in order to create and manipulate projects.
The View Projects option allows you to select a project to view a detail for. You can browse through the projects and optionally filter by status and project lead. For each project listed, you can jump to a detail view (project view with stats) or a tree view. The tree view will show the work orders of the selected project and child projects (if any) in a nested tree view.
See Section 4.1 for a description of this item.
TODO
TODO
The graph function currently shows a simple line graph of the amount of work orders opened and closed over a 7 or 14 day period ending on a date provided by the user. In the future, it will be possible to restrict the work orders based on different criteria (like account, product, etc).TODO
TODO
TODO
This is exactly what it says it is. You can perform your administrative tasks here.
Change Password allows users to change their passwords, assuming they have the proper security level. The sa user can change the password for anyone in the system. All other users (regardless of security) have to confirm the current password and enter the new password with confirmation to ensure it was typed correctly.
TODO
TODO
TODO
TODO
Which leads me to my next revelation: the Show Products option also includes the infamous D (Det) link to view the project details. A project's details are currently simple: show some quick status on work orders for the product, along with a list of work orders sectioned by status and ordered by age. Age is reported in days (including fractional to the hundredth decimal place). From here, you can quickly assess a product's status and get a rough idea of the amount of activity being generated for it.
Watches allows you to administer the watches you currently have. You can create watches by selecting the W (or Wtch) link when viewing a work order detail, work order result set, project detail, or product list (Admin...Show Products). Watches can be modified or deleted in this area.
The help menu is pretty basic at this point. It is really more of a miscellaneous option menu. Clear Screen refreshes the screen with blank content. This is most useful for getting at the drop down menu if a form with a bunch of controls (such as the search screen) is shown immediately beneath the menu. Currently, IE 5.x has the implementation of zorder in layers most correct. It appears that layers will still be shown beneath list boxes, but do appear above edit boxes and buttons.
TODO
Blanks the content area. Most useful with the drop down menu to remove form elements that may be hiding menu items.
DCL Home Page will take you to the website for DCL (currently http://dcl.sourceforge.net/index.php).
License Info will display the GNU Public License, which is the license governing the release of DCL.
Version Info displays a little information that could prove useful in diagnosing problems at some point. More information can be added to this screen, but that is a low priority at this time.
Work order options are displayed within search result lists and in work order details. They are normally configured to show the short description since the abbreviated (3 letter) description proves to be quite long in limited screen space. I'll list the currently available options and give a brief description of each:
Time cards are meant to track work on a task to any level of detail needed. Time cards can also be used to denote phone calls, research, programming fixes, documentation, hardware upgrades, or whatever you need. As long as you have meaningful actions setup for the users to pick from, you can enjoy excellent history and (in the future) reporting capabilities for how these tasks are resolved.
My employer also utilizes DCL for administrative documentation by including an Adminstration product along with actions such as sick time, vacation, meeting, and documentation.
TODO
TODO
Section 8.2 shows a minimal template. Section 8.3 shows an example template.
The minimal template in section 8.2 demonstrates a few different items that you can use in checklists. This will probably be expanded later to allow more data types as necessary. A quick list of pointers for building your templates:
Each State has a set of one or more Field elements in the Fields collection. Several types are supported and control how the user interacts with the checklist:
Field names should be unique across the entire document. This ensures that HTTP POST operations do not accidentally overwrite values from duplicate variables.
<Checklist>
<Meta>
<Version>*Version Of Document*</Version>
<Author>*Author Of Document*</Author>
<CreateDate>*Document Creation Date*</CreateDate>
<Name>*Name Of Document*</Name>
</Meta>
<History>
<CurrentState>*Should Match A Valid State From The States Element Below*</CurrentState>
<InitiatedBy>*Will Be Autofilled*</InitiatedBy>
<InitiatedOn>*Will Be Autofilled*</InitiatedOn>
<Changes>
</Changes>
</History>
<States>
<State name="*Name of State*">
<Fields>
<Field name="ri_date" display="Date" type="createdate"></Field>
<Field name="ri_id" display="Request ID" type="autoincrement"></Field>
<Field name="ri_originator" display="Request Originator" type="createby"></Field>
<Field name="ri_phone" display="Phone No." type="phone"></Field>
<Field name="ri_email" display="E-mail" type="email"></Field>
<Field name="ri_alternate_contact" display="Alternate Contact" type="personnel-one"></Field>
<Field name="ri_products" display="Product(s) Affected" type="products-multi"></Field>
<Field name="ri_servers" display="Server(s) Affected" type="text" size="50"></Field>
<Field name="ri_customers" display="Customer(s) Affected" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_requested" display="Requested Change Date" type="date"></Field>
<Field name="dep_start_time" display="Start Time" type="time"></Field>
<Field name="dp_reason" display="Reason For Change" type="select-one">
<Options>
<Option>*One Or More Options*</Option>
</Options>
<Values>
<Value></Value>
</Values>
</Field>
</Fields>
</State>
</States>
</Checklist>
<Checklist>
<Meta>
<Version>1.0.0</Version>
<Author>mdean</Author>
<CreateDate>2001-04-30</CreateDate>
<Name>Change Request Form</Name>
</Meta>
<History>
<CurrentState>Request Information</CurrentState>
<InitiatedBy></InitiatedBy>
<InitiatedOn></InitiatedOn>
<Changes>
</Changes>
</History>
<States>
<State name="Request Information">
<Fields>
<Field name="ri_date" display="Date" type="createdate"></Field>
<Field name="ri_id" display="Request ID" type="autoincrement"></Field>
<Field name="ri_originator" display="Request Originator" type="createby"></Field>
<Field name="ri_phone" display="Phone No." type="phone"></Field>
<Field name="ri_email" display="E-mail" type="email"></Field>
<Field name="ri_alternate_contact" display="Alternate Contact" type="personnel-one"></Field>
<Field name="ri_alternate_phone" display="Alternate Phone No." type="phone"></Field>
<Field name="ri_alternate_email" display="Alternate E-mail" type="email"></Field>
<Field name="ri_products" display="Product(s) Affected" type="products-multi"></Field>
<Field name="ri_servers" display="Server(s) Affected" type="text" size="50"></Field>
<Field name="ri_customers" display="Customer(s) Affected" type="textarea" rows="6" cols="50"></Field>
</Fields>
</State>
<State name="Development/Product">
<Fields>
<Field name="dp_reason" display="Reason For Change" type="select-one">
<Options>
<Option>Enhancement</Option>
<Option>Service Release</Option>
<Option>Product Release</Option>
<Option>Fix</Option>
<Option>Maintenance</Option>
</Options>
<Values>
<Value></Value>
</Values>
</Field>
<Field name="dp_requested" display="Requested Change Date" type="date"></Field>
<Field name="dp_impact" display="Impact Of Failure" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_rollback" display="Rollback Timeline" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_db_change" display="Database Change" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_app_change" display="Application Change" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_conf_change" display="Configuration Change" type="textarea" rows="6" cols="50"></Field>
<Field name="dp_files_origin" display="Origin Of Files" type="select-one">
<Options>
<Option>Source Safe</Option>
<Option>Deployment CD</Option>
<Option>Other Media</Option>
</Options>
<Values>
<Value></Value>
</Values>
</Field>
</Fields>
</State>
<State name="Quality Assurance">
<Fields>
<Field name="qa_procedures" display="Testing Procedures" type="textarea" rows="6" cols="50"></Field>
</Fields>
</State>
<State name="Approval">
<Fields>
<Field name="app_status" display="Approval Status" type="select-one">
<Options>
<Option>Pending</Option>
<Option>Approved</Option>
<Option>Denied</Option>
</Options>
<Values>
<Value></Value>
</Values>
</Field>
<Field name="app_notes" display="Notes" type="textarea" rows="6" cols="50"></Field>
</Fields>
</State>
<State name="Deployment">
<Fields>
<Field name="dep_team" display="Deployment Team" type="personnel-multi"></Field>
<Field name="dep_change_schedule" display="Change Schedule" type="date"></Field>
<Field name="dep_start_time" display="Start Time" type="time"></Field>
<Field name="dep_end_time" display="End Time" type="time"></Field>
<Field name="dep_fallback_time" display="Fallback Time" type="time"></Field>
</Fields>
</State>
</States>
</Checklist>
This feature has a long way to go before it can be used for automating work flow. Among the needed features are:
This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir3049SoOJCZ/lyx_tmpbuf3049HrFzwr/dcl_getting_started.tex
The translation was initiated by Mikey on 2001-07-29