Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
opensched(1)		    General Commands Manual		  opensched(1)

NAME
       opensched - automatically schedule resources for	a project

SYNOPSIS
       opensched [file...]

DESCRIPTION
       The  openched program accepts a project description file, assigns tasks
       to resources, schedules tasks to	time periods, and prints  various  re-
       ports.

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

       The user	runs the openched 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.

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 argu-
	      ments. Arguments are either words	or quoted strings.

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

       startdate Y M D
	      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.

       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 week
	      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 week
	      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 week
	      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) in-
	      teger 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) in-
	      teger number counting number of working days since  the  project
	      began.   This differs from "dateformat count" above since	it ig-
	      nores 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  re-
	      source  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, effi-
	      ciency is	1.0.

       task id name N
	      Define a task that must be completed.  It	 will  take  some  re-
	      source 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  re-
	      source 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.

       start taskid date
	      Indicate that the	task should start on the given date.  Use with
	      care..

       finish taskid date
	      Indicate	that  the  task	 should	be finished on the given date.
	      Use with care..

       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	conve-
	      nient 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	sched-
	      uled tasks.

       tg_lightgray N
	      In GANTT charts, sets the	PostScript gray	level (0-1)  of	 week-
	      ends 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_sortbyresource
	      In GANNT charts, group tasks by resource instead of by order  of
	      execution.

   Commands that modify	the display of network diagrams
       pc_width
	      In network diagrams, sets	the width of the boxes.

       pc_height
	      In network diagrams, sets	the height of the boxes.

       pc_space
	      In  network  diagrams,  sets the horizontal and vertical spacing
	      between boxes.

       pc_textoff
	      In network diagrams, sets	the distance from the left edge	of the
	      box to the start of text.

       pc_fontname1
	      In network diagrams, sets	the name of the	font.

       pc_fontsize1
	      In network diagrams, sets	the size of the	font.

       pc_nameup
	      In  network diagrams, sets the distance from the bottom of a box
	      to the baseline of the task name.

       pc_idup
	      In network diagrams, sets	the distance from the bottom of	a  box
	      to the bsaeline of the resource id.

       pc_durationup
	      In  network diagrams, sets the distance from the bottom of a box
	      to the baseline of task duration.

       pc_startup
	      In network diagrams, sets	the distance from the bottom of	a  box
	      to the baseline of start date.

       pc_finishup
	      In  network diagrams, sets the distance from the bottom of a box
	      to the baseline of finish	date.

   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 sys-
       tem  (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	developed by Idan Shoham at M-Tech Mercury Information
       Technology, Inc.	 Any correspondence relating to	this program should be
       directed	to:
       Idan Shoham _sched@m-tech.ab.ca_

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 en-
       tire resulting derived work is distributed under	the terms of a permis-
       sion notice identical to	this one.

       Permission  is granted to copy and distribute translations of this man-
       ual into	another	language, under	the above conditions for modified ver-
       sions,  except  that this permission notice may be included in transla-
       tions approved by the Free Software Foundation instead of in the	origi-
       nal English.

				     0.1.0			  opensched(1)

NAME | SYNOPSIS | DESCRIPTION | PROJECT FILE FORMAT | NOTE | SEE ALSO | AUTHOR | COPYING

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=opensched&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help