Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
27
gaia/dev_apps/contacts-manager/README
Executable file
27
gaia/dev_apps/contacts-manager/README
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
Contacts Manager
|
||||
================
|
||||
|
||||
History
|
||||
-------
|
||||
Traditionally we have been using and abusing mozContacts[1], each certified app that uses contacts has been putting their requirements (indexes, search options, etc.) directly on the API, making it a bit unmaintable.
|
||||
|
||||
Also this API has been designed as a mapping with the vcard format, which is great to define a single contact but lacks of all the fields necessary to track modern requirements (contacts merging, data visibility, searching, etc.)
|
||||
|
||||
Despite of that in the certified Contacts application we have been adding more and more functionality to try to fix this (the merging is added, different sources of contacts are available just as input), but the requirements continue growing and we move the problem from the API to the app.
|
||||
|
||||
Future
|
||||
------
|
||||
In a no so distant future, now with current technologies like Datastore, that enable us to share information across domains we can bypass the mozContacts restrictions.
|
||||
|
||||
We want to create an app that aggregates and manipulates contacts data sources, not just mozContacts, but also any other possible provider of contacts. As well as consumers will use this data and create local copies with simplified, optimized and specific view of that data per app.
|
||||
|
||||
Key points
|
||||
----------
|
||||
- Remember a contact is not just an entry: it could be a merged contact, we do have logic to pick information and prioritizing the view of a contact from different entries.
|
||||
- Datasources should be pluggable: removing a contacts data source would clean all the contacts coming from it, in case of merged contacts being able to unmerge the changes.
|
||||
- Security and access: By contract some contacts data sources wont be available to everyone or the user may decide to not to grant access from and to different apps.
|
||||
- Each app will need to have their specific view: an example of this, contacts needs to make the contact list superfast, contacts app should create a storage from this global one with the requirements needed by contacts app.
|
||||
|
||||
Links
|
||||
-----
|
||||
[1] https://wiki.mozilla.org/WebAPI/ContactsAPI
|
||||
36
gaia/dev_apps/contacts-manager/manifest.webapp
Executable file
36
gaia/dev_apps/contacts-manager/manifest.webapp
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "ContactsManager",
|
||||
"description": "Contacts Provider App",
|
||||
"version": "1.5",
|
||||
"type": "certified",
|
||||
"role": "system",
|
||||
"developer": {
|
||||
"name": "Gaia Team",
|
||||
"url": "https://github.com/mozilla-b2g/gaia"
|
||||
},
|
||||
"permissions": {
|
||||
"contacts":{ "access": "readwrite" },
|
||||
"alarms": {},
|
||||
"systemXHR": {},
|
||||
"phonenumberservice": {}
|
||||
},
|
||||
"locales": {
|
||||
"en-US": {
|
||||
"name": "Contacts Provider",
|
||||
"description": "Contacts Provider App"
|
||||
}
|
||||
},
|
||||
"default_locale": "en-US",
|
||||
"messages": [
|
||||
{ "alarm": "/periodic_sync.html" }
|
||||
],
|
||||
"connections": {
|
||||
"contacts-sync": {
|
||||
"description": "Contacts DataBase synchronization",
|
||||
"rules": {
|
||||
"manifestURLs": ["*"]
|
||||
},
|
||||
"handler_path": "/on_demand_sync.html"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
gaia/dev_apps/contacts-manager/on_demand_sync.html
Executable file
17
gaia/dev_apps/contacts-manager/on_demand_sync.html
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<title> Contacts Database On Demand Sync </title>
|
||||
<script defer src="/shared/js/simple_phone_matcher.js"></script>
|
||||
<script defer src="/shared/js/fb/fb_tel_index.js"></script>
|
||||
<script defer src="/shared/js/async_storage.js"></script>
|
||||
<script defer src="js/gcdsops.js"></script>
|
||||
<script defer src="js/sync.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
12
gaia/dev_apps/contacts-manager/periodic_sync.html
Executable file
12
gaia/dev_apps/contacts-manager/periodic_sync.html
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<title> Contacts Database Periodic Sync </title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in a new issue