Man Linux: Main Page and Category List

NAME

       opensched - automatically schedule resources for a project

SYNOPSIS

       opensched [-d] [-v] [-h] [file...]

DESCRIPTION

       The opensched program accepts a project description file, assigns tasks
       to resources, schedules tasks  to  time  periods,  and  prints  various
       reports.

       The  user  creates a project description file, which describes what has
       to be done, who can do it, etc.

       The user runs the opensched program (perhaps using  a  Makefile).   The
       program  will  schedule any tasks that have not been assigned to people
       and time periods by the user.  It then prints various reports, as  text
       files, LaTeX documents and EPS diagrams.

       The  user  presumably  will  incorporate the LaTeX and EPS files into a
       large LaTeX document, run the works through LaTeX, and print  a  nicely
       formatted report.

OPTIONS

       -d     Enable debug mode.

       -v     Show version informations and terminate.

       -h     Show help (usage) and terminate.

PROJECT FILE FORMAT

       The  project  file  contains a list of command lines.  Each line may be
       one of:

       - blank

       - a comment, which begins with a # mark

       - a command
              Commands are written as a  keyword  followed  by  zero  or  more
              arguments. Arguments are either words or quoted strings.

       The  first  command processed by opensched, e.g., the first in the root
       document must be a startdate command. This specifies the project  start
       date.  The  second command must be a dateformat command. This specifies
       the date format used in the input files, and the date format to be used
       in the output files.

   General commands
       include filename
              Load more commands from the indicated file before proceeding

       startdate CCYY MM DD
              Define  the  first day of the project, as CCYY MM DD.  All dates
              are calculated relative to this start date.

       textreport filename
              Print an ASCII report about scheduled tasks to the file.

       texreport filename
              Print a LaTeX report about scheduled tasks to the file.

       htmlreport filename
              Print a HTML report about scheduled tasks to the file.

       xmlreport filename
              Print a XML report about scheduled tasks to the file.

       show_resource_notes
              Print notes about resources in the report.

       show_task_notes
              Print notes about tasks in the report.

       show_task_ids
              Print task ids as well as task names in the output.

       show_milestone_ids
              Print milestone ids as well as milestone names in the output.

       show_dependencies
              Print task dependency information in the report.

       show_vacations
              Print vacation information in the report.

       weekly_tex filename
              Print a LaTeX report about who has to do what work on what  week
              to the file.

       monthly_tex filename
              Print a LaTeX report about who has to do what work on what month
              to the file.

       slippage_tex filename
              Print a LaTeX report about slippage in the schedule.

       weekly_txt filename
              Print a text report about who has to do what work on  what  week
              to the file.

       monthly_txt filename
              Print  a text report about who has to do what work on what month
              to the file.

       slippage_txt filename
              Print a text report about slippage in the schedule.

       weekly_html filename
              Print a HTML report about who has to do what work on  what  week
              to the file.

       monthly_html filename
              Print  a HTML report about who has to do what work on what month
              to the file.

       slippage_html filename
              Print a HTML report about slippage in the schedule.

       cost_html filename
              Print a HTML report about the cost of the project.

       printtaskdays
              Modifies the reports to print exactly what days a task is worked
              on.   This  is  useful if a task is split over time, to straddle
              other tasks.  If that happens, its start and  finish  dates  are
              far apart, but work is not ongoing throughout its duration.

       utilgraph filename
              Print  an EPS file which shows when each resource is busy.  This
              file is ugly but can be useful to determine the efficiency  with
              which the resources have been scheduled.

       hardschedule filename
              Print start and finish statements to a new scheduler input file,
              that fix the schedule of this project.

       taskgraph startdate finishdate filename
              Print an EPS GANTT chart for the given date range in the file.

       network startcolumn finishcolumn filename
              Print an EPS network diagram containing the given  column  range
              in  the  file. In the network diagram, the tasks are arranged in
              columns numbered from the left starting at 0. The  column  range
              restricts those in the chart to a subset of them.

       dateformat calendar
              Dates  will  be  entered  and printed as CCYY.Mon.DD.  Examples:
              1999.Jan.05 or 2000.Jun.30

       dateformat iso
              Dates will be entered and printed in ISO-8601 CCYY-MM-DD format.
              Examples: 1999-01-05 or 2000-06-30

       dateformat count
              Dates  will  be  entered  and printed as a 3-digit (zero-padded)
              integer number counting number of days since the project  began.
              Weekends are counted.

       dateformat raw
              Dates  will  be  entered  and printed as a 3-digit (zero-padded)
              integer number counting number of working days since the project
              began.   This  differs  from  "dateformat  count" above since it
              ignores weekends.

   Commands to define and relate resources and tasks
       resource id name
              Define a resource (i.e., a person who can do some work)

       resource_note resourceid text
              Add a note to a variable length list of such notes  attached  to
              the named resource.

       efficiency resourceid N
              Set  the  relative efficiency with which the identified resource
              does work.  Efficiency  is  a  number  greater  than  0.   If  a
              resource  has  an efficiency of 0.5, then it takes twice as long
              to do work as someone with  an  efficiency  of  1.0,  and  if  a
              resource  has  an efficiency of 2.0, then it takes half the time
              to do the work as someone with an  efficiency  of  1.0  (perhaps
              because  the  resource  actually  represents 3 programmers).  By
              default, efficiency is 1.0.

       task id name N
              Define a task  that  must  be  completed.   It  will  take  some
              resource N days to complete.

       task_note taskid text
              Add  a  note to a variable length list of such notes attached to
              the named task.

       block taskid
              Indicate that a given task must be completed in  a  single  time
              block,  and  may  not  be split around other tasks.  This is not
              true by default.

       describe taskid description
              Add a more verbose description to the task.

       group id resourceid1 resourceid2 ...
              Define  a  virtual  resource,  which  represents  every   listed
              resource working together in a group.

       candidate taskid resourceid1 resourceid2 ..
              Indicate  that the resources indicated are candidates to work on
              the indicated task.

       depends taskid0 taskid1 taskid2 ...
              Indicate that taskid0 cannot be started until  all  of  taskid1,
              taskid2, ... are completed.

       complete taskid
              Indicate that the task is finished.

       complete taskid N
              Indicate what fraction of the work for the indicated is done, as
              a percentage from 0 to 100.

       done taskid N
              Indicate the number of days spent so far on the task.

       start taskid date
              Indicate that the task should start on the given date.  Use with
              care...  it  is  possible,  by using it, to put constraints on a
              schedule such that there is no solution.

       finish taskid date
              Indicate that the task should be finished  on  the  given  date.
              Use with care... it is possible, by using it, to put constraints
              on a schedule such that there is no solution.

       bstart taskid date
              Indicate that the task Baseline starts on the given date.

       bfinish taskid date
              Indicate that the task Baseline finished on the given date.

       astart taskid date
              Indicate that the task Actual start is on the given date.

       afinish taskid date
              Indicate that the task Actual finish is on the given date.

       future taskid resourceid startdate finishdate
              Indicate that the indicated resource will definitely work on the
              given  task  on the given dates.  This will automatically assign
              the task to this resource.  It will  will  also  fix  the  start
              date, and may fix the finish date (if enough days are included).

       past taskid resourceid startdate finishdate
              Indicate that the indicated resource has already worked  on  the
              given  task  on the given dates.  This will automatically assign
              the task to this resource.  It will  will  also  fix  the  start
              date, and may fix the finish date (if enough days are included).

       vacation resid startdate finishdate
              Indicate that the given resource has a  vacation,  and  may  not
              work  on  scheduled  tasks,  on the given date range.  Note that
              resid  may  include  ?  and  *  wildcard  characters,  which  is
              convenient   for   defining  group  or  statutory  holidays  for
              everyone.

       vacation resid date
              Define a one day holiday.  Otherwise the same as above.

   Commands that modify the display of GANTT charts
       tg_tasklabel N
              In GANTT charts, sets the offset (in points) of task labels from
              the left edge of the chart.

       tg_left N
              In GANTT charts, sets the offset (in points) of the left edge of
              GANTT charts from the left edge of the page.

       tg_top N
              In GANTT charts, sets the offset (in points) of the top edge  of
              GANTT charts from the top edge of the page.

       tg_width N
              In GANTT charts, sets the width (in points) of a single day.

       tg_height N
              In GANTT charts, sets the height (in points) of a single task.

       tg_space N
              In  GANTT  charts,  sets  the vertical space (in points) between
              consecutive tasks on the chart.

       tg_gray N
              In GANTT  charts,  sets  the  PostScript  gray  level  (0-1)  of
              scheduled tasks.

       tg_lightgray N
              In  GANTT  charts,  sets  the  PostScript  gray  level  (0-1) of
              weekends embedded in the middle of scheduled tasks.

       tg_white N
              In GANTT charts, sets the PostScript gray level (0-1)  of  marks
              that show work already done on a task.

       tg_fontname1 name
              In GANTT charts, sets the PostScript name of the medium font.

       tg_fontsize1 N
              In GANTT charts, sets the size (in points) of the medium font.

       tg_fontname2 name
              In  GANTT charts, sets the PostScript name of the smallest font.

       tg_fontsize2 N
              In GANTT charts, sets the size (in points) of the smallest font.

       tg_fontname3 name
              In GANTT charts, sets the PostScript name of the largest font.

       tg_fontsize3 N
              In  GANTT charts, sets the size (in points) of the largest font.

       tg_textup N
              In GANTT charts, sets the vertical offset from  the  base  of  a
              task  line to the base of the text that describes it, in points.

       tg_mlgray N
              In GANTT charts, sets the gray level (0-1) used to draw vertical
              month lines.

       tg_xborder N
              In  GANTT  charts,  the border on the left and right edge of the
              chart.

       tg_yborder N
              In GANTT charts, the border on the top and bottom  edge  of  the
              chart.

       tg_nodays
              In GANTT charts, don’t print days and months along bottom.

       tg_daysofmonth
              In GANTT charts, print day of month below day of the week.

       tg_sortbyresource
              In  GANNT charts, group tasks by resource instead of by order of
              execution.

       tg_showpast
              In GANNT charts, show past days with a progression bar.

       tg_pastgray N
              In GANNT  charts,  sets  the  gray  level  (0-1)  used  to  draw
              progression bar on past days (used only with tg_showpast )

       tg_showvacation
              In GANNT charts, show vacation days.

       tg_vacationgray N
              In GANNT charts, sets the gray level (0-1) used to draw vacation
              days (used only with tg_showvacation )

   Commands that modify the display of network diagrams
       netx taskid N
              Fixes the box for the specified task to be in column N.  Columns
              are numbered left to right starting at 0.

       nety taskid N
              Fixes  the  box  for the specified task to be in row N. Rows are
              numbered top to bottom starting at 0.

       start_nety N
              Fixes the box for the start milestone to be in row N.  Rows  are
              numbered left to right starting at 0.

       finish_nety N
              Fixes  the box for the finish milestone to be in row N. Rows are
              numbered left to right starting at 0.

       pc_width N
              In network diagrams, sets the width (in points)  of  the  boxes.
              The default is 190.

       pc_height N
              In  network  diagrams, sets the height (in points) of the boxes.
              The default is 72.

       pc_space N
              In network diagrams, sets the horizontal  and  vertical  spacing
              (in points) between boxes. The default is 72.

       pc_textin N
              In network diagrams, sets the distance (in points) from the left
              edge of the box to the start of text. The default is 6.

       pc_textup N
              In network diagrams, sets the  distance  (in  points)  from  the
              bottom of the box to the baseline of text. The default is 6.

       pc_fontname1 name
              In  network  diagrams, sets the name of the font. The default is
              Helvetica.

       pc_fontsize1 N
              In network diagrams, sets the size of the font. The  default  is
              10 (point).

   Commands related to milestones
       milestone id name
              Define  a  milestone.  A  milestone marks a special event in the
              life of a project. A milestone is reached when all of the  tasks
              it depends on are completed.

       after id taskid2 taskid2 ...
              The  milestone  id  is  reached after all of the dependent tasks
              have finished.

   Commands related to project costing
       rate resid amount
              Define the daily charge out rate for the specified resource.

       item taskid amount text
              Associate an item costing the given amount with the given  task.
              Text is a variable length field describing the item.

       prate amount
              Define  a default daily charge out rate for resources to be used
              for Resources which have not had an individual charge  out  rate
              set.

       pitem amount text
              Define  an  item costing the given amount for the project (i.e.,
              not associated with any particular task).  Text  is  a  variable
              length field describing the item.

   Dates and date ranges
       Dates  are  internally  represented  as an integer number of days, with
       zero being the first working day. There are five days per working week,
       but  the internal representation does not count weekends.  Accordingly,
       a project that starts on a Monday has:

       Day number   DoW         Week
       ------------------------------
       0            Monday         1
       1            Tuesday        1
       2            Wednesday      1
       3            Thursday       1
       4            Friday         1
       5            Monday         2
       6            Tuesday        2
       7            Wednesday      2

       This is useful for programs, but a pain for humans.   Accordingly,  the
       program  uses  an  aliasing  system  for dates.  You select an aliasing
       system (probably calendar), and enter all dates using this system.  The
       program also prints all of its dates in the same system.

       To do this, you should start your project file with the statements:
              startdate 1998 10 28
              dateformat calendar
       You can then refer to dates as 1998.Nov.02

