






                    Aegis is Only for Software,

                             Isn't It?

                            Peter Miller
                      millerp@canb.auug.org.au



         Aegis  is a Software Configuration Management sys-
         tem, which provides a method for managing  concur-
         rent  development  and  peer  review  with  strong
         auditability.  These features are useful  to  more
         environments  than  the  development  of software.
         This paper presents two systems being managed with
         Aegis at AGSO: DNS and the Web.

         Using  Aegis to manage DNS provides a reliable way
         to add  entries  to  the  DNS  tables,  check  the
         tables, and generate the reverse maps.  It is even
         generating some NIS+ tables.  The system  is  peer
         reviewed,  so  no "broken" changes are able to get
         into the system tables.  The net result is a  more
         reliable service to the users.

         Using   Aegis  to  manage  the  AGSO  Web  (http:-
         //www.agso.gov.au/) models the production of  sci-
         entific papers.  In the normal publication process
         an author writes a  paper  and  it  is  then  peer
         reviewed,  the  reviewers  may return it with com-
         ments or approve it to the  publisher.   The  pub-
         lisher  in  turn  may accept it for publication or
         return it.  A similar  model  is  available  using
         Aegis  when  publishing Web pages; the publication
         analogy is deliberate since  the  work  is  indeed
         available  to  the public.  The "build" step which
         is so central to producing software is used in the
         Web case to resolve server-side includes, to check
         the HTML for obvious errors, and to  generate  the
         various  indices.   Some  Aegis  reports  are also
         used, such as the one from which the "What's  New"
         page  (http://www.agso.gov.au/whatsnew/) is gener-
         ated.  The provision by Aegis of individual  "sand
         pits"  greatly  facilitates concurrent development
         of Web pages and improves productivity.   In  gen-
         eral,  staff have been happy with the Web develop-
         ment model in use at AGSO.









    Peter Miller                                          Page 1





    AUUG'96                Aegis is Only For Software, Isn't It?


    [1m1.  Aegis at a Glance[0m

    The term [4mConfiguration[24m [4mManagement[24m was  coined  many  decades
    ago  in  the  engineering  disciplines.   It  refers  to the
    process of managing all of the components of an  engineering
    design.  In designing a car, for example, it is important to
    know which version of the shock absorbers  goes  with  which
    versions of the chassis and wheel arches.

    A  similar problems exists for the construction of software,
    and so the term was borrowed by software engineers to become
    [4mSoftware[24m  [4mConfiguration[24m  [4mManagement.[24m  This refers to keeping
    track of the various source components of a  software  pack-
    age, and how to assemble them into a working program.

    There  is  a  huge  similarity between assembling a software
    program, and assembling a web.  Source files  are  processed
    and  stitched  together  to form the final product, much the
    same way  program  source  files  are  compiled  and  linked
    together to form the final software product.

    Aegis  is a software configuration management system, and it
    provides controlled  accesses  to  the  source  files  of  a
    project.    It   can  support  concurrent  development,  and
    enforces mandatory reviews.  As Aegis is described more com-
    pletely  elsewhere  [1,  2],  this  paper will not dwell too
    heavily on how to use Aegis, but rather how Aegis is  useful
    in the two case studies below.

    [1m2.  DNS Management[0m

    The  first  case study presented here is that of using Aegis
    to manage Domain Name Service (DNS) information.  This is  a
    relatively small system, it is reasonably well known, and if
    you get it wrong your network may cease  to  function  until
    you get it right again.  DNS itself has been described else-
    where [3, 4] and will not be described in depth here.

    The design of the Unix [4mnamed[24m(8), the  program  which  serves
    the  DNS  protocol,  is  intriguing,  mostly  because of the
    almost-but-not-quite redundancy in most  of  the  configura-
    tions  files.   This  revolves  around the fact that DNS has
    both [4mforward[24m maps which associate a domain name with  an  IP
    address, and [4mreverse[24m maps which associate an IP address with
    a domain name.  Naturally, if these maps are  not  carefully
    synchronized,  a  variety  of  problems may result.  This is
    traditionally solved using [4mmake[24m(1) and some  baroque  [4mawk[24m(1)
    scripts.   The maintainer logs in as [4mroot[24m, edits the forward
    map, runs make, and informs named that it needs  to  re-read
    its  input  files,  usually  by running a shell script which
    sends a signal to the server process.

    -----------
    Copyright (C) 1996 Peter Miller



    Peter Miller                                          Page 2





    AUUG'96                Aegis is Only For Software, Isn't It?


    But what do you do when there is more  than  one  authorized
    maintainer?   How  do  they coordinate their activities when
    they are in 3 different buildings?  How do  they  make  sure
    the  configuration  files are OK [4mbefore[24m they bring the whole
    network to its knees?

    None of these problems are particularly new or  interesting.
    They  are well known to software development teams the world
    over.  At AGSO, we are using Aegis to resolve them.

    [1m2.1.  Concurrent Development[0m

    Aegis has the concept of a [4mbaseline[24m which is the  known-good
    currently-working master source for a project.  Aegis parti-
    tions alterations to this baseline into sets of files  which
    must  be  altered  simultaneously to preserve the currently-
    working-ness of the baseline.  These sets of files may be as
    small  as a single file, or as large as every source file in
    the baseline.

    These alterations to the baseline are  known,  unoriginally,
    as  [4mchanges[24m, and each change is given a separate development
    directory.  By developing each change in a  separate  direc-
    tory,  there is no possibility than one maintainer can acci-
    dentally blow away another's work.  At worst, if they have a
    file in common, one will need to merge the other's work with
    his own.  This merge is fully supported by Aegis.

    The other important feature of  using  separate  development
    directories is that "half finished" changes are not mistaken
    for valid input, should the DNS server  be  rebooted  during
    the  development of the change.  Until a change is completed
    [4mand[24m has been reviewed, the baseline remains unaltered.

         This entire process is performed by users logged in  as
    themselves.   Access  is  controlled by access control lists
    based on user names, no special  system  user  accounts  are
    required.   need  for users to login to a special account to
    work on web pages.

    [1m2.2.  Validation[0m

    When constructing software, the program  is  built  in  some
    way.  One traditional Unix approach is to delegate remember-
    ing how to do this to a  program  such  as  [4mmake[24m(1).   While
    [4mmake[24m(1)  can  be used with Aegis, the author prefers [4mcook[24m(1)
    as a more capable and descriptive build tool.

    The build step is used to translate the  forward  maps  into
    reverse  maps.   This is not done with [4mawk[24m(1) for a few rea-
    sons

    +o    The SRRF input format used by [4mnamed[24m(8) makes  for  very
         hard  to  read awk scripts if you are determined to use



    Peter Miller                                          Page 3





    AUUG'96                Aegis is Only For Software, Isn't It?


         the full input language.

    +o    We use include files to describe our various  buildings
         and   other  internal  network  structure.   This  also
         reduces  the  number  of  opportunities  for  conflicts
         between changes.

    As  a  result, we have a suite of C programs (also developed
    using Aegis, naturally) which perform the  various  transla-
    tions and filters we require.

    A  very  important side-effect of these translations is that
    they validate their input.  In this we detect duplicate host
    names,  invalid  host names, duplicate IP addresses, invalid
    IP addresses, etc.  When we converted our DNS procedures  to
    use DNS, a number of problems were discovered which had been
    in the system for years.

    Yes, these problems could have been discovered with the  old
    root  make  system,  but  they  were not discovered until we
    decided to us a system specifically  designed  to  be  main-
    tained by many people, and to double check everything before
    it went "live" and inconvenienced staff.

    [1m2.3.  Derived Data[0m

    We also use the DNS  data  to  generate  some  of  our  NIS+
    tables.   Obviously,  the  NIS+ hosts table needs to be syn-
    chronized with the DNS tables, and this translation is rela-
    tively easy.

    We  also  invented  an "ether" type, which we filter out and
    don't  actually  give  to  [4mnamed[24m(8),  to   record   Ethernet
    addresses.   This  information  is  used  to derive the NIS+
    ethers table.  This could have been managed differently, but
    as it is intimately related to the IP address management, we
    decided to do it here, for a  sort  of  "one  stop"  network
    shop.

    The  hinfo  records  are [4mgrep[24m(1)ed to generate the NIS+ net-
    group  table.   This  is  used  to   minimize   changes   to
    [4m/etc/hosts.equiv[24m, [4m/etc/dfs/dfstab[24m, etc.  As a new machine is
    added,  it  receives  a  formula  hinfo  description,  which
    results  in  it being included in the appropriate net group,
    and thus the appropriate network permissions.

    The hinfo records are also filtered  to  generate  the  NIS+
    bootparamd  map.  When combined with the hosts table and the
    ethers table, this is all that is required  to  configure  a
    workstation for the Solaris Install Server.







    Peter Miller                                          Page 4





    AUUG'96                Aegis is Only For Software, Isn't It?


    [1m2.4.  Review[0m

    Aegis will not allow a change to finish development until it
    builds cleanly.  Thus, if there are any errors found  during
    the  various  filters  performed by the build step, a change
    may not end development.

    Once  a  change  ends  development  it  is  not  immediately
    installed  into  the baseline.  It enters a "being reviewed"
    state.  Developers are prevented from  reviewing  their  own
    work,  as  an  obvious  conflict  of  interests.  Some other
    authorized review must do so.  The access control lists  for
    developers  and reviewers are separate, and it is up to your
    individual preferences whether they overlap or not.  Once  a
    reviewer OKs the change, it is then integrated.

    [1m2.5.  Integration[0m

    The integration involves making a copy of the baseline (usu-
    ally with hard links, it is faster) and applying the  change
    to  this  copy.  The build is performed again on this copy -
    mostly as a quick double check, though it does  not  in  the
    Web case, below.

    The  integrator  can  also  serve  as an editor, or a second
    reviewer if necessary.  It answers the perennial  "who  will
    watch the watchers" question.

    Aegis'  notification  facility,  used  at most transition to
    send email or news articles, is also  used  at  the  end  of
    integration  to  notify DNS and NIS+ to re-read the relevant
    files.

    [1m2.6.  Observable Results[0m

    It was long suspected that there was a fairly high  rate  of
    change  in our DNS data, but we didn't track it too closely,
    we already had more than enough to do.   Aegis  tracks  this
    activity in a very non-intrusive manner.  At present, we are
    averaging 3.5 DNS changes per week, a figure not  previously
    available.

    The other thing which has changed is that there are no unex-
    plained changes.  You no longer hear they cry "Who the  smeg
    did  that?"  echoing  down the corridor.  There is never the
    silent anonymous untrackable duel between two administrators
    undoing and redoing each others changes.

    By adding Ethernet numbers, we can detect when machines move
    between staff and between floors and change  names,  meaning
    that  we  can detect now-vacant IP addresses by the Ethernet
    address duplicate.





    Peter Miller                                          Page 5





    AUUG'96                Aegis is Only For Software, Isn't It?


    The most important result is  stability.   More  is  checked
    than  ever  before,  and  it is discovered earlier than ever
    before.  Only changes which pass all our  automated  checks,
    and  also  pass  the  scrutiny  of  a  human DNS boffin, are
    inflicted on users.

    [1m3.  Web Management[0m

    The second case study presented is that of AGSO's Web.  This
    is  also  managed using Aegis, though this project has many,
    many more sources files.  The environment presented by Aegis
    is  the  same - though the terminology used is more aimed at
    authors than system administrators.

    The method of Web development  implemented  using  Aegis  is
    presented  as  an analogue of the publications of scientific
    papers.

                              Author
                          [4mwrites[24m [4mweb[24m [4mpages[0m
                                 |
                                 |
                                 |
                                 |
                             Reviewer
                        [4mperforms[24m [4mpeer[24m [4mreview[0m
                                 |
                                 |
                                 |
                                 |
                              Editor
                     [4mperforms[24m [4meditorial[24m [4mreview[0m


    In particular, it is expected that much of the science  con-
    tent  of  our  web pages will be authored by out scientists.
    The peer review is expected to be, and should be,  performed
    by the scientist's science peers.  Everything else - layout,
    formatting, copyright issues, structure, etc, are  the  edi-
    tor's  problem.   Only  the  author may alter a change - the
    peer reviewer and the editor only have the  power  of  veto.
    The  file  system  permissions  are exploited to ensure that
    there is no "back door' to this process.   Even  the  editor
    (integrator)  does  not  have write permissions to the base-
    line.  All changes to the baseline [4mmust[24m traverse the  entire
    change process.

    [1m3.1.  Build and Validation[0m

    The  build  step in the Web project is very little different
    from the build step in the DNS project.  We  use  the  build
    step to:





    Peter Miller                                          Page 6





    AUUG'96                Aegis is Only For Software, Isn't It?


    +o    Resolve  server-side  include  files, so that the files
         fetched by external clients are complete, and the  HTTP
         server can be as dumb as possible.  We use common head-
         ers and footers in common include  files  to  implement
         much of the look and feel of our web pages.

    +o    Perform  SGML  checking  against the HTML 2.0 DTD.  The
         finds all of the overt HTML errors, but it cannot check
         spelling  or  style.  We use [4msgmls[24m(1) obtained from the
         network, and the standard html.dtd also  obtained  from
         the network.

    It  takes longer to perform this build than in the DNS case,
    because there are more source files and more include  depen-
    dencies to check.

    The  build  works out what to build from the source files of
    the project.  The [4mcook[24m(1) programs asks Aegis for a list  of
    files,  and then generates a list of output files from that.
    In this way, there is no need to add a new file to a list in
    a [4mMakefile[24m of some sort.

    [1m3.2.  File Templates[0m

    To  add a new page to the Web, a user initiates a Web change
    and then creates a new file via Aegis.  The new file will be
    created  according  to a pre-configured file template.  This
    will give them the common headers and footers automatically,
    all that is required is to fill in the text in the middle.

    So  that the page may be accessed, it will also be necessary
    to copy some other file,  again  via  Aegis,  and  embed  an
    anchor to the new page in the copied page.

    Files  are  copied and created via Aegis so that Aegis knows
    which files to transfer from your working directory into the
    baseline.   If you don't tell Aegis, they will not be built,
    and later they will not reach the baseline.

    [1m3.3.  Preview and Review[0m

    Once your Web pages build successfully, it  is  possible  to
    see  what the public will see - to preview them.  We do this
    by running a specialized  web  server  that  "overlays"  the
    files  in your development directory over those in the base-
    line.  Essentially, this is a simple search path.  The  spe-
    cialized  web  server tell you a URL to open to preview your
    changes, and it will exist until you interrupt  it,  usually
    with Control-C.

    Reviewers  may use the same technique to look at an author's
    change, however reviewers are also encouraged to look at the
    HTML itself.




    Peter Miller                                          Page 7





    AUUG'96                Aegis is Only For Software, Isn't It?


    Using  this  specialized  web  server, it can be established
    exactly what the public will  see  when  the  pages  finally
    arrive in the Web baseline.  All of the Web pages are avail-
    able in this way, as the change's pages are seamlessly inte-
    grated  with  the  baseline  pages.  In this way, it is only
    necessary to copy the pages you actually need to edit.   All
    other pages are obtained from the baseline.  This often rep-
    resents a large saving in working disk storage.

    We have a set  of  layout  guidelines  which  are  available
    internally for our Web developers to read.  Reviewers (theo-
    retically) review against these guidelines,  and  developers
    are encouraged to have a quick look at the guidelines before
    completing the development of their changes.

    [1m3.4.  Integration[0m

    The integration stage is not particularly different from the
    integration  stage  for DNS.  However, some of the more time
    consuming tasks, which are not of great interest to develop-
    ers are done at this time: mostly generating or updating the
    various indexes for our Web as  required  for  the  specific
    change.

    [1m3.5.  Concurrent Development[0m

    Performing  file  copies  via Aegis allows Aegis to note the
    version of the file at the time it was added to the  change.
    This  version  information is used later to detect file con-
    flicts, and to merge file contents.

    The chances of having Web pages in common  are  fairly  low,
    however  it  happens  fairly regularly.  The use of separate
    development directories means that this can be ignore for as
    long  as  the  author wants to.  When it is time to complete
    development of a Web change, the versions of the  files  are
    checked by Aegis.  If any are out-of-date, a 3-way merge may
    be performed to merge the  Web  baseline  updates  with  the
    edits in the change.

    [1m3.6.  Results[0m

    The  AGSO  Web  is  intended to be a "publication on demand"
    medium.  As a result, any data the public can see  needs  to
    be of publication quality already.  It is then only required
    for  the  client  to  print  interesting  material  one  the
    client's  printer.   While  the  HTML formatting may leave a
    little to be desired at present, we believe that the process
    we  employ is more than capable of delivering the quality of
    content that we desire.







    Peter Miller                                          Page 8





    AUUG'96                Aegis is Only For Software, Isn't It?


    [1m4.  Summary[0m

    Many of the processes we perform on computers involve manip-
    ulating  and  assembling files in some way, many can be man-
    aged using SCM techniques.  Even where significant manipula-
    tion  (e.g.  compiling  software) is not required, automated
    input validation helps reduce the number of avoidable errors
    (much as compilers validate against input language).

    The  other  advantage  conferred by Aegis is that privileged
    operations are recorded, and are available for auditing pur-
    poses.  The privilege is controlled by access control lists,
    and requires active conspiracy by more than  one  person  to
    subvert.   Even  then, the audit record is inaccessible.  By
    using Aegis' notification facilities, it  is  even  possible
    for  highly  privileged system tables to be updated, and yet
    [4mroot[24m passwords need not be disclosed.

    The use of Aegis to assist in the management and  availabil-
    ity  of  critical  system services has been very successful,
    and will be used again.

    The use of Aegis to ensure that our Web is of  high  quality
    has been equally successful, and is a model we would happily
    recommend.

    [1m5.  References[0m


    +o    Miller, P. A., [4m"Aegis[24m [4mIs[24m [4mOnly[24m [4mFor[24m [4mSoftware,[24m [4mIsn't[24m [4mIt?,"[0m
         AUUG '96 ACT Summer Conference Papers, 1996.

    [1]  Miller,  P.  A., [4m"Aegis[24m [4m-[24m [4mA[24m [4mProject[24m [4mChange[24m [4mSupervisor,"[0m
         AUUG '93 Conference Papers, 1993, p. 169-178.

    [2]  Miller,   P.    A.,    [4mAegis[24m    [4mUser[24m    [4mGuide[24m    http:-
         //www.canb.auug.org.au/~millerp/aegis.html,

    [3]  Mockapetris,  P.,  [4m"Domain[24m [4mNames[24m [4m-[24m [4mConcepts[24m [4mand[24m [4mFacili-[0m
         [4mties",[24m  STD  13,  RFC  1034,  USC/Information  Sciences
         Institute, November 1987.

    [4]  Mockapetris,  P.,  [4m"Domain[24m  [4mNames[24m  [4m-[24m [4mImplementation[24m [4mand[0m
         [4mSpecification",[24m [4mSTD[24m [4m13,[24m [4mRFC[24m [4m1035,[24m [4mUSC/Information[24m  [4mSci-[0m
         [4mences[24m [4mInstitute,[24m [4mNovember[24m [4m1987.[0m












    Peter Miller                                          Page 9





    AUUG'96                Aegis is Only For Software, Isn't It?





               Aegis is Only for Software, [4mIsn't[24m [4mIt?[0m









                            Peter Miller

                      millerp@canb.auug.org.au









    +o Aegis at a Glance



    +o Managing DNS with Aegis



    +o Managing WWW with Aegis

























    Peter Miller                                         Page 10





    AUUG'96                Aegis is Only For Software, Isn't It?



                         Aegis at a Glance








    +o Software Configuration Management

           Manifest control, Version control, Build control,

           Change control, Quality control.



    +o Software development analogue


    [40m[0m

         Source                [40mChew              Finished[0m
                    [40m-----                -----[0m
          Files              [40mon them              Product[0m





    +o[40m Aegis provides change process and change environment[0m

























    Peter Miller                                         Page 11





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m               The Process in Too Much Detail[0m

    [40m               |[0m
         [40mnew       |new[0m
       [40mchange      |change[0m
        [40mundo[0m
               [40mawaiting[0m
             [40mdevelopment[0m
                   [40m|[0m
       [40mdevelop     |develop[0m
       [40mbegin       |begin[0m
       [40mundo[0m


                [40mbeing                              Author[0m
              [40mdeveloped[0m

                   [40m|                                  |[0m
          [40mdevelop  |devreelvoipew                          |[0m
          [40mend      |end fail                          |[0m
          [40mundo[0m
     [40mdevelop    being[0m
     [40mend       reviewed integrate                 Reviewer[0m
     [40mundo          |         fail                     |[0m
                   [40m|revrieevwiew                          |[0m
                   [40m|passpass                          |[0m
                        [40mundo                          |[0m
               [40mawaiting                               |[0m
             [40mintegration                              |[0m
                   [40m|                                  |[0m
       [40mintegrate   |integrate                         |[0m
       [40mbegin       |begin                             |[0m
       [40mundo[0m
                [40mbeing[0m
              [40mintegrated                           Editor[0m
                   [40m|[0m
                   [40m|integrate[0m
                   [40m|pass[0m


              [40mcompleted[0m













    Peter Miller                                         Page 12





    AUUG'96                Aegis is Only For Software, Isn't It?





    [40m                 Advantages of the Process[0m








    +o[40m Access control lists[0m



    +o[40m Insulated development areas[0m



    +o[40m "Backing Out" is Easy[0m



    +o[40m All state transitions recorded[0m



    +o[40m State transition notification[0m






























    Peter Miller                                         Page 13





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                  Managing DNS with Aegis[0m








    +o[40m Users logged in as themselves (ACL)[0m



    +o[40m No [4mroot[24m access required[0m



    +o[40m Fully audited and reportable[0m



    +o[40m Notified of all changes[0m



    +o[40m Coordinates multiple system admininstrators[0m






























    Peter Miller                                         Page 14





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                     The DNS Build Step[0m











    [40m[0m

                              [40mForward[0m

                             [40mmap files[0m

                                 [40m|[0m
                                 [40m|[0m
                                 [40m|[0m

                               [40mChew[0m

                              [40mon them[0m

                                 [40m|[0m
                                 [40m|[0m
                                 [40m|[0m


                              [40mReverse[0m
           [4m[40m/etc/hosts[24m                       [4m/etc/netgroup[0m
                             [40mmap files[0m





















    Peter Miller                                         Page 15





    AUUG'96                Aegis is Only For Software, Isn't It?




    [40m                  The DNS Integration Step[0m





    [40m[0m




                           [40mbaseline[0m






                  [40mdevelopment     development[0m
                   [40mdirectory       directory[0m






                          [40mintegrator  integrate[0m
                                           [40mpass[0m
                               [40m|[0m
                     [40mintegrate |[0m
                         [40mbegin |[0m


                          [40mintegration[0m
                           [40mdirectory[0m





















    Peter Miller                                         Page 16





    AUUG'96                Aegis is Only For Software, Isn't It?


    +o[40m Conflicts detected and managed[0m



    +o[40m This is when history is updated[0m



    +o[40m No [4mroot[24m access required for [4mnamed[24m notification[0m
















































    Peter Miller                                         Page 17





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                  Managing WWW with Aegis[0m








    +o[40m Users logged in as themselves (ACL)[0m



    +o[40m Fully audited and reportable[0m



    +o[40m Notified of all changes[0m



    +o[40m Coordinates multiple authors[0m



    +o[40m Peer review is well understood[0m






























    Peter Miller                                         Page 18





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                     The WWW Build Step[0m







    [40m[0m

                            [40mDevelopment[0m

                             [40mDirectory[0m




                                [40mchew[0m
              [4m[40mmaster/[24m       ------------      [4mexport/[0m
                              [40mon them[0m






    +o[40m Server-side includes are resolved[0m



    +o[40m Include dependencies automatic[0m



    +o[40m HTML is checked against DTD[0m



    +o[40m Reports generated, e.g.  [4mWhat's[24m [4mNew[0m



    +o[40m SQR compiled, [4metc,[24m [4metc[0m













    Peter Miller                                         Page 19





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                     Directory Stacking[0m







    [47m[40m     +                       +[0m
        [40m++                      ++[0m
       [40m++        [4m[0m[4mBaseline[24m       [40m+[0m
       [40m+                       +[0m
      [40m+          [0mTOC.html     [40m++[0m
     [40m++                       +               [4m[47mCombined[24m [4mView[0m
     [40m+           [0mch1.html    [40m+[0m
    [40m+                       +                    [47mTOC.html[0m

        [4m[47mDevelopment[24m [4mDir.[24m         [40m+               [47mch1.html[0m
                                [40m++[0m
            [47mTOC.html            [40m+                [47mch2.html[0m
                               [40m+[0m
                              [40m++[0m
                              [40m+[0m
            [47mch2.html         [40m+[0m
                            [40m+[0m





    +o[40m Only files being edited or created are in development[0m


      [40mdirectory.[0m



    +o[40m Build tool must be able to cope with directory stack.[0m



    +o[40m "Test Server" must be able to stack, too, so can preview.[0m














    Peter Miller                                         Page 20





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m                  The WWW Integration Step[0m








    +o[40m Integration build also constructs the indexes and other[0m


      [40mfiles not normally interesting to developers.[0m



    +o[40m Same picture as before, integration directory renamed to[0m


      [40mbe the baseline.[0m



    +o[40m Conflicts are detected and managed.[0m



    +o[40m This is when history is updated.[0m



    +o[40m Server is sufficiently lightly loaded to run from [4minetd[24m,[0m


      [40mso no notification required.[0m





















    Peter Miller                                         Page 21





    AUUG'96                Aegis is Only For Software, Isn't It?



    [40m              Aegis is Only for Software, [4mNot![0m








    +o[40m Access control lists, no [4mroot[24m required[0m



    +o[40m Audit trail, statistics and reports[0m



    +o[40m Quality control for Publication on Demand[0m



    +o[40m Quality control for critical systems[0m


































    Peter Miller                                         Page 22
