• Home
Name Date Size #Lines LOC

..--

test_data/03-May-2024-9,6526,277

.gitignoreD03-May-202426 32

PRESUBMIT.pyD03-May-20243.5 KiB10076

READMED03-May-20242.6 KiB7849

api_categorizer.pyD03-May-20241.7 KiB5037

api_categorizer_test.pyD03-May-20242.3 KiB7763

api_data_source.pyD03-May-202419.7 KiB538445

api_data_source_test.pyD03-May-20249.2 KiB256206

api_list_data_source.pyD03-May-20244.1 KiB10890

api_list_data_source_test.pyD03-May-20247.5 KiB245209

api_models.pyD03-May-20243.7 KiB10471

api_models_test.pyD03-May-20246.1 KiB153121

api_schema_graph.pyD03-May-20245.7 KiB175126

api_schema_graph_test.pyD03-May-202416.7 KiB449418

app.yamlD03-May-2024404 2018

app_engine_handler.pyD03-May-20241.5 KiB4737

app_yaml_helper.pyD03-May-20244.4 KiB126102

app_yaml_helper_test.pyD03-May-20246 KiB180143

appengine_blobstore.pyD03-May-20241.9 KiB5539

appengine_main.pyD03-May-2024645 2411

appengine_url_fetcher.pyD03-May-20241.7 KiB5239

appengine_wrappers.pyD03-May-20247.3 KiB271202

availability_finder.pyD03-May-202414.3 KiB342250

availability_finder_test.pyD03-May-202414.8 KiB325234

blob_reference_store.pyD03-May-20241.1 KiB3927

branch_utility.pyD03-May-20248.2 KiB237190

branch_utility_test.pyD03-May-20247.5 KiB179151

build_server.pyD03-May-20243.2 KiB8970

cache_chain_object_store.pyD03-May-20243.2 KiB8263

cache_chain_object_store_test.pyD03-May-20248.3 KiB185148

caching_file_system.pyD03-May-20245.5 KiB142101

caching_file_system_test.pyD03-May-20249.2 KiB240191

caching_rietveld_patcher.pyD03-May-20244.1 KiB11796

caching_rietveld_patcher_test.pyD03-May-20242.3 KiB7148

chained_compiled_file_system.pyD03-May-20244 KiB9462

chained_compiled_file_system_test.pyD03-May-20242.8 KiB7157

chrome-128.pngD03-May-20243.9 KiB

chrome-32.icoD03-May-20245.3 KiB

chroot_file_system.pyD03-May-20241.9 KiB5639

chroot_file_system_test.pyD03-May-20243.6 KiB10385

compiled_file_system.pyD03-May-20249.8 KiB268201

compiled_file_system_test.pyD03-May-20248.3 KiB207165

content_provider.pyD03-May-20247.4 KiB193146

content_provider_test.pyD03-May-20247 KiB202169

content_providers.pyD03-May-20246.9 KiB182150

content_providers_test.pyD03-May-20246.6 KiB212183

converter_html_parser.pyD03-May-20241.7 KiB5944

cron.yamlD03-May-2024109 65

cron_servlet.pyD03-May-202411.7 KiB295219

cron_servlet_test.pyD03-May-20249.7 KiB252188

data_source.pyD03-May-20241.2 KiB3323

data_source_registry.pyD03-May-20241.5 KiB4333

datastore_models.pyD03-May-20241.2 KiB3620

directory_zipper.pyD03-May-20242.2 KiB5536

directory_zipper_test.pyD03-May-20241.8 KiB5640

docs_server_utils.pyD03-May-20241.4 KiB5040

document_parser.pyD03-May-20247.4 KiB222157

document_parser_test.pyD03-May-20248.3 KiB258189

document_renderer.pyD03-May-20244 KiB10066

document_renderer_test.pyD03-May-20245.9 KiB146106

empty_dir_file_system.pyD03-May-20241,006 3323

environment.pyD03-May-20241.2 KiB4422

environment_test.pyD03-May-20241.6 KiB4630

extensions_paths.pyD03-May-20241.3 KiB4527

fail_on_access_file_system.pyD03-May-2024406 124

fake_fetchers.pyD03-May-20244.5 KiB150105

fake_host_file_system_provider.pyD03-May-2024622 2011

fake_url_fetcher.pyD03-May-20244.8 KiB159126

features_bundle.pyD03-May-20245.4 KiB147111

