Installing Bulletin Boards in a New Domain

Date: 7/14/93
Author:  Ichabod

In the examples below, I will describe the steps needed to create
a new domain called "central", in which there will be a room with
a bulletin board.  To adapt these instructions to your own new domain,
simply substitute the name of your domain wherever you see the name
"central" below.

Part 1 - Creating the domain.

The domain must be set up correctly, or you will get "Can't save"
errors whenever you post a message on your new bulletin board.

1.  Edit /adm/etc/groups and make a group for your new domain.
    Example:  I am creating a new domain called "central", so
    in the "domain builders" section of the groups file, I add
    the line "(central)     Central".  Where did I get the name
    "Central" as a member of the group (central)?  I just followed
    the example in the groups file:

	#
	# domain builders
	
	(standard)	Std
	(tmi)		TMI
	(fooland)	Fooland
	(grid)		Grid
	(central)	Central

2.  Edit the file /include/domains.h.

    2a.  Add your new domain to the DOMAIN_LIST.
         Example:

          #define DOMAIN_LIST ({ "Fooland", "frogs", "central" })

    2b.  Add your new domain dir to the DOMAIN_DIRS list.
         Example:

           #define DOMAIN_DIRS ({ "Fooland", "grid", "std", "central" })

   2c.  [Optional] Modify the LEVEL_LIST, ENTRY_LEVEL, and
         MIN_SPONSOR_LEVEL to suit your tastes and preferences.

3.  Set up the domain directory and files.

    3a.  Create the domain directory in /d.
         Example:

           cd /d
           mkdir central

    3b.  Create the adm subdirectory in your domain directory.
         Example:

           cd /d/central
           mkdir adm

    3c.  Put a copy of the d_master.c file in the adm subdirectory of
         your domain directory.  A good place to copy this from is the
         adm subdirectory of the Fooland domain directory.
         Example:

           cp /d/Fooland/adm/d_master.c /d/central/adm/d_master.c

    3d.  Copy or create a room file in your domain directory.  Since
         we want to install a bulletin board, a good file to copy is
         /d/Fooland/hall.c, since it already has a bulletin board
         installed.
         Example:

           cp /d/Fooland/hall.c /d/central/kiosk.c

Part 2 - Installing the bulletin board.

1.  Copy a bulletin board file to your domain directory.  A good file
    to copy is /d/Fooland/mainboard.c.
    Example:

      cp /d/Fooland/mainboard.c /d/central/kioskboard.c

2.  Create a data subdirectory in your domain directory.
    Example:

      cd /d/central
      mkdir data

3.  Create an attic subdirectory in the data subdirectory you just
    created.
    Example:

      cd /d/central/data
      mkdir attic

4.  Customize the bulletin board file so that it uses its own data files
    and keeps them in the correct directories.

    4a.  Modify the call to set_attic_dir so that it points to your attic
         directory.  Example:  set_attic_dir ("/d/central/data/attic") ;

   4b.  Modify the call to set_save_dir so that it points to the data
         subdirectory of your domain directory.
         Example:  set_save_dir("/d/central/data") ;

    4c.  Change the name of your save file to something unique, such
         as the name of the room the bboard is in.
         Example:  set_save_file("kiosk");

    4d.  Change the set_location call to point back to the room the
         bboard is in.  Example:  set_location("/d/central/kiosk") ;

    4e.  [Optional] Change the name of the bboard.
         Example:  set ("short.text", "Public Bulletin Board") ;

5.  Set up the room file so that it properly initializes the bboard.  If
    you copied the /d/Fooland/mainboard.c file, the initialization calls
    are already in place and need only be modified.  You may wish to
    modify the long description of the room to correctly describe the
    bulletin board it contains, and you MUST make sure your room's create()
    function does a call_other() to your bulletin board to load it.
    Example:  call_other("/d/central/kioskboard", "kiosk");

All done!  When you next log on to your MUD, you should be able to go to
this room and read and post on the bboard to your heart's content.