Facilities Management Software.
Bart Bartels
Bart.Bartels at vu.edu.au
Sun Aug 26 22:13:44 EDT 2001
Andrae,
THANK you. I think that I will take your advice. This sounds like a good way
to do the initial development and I will also take John Socha's advise and
take the minimalist approach i.e. start using the software as soon as it
starts to work and refine from there.
I am taking the liberty of posting this to the newsgroup as it is good advice
for any beginner
Andrae Muys wrote:
> Noticed your post to comp.lang.python, thought I might just contribute my
> 2c worth.
>
> I'm a software developer by profession, currently working on an xml
> interface to a travel agency's backend system. I don't have the time to
> assist you directly with your project, however as I have a moment I
> thought I might contribute some advice.
>
> Work out the minimum amount of functionality required to make the
> application useful to you and implement that first. I suspect that your
> outline post does that adequately.
>
> To summarise your post:
>
> A four stage workflow for requests:
> S1 - Enter job requests.
> S2 - Allocate job requests.
> S3 - Provide feed back to requester.
> S4 - Close job request.
>
> With two actions permitted at any point after S1.
>
> A1 - Add misc info to request.
> A2 - Generate Reports.
>
> The only reports I would support at this stage would be
>
> R1 - Show request.
> R2 - List requests.
>
> This gives 8 tasks that your program would need to do.
>
> Regarding the initial architecture I would *not* use the web. Personally
> I would write my first version to use plain text files stored in
> directories. This would be moved to some sort of network
> database/repository later, but the important thing for now is to keep it
> simple and functional.
>
> Specifically I would use a directory layout along the lines of
>
> /<app-root>/new-requests/
> /<app-root>/allocated-requests/
> /<app-root>/closed-requests/
>
> Assuming you don't already have a system for allocating request numbers, I
> would just use the current date & time in seconds, as it is unlikely that
> you will create two requests in the same second :).
>
> So requests are plain ascii text files named 2001-08-23-131231.req where
> that date is 1:12:31pm 23rd August 2001.
>
> The contents of the file would be very simple, and best of all, human
> readable. Along the lines of:
>
> Requester: Andrae Muys
> Phone Number: x54643
> Email Address: andrae at humbug.org.au
> Problem: Broken door handle.
> Location Room 201 Building 52
> Allocated To: John Doe
> Authorised: Mr P.H.Boss.
> etc...
> etc...
> 2001-08-23-132131:
>
> So:
> S1 - Creates a request file in the new-requests directory.
> S2 - Adds required rows to file and moves it to allocated-requests/
> S3 - Requires notification scheme to do properly, but for now we cheat
> and make it the last step of S2.
> S4 - Adds required rows to file and moves it to closed-requests/
>
> A1 - Adds extra timestamped rows to file.
>
> R1 - Displays the contents of a file.
> R2 - Displays a directory listing, possibly including a summary of the
> contents of each file
>
> So you write 6 small programs
>
> create_request.py : S1
> allocate_request.py : S2/3
> close_request.py : S4
> annotate_request.py : A1
> list_requests.py : R2
> show_request.py : R1
>
> Once you reach this point you will know enough about the problem to
> intelligently decide how to integrate XML/Web/notification/databases/etc.
> More importantly, you will know enough to decide if and *very* importantly
> WHERE you need to use more complicated technologies.
>
> Good luck,
>
> Andrae Muys
More information about the Python-list
mailing list