features_bundle_test.pyD03-May-20249 KiB323307

features_utility.pyD03-May-20244.9 KiB13589

features_utility_test.pyD03-May-20243.6 KiB162140

file_system.pyD03-May-20246.3 KiB196148

file_system_test.pyD03-May-20242.8 KiB10581

file_system_util.pyD03-May-2024534 159

future.pyD03-May-20241.5 KiB5643

future_test.pyD03-May-20241.7 KiB7151

gcs_file_system.pyD03-May-20244.6 KiB12896

gcs_file_system_provider.pyD03-May-20243.7 KiB9570

github_file_system.pyD03-May-20247.2 KiB205165

github_file_system_provider.pyD03-May-20241.6 KiB4127

github_file_system_test.pyD03-May-20241.6 KiB4934

handler.pyD03-May-20241.1 KiB3627

handler_test.pyD03-May-2024468 199

host_file_system_iterator.pyD03-May-20241.5 KiB3828

host_file_system_iterator_test.pyD03-May-20247.6 KiB181132

host_file_system_provider.pyD03-May-20244.7 KiB11398

host_file_system_provider_test.pyD03-May-20241.7 KiB4933

instance_servlet.pyD03-May-20243.7 KiB7959

instance_servlet_test.pyD03-May-20242.1 KiB5338

integration_test.pyD03-May-202410.9 KiB284156

known_broken_links.jsonD03-May-202441.8 KiB2,0642,063

link_converter.pyD03-May-20242.9 KiB8871

link_error_detector.pyD03-May-202410.1 KiB307236

link_error_detector_test.pyD03-May-20243 KiB9175

local_file_system.pyD03-May-20243.2 KiB10981

local_file_system_test.pyD03-May-20241,014 4027

local_renderer.pyD03-May-2024686 2114

manifest_data_source.pyD03-May-20244.8 KiB139112

manifest_data_source_test.pyD03-May-20246.2 KiB296271

manifest_features.pyD03-May-20241.6 KiB4533

manifest_features_test.pyD03-May-20241.1 KiB5645

memcache_object_store.pyD03-May-20241.2 KiB3824

mock_file_system.pyD03-May-20244.2 KiB13496

mock_file_system_test.pyD03-May-20244.6 KiB146123

mock_function.pyD03-May-20241 KiB4128

mock_function_test.pyD03-May-20241.2 KiB4226

new_github_file_system.pyD03-May-202411 KiB297231

new_github_file_system_test.pyD03-May-20249.9 KiB281202

object_store.pyD03-May-20241.2 KiB4331

object_store_creator.pyD03-May-20243.2 KiB8157

object_store_creator_test.pyD03-May-20241.9 KiB5540

offline_file_system.pyD03-May-2024897 2717

patch_servlet.pyD03-May-20244.7 KiB11985

patch_servlet_test.pyD03-May-20246.5 KiB168121

patched_file_system.pyD03-May-20245.8 KiB167130

patched_file_system_test.pyD03-May-20246.5 KiB201155

patcher.pyD03-May-20241 KiB2921

path_canonicalizer.pyD03-May-20244.8 KiB12279

path_canonicalizer_test.pyD03-May-20246 KiB155118

path_util.pyD03-May-20241.7 KiB6236

path_util_test.pyD03-May-20241.1 KiB3018

permissions_data_source.pyD03-May-20243.4 KiB9169

permissions_data_source_test.pyD03-May-20244.8 KiB169127

persistent_object_store.pyD03-May-20241.6 KiB4834

persistent_object_store_test.pyD03-May-20241.7 KiB4128

preview.pyD03-May-20244.1 KiB12277

redirector.pyD03-May-20242.2 KiB7053

redirector_test.pyD03-May-20243.4 KiB11391

reference_resolver.pyD03-May-20245.1 KiB147115

reference_resolver_test.pyD03-May-20248.1 KiB364346

render_servlet.pyD03-May-20246 KiB152105

render_servlet_test.pyD03-May-20245.9 KiB156117

rietveld_patcher.pyD03-May-20244.7 KiB151115

rietveld_patcher_test.pyD03-May-20242.7 KiB8457

robots.txtD03-May-202451 43

samples_data_source.pyD03-May-20249.6 KiB253214

samples_data_source_test.pyD03-May-20241,002 3522

schema_util.pyD03-May-20243.6 KiB12595

