# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

Dynamic Charts deployment notes:
-When running under apache, the common apache user must have access to the
 classes and cache files of dynamic chart.
-Create an autotest/frontend/croschart directory:
   mkdir autotest/frontend/croschart && chmod 755 autotest/frontend/croschart
-Create a writable autotest/frontend/croschart/.cache directory:
   mkdir croschart/.cache && chmod 777 croschart/.cache
-The files under croschart (including template files) must be world-readable.
   find ./croschart -type f -exec chmod 644 {} \;
-Create an autotest/images directory:
  mkdir autotest/images && chmod 755 autotest/images
