freezr.info - Towards data freedom
The app_config file

An app_config file is like the app manifest, a javascript file which defines a JSON object with the following attributes:

meta: Metadata about the app -
meta can have the following attributes...
pages: Attributes of specific pages.
"pages" should contain json objects with the name of the page, and each page name object can have the following attributes:
collections: Defines the attributes of specific data collections.
"collections" should contain json objects with the name of the collection, and each collection name object can have the following attributes:
files: freezr can store files and it creates a database record for each file. File attrbutes are as follows:
permissions: Defines the permissions the app is asking for.
"permissions" should contain json objects with the name of the permission. Each permission has a "type" attribute - the types of permissions accepted are as follows:

 

This is an example of an app_config file. (Key words in green):

{
"meta": { general information on the app
"app_name":"info.freezr.demo.clickOnCheese.EveryOnesCheese",
app nme is
"app_display_name":"Click On EVERY ONE's Cheese - File Sharing Demo"
"app_version": "01"
"only_use_collections_listed":true, // true means only accept field_names that are in the key list below
},
 
"pages": { app pages
"index": {
"page_title":"Click on Cheese Game",
"html_file":"index.html",
"css_files": ["index.css"],
"script_files": ["index.js"]
},
"cheese_list": {
"page_title":"list of Cheeses to choose from",
"html_file":"cheese_list.html",
"css_files": "cheese_list.css",
"initial_query": {"type":"queryData", "permission_name":"cheese_share" }
"script_files": ["cheese_list.js"]
}
},
 
 
"collections": { collections
"scores": {
"strictly_Adhere_To_schema":true,
"make_data_id":{"manual":true},
"field_names": {
"score": {
"description":"Player Score",
"type":"integer",
"required":true,
}
}
},
},
 
"files": {
"do_not_allow":false,
"strictly_Adhere_To_schema":false,
"donot_auto_enumerate_duplicates":false,
"allowed_file_types":["jpg","png","jpeg","JPG","PNG","JPEG"],
"field_names":{
"description":"Cheese Name",
"type":"string",
"required":false,
}
},
 
"permissions": {
"top_scores": {
"type":"db_query",
"description":"Player Top Scores",
"requestee_app":null,
"collection":"scores",
"permitted_fields":null,
"sort_fields":{"score":-1},
"max_count":1,
"return_fields":"score","_creator","_date_Created"],
"sharable_groups":["logged_in"],
},
"cheese_share": {
"type":"object_delegate",
"description":"Share All Cheese Pictures",
"collection":"files",
"sharable_groups":["logged_in"],
"requestee_app":null,
}
}
}