schema_util_test.pyD03-May-20244 KiB210189

server_instance.pyD03-May-20246.9 KiB173138

servlet.pyD03-May-20244.1 KiB160122

sidenav_data_source.pyD03-May-20243.5 KiB10782

sidenav_data_source_test.pyD03-May-20244.9 KiB161123

special_paths.pyD03-May-2024405 111

start_dev_server.pyD03-May-2024915 3523

strings_data_source.pyD03-May-2024894 3019

subversion_file_system.pyD03-May-20247.8 KiB215158

subversion_file_system_test.pyD03-May-20245.4 KiB144112

table_of_contents_renderer.pyD03-May-20242 KiB5744

template_data_source.pyD03-May-20241.8 KiB6347

template_data_source_test.pyD03-May-20242.3 KiB6850

template_renderer.pyD03-May-20242.1 KiB5742

template_renderer_test.pyD03-May-2024918 3117

test_branch_utility.pyD03-May-20242.2 KiB6852

test_file_system.pyD03-May-20244.7 KiB148108

test_file_system_test.pyD03-May-20247.7 KiB189160

test_object_store.pyD03-May-20242 KiB6647

test_object_store_test.pyD03-May-20241.5 KiB4434

test_patcher.pyD03-May-20241 KiB3625

test_servlet.pyD03-May-20242.7 KiB7457

test_servlet_test.pyD03-May-20241.4 KiB4023

test_util.pyD03-May-20241.7 KiB7046

timer.pyD03-May-20241.7 KiB5946

update_server.pyD03-May-20242 KiB6252

url_constants.pyD03-May-2024949 1812

whats_new_data_source.pyD03-May-20243.4 KiB10285

whats_new_data_source_test.pyD03-May-20242.9 KiB9986

README

1--------
2Overview
3
4This is a Google App Engine server which serves the documentation for Chrome
5apps and extensions. At time of this writing, the primary URL is:
6http://developer.chrome.com/.
7
8
9---------------------
10Developing the Server
11
12You shouldn't need app engine locally to develop the server, preview.py should
13be sufficient. If for some reason you want to test against the app engine SDK:
14
15  1. Download the python Google App Engine SDK from:
16     https://developers.google.com/appengine/downloads
17
18  2. Run './start_dev_server.py <path/to/dev_appserver.py>'
19     (dev_appserver.py is part of the App Engine)
20
21  3. View docs at http://localhost:8080/(apps|extensions)/<doc_name>
22
23
24--------------------------------------------
25Using Google Cloud Storage content providers
26
27With preview.py:
28
29  1. create a directory "[...]/server2/local_debug/gcs/<bucketname>" for every
30     gcs bucket referenced in content_providers.json
31
32  2. copy files to the respective local bucket directories. Preview.py has
33     no access to the real Google Cloud Storage.
34
35With start_dev_server.py:
36
37    1. Install gsutils from https://developers.google.com/storage/docs/gsutil
38
39    2. Set gsutil accordingly to the official instructions.
40
41    3. Make sure you have permission to the GCS buckets specified in
42       content_providers.json by running "gsutil ls gs://bucketname"
43
44    4. Get an oauth token (see instructions at the comment of
45       gcs_file_system_provider.py) and save it to the file
46       "[...]/server2/local_debug/gcs_debug.conf"
47
48Remember that the step 4 needs to be repeated every 10 minutes or so,
49because the oauth access token expires quickly.
50
51--------------------
52Deploying the Server
53
54You will need to have access to the http://chrome-apps-doc.appspot.com app.
55Contact aa@chromium.org, erikkay@chromium.org, miket@chromium.org,
56kalman@chromium.org, or ernestd@chromium.org to obtain access.
57
58Once you have access:
59
601. Increment the version in app.yaml so we can roll back if the update breaks.
61
622. Run build_server.py. This copies some depenencies from /third_party into the
63   server directory so that they get uploaded to App Engine.
64
653. Run appcfg.py (supplied with the App Engine SDK) to upload the server code:
66
67    appcfg.py update .
68
694. When prompted for your credentials, enter the information for the account
70   that has access to the production app.
71
725. Go to http://www.appspot.com, select the docs project, click "versions" in
73   the sidebar, and make the version you just deployed the "default" version.
74
75   If you get an error about too many versions when deploying, go into this
76   view and delete the version which was deployed the longest time ago.  Then
77   try to deploy again.
78