RSS Feed c9 logo Australia's best motorcycle shop retail software
New Online Backup Infrastructure December 8, 2012 barney

Two thirds of C9 customers now subscribe to our online backup service.  Taking ownership of protecting your business data is an awesome responsibility.  C9 is a software company; so protecting our own data against information loss is fundamental to our ongoing success as a business operation also.

As such backups are something we spend alot of time thinking about.  Our backup solution could be considered to be massively over-engineered, yet in spite of this we are constantly thinking about the integrity of the solution.  There is no room for complacency.  You can never have too many backups, or systems of control to ensure the fidelity of those backups.

We are currently in the process to adding another backup server into our solution.  The server will serve dual roles, as another backup server and also as a backup to our primary web server; so that if there is a hardware fault with our web server, we can switch internet traffic to the secondary server if necessary.

Whenever you raise an invoice in c9, if you have online backup that information is within a few seconds copied onto:

  • 4 physically separate computers. (Our main server, three backup servers)
  • 7 different hard disks (under c9's direct control)
  • In addition to the above, CDP server is managed by our internet partner, web24, precise disk topology is unknown to us, but I would expect it to be at least a 3 disk RAID 5 array; this is in addition of the 7 disks we directly control.

The addition of a new backup server increases backup coverage from 3 servers and 5 disks.

Online backup is more than just backup. It provides:

  • Infrastructure for web based access, web sites. mobile remote inventory management, aussie bike finder and bikesales listings
  • Active read verification that the backed up data is both accurate and readable.  Even the most diligent users of c9 do not test that their backups can actually work.  Online backup does this automatically and invisibly in multiple tests and contexts

Server computers do fail, typically we receive one support call every two months relating to server/hard disk failure.

New online backup network infrastructure looks like this:

Release 3.340 December 6, 2012 barney

Includes database changes.  Upgrade will force you to log all terminals out first

  • Print/export/receive orders  : tweaked so that clerk key test is on a new clerk key setting : handle orders.  On upgrade any staff member with spares permission will have handle orders permissions.  If you want to disable clerk keys on orders, goto setup/general and untick the handle orders option
  • Staff report : benchmark result was not factoring in fact that work on jobs may of involved work done outside reporting period. Now fixed.
Remote Access Updates December 5, 2012 barney

A new version of remote access tool has been uploaded.  A number of tweaks:

  • Tree lists now work correctly
  • Miner query results list now works
  • Recent UI changes are also reflected here. Specifically:
    • changes  to list control focus rules (empty lists can gain keyboard focus)
    • Sheets can be traversed via ctrl+tab and ctrl+shift+tab
Release 4.339 December 5, 2012 barney

Includes database changes. You will be forced to log terminals out during upgrade

  • Bugfix with workshop profit report: was mis reporting labour due to rounding errors. If minute component was >=50 minutes, it would round the hour up.  i.e. 4:55 becomes 5:55.  Whereas 4:45 was okay.  Now fixed.
  • Bulk mailer via miner.  Increased allowed email body size from 8k to 24k.  8k too small for typical HTML messages
  • Introduced benchmarks on workshop jobs.  On a job type you can configure ideal time the task should take and ideal $ you expect to charge for job type.  This information is reflected on workshop staff and profit report.  It shows a +/- against the report entry; + indicates performance above benchmark and - indicates performance below.  Measure is in ratio percentage.  i.e. +50.0 = %50 above the benchmark.  System includes following smarts:
    • Does not report benchmark on jobs in progress.  Because c9 does not know how close or how far away the job is from completion, it cannot meaningfully benchmark the job.  Only completed & invoiced jobs report benchmark
    • Jobs with multiple job types are handled. (benchmark figures are added together)
    • Staff report copes with multiple staff working on same job by taking a ratio of their relative contribution to the job into account.
Release 4.338 December 3, 2012 barney

More regression bugfixes relating to last version. Mainly to do with lists.

  • Miner : load existing query, could not modify entity if query loaded contained only one item. Now fixed
  • Unit purchase: clicking on modify in resale list crashed c9.  (Actually bug has been there for a while)
  • Unit purchase: resale list buttons now disable/enable depending on content of list and selected item
  • Focusability of lists without any rows.  Prior version switched back to c8 model, empty lists are focusable.  But there is merit in c9's prior approach of skipping over empty lists.  Implemented compromise solution; Database driven lists are focusable when empty, whereas other lists, such as tree lists and memory lists (like unit purchase line items) are not focusable.
Release 4.337 December 3, 2012 barney

Bug fix : last version injected a potentially serious regression.  If you go to print an order, and click cancel on new clerk key feature, this will setup that terminal for later possible failure, i.e. subsequent generate stock order for example.  The bug is serious because when terminal in such a 'ready to fail' state, selling parts on order will also fail meaning parts will not be actually ordered and you will be forced to re-invoice parts on a new terminal.

Release 4.335 & 4.336 November 29, 2012 barney

Requires database changes. You will be forced to log all terminals out during upgrade

  • Do not allow creation of  dealer estimate
  • Supplier specific instructions on order sheet.  Instructions are set via utilities -> edit franchise/edit supplier
  • Secure minimum margin on parts.
    • If margin on any single part, after factoring discounting is below a preset %, an authorising clerk key is required.
    • Only applies on spares sales.
    • Does not apply to freeform items
    • Test will apply for parts on order.
    • Configure on edit staff. New check box.
  • Print customer address labels via miner
  • Phonebook - allow search by phone number
  • Phonebook - visual fixes and tweaks
  • Staff - allow zero labour rate
  • Customer search by phone, allow search to match with or without state prefix for customers in same state as dealership. For example, in Victoria, a phone number '03 9123 4567' will be indexed as both '0391234567' and '91234567'.  Previously, c9 would only index the shortened version
  • Orders
    • Print/Export order requires a clerk key on initial execution. It also records date print/export occurred
    • View order : display information captured above
    • Receive order : get clerk key, print clerk on receive sheet. Display clerk in browse received orders
  • UI behaviours lost in conversion from c8 to c9
    • Old c8 would allow an empty list of have keyboard focus.  C9 considers such controls unfocusable.  Tweaked to recapture old c8 behaviour.
    • Tab traversal via Ctrl+Tab and Ctrl+Shift+Tab now working, just like old c8.
  • Print customer phone on spares invoice
  • Spell checker, take whether word is fully upper cased, or first letter capitalised when making spelling suggestions
  • Bug fixes
    • Promise report contained a subtle bug: running it would in some circumstances prime the instance of c9 for later failure, i.e. selling parts to a job.  Now fixed.
    • Changes made to miner a couple of months ago broke remote access. You could not view miner query results via remote access. Now fixed.
    • Closed floorplan report : was incorrectly including partially curtailed units.  Fixed.
    • Unit deal.  If you manipulate deposit and then invoice parts on a deal in the same 'modify deal' session. The details of the deposit changes will be forgotten; as though you never keyed them in.  Now fixed.
    • Spares: Freeform items on order need to have unique identifiers so that printing and receiving can discriminate separate freeform items as indeed being separate.  There is a situation where this fails and freeform items are combined on printing and receiving order: when merging onto an existing invoice.  Now fixed.
    • Spares: when offering to merge order onto existing invoice, make sure invoice is locked first, so that another terminal is not simultaneously invoicing received parts for same invoice.
    • Workshop: sell spares via workshop. Was not asking for a clerk key. Now fixed.
Mining for orders November 28, 2012 barney

Miner now allows you to query ordering and reserved parts.

In miner are 3 key entities:

  • Orders.  : this represent orders generated in c9. e.g. Daily and Stock orders.  Also covers quick orders, reserved orders etc.
  • Ordered Items: the items on order. i.e. the part numbers.
  • Received orders.  This represent parts when they are received.  C9 treats orders and received orders separately, as a received order may contain items from multiple raised orders for example.

In miner are a couple of reports to get things started. Click on Load standard query. Two reports of interest:

 

Customers who haven't picked up their ordered/reserved parts yet List all customers and parts that have been received but customer hasn't picked up yet. Defaults to parts received over 7 days ago but you can change this. Useful for sending automatic SMS/email reminders. Note if a customer appears more than once, when you goto bulk SMS/email it will only send them one message (unless you include the partnumber in the message itself; c9 will not send duplicate messages so if the reminder looks the same it will only send it once)
Workshop - spare parts on order Show all parts service department are waiting on, show job details too
Release 4.334 November 27, 2012 barney
  • Point of sale: setup option which disables newly added behaviour that checks if a selected part is already on order
  • Miner
    • Units : query notes
    • Ability to query orders.  Will upload some example miner queries soon
    • Complex bug relating to running a query where a entity has more than one child entity which is set to 'Select non or all records' or 'Select all records'.  Output was incorrect, particularly when dealing with 1:1 and M:1 relationships. Code here is incredibly complicated, must of had blue lightning shooting out of my fingers when I originally wrote this.
Release 4.333 November 26, 2012 barney
  • Workshop : job card/invoice/progress prints.  Make sure model year is printed.
  • Bugfix:  Point of sale pickup parts with deposit. Under some rare situations c9 will recommend a deposit reclaim of 0, when it should be some number >0.  Specifically : if there are parts on back order and parts have been discounted.  C9 was not factoring discounting into deposit reclaim calculation correctly and for situations where the order was not being fully supplied (i.e. parts on back order) it would incorrectly recommend a deposit reclaim of 0 as a result.
  • Select any part:  allow user to add a part into stock at this point
  • Add part into stock:  previously if part added was not on master file (price file franchises), the part number was long c9 would trim the part number until it found a shorter part number.  The idea is that if you barcode scan a part number some part numbers, e.g. Suzuki will have trailing '0's on the end.  But sometimes user wishes to legitimately add a part which is not yet on price file.  Tweaked c9 so if c9 does shorten part and find a match on price file it first asks the user whether they want to add the short part number or the original number they keyed in.
  • Website : page title was limited to 80 char entry box. Increased to 250.
  • Spare parts and deposits : if you fiddle deposit up and down and go and reprint the spares invoice, the reprint will be nonsensical because it would add, not subtract deposit refunds to the payment methods and would not adjust tendered.  Now fixed.
  • Spare parts order merge:  merge deposit was not merging onto tendered, meaning reprints of the invoice were also nonsensical.  Now fixed.
« Previous PageNext Page »