NOTE

       You  will  soon  discover  that there are no aliases for weekend dates.
       This is the most common bug -- don’t enter any dates for  weekends,  as
       the system will just reject them!!

       In  several  places in the project file, and in various output formats,
       the program prints date ranges.  You should be aware that these  ranges
       are inclusive.

SEE ALSO

       latex(1), make(1)

AUTHOR

       This  program was originally developed by Idan Shoham at M-Tech Mercury
       Information Technology, Inc. It is currently maintained by Alan Mcivor.
       See    opensched.sourceforge.net   for   the   latest   version.    Any
       correspondence relating to this program should be directed to:
       Alan McIvor <alan@mcivor.gen.nz>

COPYING

       Copyright (c) 1991 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim  copies  of  this
       manual  provided  the  copyright  notice and this permission notice are
       preserved on all copies.

       Permission is granted to copy and distribute modified versions of  this
       manual  under  the  conditions  for verbatim copying, provided that the
       entire resulting derived work is  distributed  under  the  terms  of  a
       permission notice identical to this one.

       Permission  is  granted  to  copy  and  distribute translations of this
       manual into another language, under the above conditions  for  modified
       versions,  except  that  this  permission  notice  may  be  included in
       translations approved by the Free Software Foundation instead of in the
       original English.

                                     0.4.4                        opensched(1)