We're planning for a grand opening in the Autumn of Well House Manor, and we've a very great deal to do ahead of time. A sound building, 100 years old, is showing the signs of age in a frumpy decor, an access that's suitable for the horse and cart era, and a garden where the Leylandia towers above the neighbour's houses. What a lot to plan (and to pay for!), and that dreaded fear that something will be overlooked - that we'll end up without mirrors for the bathrooms, coffee beans for the coffee machine, or staff aprons for the kitchen a few days before we open.
Lisa and I have spent much of the weekend getting tasks and purchase lists together, and entering them; I've gone for a plain text file just at first - a "spike" solution and test of concept that may migrate to a database, and as we all want to see the data through our browsers, I wrote a piece of PHP code this morning to display it.
Yes, it's a Gant chart ... I did a module on Critical Path analysis, Gant charts and all the rest at University way back 'when', and it all came flooding back!
Interesting to note too that as I started to write the code associated with each task, including correlating it with other tasks and analysing specification strings, I came down to writing my task handlers via a PHP class - that way, I can encapsulate all the awkward data handling and heterogenous mix of variables I need to hold for each task in an object, and just pluck information out as I need it; the display you see above is the first I've produced, but I'm sure it's the first of many I'll be producing with the same data yet my once-only class writing is already complete and I'll just need to extend that a little as the project progresses.
You're very welcome to view my
source code if you wish - we teach this sort of technique on our
Object Orientation in PHP course which next runs on 7th July if you want to know more.
(written 2006-05-14, updated 2011-06-27)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
M350 - Well House Manor - project diary [550] 2006 - Making business a pleasure - (2006-01-01)
[555] Hotel novelties - (2006-01-05)
[571] Well House Manor - (2006-01-21)
[677] Sympathetic development - (2006-04-09)
[721] Residential - (2006-05-15)
[739] The eye - (2006-05-31)
[744] We can offer a room, but we can't operate on a dog - (2006-06-05)
[756] Seeing the bricks for the trees - (2006-06-11)
[776] Naming Rooms - (2006-06-24)
[816] Above the parapit, Well House Manor - (2006-07-28)
[844] Hotel, Melksham, Wiltshire - (2006-08-24)
[855] Fitting our bathrooms - (2006-09-04)
[858] From the Manor written - (2006-09-07)
[862] 4 weeks to go - (2006-09-11)
[881] Coming together. - (2006-09-29)
[890] Open - (2006-10-09)
[894] Where quality costs less - (2006-10-15)
[902] Brand new hotel and training centre, Melksham - (2006-10-22)
[931] Before and After - Well House Manor - (2006-11-18)
[932] A tale of a wee wall - (2006-11-19)
[941] Snagging - (2006-11-24)
[1069] Rail trouble forced me to buy hotel - (2007-02-07)
[1087] Telling a story in different ways - (2007-02-20)
[1098] Three big events - TWSW, Business of the year and the police - (2007-03-03)
[1211] A lot has happened in a year - (2007-05-31)
[1975] Well House Manor Hotel - on plan for 2009 business guests - (2009-01-03)
[3014] Well House Manor - the next six years - (2010-10-24)
[3585] The changing Hotel and Bed and Breakfast business in Melksham - (2012-01-18)
[3645] Keeping our hotel looking like new, by using our gained experience - (2012-03-09)
[3847] The Accidental Hotelier - (2012-08-24)
[3963] National TV - Melksham - 9th January 2013, Pre-alert. - (2012-12-27)
[3968] Expecting nothing, but prepared for anything - (2013-01-05)
[4012] A course is not just for a year - its for a career - (2013-02-20)
[4739] A year of changes for Lisa and Graham Ellis, and Well House - (2017-05-27)
H108 - Objects in PHP [67] Object Oriented Programming in PHP - (2004-09-29)
[124] PHP v Java - (2004-11-20)
[205] PHP5 lets you say no - (2005-02-07)
[343] Should I use structured or object oriented? - (2005-06-10)
[421] Don't repeat code - use loops or functions - (2005-08-21)
[485] North, Norther and Northest - PHP 5 Objects - (2005-11-04)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[836] Build on what you already have with OO - (2006-08-17)
[1027] Cue the music, I'm happy. - (2007-01-09)
[1153] Object Oriented Model - a summary of changes from PHP4 to PHP5 - (2007-04-18)
[1217] What are factory and singleton classes? - (2007-06-04)
[1535] OO PHP demonstration - comparing objects and more - (2008-02-08)
[1682] Accounts in PHP - an OO demo - (2008-06-19)
[1819] Calling base class constructors - (2008-10-03)
[1820] Sorting objects in PHP - (2008-10-04)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[2160] PHP - getclass v instanceof - (2009-05-07)
[2169] When should I use OO techniques? - (2009-05-11)
[2171] Cleaning up redundant objects - (2009-05-11)
[2172] PHP4 v PHP5 - Object Model Difference - (2009-05-11)
[2380] Object Oriented programming - a practical design example - (2009-08-27)
[2434] Abstract classes, Interfaces, PHP and Java - (2009-10-03)
[2435] Serialization - storing and reloading objects - (2009-10-04)
[2632] Shipping a test harness with your class in PHP - (2010-02-12)
[2641] Object Oriented Programming in PHP - (2010-02-19)
[2680] Static class members in PHP - a documented example - (2010-03-16)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2741] What is a factory? - (2010-04-26)
[2774] PHP - Object Oriented Design in use - (2010-05-21)
[2921] Does copying a variable duplicate the contents? - (2010-08-14)
[2922] Getting the OO design write - with PHP a example - (2010-08-14)
[3142] Private and Public - and things between - (2011-01-22)
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON - (2011-03-22)
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion - (2011-03-24)
[3607] Designing your application - using UML techniques - (2012-02-11)
[3608] Design Patterns - what are they? Why use them? - (2012-02-12)
[3609] How do classes relate to each other? Associated Classes - (2012-02-12)
[3840] Autoload in PHP - (2012-08-17)
[3841] Copying, duplicating, cloning an object in PHP - (2012-08-18)
[3843] Caching Design Patterns - (2012-08-20)
[3953] Objects in PHP - Revision - (2012-12-16)
[4057] stdClass in PHP - using an object rather than an associative array - (2013-04-02)
[4073] Learning about Object Orientation in PHP - a new set of examples - (2013-04-28)
[4356] Object factories in C++, Python, PHP and Perl - (2014-12-19)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[4626] Singleton design pattern - examples and uses - (2016-01-20)
[4627] Caching results in an object for efficiency - avoiding re-calculation - (2016-01-20)
[4628] Associative objects - one object within another. - (2016-01-20)
Some other Articles
Helping mental health through diet, exercise and other lifestyle mattersViewing images held in a MySQL database via PHPI'm answering a job applicantPlanning a hotel refurb - an example of a Gant chart in PHPGardens, Well House Consultants HQProtecting images from theftA customer service companyEvaluating arithmetic expressions in configuration filesFirst way to get rid of customers