Commit db6111b3 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin Committed by Eteri

erp5_officejs_appstore_website: Update OfficeJS website to Production Status

parent e72c5b41
......@@ -185,6 +185,7 @@
<value>
<tuple>
<string>aggregate/web_page_module/officejs_old_landing_v1_html</string>
<string>caching_policy/one-day-max-modification-date</string>
</tuple>
</value>
</item>
......@@ -401,7 +402,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.6197.6575.13721</string> </value>
<value> <string>951.6214.44130.48691</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -419,7 +420,7 @@
</tuple>
<state>
<tuple>
<float>1462870735.15</float>
<float>1462872677.43</float>
<string>UTC</string>
</tuple>
</state>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>500px-Gnome-x-office-document.svg.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>500px-Gnome-x-office-document.svg.png</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>500px-Gnome-x-office-presentation.svg.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>500px-Gnome-x-office-presentation.svg.png</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>500px-Gnome-x-office-spreadsheet.svg.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>500px-Gnome-x-office-spreadsheet.svg.png</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.85</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_contacts.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>18484</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.85</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_taskmanager.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>35945</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_text_editor.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>8711</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_workflow2.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4576</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868719.35</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_contacts.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>18484</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>icon_contacts.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868756.4</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_workflow2.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4576</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>icon_workflow2.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868805.22</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>taskman-editor.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>8973</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>taskman-editor.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868788.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>taskman-spreadsheet.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>8307</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>taskman-spreadsheet.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868819.48</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>taskman-svg.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>9784</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>taskman-svg.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868833.72</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>taskman.png</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>14714</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>taskman.png</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_text_editor.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>8711</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_workflow2.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4576</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.85</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icon_workflow2.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4576</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<html>
<head>
<script type="text/javascript">
<!--
window.location="https://github.com/nexedi/jdocman/blob/tutorial/tutorial/TUTORIAL.md";
//-->
</script>
</head>
</html>
\ No newline at end of file
......@@ -22,22 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html>\n
<head>\n
<script type="text/javascript">\n
<!--\n
window.location="https://github.com/nexedi/jdocman/blob/tutorial/tutorial/TUTORIAL.md";\n
//-->\n
</script>\n
</head>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>css.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>6567</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>extensions.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>26266</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>28932</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>font-awesome-ie7.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>41110</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>font-awesome-ie7.min.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>37594</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>font-awesome.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>font-awesome.min.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>21970</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>31703</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>FontAwesome.otf</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>61896</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome-webfont.eot</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>37405</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome-webfont.svg</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>197829</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome-webfont.ttf</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>79076</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fontawesome-webfont.woff</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>43572</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.93</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ajax-loader.gif</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>7825</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.93</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icons-18-black.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1968</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icons-18-white.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1988</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icons-36-black.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3859</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.92</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>icons-36-white.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3861</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jquery-mobile.latest.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>255910</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>7540</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63756443.52</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>themes.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>64770</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63748926.45</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>all.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>260</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>all.json</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63758947.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>all_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3172</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>all_apps.json</string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>application_fieldlist.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>15813</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>application_sample.json.bak</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3088</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -14,35 +14,119 @@
"application_description_i18n":"application.custom.task_manager_js.description"
},
{
"int_index": "0",
"int_index": "50",
"application_image_type": "image",
"application_image_url": "app/taskman-spreadsheet.png",
"application_image_url": "app/500px-Gnome-x-office-spreadsheet.svg.png",
"application_toc_accept": true,
"application_published":"13/02/2014",
"application_submitted":"13/02/2014",
"application_description":"Task manager application with Spreadsheet documents.",
"application_url":"http://taskman-spreadsheet.app.officejs.com/",
"application_title":"Spreadsheet Editor",
"application_category":"Projects",
"application_title_i18n":"application.custom.spreadsheet_editor.title",
"application_description_i18n":"application.custom.spreadsheet_editor.description"
"application_description":"Edition of ods, xls, xlsx and alike",
"application_url":"https://spreadsheet.app.officejs.com/",
"application_title":"Office Spreadsheets",
"application_category":"Documents",
"application_title_i18n":"application.custom.spreadsheet.title",
"application_description_i18n":"application.custom.spreadsheet.description"
},
{
"int_index": "0",
"int_index": "48",
"application_image_type": "image",
"application_image_url": "app/500px-Gnome-x-office-presentation.svg.png",
"application_toc_accept": true,
"application_published":"23/08/2016",
"application_submitted":"23/08/2016",
"application_description":"Edition of odp, ppt, pttx and alike",
"application_url":"https://presentation.app.officejs.com/",
"application_title":"Office Presentations",
"application_category":"Documents",
"application_title_i18n":"application.custom.presentation.title",
"application_description_i18n":"application.custom.presentation.description"
},
{
"int_index": "49",
"application_image_type": "image",
"application_image_url": "app/500px-Gnome-x-office-document.svg.png",
"application_toc_accept": true,
"application_published":"23/08/2016",
"application_submitted":"23/08/2016",
"application_description":"Edition of odt, doc, docx and alike",
"application_url":"https://text.app.officejs.com/",
"application_title":"Office Texts",
"application_category":"Documents",
"application_title_i18n":"application.custom.text.title",
"application_description_i18n":"application.custom.text.description"
},
{
"int_index": "69",
"application_image_type": "image",
"application_image_url": "https://webtable.app.officejs.com/OSP-13-Web.Table.Editor.Logo?format=",
"application_toc_accept": true,
"application_published":"13/02/2014",
"application_submitted":"13/02/2014",
"application_description":"Web Table Advanced edition",
"application_url":"https://webtable.app.officejs.com",
"application_title":"Web Tables",
"application_category":"Documents",
"application_title_i18n":"application.custom.web_table.title",
"application_description_i18n":"application.custom.web_table.description"
},
{
"int_index": "15",
"application_image_type": "image",
"application_image_url": "https://www.officejs.com/OSP-25-Web.Bookmark.Editor.Logo?format=",
"application_toc_accept": true,
"application_published":"14/12/2016",
"application_submitted":"14/12/2016",
"application_description":"Web Based Bookmark Manager",
"application_url":"https://bookmark.app.officejs.com",
"application_title":"Web Bookmark",
"application_category":"Documents",
"application_title_i18n":"application.custom.web_bookmark.title",
"application_description_i18n":"application.custom.web_bookmark.description"
},
{
"int_index": "13",
"application_image_type": "image",
"application_image_url": "https://pdfreader.app.officejs.com/OSP-14-PDF.Viewer.Logo?format=",
"application_toc_accept": true,
"application_published":"14/12/2016",
"application_submitted":"14/12/2016",
"application_description":"Read and manage you PDF Offline",
"application_url":"https://pdfreader.app.officejs.com",
"application_title":"PDF Reader",
"application_category":"Documents",
"application_title_i18n":"application.custom.pdf_reader.title",
"application_description_i18n":"application.custom.pdf_reader.description"
},
{
"int_index": "11",
"application_image_type": "image",
"application_image_url": "https://imageeditor.app.officejs.com/OSP-12-Web.Bookmark.Editor.Logo?format=",
"application_toc_accept": true,
"application_published":"14/12/2016",
"application_submitted":"14/12/2016",
"application_description":"Edit Images in your browser",
"application_url":"https://imageeditor.app.officejs.com",
"application_title":"Image Editor",
"application_category":"Documents",
"application_title_i18n":"application.custom.image_editor.title",
"application_description_i18n":"application.custom.image_editor.description"
},
{
"int_index": "68",
"application_image_type": "image",
"application_image_url": "app/taskman-svg.png",
"application_toc_accept": true,
"application_published":"13/02/2014",
"application_submitted":"13/02/2014",
"application_description":"Task manager application with SVG documents.",
"application_url":"http://taskman-svg.app.officejs.com/",
"application_title":"SVG Editor",
"application_category":"Projects",
"application_url":"https://svgeditor.app.officejs.com",
"application_title":"Web Illustrations",
"application_category":"Documents",
"application_title_i18n":"application.custom.svg_editor.title",
"application_description_i18n":"application.custom.svg_editor.description"
},
{
"int_index": "1",
"int_index": "10",
"application_image_type": "image",
"application_image_url": "http://mediaplayer.app.officejs.com/cover.jpg",
"application_toc_accept": true,
......@@ -56,37 +140,37 @@
"application_description_i18n":"application.custom.media_player.description"
},
{
"int_index": "6",
"int_index": "99",
"application_image_type": "image",
"application_image_url": "img/appjabbericon.svg",
"application_toc_accept": true,
"application_published":"18/08/2014",
"application_submitted":"18/08/2014",
"application_description":"A simple web based jabber client",
"application_url":"http://jabberclient.app.officejs.com/",
"application_url":"https://jabberclient.app.officejs.com/",
"application_title":"Jabber client",
"application_category":"Contacts",
"application_title_i18n":"application.custom.jabber_client.title",
"application_description_i18n":"application.custom.jabber_client.description"
},
{
"int_index": "5",
"int_index": "70",
"application_image_type": "image",
"application_image_url": "app/text_editor/icon_text_editor.png",
"application_toc_accept": true,
"application_published":"25/09/2015",
"application_submitted":"25/09/2015",
"application_description":"A simple text editor synchronizing data in the Cloud",
"application_description":"Simple Web Based Editor",
"application_url":"https://texteditor.app.officejs.com",
"application_title":"Text Editor",
"application_title":"Web Texts",
"application_category":"Documents",
"application_title_i18n":"application.custom.text_editor_js.title",
"application_description_i18n":"application.custom.text_editor_js.description"
},
{
"int_index": "4",
"int_index": "11",
"application_image_type": "image",
"application_image_url": "https://slapos.vifib.com/vifib_commercial_image/vifib-resilience-logo.png",
"application_image_url": "img/vifib-logo.png",
"application_toc_accept": false,
"application_published": "03/17/2014",
"application_submitted":"03/17/2014",
......@@ -96,5 +180,33 @@
"application_category":"Development",
"application_title_i18n":"application.custom.monitor_js.title",
"application_description_i18n":"application.custom.monitor_js.description"
},
{
"int_index": "60",
"application_image_type": "image",
"application_image_url": "https://www.officejs.com/forum-logo.png?display=small",
"application_toc_accept": false,
"application_published": "07/18/2016",
"application_submitted":"07/18/2016",
"application_description":"OfficeJS Community Communication Tool",
"application_url":"https://forum.officejs.com",
"application_title":"OfficeJS Forum",
"application_category":"Development",
"application_title_i18n":"application.custom.forum.title",
"application_description_i18n":"application.custom.forum.description"
},
{
"int_index": "0",
"application_image_type": "image",
"application_image_url": "https://trade.app.officejs.com/trade-logo?format=png&display=small",
"application_toc_accept": false,
"application_published": "07/18/2016",
"application_submitted":"07/18/2016",
"application_description":"Manage Products, Sales and Purcharses",
"application_url":"https://trade.app.officejs.com",
"application_title":"Trade",
"application_category":"Projects",
"application_title_i18n":"application.custom.trade.title",
"application_description_i18n":"application.custom.trade.description"
}
]
......@@ -10,26 +10,18 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63755750.13</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>application_sample.json</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/json</string> </value>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4383</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>265</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>category.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>801</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>category_fieldlist.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>11097</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>category_sample.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2723</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>contacts.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>266</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>contacts_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2845</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dashboard.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>238</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>database.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>265</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>database_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2846</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>development.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>275</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>development_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2868</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>document_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2851</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>documents.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>266</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>drawing_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2841</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>drawings.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>263</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63754509.46</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>global.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>5488</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>planning.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>265</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>planning_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2845</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>projects.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>276</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>projects_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2847</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>reports.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>265</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>reports_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2842</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.95</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>storages.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>295</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.94</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>submit.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>265</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>submit_apps.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1859</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>main.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>13032</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>9558</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.86</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.min.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2502</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>无数据中心:”后云“闻见录</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="main-container">
<div class="main wrapper clearfix">
<article >
<h1 class="page_title">无数据中心:”后云“闻见录</h1>
<p>Version: 001</p>
<p>这个闻见录介绍了一个最终将会取代云计算的技术。
</p>
<p>我是一个软件开发师. 朋友们都叫我”四眼哥“。 我从1989年开始使用因特网,并从1993年开始使用互联网。 我于1981年开发了我的第一个商务软件, 现在我在上海有一家小的软件公司。</p>
<p>现如今因特网已成为商务竞争的一个重要工具,云计算通过使商务软件调配自动化来削减成本。 但是, 现代网络和云计算却经历着新的灾难: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">缺少弹性力</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">缺少交易私密性</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">缺少竞争</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">高二氧化碳排放量</a>.</p>
<p>所有的灾难都来源于一个地方:数据中心。</p>
<p>近几年兴起了许多尝试修补数据中心灾难的项目。 所有的项目都失败了,或者将会失败。</p>
<p>数据中心产生了无可修复的裂缝因为它们为抵制商务竞争的实际运用制造了一个“没有弹性”的诱因,并将最终促成它的短命。<a href="XXX">Richard Stallman是正确的</a> 归根结底, 经济还是我们的首要动力。
</p>
<p>这个见闻录将从经济方面长远的利益出发,关注理论,商务模型及能够引导消除数据中心的技术。 感谢HTML5技术及中国开发的低成本移动科技, 这个目标将不再是学术人员的一个梦想.
</p>
<p>非常重要: 如果你开发了或者发现了一个可以取代云计算的新技术,请告诉我,我来为你发表。</p>
<p>四眼哥<br/>上海, 11月19日, 2013<br/>
nodatacenter@suomi24.fi
</p>
<h2>第一章: 分散化理论</h2>
<p>我们需要知道一个成功的分散式制造系统中哪一项因素是引向成功的关键。目前为止,我们可以鉴别出四个要素:智能终端(因特网), 零边际成本(自由/开源软件), 零知识 (弹性云) 以及零排放(应用商店)。</p>
<p><b>智能终端</b>. 将网络智能放置在终端的主意促成了 <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">因特网</a> 弹性。终端比网络本身</i>更需要对<i>可靠的数据传送负责。</p>
<p><b>零边际成本</b>. 能够使小公司在不需要很多资本的情况下和大公司竞争的就是他能够用零边际成本向成千上万的用户输送产品和服务的能力。<a href="http://en.wikipedia.org/wiki/Open_source">开源软件</a><a href="http://en.wikipedia.org/wiki/Linux">Linux</a> 是使用零边际成本商务模式在十年内击败大型企业的典型案例。</p>
<p><b>零知识</b>. 能够使一个电脑系统保护交易秘密的方法就是密码术和系统架构的结合,从而可以不保存用户是如何进入交易的。</p>
<p><b>零排放</b>. 能够消除二氧化碳排放的要么是关掉计算机设备,要么是重复使用所有的热能来给室内加热。</p>
<p>以下的表格比较了传统云,理想后云以及两种”云代替云“的技术:弹性计算和离线HTML5。</p>
<p>
<table border="1" align="center">
<tr>
<th>
</th>
<th>传统云
</th>
<th>后云
</th>
<th>弹性计算
</th>
<th>离线HTML5
</th>
</tr>
<tr>
<td>智能终端
</td>
<td>不能
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>零边际成本
</td>
<td>不能
</td>
<td>
</td>
<td>可能
</td>
<td>
</td>
</tr>
<tr>
<td>零知识
</td>
<td>有难度
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<tr>
<td>零排放
</td>
<td>不能
</td>
<td>
</td>
<td>可能
</td>
<td>
</td>
</tr>
</table>
</p>
<h2>第二章: 弹性计算</h2>
<p>通过分散服务器到家庭或办公室,弹性计算解决了云计算缺乏弹性的问题。 它使用和云计算相同的技术来处理准备金提取,开账单等操作。弹性计算和许多现存的应用都能兼容(Linux, Windows等). 它的运用对迁移程序或者重新开发没有要求。</p>
<p>弹性计算同时也能解决云计算中许多其他的问题。但是, 目前还缺乏这个领域足够的支持 (消费者电子设备,电信设备), 零边际成本还不能被实现。这目前局限了它在利基市场的运用: 重要任务应用, 政府安全, 高性能计算。</p>
<p>弹性计算需要现代路由技术帮助回避电信公司之间经常发生的由操作错误或漏洞引起的连接问题。又被称作可以在网络之上创造一个虚拟网络提供完整的网络弹性和有独立服务协议的供应商的 <b>覆盖</b> 网络。</p>
<h3>时间轴:</h3>
<ul>
<li>2010 -
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> 将弹性计算作为云计算中一个更安全,更便宜的选择来介绍,并且它还可以给室内加热。VIFIB依赖于<a href="http://community.slapos.org">SlapOS</a> 开源技术. VIFIB现在用于实施为<a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">法国高速</a>工作的ERP系统的关键使命。
</li>
<li>2010 -
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households. Qarnot provides a platform to allocate high performance computing tasks on its servers.
</li>
<li>2011 -
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu. This paper explains how by placing data centers in buildings, buildings could be heated by the heat of servers.
</li>
<li>2012 -
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st overaly network</a>). re6st provides stable connectivity between servers located in different homes, offices or datacenters. IPv6 routing and service level agreement (SLA) is handled by a peer-to-peer public mesh of end points. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.
</li>
</ul>
<p><i>to be completed...</i></p>
<h2>Chapter 3: Offline HTML5</h2>
<p><a href="http://diveintohtml5.info/offline.html">Offline HTML5</a> eliminates data centers by eliminating servers. This approach requires to redevelop all applications in a quite different way. Redevelopment effort can be costly even though migration tools exist.
</p>
<p>Offline HTML5 is compatible with Zero Marginal Cost business model. This is a huge advantage over Resilient Computing in order to accelerate adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 is probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets (ex. big data).</p>
<h3>Timeline:</h3>
<ul>
<li>2008 -
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> introduces key concepts that will lead to offline apps.
</li>
<li>2010 -
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> proves that it is possible to develop a clone of Google Docs as a pure client side application that no longer requires an application server.
</li>
<li>2011 -
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> provides the bases for browser-to-browser networking.
</li>
<li>2011 -
<a href="http://bellard.org/jslinux/">LinuxJS</a> proves that Javascript is fast enough to emulate a PC. This opens in theory the way to Resilient Computing based on HTML5 that uses web browsers as servers.
</li>
<li>2011 -
<a href="http://j-io.org/">JIO</a> provides an abstraction to access local and remote content in offline HTML5 apps.
</li>
<li>2013 -
<a href="">???</a>. Chrome Web browser is able to act as a generic server that can listen on a socket.
</li>
<li>2013 -
<a href="http://ozan.io/p/">P</a> provides a resilient overlay network based on WebRTC. This opens in theory the way to Resilient Computing based on HTML5 that WebRTC based overlay networks.
</li>
<li>2013 -
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript and increase network security of HTML5 beyond the limitations of proprietary operating systems.
</li>
<li>2013 -
<a href="http://www.officejs.com">OfficeJS</a> introduced at Tech Crunch Shanghai is the first platform independent appstore of Offline HTML5 apps.
</li>
</ul>
<h2>Chapter 4: Cookbook</h2>
<h3>Recipe 1: JQM + JIO</h3>
<p><i>coming soon</i></p>
<h3>Recipe 2: Emscripten</h3>
<p><i>coming soon</i></p>
<h2>References</h2>
<ul>
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA's Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming 'big cloud' monopolies</a></li>
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
<h2>About this page</h2>
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a> in China.</p>
</article>
</div> <!-- #main -->
</div>
</body>
</html>
\ No newline at end of file
......@@ -22,270 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n
<head>\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n
<title>无数据中心:”后云“闻见录</title>\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<link href=\'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext\' rel=\'stylesheet\' type=\'text/css\'>\n
\n
<link rel="stylesheet" href="css/normalize.min.css">\n
<link rel="stylesheet" href="css/main.css">\n
\n
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>\n
</head>\n
\n
<body>\n
\n
<!--[if lt IE 7]>\n
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>\n
<![endif]-->\n
\n
<div class="main-container">\n
<div class="main wrapper clearfix">\n
\n
\n
\n
\n
<article >\n
\n
<h1 class="page_title">无数据中心:”后云“闻见录</h1>\n
\n
<p>Version: 001</p>\n
\n
<p>这个闻见录介绍了一个最终将会取代云计算的技术。\n
</p>\n
\n
<p>我是一个软件开发师. 朋友们都叫我”四眼哥“。 我从1989年开始使用因特网,并从1993年开始使用互联网。 我于1981年开发了我的第一个商务软件, 现在我在上海有一家小的软件公司。</p>\n
\n
<p>现如今因特网已成为商务竞争的一个重要工具,云计算通过使商务软件调配自动化来削减成本。 但是, 现代网络和云计算却经历着新的灾难: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">缺少弹性力</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">缺少交易私密性</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">缺少竞争</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">高二氧化碳排放量</a>.</p>\n
\n
<p>所有的灾难都来源于一个地方:数据中心。</p>\n
\n
<p>近几年兴起了许多尝试修补数据中心灾难的项目。 所有的项目都失败了,或者将会失败。</p>\n
\n
<p>数据中心产生了无可修复的裂缝因为它们为抵制商务竞争的实际运用制造了一个“没有弹性”的诱因,并将最终促成它的短命。<a href="XXX">Richard Stallman是正确的</a> 归根结底, 经济还是我们的首要动力。\n
</p>\n
\n
<p>这个见闻录将从经济方面长远的利益出发,关注理论,商务模型及能够引导消除数据中心的技术。 感谢HTML5技术及中国开发的低成本移动科技, 这个目标将不再是学术人员的一个梦想. \n
</p>\n
\n
<p>非常重要: 如果你开发了或者发现了一个可以取代云计算的新技术,请告诉我,我来为你发表。</p>\n
\n
<p>四眼哥<br/>上海, 11月19日, 2013<br/>\n
nodatacenter@suomi24.fi\n
</p>\n
\n
<h2>第一章: 分散化理论</h2>\n
\n
<p>我们需要知道一个成功的分散式制造系统中哪一项因素是引向成功的关键。目前为止,我们可以鉴别出四个要素:智能终端(因特网), 零边际成本(自由/开源软件), 零知识 (弹性云) 以及零排放(应用商店)。</p>\n
\n
<p><b>智能终端</b>. 将网络智能放置在终端的主意促成了 <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">因特网</a> 弹性。终端比网络本身</i>更需要对<i>可靠的数据传送负责。</p>\n
\n
<p><b>零边际成本</b>. 能够使小公司在不需要很多资本的情况下和大公司竞争的就是他能够用零边际成本向成千上万的用户输送产品和服务的能力。<a href="http://en.wikipedia.org/wiki/Open_source">开源软件</a><a href="http://en.wikipedia.org/wiki/Linux">Linux</a> 是使用零边际成本商务模式在十年内击败大型企业的典型案例。</p>\n
\n
<p><b>零知识</b>. 能够使一个电脑系统保护交易秘密的方法就是密码术和系统架构的结合,从而可以不保存用户是如何进入交易的。</p>\n
\n
<p><b>零排放</b>. 能够消除二氧化碳排放的要么是关掉计算机设备,要么是重复使用所有的热能来给室内加热。</p>\n
\n
<p>以下的表格比较了传统云,理想后云以及两种”云代替云“的技术:弹性计算和离线HTML5。</p>\n
\n
<p>\n
<table border="1" align="center">\n
<tr>\n
<th>\n
</th>\n
<th>传统云\n
</th>\n
<th>后云\n
</th>\n
<th>弹性计算\n
</th>\n
<th>离线HTML5\n
</th>\n
</tr>\n
<tr>\n
<td>智能终端\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
<tr>\n
<td>零边际成本\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>可能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
<tr>\n
<td>零知识\n
</td>\n
<td>有难度\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<tr>\n
<td>零排放\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>可能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
\n
</table>\n
</p>\n
\n
<h2>第二章: 弹性计算</h2>\n
\n
<p>通过分散服务器到家庭或办公室,弹性计算解决了云计算缺乏弹性的问题。 它使用和云计算相同的技术来处理准备金提取,开账单等操作。弹性计算和许多现存的应用都能兼容(Linux, Windows等). 它的运用对迁移程序或者重新开发没有要求。</p>\n
\n
<p>弹性计算同时也能解决云计算中许多其他的问题。但是, 目前还缺乏这个领域足够的支持 (消费者电子设备,电信设备), 零边际成本还不能被实现。这目前局限了它在利基市场的运用: 重要任务应用, 政府安全, 高性能计算。</p>\n
\n
<p>弹性计算需要现代路由技术帮助回避电信公司之间经常发生的由操作错误或漏洞引起的连接问题。又被称作可以在网络之上创造一个虚拟网络提供完整的网络弹性和有独立服务协议的供应商的 <b>覆盖</b> 网络。</p>\n
\n
<h3>时间轴:</h3>\n
\n
<ul>\n
<li>2010 - \n
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> 将弹性计算作为云计算中一个更安全,更便宜的选择来介绍,并且它还可以给室内加热。VIFIB依赖于<a href="http://community.slapos.org">SlapOS</a> 开源技术. VIFIB现在用于实施为<a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">法国高速</a>工作的ERP系统的关键使命。\n
</li>\n
<li>2010 - \n
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households. Qarnot provides a platform to allocate high performance computing tasks on its servers. \n
</li>\n
<li>2011 - \n
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu. This paper explains how by placing data centers in buildings, buildings could be heated by the heat of servers.\n
</li>\n
<li>2012 -\n
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st overaly network</a>). re6st provides stable connectivity between servers located in different homes, offices or datacenters. IPv6 routing and service level agreement (SLA) is handled by a peer-to-peer public mesh of end points. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.\n
</li>\n
\n
</ul>\n
\n
<p><i>to be completed...</i></p>\n
\n
<h2>Chapter 3: Offline HTML5</h2>\n
\n
<p><a href="http://diveintohtml5.info/offline.html">Offline HTML5</a> eliminates data centers by eliminating servers. This approach requires to redevelop all applications in a quite different way. Redevelopment effort can be costly even though migration tools exist.\n
</p>\n
\n
<p>Offline HTML5 is compatible with Zero Marginal Cost business model. This is a huge advantage over Resilient Computing in order to accelerate adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 is probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets (ex. big data).</p>\n
\n
<h3>Timeline:</h3>\n
\n
<ul>\n
<li>2008 -\n
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> introduces key concepts that will lead to offline apps.\n
</li>\n
<li>2010 -\n
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> proves that it is possible to develop a clone of Google Docs as a pure client side application that no longer requires an application server.\n
</li>\n
<li>2011 -\n
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> provides the bases for browser-to-browser networking.\n
</li>\n
<li>2011 -\n
<a href="http://bellard.org/jslinux/">LinuxJS</a> proves that Javascript is fast enough to emulate a PC. This opens in theory the way to Resilient Computing based on HTML5 that uses web browsers as servers.\n
</li>\n
<li>2011 -\n
<a href="http://j-io.org/">JIO</a> provides an abstraction to access local and remote content in offline HTML5 apps.\n
</li>\n
<li>2013 -\n
<a href="">???</a>. Chrome Web browser is able to act as a generic server that can listen on a socket.\n
</li>\n
<li>2013 -\n
<a href="http://ozan.io/p/">P</a> provides a resilient overlay network based on WebRTC. This opens in theory the way to Resilient Computing based on HTML5 that WebRTC based overlay networks.\n
</li>\n
<li>2013 -\n
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript and increase network security of HTML5 beyond the limitations of proprietary operating systems.\n
</li>\n
<li>2013 -\n
<a href="http://www.officejs.com">OfficeJS</a> introduced at Tech Crunch Shanghai is the first platform independent appstore of Offline HTML5 apps.\n
</li>\n
\n
</ul>\n
\n
<h2>Chapter 4: Cookbook</h2>\n
\n
<h3>Recipe 1: JQM + JIO</h3>\n
\n
<p><i>coming soon</i></p>\n
\n
<h3>Recipe 2: Emscripten</h3>\n
\n
<p><i>coming soon</i></p>\n
\n
\n
<h2>References</h2>\n
\n
<ul>\n
\n
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>\n
\n
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA\'s Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>\n
\n
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>\n
\n
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming \'big cloud\' monopolies</a></li>\n
\n
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>\n
\n
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
</ul>\n
\n
<h2>About this page</h2>\n
\n
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a> in China.</p>\n
\n
\n
\n
</article>\n
\n
</div> <!-- #main -->\n
</div>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="main-container">
<div class="main wrapper clearfix">
<article >
<h1 class="page_title">OfficeJS Preliminary Specification</h1>
<p>Version: 001 - 2013-11-19</p>
<p>This documents defines the specification of OfficeJS offline HTML5 applications.
</p>
<h2>Dependencies</h2>
<p>OfficeJS applications depends on the following libraries:</p>
<ul>
<li><a href="http://jquerymobile.com/">jQuery Mobile</a>: platform independent user interface widgets (<a href="http://jquerymobile.com/gbs/">more than 30 Web browsers supported</a>)</li>
<li><a href="http://j-io.org/">J-IO</a>: backend independent persistent data management (offline, online, replication, encryption, etc.)</li>
<li><a href="http://renderjs.org/">RenderJS</a>: reusable component system (optional)</li>
</ul>
<p>Applications submitted to OfficeJS HTML5 appstore must provide support for these libraries based on the following rules:</p>
<p>
<table border="1" align="center">
<tr>
<th></th>
<th>jQuery Mobile</th>
<th>JIO</th>
<th>RenderJS</th>
</tr>
<tr>
<td>Application has no persistent data</td>
<td>recommended</td>
<td>optional</td>
<td>optional</td>
</tr>
<tr>
<td>Application has persistent data</td>
<td>recommended</td>
<td>required</td>
<td>optional</td>
</tr>
<tr>
<td>Application data can be embedded by another application</td>
<td>recommended</td>
<td>required</td>
<td>required</td>
</tr>
</table>
</p>
<h2>Structure</h2>
<p>An OfficeJS application is an HTML5 file that defines metadata and dependencies (CSS, JS) of the application. You can use the OfficeJS application template below to start.</p>
<code><pre style="font-size:80%">
&lt;!DOCTYPE html&gt;
&lt;html manifest="manifest.appcache"&gt;
&lt;head>
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;
&lt;meta name="viewport" content="width=device-width, user-scalable=no" /&gt;
&lt;!-- required meta tags/information --&gt;
&lt;title>Application Title&lt;/title&gt;
&lt;meta name="description" content="Application Description"/&gt;
&lt;meta name="keywords" content="Category_1, Category_2">
&lt;meta name="author" content="John Doe|johndoe@internetl.com"/&gt;
&lt;!-- CSS --&gt;
&lt;link rel="stylesheet" href="http://code.jquery.com/mobile/git/jquery.mobile-git.css"&gt;
&lt;!-- Custom Stylesheets --&gt;
&lt;link rel="stylesheet" href="path/to/stylesheet_a"&gt;
&lt;!-- JQUERY/JQUERY MOBILE --&gt;
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://code.jquery.com/mobile/git/jquery.mobile-git.js"&gt;&lt;/script&gt;
&lt;!-- JIO --&gt;
&lt;script type="text/javascript" src="path/to/sha256.amd.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/rsvp-custom.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/jio.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/complex_queries.js"&gt;&lt;/script&gt;
&lt;!-- JIO storages, for example --&gt;
&lt;script type="text/javascript" src="path/to/localstorage.js"&gt;&lt;/script&gt;
&lt;!-- RenderJS --&gt;
&lt;script type="text/javascript" src="path/to/renderjs.js"&gt;&lt;/script&gt;
&lt;!-- 3rd Party Plugins/Custom Scripts --&gt;
&lt;script type="text/javascript" src="path/to/plugin_a.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/plugin_b.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;!-- Content of application --&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>
<b>Please note:</b>
<ul>
<li>Applications should have a manifest file specifying files to be cached</li>
<li>Custom script and additional plugins can simply be added at the end of the HTML5 file's body. Examples of easy to integrate plugins include:
<ul>
<li>Form Validation - <a href="http://validval.frebsite.nl/">Validval</a></li>
<li>i18n Support - <a href="http://jamuhl.github.io/i18next/">i18next</a></li>
</ul>
</li>
<li>Beware of the <a href="http://view.jquerymobile.com/master/demos/navigation/">jQuery Mobile Ajax based
navigation</a> when creating an HTML5 application.</li>
</ul>
</p>
<h2>Application Examples</h2>
<ul>
<li><a href="http://www.officejs.com/app/task_manager/">Task Manager</a> provides a simple JQuery Mobile example of a persistent application based on JIO.</ul>
</ul>
<br />
<h2>Submitting your own application</h2>
<p>You can submit your own applications here: &nbsp; <a href="http://officejs.com/#apps">Submit application on officejs.com</p>
</article>
</div> <!-- #main -->
</div>
</body>
</html>
\ No newline at end of file
......@@ -22,176 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n
<head>\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n
<title></title>\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<link href=\'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext\' rel=\'stylesheet\' type=\'text/css\'>\n
\n
<link rel="stylesheet" href="css/normalize.min.css">\n
<link rel="stylesheet" href="css/main.css">\n
\n
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>\n
</head>\n
\n
<body>\n
\n
<!--[if lt IE 7]>\n
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>\n
<![endif]-->\n
\n
<div class="main-container">\n
<div class="main wrapper clearfix">\n
\n
\n
\n
\n
<article >\n
\n
<h1 class="page_title">OfficeJS Preliminary Specification</h1>\n
\n
<p>Version: 001 - 2013-11-19</p>\n
\n
<p>This documents defines the specification of OfficeJS offline HTML5 applications.\n
</p>\n
\n
<h2>Dependencies</h2>\n
\n
<p>OfficeJS applications depends on the following libraries:</p>\n
\n
<ul>\n
<li><a href="http://jquerymobile.com/">jQuery Mobile</a>: platform independent user interface widgets (<a href="http://jquerymobile.com/gbs/">more than 30 Web browsers supported</a>)</li>\n
<li><a href="http://j-io.org/">J-IO</a>: backend independent persistent data management (offline, online, replication, encryption, etc.)</li>\n
<li><a href="http://renderjs.org/">RenderJS</a>: reusable component system (optional)</li>\n
</ul>\n
\n
<p>Applications submitted to OfficeJS HTML5 appstore must provide support for these libraries based on the following rules:</p>\n
\n
<p>\n
<table border="1" align="center">\n
<tr>\n
<th></th>\n
<th>jQuery Mobile</th>\n
<th>JIO</th>\n
<th>RenderJS</th>\n
</tr>\n
<tr>\n
<td>Application has no persistent data</td>\n
<td>recommended</td>\n
<td>optional</td>\n
<td>optional</td>\n
</tr>\n
<tr>\n
<td>Application has persistent data</td>\n
<td>recommended</td>\n
<td>required</td>\n
<td>optional</td>\n
</tr>\n
<tr>\n
<td>Application data can be embedded by another application</td>\n
<td>recommended</td>\n
<td>required</td>\n
<td>required</td>\n
</tr>\n
</table>\n
</p>\n
\n
\n
<h2>Structure</h2>\n
\n
<p>An OfficeJS application is an HTML5 file that defines metadata and dependencies (CSS, JS) of the application. You can use the OfficeJS application template below to start.</p>\n
\n
<code><pre style="font-size:80%">\n
&lt;!DOCTYPE html&gt;\n
&lt;html manifest="manifest.appcache"&gt;\n
&lt;head>\n
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;\n
&lt;meta name="viewport" content="width=device-width, user-scalable=no" /&gt;\n
\n
&lt;!-- required meta tags/information --&gt;\n
&lt;title>Application Title&lt;/title&gt;\n
&lt;meta name="description" content="Application Description"/&gt;\n
&lt;meta name="keywords" content="Category_1, Category_2">\n
&lt;meta name="author" content="John Doe|johndoe@internetl.com"/&gt;\n
\n
&lt;!-- CSS --&gt;\n
&lt;link rel="stylesheet" href="http://code.jquery.com/mobile/git/jquery.mobile-git.css"&gt;\n
\n
&lt;!-- Custom Stylesheets --&gt;\n
&lt;link rel="stylesheet" href="path/to/stylesheet_a"&gt;\n
\n
&lt;!-- JQUERY/JQUERY MOBILE --&gt;\n
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="http://code.jquery.com/mobile/git/jquery.mobile-git.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- JIO --&gt;\n
&lt;script type="text/javascript" src="path/to/sha256.amd.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/rsvp-custom.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/jio.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/complex_queries.js"&gt;&lt;/script&gt;\n
&lt;!-- JIO storages, for example --&gt;\n
&lt;script type="text/javascript" src="path/to/localstorage.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- RenderJS --&gt;\n
&lt;script type="text/javascript" src="path/to/renderjs.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- 3rd Party Plugins/Custom Scripts --&gt;\n
&lt;script type="text/javascript" src="path/to/plugin_a.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/plugin_b.js"&gt;&lt;/script&gt;\n
\n
&lt;/head&gt;\n
&lt;body&gt;\n
&lt;!-- Content of application --&gt;\n
&lt;/body&gt;\n
\n
&lt;/html&gt;\n
</code></pre>\n
\n
<p>\n
<b>Please note:</b>\n
<ul>\n
<li>Applications should have a manifest file specifying files to be cached</li>\n
<li>Custom script and additional plugins can simply be added at the end of the HTML5 file\'s body. Examples of easy to integrate plugins include:\n
<ul>\n
<li>Form Validation - <a href="http://validval.frebsite.nl/">Validval</a></li>\n
<li>i18n Support - <a href="http://jamuhl.github.io/i18next/">i18next</a></li>\n
</ul>\n
</li>\n
<li>Beware of the <a href="http://view.jquerymobile.com/master/demos/navigation/">jQuery Mobile Ajax based\n
navigation</a> when creating an HTML5 application.</li>\n
</ul>\n
</p>\n
\n
<h2>Application Examples</h2>\n
\n
<ul>\n
<li><a href="http://www.officejs.com/app/task_manager/">Task Manager</a> provides a simple JQuery Mobile example of a persistent application based on JIO.</ul>\n
</ul>\n
<br />\n
<h2>Submitting your own application</h2>\n
<p>You can submit your own applications here: &nbsp; <a href="http://officejs.com/#apps">Submit application on officejs.com</p>\n
\n
</article>\n
\n
</div> <!-- #main -->\n
</div>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js"><!--<![endif]--><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>OfficeJS 初步说明</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
<!--<link href="dev_files/css.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="dev_files/normalize.css">
<link rel="stylesheet" href="dev_files/main.css">
<script src="dev_files/modernizr-2.html"></script>-->
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="main-container">
<div class="main wrapper clearfix">
<article>
<h1 class="page_title">OfficeJS 初步说明 </h1>
<p>Version: 001 - 2013-11-19</p>
<p>这篇文章详述了OfficeJS离线HTML5应用的初步说明。
</p>
<h2>耦合性</h2>
<p>OfficeJS 应用依赖于以下的库:</p>
<ul>
<li><a href="http://jquerymobile.com/">jQuery 移动</a>: 独立平台用户界面控件(<a href="http://jquerymobile.com/gbs/"> 被至少30种网络浏览器支持</a>)</li>
<li><a href="http://j-io.org/">J-IO</a>: 独立后端的持久数据管理(离线, 在线, 复制,ryption等)</li>
<li><a href="http://renderjs.org/">RenderJS</a>: 可重复使用的组件系统 (可选的)</li>
</ul>
<p>提交给OfficeJS HTML5应用商店的应用必须依照以下规则为这些库提供支持:</p>
<p>
</p><table align="center" border="1">
<tbody><tr>
<th></th>
<th>jQuery Mobile</th>
<th>JIO</th>
<th>RenderJS</th>
</tr>
<tr>
<td>无可持续性数据的应用</td>
<td>推荐</td>
<td>可选</td>
<td>可选</td>
</tr>
<tr>
<td>有可持续性数据的应用</td>
<td>推荐</td>
<td>必选</td>
<td>可选</td>
</tr>
<tr>
<td>应用数据可被嵌入另一应用程序中</td>
<td>推荐</td>
<td>必选</td>
<td>必选</td>
</tr>
</tbody></table>
<p></p>
<h2>结构</h2>
<p>一个OfficeJS应用程序就是一个定义了元数据和耦合性(CSS,JS)的HTML5文档。你可以从使用以下的OfficeJS
应用程序模板开始。</p>
<code></code><pre style="font-size:80%"><code>&lt;!DOCTYPE html&gt;
&lt;html manifest="manifest.appcache"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;
&lt;meta name="viewport" content="width=device-width, user-scalable=no" /&gt;
&lt;!-- required meta tags/information --&gt;
&lt;title&gt;Application Title&lt;/title&gt;
&lt;meta name="description" content="Application Description"/&gt;
&lt;meta name="keywords" content="Category_1, Category_2"&gt;
&lt;meta name="author" content="John Doe|johndoe@internetl.com"/&gt;
&lt;!-- CSS --&gt;
&lt;link rel="stylesheet" href="http://code.jquery.com/mobile/git/jquery.mobile-git.css"&gt;
&lt;!-- Custom Stylesheets --&gt;
&lt;link rel="stylesheet" href="path/to/stylesheet_a"&gt;
&lt;!-- JQUERY/JQUERY MOBILE --&gt;
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://code.jquery.com/mobile/git/jquery.mobile-git.js"&gt;&lt;/script&gt;
&lt;!-- JIO --&gt;
&lt;script type="text/javascript" src="path/to/sha256.amd.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/rsvp-custom.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/jio.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/complex_queries.js"&gt;&lt;/script&gt;
&lt;!-- JIO storages, for example --&gt;
&lt;script type="text/javascript" src="path/to/localstorage.js"&gt;&lt;/script&gt;
&lt;!-- RenderJS --&gt;
&lt;script type="text/javascript" src="path/to/renderjs.js"&gt;&lt;/script&gt;
&lt;!-- 3rd Party Plugins/Custom Scripts --&gt;
&lt;script type="text/javascript" src="path/to/plugin_a.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="path/to/plugin_b.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;!-- Content of application --&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>
<b>请注意:</b>
</p><ul>
<li>应用程序都应该有一个manifest资源配置文件明确指出被贮藏的文件。</li>
<li>自定义脚本和添加的插件可以被容易的添加到HTML5文档内容的后面。容易融入的插件例子包括有:
<ul>
<li>表单验证 - <a href="http://validval.frebsite.nl/">Validval</a></li>
<li>i18n 支持 - <a href="http://jamuhl.github.io/i18next/">i18next</a></li>
</ul>
</li>
<li>在开发HTML5应用程序时注意 <a href="http://view.jquerymobile.com/master/demos/navigation/">jQuery Mobile Ajax 基础
导航</a></li>
</ul>
<p></p>
<h2>应用案例</h2>
<ul>
<li><a href="http://www.officejs.com/app/task_manager/">任务管理</a> 提供了一个基于JIO技术的简明的关于持续应用的 JQuery Mobile 案例。</li></ul>
<br>
<h2>提交你的应用程序</h2>
<p>你可以在此提交你的应用: &nbsp; <a href="http://officejs.com/#apps">到 officejs.com上提交应用</a></p><a href="http://officejs.com/#apps">
</a></article><a href="http://officejs.com/#apps">
</a></div><a href="http://officejs.com/#apps"> <!-- #main -->
</a></div><a href="http://officejs.com/#apps">
</a></body></html>
\ No newline at end of file
......@@ -22,187 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n
<!--[if gt IE 8]><!-->\n
<html class="no-js"><!--<![endif]--><head>\n
<meta http-equiv="content-type" content="text/html; charset=UTF-8">\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n
<title>OfficeJS 初步说明</title>\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<link href=\'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext\' rel=\'stylesheet\' type=\'text/css\'>\n
\n
<link rel="stylesheet" href="css/normalize.min.css">\n
<link rel="stylesheet" href="css/main.css">\n
\n
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>\n
\n
<!--<link href="dev_files/css.css" rel="stylesheet" type="text/css">\n
\n
<link rel="stylesheet" href="dev_files/normalize.css">\n
<link rel="stylesheet" href="dev_files/main.css">\n
\n
<script src="dev_files/modernizr-2.html"></script>-->\n
</head>\n
\n
<body>\n
\n
<!--[if lt IE 7]>\n
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>\n
<![endif]-->\n
\n
<div class="main-container">\n
<div class="main wrapper clearfix">\n
\n
\n
\n
\n
<article>\n
\n
<h1 class="page_title">OfficeJS 初步说明 </h1>\n
\n
<p>Version: 001 - 2013-11-19</p>\n
\n
<p>这篇文章详述了OfficeJS离线HTML5应用的初步说明。\n
</p>\n
\n
<h2>耦合性</h2>\n
\n
<p>OfficeJS 应用依赖于以下的库:</p>\n
\n
<ul>\n
<li><a href="http://jquerymobile.com/">jQuery 移动</a>: 独立平台用户界面控件(<a href="http://jquerymobile.com/gbs/"> 被至少30种网络浏览器支持</a>)</li>\n
<li><a href="http://j-io.org/">J-IO</a>: 独立后端的持久数据管理(离线, 在线, 复制,ryption等)</li>\n
<li><a href="http://renderjs.org/">RenderJS</a>: 可重复使用的组件系统 (可选的)</li>\n
</ul>\n
\n
<p>提交给OfficeJS HTML5应用商店的应用必须依照以下规则为这些库提供支持:</p>\n
\n
<p>\n
</p><table align="center" border="1">\n
<tbody><tr>\n
<th></th>\n
<th>jQuery Mobile</th>\n
<th>JIO</th>\n
<th>RenderJS</th>\n
</tr>\n
<tr>\n
<td>无可持续性数据的应用</td>\n
<td>推荐</td>\n
<td>可选</td>\n
<td>可选</td>\n
</tr>\n
<tr>\n
<td>有可持续性数据的应用</td>\n
<td>推荐</td>\n
<td>必选</td>\n
<td>可选</td>\n
</tr>\n
<tr>\n
<td>应用数据可被嵌入另一应用程序中</td>\n
<td>推荐</td>\n
<td>必选</td>\n
<td>必选</td>\n
</tr>\n
</tbody></table>\n
<p></p>\n
\n
\n
<h2>结构</h2>\n
\n
<p>一个OfficeJS应用程序就是一个定义了元数据和耦合性(CSS,JS)的HTML5文档。你可以从使用以下的OfficeJS \n
应用程序模板开始。</p>\n
\n
<code></code><pre style="font-size:80%"><code>&lt;!DOCTYPE html&gt;\n
&lt;html manifest="manifest.appcache"&gt;\n
&lt;head&gt;\n
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;\n
&lt;meta name="viewport" content="width=device-width, user-scalable=no" /&gt;\n
\n
&lt;!-- required meta tags/information --&gt;\n
&lt;title&gt;Application Title&lt;/title&gt;\n
&lt;meta name="description" content="Application Description"/&gt;\n
&lt;meta name="keywords" content="Category_1, Category_2"&gt;\n
&lt;meta name="author" content="John Doe|johndoe@internetl.com"/&gt;\n
\n
&lt;!-- CSS --&gt;\n
&lt;link rel="stylesheet" href="http://code.jquery.com/mobile/git/jquery.mobile-git.css"&gt;\n
\n
&lt;!-- Custom Stylesheets --&gt;\n
&lt;link rel="stylesheet" href="path/to/stylesheet_a"&gt;\n
\n
&lt;!-- JQUERY/JQUERY MOBILE --&gt;\n
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="http://code.jquery.com/mobile/git/jquery.mobile-git.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- JIO --&gt;\n
&lt;script type="text/javascript" src="path/to/sha256.amd.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/rsvp-custom.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/jio.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/complex_queries.js"&gt;&lt;/script&gt;\n
&lt;!-- JIO storages, for example --&gt;\n
&lt;script type="text/javascript" src="path/to/localstorage.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- RenderJS --&gt;\n
&lt;script type="text/javascript" src="path/to/renderjs.js"&gt;&lt;/script&gt;\n
\n
&lt;!-- 3rd Party Plugins/Custom Scripts --&gt;\n
&lt;script type="text/javascript" src="path/to/plugin_a.js"&gt;&lt;/script&gt;\n
&lt;script type="text/javascript" src="path/to/plugin_b.js"&gt;&lt;/script&gt;\n
\n
&lt;/head&gt;\n
&lt;body&gt;\n
&lt;!-- Content of application --&gt;\n
&lt;/body&gt;\n
\n
&lt;/html&gt;\n
</code></pre>\n
\n
<p>\n
<b>请注意:</b>\n
</p><ul>\n
<li>应用程序都应该有一个manifest资源配置文件明确指出被贮藏的文件。</li>\n
<li>自定义脚本和添加的插件可以被容易的添加到HTML5文档内容的后面。容易融入的插件例子包括有:\n
<ul>\n
<li>表单验证 - <a href="http://validval.frebsite.nl/">Validval</a></li>\n
<li>i18n 支持 - <a href="http://jamuhl.github.io/i18next/">i18next</a></li>\n
</ul>\n
</li>\n
<li>在开发HTML5应用程序时注意 <a href="http://view.jquerymobile.com/master/demos/navigation/">jQuery Mobile Ajax 基础\n
导航</a></li>\n
</ul>\n
<p></p>\n
\n
<h2>应用案例</h2>\n
\n
<ul>\n
<li><a href="http://www.officejs.com/app/task_manager/">任务管理</a> 提供了一个基于JIO技术的简明的关于持续应用的 JQuery Mobile 案例。</li></ul>\n
\n
<br>\n
<h2>提交你的应用程序</h2>\n
<p>你可以在此提交你的应用: &nbsp; <a href="http://officejs.com/#apps">到 officejs.com上提交应用</a></p><a href="http://officejs.com/#apps">\n
\n
</a></article><a href="http://officejs.com/#apps">\n
\n
</a></div><a href="http://officejs.com/#apps"> <!-- #main -->\n
</a></div><a href="http://officejs.com/#apps">\n
\n
</a></body></html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>brainstorming_page_json.txt</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>11250</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.91</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>documentation.txt</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>6191</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>appjabbericon.svg</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>11473</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5-logo.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1992</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>flags.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4754</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>slapos.png</string> </value>
......@@ -30,10 +26,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>16864</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>vifib-logo.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>vifib-logo.png</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title></title>
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">
<link rel="stylesheet" href="css/extensions.css">
<link rel="stylesheet" href="css/fontawesome.css">
<link rel="stylesheet" href="css/themes.css">
<link rel="stylesheet" href="css/css.css">
</head>
<body>
<!-- global panel -->
<!-- global header -->
<div id="dashboard" data-role="page" data-theme="slapos-white" data-module="dashboard">
<div class="ui-content">
<!-- nothing to see here -->
</div>
<div style="text-align:center;">
<a href="http://www.miibeian.gov.cn/" style="color:white">沪ICP备14008524号</a>
</div>
</div>
<!-- global footer (not used) -->
<!-- global popup -->
<!-- JQM -->
<script src="js/libs/jquery/jquery.js"></script>
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>
<script src="js/extensions.js"></script>
<!-- JIO -->
<script src="js/libs/jio/sha256.amd.js"></script>
<script src="js/libs/jio/rsvp-custom.js"></script>
<script src="js/libs/jio/jio.js"></script>
<script src="js/libs/jio/complex_queries.js"></script>
<script src="js/libs/jio/localstorage.js"></script>
<!-- plugins -->
<script src="js/plugins/validval/jquery.validVal.js"></script>
<script src="js/plugins/i18next/i18next.js"></script>
<!-- stuff happens here -->
<script src="js/erp5_loader.js"></script>
</body>
</html>
......@@ -22,67 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<html>\n
<head>\n
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
<meta name="viewport" content="width=device-width, user-scalable=no" />\n
<title></title>\n
\n
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">\n
<link rel="stylesheet" href="css/extensions.css">\n
<link rel="stylesheet" href="css/fontawesome.css">\n
<link rel="stylesheet" href="css/themes.css">\n
<link rel="stylesheet" href="css/css.css">\n
\n
</head>\n
<body>\n
\n
<!-- global panel -->\n
\n
<!-- global header -->\n
\n
<div id="dashboard" data-role="page" data-theme="slapos-white" data-module="dashboard">\n
<div class="ui-content">\n
<!-- nothing to see here -->\n
</div>\n
<div style="text-align:center;">\n
<a href="http://www.miibeian.gov.cn/" style="color:white">沪ICP备14008524号</a>\n
</div>\n
</div>\n
\n
<!-- global footer (not used) -->\n
\n
<!-- global popup -->\n
\n
<!-- JQM -->\n
<script src="js/libs/jquery/jquery.js"></script>\n
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>\n
<script src="js/extensions.js"></script>\n
<!-- JIO -->\n
<script src="js/libs/jio/sha256.amd.js"></script>\n
<script src="js/libs/jio/rsvp-custom.js"></script>\n
<script src="js/libs/jio/jio.js"></script>\n
<script src="js/libs/jio/complex_queries.js"></script>\n
<script src="js/libs/jio/localstorage.js"></script>\n
\n
<!-- plugins -->\n
<script src="js/plugins/validval/jquery.validVal.js"></script>\n
<script src="js/plugins/i18next/i18next.js"></script>\n
\n
<!-- stuff happens here -->\n
<script src="js/erp5_loader.js"></script>\n
\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>bin.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>49646</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63752655.88</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5_loader.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>138637</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>extensions.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>46207</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.87</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>complex_queries.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>49879</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.88</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jio.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>89902</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.88</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>localstorage.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>22252</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.88</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>rsvp-custom.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>24786</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.88</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>sha256.amd.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4495</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jquery-mobile.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>475440</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.89</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jquery.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>295289</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>i18next.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>91098</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>modernizr.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>50144</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.9</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jquery.validVal.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>28161</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -73,7 +73,7 @@
},
"languages": {
"english": "English",
"chinese": "中文",
"chinese": "中文",
"pick": "Languages:"
},
"category": {
......@@ -155,8 +155,8 @@
"description": "A simple web based jabber client."
},
"text_editor_js": {
"title": "Text Editor JS",
"description": "A simple text editor synchronizing data in the Cloud"
"title": "Web Texts",
"description": "Simple Web Texts Editor"
},
"workflow_js": {
"title": "Workflow JS",
......@@ -171,8 +171,8 @@
"description": "Task manager application with Spreadsheet documents."
},
"svg_editor": {
"title": "SVG Editor",
"description": "Task manager application with SVG documents."
"title": "Web Illustrations",
"description": "Web Editor of SVG"
},
"monitor_js": {
"title": "Monitor",
......@@ -229,4 +229,4 @@
"description": "Submit Your Own App"
}
}
}
\ No newline at end of file
}
......@@ -10,26 +10,18 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63759084.48</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dict.json</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/json</string> </value>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>7636</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63757535.74</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dict.json</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>7726</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>main.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>13032</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>9558</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.96</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.min.css</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>2502</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<html>
<body>
<h1>NoDatacenter: chronicles of the post-cloud</h1>
<p>Friends call me Si Yan Ge (4 eyes). I have been using Internet since 1989 and the Web since 1993. I have been developing software since 1981. I now run a company.</p>
<p>Internet as we know it today has become undoubtfully more practical for everyday life than what it was back in 1989. Cloud Computing further cut costs by eliminating the need for end users to own and configure their servers in order to access Internet services. However, it suffers from growing plagues: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">lack of resiliency</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">lack of trade secret</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">lack of competition</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">CO2 emissions</a>.</p>
<p>Both plagues originate in the same place: the data centers.</p>
<p>If we could eliminate data centers from digital business models, plagues of Cloud Computing could be cured for the great benefits of our economies.</p>
<p>This chronicle will teach you how.</p>
<h2>A bit of theory</h2>
<p><b>Intelligent End Points</b>. What makes <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">Internet</a> resilient is the idea of placing network intelligence at the end-points. End-points are in particular reponsible of <i>reliable delivery of data, rather than the network itself</i>.</p>
<p><b>Zero Marginal Cost</b>. What makes a small company able to compete with a bigger one without requiring a lot if capital is its ability to distribute products or services to millions of users at zero marginal cost. <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a> and <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> in particular are typical examples of how zero marginal cost business models can defeat a large coporation in less than 10 years.</p>
<p><b>Zero Knowledge</b>. What makes a computer system able to protect trade secrets is the combination of cryptography and system architectures that keep no knowledge of how users access it.</p>
<p><b>Zero Emission</b>. What eliminates CO2 emisions is either to turnoff computer device or to reuse their all thermal power to heat households.</p>
<p>The table bellow compares cloud and post-cloud.</p>
<table border="1" align="center">
<tr>
<td>
</td>
<td>Cloud
</td>
<td>Ideal Post Cloud
</td>
<td>Resilient Computing
</td>
<td>Offline HTML5 Apps
</td>
</tr>
<tr>
<td>Intelligent End Points
</td>
<td>No
</td>
<td>Yes
</td>
<td>Yes
</td>
<td>Yes
</td>
</tr>
<tr>
<td>Zero Marginal Cost
</td>
<td>No
</td>
<td>Yes
</td>
<td>Possible
</td>
<td>Yes
</td>
</tr>
<tr>
<td>Zero Knowledge
</td>
<td>Difficult
</td>
<td>Yes
</td>
<td>Yes
</td>
<td>Yes
</td>
<tr>
<td>Zero Emisson
</td>
<td>No
</td>
<td>Yes
</td>
<td>Possible
</td>
<td>Yes
</td>
</tr>
</table>
<h2>Post Cloud 1: Resilient Computing</h2>
<p>Resilient Computing solves the lack of resiliency of Cloud Computing by decentralizing servers and placing them in homes or in offices. It uses the same kind of technologies as Cloud Compuuting to automate provisionning, billing, etc. Resilient Computing is compatible with most legacy applications. Its adoption does not require migration effort.</p>
<p>Resilient Computing can also solve in theory other problems found in cloud computing. However, due to current lack of support in the industry (consumer electronics, telecommunication), zero marginal cost can not be reached. This currently limits its adoption to niche markets: mission critical applications, government, high performance computing.</p>
<p>Resilient Computing requires modern routing technology in order to circumvent connectivity incidents that frequently occur between telecommunictaion companies.</p>
<p>Timeline:</p>
<ul>
<li>
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> introduces resilient computing (June 2010) as a safer, cheaper alternative to cloud computing that can also heat homes. VIFIB relies on <a href="http://community.slapos.org">SlapOS</a> open source technology. VIFIB is now used to deploy mission critical ERP systems for <a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">French highways</a>.
</li>
<li>
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households (November 2010). Qarnot provides a platform to allocate high performance computing tasks on its servers.
</li>
<li>
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu (2011). This paper explains that by placing servers in homes, homes could be heated by the heat of servers.
</li>
<li>
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st</a> overaly network (2012). re6st provides stable connectivity between servers located in different homes, offices or datacenters. Routing and service level agreement (SLA) is handled by the end-points that form an IPv6 peer-to-peer public network. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.
</li>
</ul>
<h2>Post Cloud 2: Offline HTML5 Apps</h2>
<p>With <a href="http://diveintohtml5.info/offline.html">Offline HTML5 Apps</a>, instead of eliminating data centers by moving servers to homes, the idea is to eliminate data centers by eliminating servers. This approach requires to redevelop all applications in a very different way, which can be costly even though migration tools exist.
</p>
<p>However, Offline HTML5 Apps can leverage Zero Marginal Cost business models to accelerate their adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 Apps are probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets.</p>
<p>Timeline:</p>
<ul>
<li>
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> (2008) introduces key concepts that will lead to offline apps.
</li>
<li>
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> (2010) proves that it is possible to redevelop a clone of Google Docs as a pure client side application that no longer requires a server.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> (2011) provides the bases for browser-to-browser networking.
</li>
<li>
<a href="http://bellard.org/jslinux/">LinuxJS</a> (2011) proves that Javascript is fast enough to emulate a PC and opens the way to resilient computing that uses web browsers as servers
</li>
<li>
<a href="http://j-io.org/">JIO</a> (2011) provides an abstraction to access local and remote content in offline HTML5 apps.
</li>
<li>
<a href="">???</a> (2013) Chrome Web browser is able to act as a generic server that can listen on a socket.
</li>
<li>
<a href="http://ozan.io/p/">P</a> (2013) provides a resilient overlay network based on WebRTC
</li>
<li>
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript.
</li>
<li>
<a href="http://www.officejs.com">OfficeJS</a> (2013) introduced at Tech Crunch Shanghai is the first platform independent appstore of HTML5 apps.
</li>
</ul>
<h2>Recommendations</h2>
<p>(soon)</p>
<h2>About this page</h2>
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a>.
</p>
<h2>References</h2>
<p><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></p>
<p><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA's Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></p>
<p><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></p>
<p><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming 'big cloud' monopolies</a></p>
<p><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace - See more at: http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html#sthash.6L2fXMjc.dpuf</a></p>
<p><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></p>
<p><a href=""></a></p>
<p><a href=""></a></p>
<p><a href=""></a></p>
<p><a href=""></a></p>
</body>
</html>
\ No newline at end of file
......@@ -22,206 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html>\n
<body>\n
\n
<h1>NoDatacenter: chronicles of the post-cloud</h1>\n
\n
<p>Friends call me Si Yan Ge (4 eyes). I have been using Internet since 1989 and the Web since 1993. I have been developing software since 1981. I now run a company.</p>\n
\n
<p>Internet as we know it today has become undoubtfully more practical for everyday life than what it was back in 1989. Cloud Computing further cut costs by eliminating the need for end users to own and configure their servers in order to access Internet services. However, it suffers from growing plagues: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">lack of resiliency</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">lack of trade secret</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">lack of competition</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">CO2 emissions</a>.</p>\n
\n
<p>Both plagues originate in the same place: the data centers.</p>\n
\n
<p>If we could eliminate data centers from digital business models, plagues of Cloud Computing could be cured for the great benefits of our economies.</p>\n
\n
<p>This chronicle will teach you how.</p>\n
\n
<h2>A bit of theory</h2>\n
\n
<p><b>Intelligent End Points</b>. What makes <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">Internet</a> resilient is the idea of placing network intelligence at the end-points. End-points are in particular reponsible of <i>reliable delivery of data, rather than the network itself</i>.</p>\n
\n
<p><b>Zero Marginal Cost</b>. What makes a small company able to compete with a bigger one without requiring a lot if capital is its ability to distribute products or services to millions of users at zero marginal cost. <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a> and <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> in particular are typical examples of how zero marginal cost business models can defeat a large coporation in less than 10 years.</p>\n
\n
<p><b>Zero Knowledge</b>. What makes a computer system able to protect trade secrets is the combination of cryptography and system architectures that keep no knowledge of how users access it.</p>\n
\n
<p><b>Zero Emission</b>. What eliminates CO2 emisions is either to turnoff computer device or to reuse their all thermal power to heat households.</p>\n
\n
<p>The table bellow compares cloud and post-cloud.</p>\n
\n
<table border="1" align="center">\n
<tr>\n
<td>\n
</td>\n
<td>Cloud\n
</td>\n
<td>Ideal Post Cloud\n
</td>\n
<td>Resilient Computing\n
</td>\n
<td>Offline HTML5 Apps\n
</td>\n
</tr>\n
<tr>\n
<td>Intelligent End Points\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
<tr>\n
<td>Zero Marginal Cost\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Possible\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
<tr>\n
<td>Zero Knowledge\n
</td>\n
<td>Difficult\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<tr>\n
<td>Zero Emisson\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Possible\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
\n
</table>\n
\n
\n
<h2>Post Cloud 1: Resilient Computing</h2>\n
\n
<p>Resilient Computing solves the lack of resiliency of Cloud Computing by decentralizing servers and placing them in homes or in offices. It uses the same kind of technologies as Cloud Compuuting to automate provisionning, billing, etc. Resilient Computing is compatible with most legacy applications. Its adoption does not require migration effort.</p>\n
\n
<p>Resilient Computing can also solve in theory other problems found in cloud computing. However, due to current lack of support in the industry (consumer electronics, telecommunication), zero marginal cost can not be reached. This currently limits its adoption to niche markets: mission critical applications, government, high performance computing.</p>\n
\n
<p>Resilient Computing requires modern routing technology in order to circumvent connectivity incidents that frequently occur between telecommunictaion companies.</p>\n
\n
<p>Timeline:</p>\n
\n
<ul>\n
<li>\n
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> introduces resilient computing (June 2010) as a safer, cheaper alternative to cloud computing that can also heat homes. VIFIB relies on <a href="http://community.slapos.org">SlapOS</a> open source technology. VIFIB is now used to deploy mission critical ERP systems for <a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">French highways</a>.\n
</li>\n
<li>\n
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households (November 2010). Qarnot provides a platform to allocate high performance computing tasks on its servers. \n
</li>\n
<li>\n
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu (2011). This paper explains that by placing servers in homes, homes could be heated by the heat of servers.\n
</li>\n
<li>\n
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st</a> overaly network (2012). re6st provides stable connectivity between servers located in different homes, offices or datacenters. Routing and service level agreement (SLA) is handled by the end-points that form an IPv6 peer-to-peer public network. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.\n
</li>\n
\n
</ul>\n
\n
<h2>Post Cloud 2: Offline HTML5 Apps</h2>\n
\n
<p>With <a href="http://diveintohtml5.info/offline.html">Offline HTML5 Apps</a>, instead of eliminating data centers by moving servers to homes, the idea is to eliminate data centers by eliminating servers. This approach requires to redevelop all applications in a very different way, which can be costly even though migration tools exist.\n
</p>\n
\n
<p>However, Offline HTML5 Apps can leverage Zero Marginal Cost business models to accelerate their adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 Apps are probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets.</p>\n
\n
<p>Timeline:</p>\n
\n
<ul>\n
<li>\n
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> (2008) introduces key concepts that will lead to offline apps.\n
</li>\n
<li>\n
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> (2010) proves that it is possible to redevelop a clone of Google Docs as a pure client side application that no longer requires a server.\n
</li>\n
<li>\n
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> (2011) provides the bases for browser-to-browser networking.\n
</li>\n
<li>\n
<a href="http://bellard.org/jslinux/">LinuxJS</a> (2011) proves that Javascript is fast enough to emulate a PC and opens the way to resilient computing that uses web browsers as servers\n
</li>\n
<li>\n
<a href="http://j-io.org/">JIO</a> (2011) provides an abstraction to access local and remote content in offline HTML5 apps.\n
</li>\n
<li>\n
<a href="">???</a> (2013) Chrome Web browser is able to act as a generic server that can listen on a socket.\n
</li>\n
<li>\n
<a href="http://ozan.io/p/">P</a> (2013) provides a resilient overlay network based on WebRTC\n
</li>\n
<li>\n
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript.\n
</li>\n
<li>\n
<a href="http://www.officejs.com">OfficeJS</a> (2013) introduced at Tech Crunch Shanghai is the first platform independent appstore of HTML5 apps.\n
</li>\n
\n
</ul>\n
\n
<h2>Recommendations</h2>\n
\n
<p>(soon)</p>\n
\n
\n
<h2>About this page</h2>\n
\n
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a>.\n
</p>\n
\n
\n
<h2>References</h2>\n
\n
<p><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></p>\n
\n
<p><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA\'s Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></p>\n
\n
<p><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></p>\n
\n
<p><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming \'big cloud\' monopolies</a></p>\n
\n
<p><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace - See more at: http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html#sthash.6L2fXMjc.dpuf</a></p>\n
\n
<p><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></p>\n
\n
<p><a href=""></a></p>\n
\n
<p><a href=""></a></p>\n
\n
<p><a href=""></a></p>\n
\n
<p><a href=""></a></p>\n
\n
\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="main-container">
<div class="main wrapper clearfix">
<article >
<h1 class="page_title">No Datacenter: Post-Cloud Chronicles</h1>
<p>Version: 001</p>
<p>This chronicle introduces technologies that will eventually supercede Cloud Computing.
</p>
<p>I am a software developer. Friends call me Si Yan Ge (4 eyes). I have been using Internet since 1989 and the Web since 1993. I developed my first commercial software in 1981. Now I run a small software company in Shanghai.</p>
<p>Internet as we know it today has become an essential tool for business competitiveness. Cloud Computing further cut costs by automating business sotware deployment. However, modern Internet and Cloud Computing suffers from new plagues: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">lack of resiliency</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">lack of trade secret</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">lack of competition</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">high CO2 emissions</a>.</p>
<p>Both plagues originate in the same place: data centers.</p>
<p>Various projects have tried in recent years to fix data centers plagues. All projects have failed or will fail.</p>
<p>Data centers are hopelessly flawed because they create an incentive for anti-competitive business practices that are not resilient and thus have no long term future. <a href="http://www.theguardian.com/technology/2008/sep/29/cloud.computing.richard.stallman">Richard Stallman was right</a> in 2008, even though our motivation here is primarily economy.
</p>
<p>This chronicle will thus focus on theories, business models and technologies that can lead to the elimination of data centers, for the great benefit of long term economy. Thanks to HTML5 and low cost mobile technologies (created in China), this goal is no longer a dream of researchers.
</p>
<p>Most important: if you create or discover any new technology that can supercede Cloud Computing, let me know! I will publish it.</p>
<p>Si Yan Ge<br/>Shanghai, November 19, 2013<br/>
nodatacenter@suomi24.fi
</p>
<h2>Chapter 1: Decentralization Theory</h2>
<p>One should understand which key aspects in successful decentralized production systems lead to their success. We could identify until now four aspects: Intelligent End Points (Internet), Zero Marginal Cost (Free / Open Source Software), Zero Knowledge (Resilient Computing) an Zero Emission (App Stores).</p>
<p><b>Intelligent End Points</b>. What makes <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">Internet</a> resilient is the idea of placing network intelligence at the end-points. End-points are in particular reponsible of <i>reliable delivery of data, rather than the network itself</i>.</p>
<p><b>Zero Marginal Cost</b>. What makes a small company able to compete with a bigger one without requiring a lot if capital is its ability to distribute products or services to millions of users at zero marginal cost. <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a> and <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> in particular are typical examples of how zero marginal cost business models can defeat a large coporation in less than 10 years.</p>
<p><b>Zero Knowledge</b>. What makes a computer system able to protect trade secrets is the combination of cryptography and system architectures that keep no knowledge of how users could access it.</p>
<p><b>Zero Emission</b>. What eliminates CO2 emisions can be either to turnoff computer device or to reuse their all thermal power to heat households.</p>
<p>The table bellow compares current cloud, ideal post-cloud and two technologies that cloud superce cloud: Resilient Computing and Offline HTML5.</p>
<p>
<table border="1" align="center">
<tr>
<th>
</th>
<th>Cloud
</th>
<th>Post Cloud
</th>
<th>Resilient Computing
</th>
<th>Offline HTML5
</th>
</tr>
<tr>
<td>Intelligent End Points
</td>
<td>No
</td>
<td>Yes
</td>
<td>Yes
</td>
<td>Yes
</td>
</tr>
<tr>
<td>Zero Marginal Cost
</td>
<td>No
</td>
<td>Yes
</td>
<td>Possible
</td>
<td>Yes
</td>
</tr>
<tr>
<td>Zero Knowledge
</td>
<td>Difficult
</td>
<td>Yes
</td>
<td>Yes
</td>
<td>Yes
</td>
<tr>
<td>Zero Emisson
</td>
<td>No
</td>
<td>Yes
</td>
<td>Possible
</td>
<td>Yes
</td>
</tr>
</table>
</p>
<h2>Chapter 2: Resilient Computing</h2>
<p>Resilient Computing solves the lack of resiliency of Cloud Computing by decentralizing servers and placing them in homes or in offices. It uses the same kind of technologies as Cloud Compuuting to automate provisionning, billing, etc. Resilient Computing is compatible with most legacy applications (Linux, Windows, etc.). Its adoption does not require migration effort nor new developments.</p>
<p>Resilient Computing can also solve in theory other problems found in Cloud Computing. However, due to current lack of support in the industry (consumer electronics, telecommunication), zero marginal cost can not be reached. This currently limits its adoption to niche markets: mission critical applications, government safety, high performance computing.</p>
<p>Resilient Computing requires modern routing technology in order to circumvent connectivity incidents that frequently occur between telecommunication companies due to human error or bugs. So-called <b>overlay</b> networks that create a virtual Internet on top of Internet provide full network resiliency and a kind of provider independent service level agreement.</p>
<h3>Timeline:</h3>
<ul>
<li>2010 -
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> introduces resilient computing as a safer, cheaper alternative to cloud computing that can also heat homes. VIFIB relies on <a href="http://community.slapos.org">SlapOS</a> open source technology. VIFIB is now used to deploy mission critical ERP systems for <a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">French highways</a>.
</li>
<li>2010 -
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households. Qarnot provides a platform to allocate high performance computing tasks on its servers.
</li>
<li>2011 -
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu. This paper explains how by placing data centers in buildings, buildings could be heated by the heat of servers.
</li>
<li>2012 -
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st overaly network</a>). re6st provides stable connectivity between servers located in different homes, offices or datacenters. IPv6 routing and service level agreement (SLA) is handled by a peer-to-peer public mesh of end points. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.
</li>
</ul>
<p><i>to be completed...</i></p>
<h2>Chapter 3: Offline HTML5</h2>
<p><a href="http://diveintohtml5.info/offline.html">Offline HTML5</a> eliminates data centers by eliminating servers. This approach requires to redevelop all applications in a quite different way. Redevelopment effort can be costly even though migration tools exist.
</p>
<p>Offline HTML5 is compatible with Zero Marginal Cost business model. This is a huge advantage over Resilient Computing in order to accelerate adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 is probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets (ex. big data).</p>
<h3>Timeline:</h3>
<ul>
<li>2008 -
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> introduces key concepts that will lead to offline apps.
</li>
<li>2010 -
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> proves that it is possible to develop a clone of Google Docs as a pure client side application that no longer requires an application server.
</li>
<li>2011 -
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> provides the bases for browser-to-browser networking.
</li>
<li>2011 -
<a href="http://bellard.org/jslinux/">LinuxJS</a> proves that Javascript is fast enough to emulate a PC. This opens in theory the way to Resilient Computing based on HTML5 that uses web browsers as servers.
</li>
<li>2011 -
<a href="http://j-io.org/">JIO</a> provides an abstraction to access local and remote content in offline HTML5 apps.
</li>
<li>2013 -
<a href="https://developer.chrome.com/extensions/experimental.socket.html">Chrome Socket API</a> is an extension for Chrome that turns the brower into into a generic server that can listen or send TCP or UDP.
</li>
<li>2013 -
<a href="http://www.w3.org/TR/raw-sockets/">W3C Raw Sockets</a> propose standard P2P networking between Web Browsers.
</li>
<li>2013 -
<a href="http://ozan.io/p/">P</a> provides a resilient overlay network based on WebRTC. This opens in theory the way to Resilient Computing based on HTML5 that WebRTC based overlay networks.
</li>
<li>2013 -
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript and increase network security of HTML5 beyond the limitations of proprietary operating systems.
</li>
<li>2013 -
<a href="http://www.officejs.com">OfficeJS</a> introduced at Tech Crunch Shanghai is the first platform independent appstore of Offline HTML5 apps.
</li>
</ul>
<h2>Chapter 4: Cookbook</h2>
<h3>Recipe 1: JQM + JIO</h3>
<p><i>coming soon</i></p>
<h3>Recipe 2: Emscripten</h3>
<p><i>coming soon</i></p>
<h2>References</h2>
<ul>
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA's Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming 'big cloud' monopolies</a></li>
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
<h2>About this page</h2>
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a> in China.</p>
</article>
</div> <!-- #main -->
</div>
</body>
</html>
\ No newline at end of file
......@@ -22,273 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n
<head>\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n
<title></title>\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<link href=\'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext\' rel=\'stylesheet\' type=\'text/css\'>\n
\n
<link rel="stylesheet" href="css/normalize.min.css">\n
<link rel="stylesheet" href="css/main.css">\n
\n
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>\n
</head>\n
\n
<body>\n
\n
<!--[if lt IE 7]>\n
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>\n
<![endif]-->\n
\n
<div class="main-container">\n
<div class="main wrapper clearfix">\n
\n
\n
\n
\n
<article >\n
\n
<h1 class="page_title">No Datacenter: Post-Cloud Chronicles</h1>\n
\n
<p>Version: 001</p>\n
\n
<p>This chronicle introduces technologies that will eventually supercede Cloud Computing.\n
</p>\n
\n
<p>I am a software developer. Friends call me Si Yan Ge (4 eyes). I have been using Internet since 1989 and the Web since 1993. I developed my first commercial software in 1981. Now I run a small software company in Shanghai.</p>\n
\n
<p>Internet as we know it today has become an essential tool for business competitiveness. Cloud Computing further cut costs by automating business sotware deployment. However, modern Internet and Cloud Computing suffers from new plagues: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">lack of resiliency</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">lack of trade secret</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">lack of competition</a> and <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">high CO2 emissions</a>.</p>\n
\n
<p>Both plagues originate in the same place: data centers.</p>\n
\n
<p>Various projects have tried in recent years to fix data centers plagues. All projects have failed or will fail.</p>\n
\n
<p>Data centers are hopelessly flawed because they create an incentive for anti-competitive business practices that are not resilient and thus have no long term future. <a href="http://www.theguardian.com/technology/2008/sep/29/cloud.computing.richard.stallman">Richard Stallman was right</a> in 2008, even though our motivation here is primarily economy.\n
</p>\n
\n
<p>This chronicle will thus focus on theories, business models and technologies that can lead to the elimination of data centers, for the great benefit of long term economy. Thanks to HTML5 and low cost mobile technologies (created in China), this goal is no longer a dream of researchers. \n
</p>\n
\n
<p>Most important: if you create or discover any new technology that can supercede Cloud Computing, let me know! I will publish it.</p>\n
\n
<p>Si Yan Ge<br/>Shanghai, November 19, 2013<br/>\n
nodatacenter@suomi24.fi\n
</p>\n
\n
<h2>Chapter 1: Decentralization Theory</h2>\n
\n
<p>One should understand which key aspects in successful decentralized production systems lead to their success. We could identify until now four aspects: Intelligent End Points (Internet), Zero Marginal Cost (Free / Open Source Software), Zero Knowledge (Resilient Computing) an Zero Emission (App Stores).</p>\n
\n
<p><b>Intelligent End Points</b>. What makes <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">Internet</a> resilient is the idea of placing network intelligence at the end-points. End-points are in particular reponsible of <i>reliable delivery of data, rather than the network itself</i>.</p>\n
\n
<p><b>Zero Marginal Cost</b>. What makes a small company able to compete with a bigger one without requiring a lot if capital is its ability to distribute products or services to millions of users at zero marginal cost. <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a> and <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> in particular are typical examples of how zero marginal cost business models can defeat a large coporation in less than 10 years.</p>\n
\n
<p><b>Zero Knowledge</b>. What makes a computer system able to protect trade secrets is the combination of cryptography and system architectures that keep no knowledge of how users could access it.</p>\n
\n
<p><b>Zero Emission</b>. What eliminates CO2 emisions can be either to turnoff computer device or to reuse their all thermal power to heat households.</p>\n
\n
<p>The table bellow compares current cloud, ideal post-cloud and two technologies that cloud superce cloud: Resilient Computing and Offline HTML5.</p>\n
\n
<p>\n
<table border="1" align="center">\n
<tr>\n
<th>\n
</th>\n
<th>Cloud\n
</th>\n
<th>Post Cloud\n
</th>\n
<th>Resilient Computing\n
</th>\n
<th>Offline HTML5\n
</th>\n
</tr>\n
<tr>\n
<td>Intelligent End Points\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
<tr>\n
<td>Zero Marginal Cost\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Possible\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
<tr>\n
<td>Zero Knowledge\n
</td>\n
<td>Difficult\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<td>Yes\n
</td>\n
<tr>\n
<td>Zero Emisson\n
</td>\n
<td>No\n
</td>\n
<td>Yes\n
</td>\n
<td>Possible\n
</td>\n
<td>Yes\n
</td>\n
</tr>\n
\n
</table>\n
</p>\n
\n
<h2>Chapter 2: Resilient Computing</h2>\n
\n
<p>Resilient Computing solves the lack of resiliency of Cloud Computing by decentralizing servers and placing them in homes or in offices. It uses the same kind of technologies as Cloud Compuuting to automate provisionning, billing, etc. Resilient Computing is compatible with most legacy applications (Linux, Windows, etc.). Its adoption does not require migration effort nor new developments.</p>\n
\n
<p>Resilient Computing can also solve in theory other problems found in Cloud Computing. However, due to current lack of support in the industry (consumer electronics, telecommunication), zero marginal cost can not be reached. This currently limits its adoption to niche markets: mission critical applications, government safety, high performance computing.</p>\n
\n
<p>Resilient Computing requires modern routing technology in order to circumvent connectivity incidents that frequently occur between telecommunication companies due to human error or bugs. So-called <b>overlay</b> networks that create a virtual Internet on top of Internet provide full network resiliency and a kind of provider independent service level agreement.</p>\n
\n
<h3>Timeline:</h3>\n
\n
<ul>\n
<li>2010 - \n
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> introduces resilient computing as a safer, cheaper alternative to cloud computing that can also heat homes. VIFIB relies on <a href="http://community.slapos.org">SlapOS</a> open source technology. VIFIB is now used to deploy mission critical ERP systems for <a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">French highways</a>.\n
</li>\n
<li>2010 - \n
<a href="http://www.qarnot-computing.com/">Qarnot Computing</a> introduces servers that act as electric heaters for households. Qarnot provides a platform to allocate high performance computing tasks on its servers. \n
</li>\n
<li>2011 - \n
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> publishes a research paper by Jie Liu. This paper explains how by placing data centers in buildings, buildings could be heated by the heat of servers.\n
</li>\n
<li>2012 -\n
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st overaly network</a>). re6st provides stable connectivity between servers located in different homes, offices or datacenters. IPv6 routing and service level agreement (SLA) is handled by a peer-to-peer public mesh of end points. It was adopted by <a href="http://community.slapos.org">SlapOS</a>.\n
</li>\n
\n
</ul>\n
\n
<p><i>to be completed...</i></p>\n
\n
<h2>Chapter 3: Offline HTML5</h2>\n
\n
<p><a href="http://diveintohtml5.info/offline.html">Offline HTML5</a> eliminates data centers by eliminating servers. This approach requires to redevelop all applications in a quite different way. Redevelopment effort can be costly even though migration tools exist.\n
</p>\n
\n
<p>Offline HTML5 is compatible with Zero Marginal Cost business model. This is a huge advantage over Resilient Computing in order to accelerate adoption. Considering the growing importance of HTML5 in mobile device (phones, tablets) and the growing importance of Javascript in enteprise computing, Offline HTML5 is probably the appropriate approach for the long term whereas resilient computing satisfies short term needs and niche markets (ex. big data).</p>\n
\n
<h3>Timeline:</h3>\n
\n
<ul>\n
<li>2008 -\n
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 first proposal</a> introduces key concepts that will lead to offline apps.\n
</li>\n
<li>2010 -\n
<a href="http://www.ung-project.org/project/ungdoc">UNG is Not Google</a> proves that it is possible to develop a clone of Google Docs as a pure client side application that no longer requires an application server.\n
</li>\n
<li>2011 -\n
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> provides the bases for browser-to-browser networking.\n
</li>\n
<li>2011 -\n
<a href="http://bellard.org/jslinux/">LinuxJS</a> proves that Javascript is fast enough to emulate a PC. This opens in theory the way to Resilient Computing based on HTML5 that uses web browsers as servers.\n
</li>\n
<li>2011 -\n
<a href="http://j-io.org/">JIO</a> provides an abstraction to access local and remote content in offline HTML5 apps.\n
</li>\n
<li>2013 -\n
<a href="https://developer.chrome.com/extensions/experimental.socket.html">Chrome Socket API</a> is an extension for Chrome that turns the brower into into a generic server that can listen or send TCP or UDP.\n
</li>\n
<li>2013 -\n
<a href="http://www.w3.org/TR/raw-sockets/">W3C Raw Sockets</a> propose standard P2P networking between Web Browsers.\n
</li>\n
<li>2013 -\n
<a href="http://ozan.io/p/">P</a> provides a resilient overlay network based on WebRTC. This opens in theory the way to Resilient Computing based on HTML5 that WebRTC based overlay networks.\n
</li>\n
<li>2013 -\n
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> network virtualization in Javascript opens the possibility to implement IP stack in Javascript and increase network security of HTML5 beyond the limitations of proprietary operating systems.\n
</li>\n
<li>2013 -\n
<a href="http://www.officejs.com">OfficeJS</a> introduced at Tech Crunch Shanghai is the first platform independent appstore of Offline HTML5 apps.\n
</li>\n
\n
</ul>\n
\n
<h2>Chapter 4: Cookbook</h2>\n
\n
<h3>Recipe 1: JQM + JIO</h3>\n
\n
<p><i>coming soon</i></p>\n
\n
<h3>Recipe 2: Emscripten</h3>\n
\n
<p><i>coming soon</i></p>\n
\n
\n
<h2>References</h2>\n
\n
<ul>\n
\n
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>\n
\n
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA\'s Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>\n
\n
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>\n
\n
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming \'big cloud\' monopolies</a></li>\n
\n
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>\n
\n
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
</ul>\n
\n
<h2>About this page</h2>\n
\n
<p>This page is hosted in a private home using a micro-server. Content is brought to you by a proxy cache hosted by <a href="http://aliyun.com/">Aliyun</a> in China.</p>\n
\n
\n
\n
</article>\n
\n
</div> <!-- #main -->\n
</div>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>无数据中心:”后云“闻见录</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="main-container">
<div class="main wrapper clearfix">
<article >
<h1 class="page_title">无数据中心:”后云“闻见录</h1>
<p>Version: 001</p>
<p>这个闻见录介绍了一个最终将会取代云计算的技术。
</p>
<p>我是一个软件开发师. 朋友们都叫我”四眼哥“。 我从1989年开始使用因特网,并从1993年开始使用互联网。 我于1981年开发了我的第一个商务软件, 现在我在上海有一家小的软件公司。</p>
<p>现如今因特网已成为商务竞争的一个重要工具,云计算通过使商务软件调配自动化来削减成本。 但是, 现代网络和云计算却经历着新的灾难: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">缺少弹性力</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">缺少交易私密性</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">缺少竞争</a> 以及 <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">高二氧化碳排放量</a>.</p>
<p>所有的灾难都来源于一个地方:数据中心。</p>
<p>近几年兴起了许多尝试修补数据中心灾难的项目。 所有的项目都失败了,或者将会失败。</p>
<p>数据中心产生了无可修复的裂缝因为它们为抵制商务竞争的实际运用制造了一个“没有弹性”的诱因,并将最终促成它的短命。<a href="XXX">Richard Stallman是正确的</a> 归根结底, 经济还是我们的首要动力。
</p>
<p>这个见闻录将从经济方面长远的利益出发,关注理论,商务模型及能够引导消除数据中心的技术。 感谢HTML5技术及中国开发的低成本移动科技, 这个目标将不再是学术人员的一个梦想.
</p>
<p>非常重要: 如果你开发了或者发现了一个可以取代云计算的新技术,请告诉我,我来为你发表。</p>
<p>四眼哥<br/>上海, 11月19日, 2013<br/>
nodatacenter@suomi24.fi
</p>
<h2>第一章: 分散化理论</h2>
<p>我们需要知道一个成功的分散式制造系统中哪一项因素是引向成功的关键。目前为止,我们可以鉴别出四个要素:智能终端(因特网), 零边际成本(自由/开源软件), 零知识 (弹性云) 以及零排放(应用商店)。</p>
<p><b>智能终端</b>. 将网络智能放置在终端的主意促成了 <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">因特网</a> 弹性。终端比网络本身<i>更需要对</i>可靠的数据传送负责。</p>
<p><b>零边际成本</b>. 能够使小公司在不需要很多资本的情况下和大公司竞争的就是他能够用零边际成本向成千上万的用户输送产品和服务的能力。<a href="http://en.wikipedia.org/wiki/Open_source">开源软件</a><a href="http://en.wikipedia.org/wiki/Linux">Linux</a> 是使用零边际成本商务模式在十年内击败大型企业的典型案例。</p>
<p><b>零知识</b>. 能够使一个电脑系统保护交易秘密的方法就是密码术和系统架构的结合,从而可以不保存用户是如何进入交易的。</p>
<p><b>零排放</b>. 能够消除二氧化碳排放的要么是关掉计算机设备,要么是重复使用所有的热能来给室内加热。</p>
<p>以下的表格比较了传统云,理想后云以及两种”云代替云“的技术:弹性计算和离线HTML5。</p>
<table border="1" align="center">
<tr>
<th>
</th>
<th>传统云
</th>
<th>后云
</th>
<th>弹性计算
</th>
<th>离线HTML5
</th>
</tr>
<tr>
<td>智能终端
</td>
<td>不能
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>零边际成本
</td>
<td>不能
</td>
<td>
</td>
<td>可能
</td>
<td>
</td>
</tr>
<tr>
<td>零知识
</td>
<td>有难度
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<tr>
<td>零排放
</td>
<td>不能
</td>
<td>
</td>
<td>可能
</td>
<td>
</td>
</tr>
</table>
<h2>第二章: 弹性计算</h2>
<p>通过分散服务器到家庭或办公室,弹性计算解决了云计算缺乏弹性的问题。 它使用和云计算相同的技术来处理准备金提取,开账单等操作。弹性计算和许多现存的应用都能兼容(Linux, Windows等). 它的运用对迁移程序或者重新开发没有要求。</p>
<p>弹性计算同时也能解决云计算中许多其他的问题。但是, 目前还缺乏这个领域足够的支持 (消费者电子设备,电信设备), 零边际成本还不能被实现。这目前局限了它在利基市场的运用: 重要任务应用, 政府安全, 高性能计算。</p>
<p>弹性计算需要现代路由技术帮助回避电信公司之间经常发生的由操作错误或漏洞引起的连接问题。又被称作可以在网络之上创造一个虚拟网络提供完整的网络弹性和有独立服务协议的供应商的 <b>覆盖</b> 网络。</p>
<h3>时间轴:</h3>
<ul>
<li>2010 -
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> 将弹性计算作为云计算中一个更安全,更便宜的选择来介绍,并且它还可以给室内加热。VIFIB依赖于<a href="http://community.slapos.org">SlapOS</a> 开源技术. VIFIB现在用于实施为<a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">法国高速</a>工作的ERP系统的关键使命。
</li>
<li>2010 -
<a href="http://www.qarnot-computing.com/">Qarnot 计算</a> 介绍了可以同时用作室内电热器的服务器。 Qarnot 提供了一个可以在服务器上分配高性能计算任务的平台。
</li>
<li>2011 -
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> 发表了一篇刘劼的论文。 这篇论文解释了如何将数据中心放置在建筑物里并用服务器的热能给楼房供暖。
</li>
<li>2012 -
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st 覆盖网络</a>. re6st 提供了被放置在不同家庭,办公室或数据中心里的服务器之间稳定的连接。IPv6 路由和服务等级协议(SLA) 是由一个对等的公共网格终端操控。它已被运用于<a href="http://community.slapos.org">SlapOS</a>.
</li>
</ul>
<p><i>即将完成...</i></p>
<h2>第三章: 离线 HTML5</h2>
<p><a href="http://diveintohtml5.info/offline.html">离线 HTML5</a> 通过淘汰服务器来消除数据中心。这个方法将要求用不同的方式重新开发所有的应用。尽管转移工具已经存在,重新开发的过程还是意味着一大笔花费。
</p>
<p>离线 HTML5 和零边际成本商务模式是可以并存的。这是加速弹性计算被采用过程的一个重大优势。考虑到HTML5在移动设备(电话,平板)中以及Javascript在企业计算应用中逐渐增长的重要性,离线 HTML5也许是值得长期发展的最合适的方法,鉴于弹性计算更符合短期需求和利基市场(比如大数据)。</p>
<h3>时间轴:</h3>
<ul>
<li>2008 -
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 第一次提案</a> 介绍了将引导离线应用的几个重要概念。
</li>
<li>2010 -
<a href="http://www.ung-project.org/project/ungdoc">UNG不是谷歌</a> 证明了开发一个纯用户端并不再需要应用服务器的类谷歌文档应用的可能性。
</li>
<li>2011 -
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> 提供了浏览器网络通信的基础。
</li>
<li>2011 -
<a href="http://bellard.org/jslinux/">LinuxJS</a> 证明了Javascript快到足以赶超个人计算机。这个在理论上打开了一条通往基于使用网络落浏览器作为服务器的HTML5技术的弹性计算的通道。
</li>
<li>2011 -
<a href="http://j-io.org/">JIO</a> 提供了一个在离线HTML5应用中获取本地和远程内容的抽象概念。
</li>
<li>2013 -
<a href="">???</a>. Chrome 网络浏览器有能力作为在插口上听取的类服务器。
</li>
<li>2013 -
<a href="http://ozan.io/p/">P</a> 提供了一个基于WebRTC上的弹性覆盖网络。这个在理论上打开了一条通往基于WebRTC覆盖网络的HTML5技术上的弹性计算的通道。
</li>
<li>2013 -
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> Javascript中的网络虚拟化提供了实施IP协议栈的可能性,并超出操作系统所有权的局限,增强了HTML5的网络安全性。
</li>
<li>2013 -
<a href="http://www.officejs.com">OfficeJS</a> OfficeJS是在Tech Crunch上海展会上介绍的第一家提供离线HTML5应用的独立平台应用商店。
</li>
</ul>
<h2>第四章: Cookbook</h2>
<h3>制作方法 1: JQM + JIO</h3>
<p><i>即将公布</i></p>
<h3>制作方法 2: Emscripten</h3>
<p><i>即将公布</i></p>
<h2>参考资料</h2>
<ul>
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA's Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming 'big cloud' monopolies</a></li>
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
<h2>关于本页</h2>
<p>这个页面的服务器主机是一个被放置在私人家里的微型服务器。所呈现给您的内容是来自于中国的一个<a href="http://aliyun.com/">阿里云</a> 代理服务器缓存区。</p>
</article>
</div> <!-- #main -->
</div>
</body>
</html>
\ No newline at end of file
......@@ -22,268 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n
<head>\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n
<title>无数据中心:”后云“闻见录</title>\n
<meta name="description" content="">\n
<meta name="viewport" content="width=device-width">\n
\n
<link href=\'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800&subset=latin,cyrillic-ext\' rel=\'stylesheet\' type=\'text/css\'>\n
\n
<link rel="stylesheet" href="css/normalize.min.css">\n
<link rel="stylesheet" href="css/main.css">\n
\n
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>\n
</head>\n
\n
<body>\n
\n
<!--[if lt IE 7]>\n
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>\n
<![endif]-->\n
\n
<div class="main-container">\n
<div class="main wrapper clearfix">\n
\n
\n
\n
\n
<article >\n
\n
<h1 class="page_title">无数据中心:”后云“闻见录</h1>\n
\n
<p>Version: 001</p>\n
\n
<p>这个闻见录介绍了一个最终将会取代云计算的技术。\n
</p>\n
\n
<p>我是一个软件开发师. 朋友们都叫我”四眼哥“。 我从1989年开始使用因特网,并从1993年开始使用互联网。 我于1981年开发了我的第一个商务软件, 现在我在上海有一家小的软件公司。</p>\n
\n
<p>现如今因特网已成为商务竞争的一个重要工具,云计算通过使商务软件调配自动化来削减成本。 但是, 现代网络和云计算却经历着新的灾难: <a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update/">缺少弹性力</a>, <a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">缺少交易私密性</a>, <a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">缺少竞争</a> 以及 <a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">高二氧化碳排放量</a>.</p>\n
\n
<p>所有的灾难都来源于一个地方:数据中心。</p>\n
\n
<p>近几年兴起了许多尝试修补数据中心灾难的项目。 所有的项目都失败了,或者将会失败。</p>\n
\n
<p>数据中心产生了无可修复的裂缝因为它们为抵制商务竞争的实际运用制造了一个“没有弹性”的诱因,并将最终促成它的短命。<a href="XXX">Richard Stallman是正确的</a> 归根结底, 经济还是我们的首要动力。\n
</p>\n
\n
<p>这个见闻录将从经济方面长远的利益出发,关注理论,商务模型及能够引导消除数据中心的技术。 感谢HTML5技术及中国开发的低成本移动科技, 这个目标将不再是学术人员的一个梦想. \n
</p>\n
\n
<p>非常重要: 如果你开发了或者发现了一个可以取代云计算的新技术,请告诉我,我来为你发表。</p>\n
\n
<p>四眼哥<br/>上海, 11月19日, 2013<br/>\n
nodatacenter@suomi24.fi\n
</p>\n
\n
<h2>第一章: 分散化理论</h2>\n
\n
<p>我们需要知道一个成功的分散式制造系统中哪一项因素是引向成功的关键。目前为止,我们可以鉴别出四个要素:智能终端(因特网), 零边际成本(自由/开源软件), 零知识 (弹性云) 以及零排放(应用商店)。</p>\n
\n
<p><b>智能终端</b>. 将网络智能放置在终端的主意促成了 <a href="http://en.wikipedia.org/wiki/History_of_the_Internet">因特网</a> 弹性。终端比网络本身<i>更需要对</i>可靠的数据传送负责。</p>\n
\n
<p><b>零边际成本</b>. 能够使小公司在不需要很多资本的情况下和大公司竞争的就是他能够用零边际成本向成千上万的用户输送产品和服务的能力。<a href="http://en.wikipedia.org/wiki/Open_source">开源软件</a><a href="http://en.wikipedia.org/wiki/Linux">Linux</a> 是使用零边际成本商务模式在十年内击败大型企业的典型案例。</p>\n
\n
<p><b>零知识</b>. 能够使一个电脑系统保护交易秘密的方法就是密码术和系统架构的结合,从而可以不保存用户是如何进入交易的。</p>\n
\n
<p><b>零排放</b>. 能够消除二氧化碳排放的要么是关掉计算机设备,要么是重复使用所有的热能来给室内加热。</p>\n
\n
<p>以下的表格比较了传统云,理想后云以及两种”云代替云“的技术:弹性计算和离线HTML5。</p>\n
\n
<table border="1" align="center">\n
<tr>\n
<th>\n
</th>\n
<th>传统云\n
</th>\n
<th>后云\n
</th>\n
<th>弹性计算\n
</th>\n
<th>离线HTML5\n
</th>\n
</tr>\n
<tr>\n
<td>智能终端\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
<tr>\n
<td>零边际成本\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>可能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
<tr>\n
<td>零知识\n
</td>\n
<td>有难度\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<td>能\n
</td>\n
<tr>\n
<td>零排放\n
</td>\n
<td>不能\n
</td>\n
<td>能\n
</td>\n
<td>可能\n
</td>\n
<td>能\n
</td>\n
</tr>\n
\n
</table>\n
\n
<h2>第二章: 弹性计算</h2>\n
\n
<p>通过分散服务器到家庭或办公室,弹性计算解决了云计算缺乏弹性的问题。 它使用和云计算相同的技术来处理准备金提取,开账单等操作。弹性计算和许多现存的应用都能兼容(Linux, Windows等). 它的运用对迁移程序或者重新开发没有要求。</p>\n
\n
<p>弹性计算同时也能解决云计算中许多其他的问题。但是, 目前还缺乏这个领域足够的支持 (消费者电子设备,电信设备), 零边际成本还不能被实现。这目前局限了它在利基市场的运用: 重要任务应用, 政府安全, 高性能计算。</p>\n
\n
<p>弹性计算需要现代路由技术帮助回避电信公司之间经常发生的由操作错误或漏洞引起的连接问题。又被称作可以在网络之上创造一个虚拟网络提供完整的网络弹性和有独立服务协议的供应商的 <b>覆盖</b> 网络。</p>\n
\n
<h3>时间轴:</h3>\n
\n
<ul>\n
<li>2010 - \n
<a href="http://www.cio.com/article/596689/ViFiB_Wants_You_to_Host_Cloud_Computing_At_Home">VIFIB</a> 将弹性计算作为云计算中一个更安全,更便宜的选择来介绍,并且它还可以给室内加热。VIFIB依赖于<a href="http://community.slapos.org">SlapOS</a> 开源技术. VIFIB现在用于实施为<a href="http://www.cio-online.com/actualites/lire-bipetgo-lance-sa-vente-en-ligne-avec-un-module-dedie-dans-le-cloud-5422-page-1.html">法国高速</a>工作的ERP系统的关键使命。\n
</li>\n
<li>2010 - \n
<a href="http://www.qarnot-computing.com/">Qarnot 计算</a> 介绍了可以同时用作室内电热器的服务器。 Qarnot 提供了一个可以在服务器上分配高性能计算任务的平台。 \n
</li>\n
<li>2011 - \n
<a href="http://research.microsoft.com/apps/pubs/default.aspx?id=150265">Microsoft Research</a> 发表了一篇刘劼的论文。 这篇论文解释了如何将数据中心放置在建筑物里并用服务器的热能给楼房供暖。\n
</li>\n
<li>2012 -\n
<a href="http://git.erp5.org/gitweb/re6stnet.git?js=1">re6st 覆盖网络</a>. re6st 提供了被放置在不同家庭,办公室或数据中心里的服务器之间稳定的连接。IPv6 路由和服务等级协议(SLA) 是由一个对等的公共网格终端操控。它已被运用于<a href="http://community.slapos.org">SlapOS</a>.\n
</li>\n
\n
</ul>\n
\n
<p><i>即将完成...</i></p>\n
\n
<h2>第三章: 离线 HTML5</h2>\n
\n
<p><a href="http://diveintohtml5.info/offline.html">离线 HTML5</a> 通过淘汰服务器来消除数据中心。这个方法将要求用不同的方式重新开发所有的应用。尽管转移工具已经存在,重新开发的过程还是意味着一大笔花费。\n
</p>\n
\n
<p>离线 HTML5 和零边际成本商务模式是可以并存的。这是加速弹性计算被采用过程的一个重大优势。考虑到HTML5在移动设备(电话,平板)中以及Javascript在企业计算应用中逐渐增长的重要性,离线 HTML5也许是值得长期发展的最合适的方法,鉴于弹性计算更符合短期需求和利基市场(比如大数据)。</p>\n
\n
<h3>时间轴:</h3>\n
\n
<ul>\n
<li>2008 -\n
<a href="http://en.wikipedia.org/wiki/HTML5">HTML5 第一次提案</a> 介绍了将引导离线应用的几个重要概念。\n
</li>\n
<li>2010 -\n
<a href="http://www.ung-project.org/project/ungdoc">UNG不是谷歌</a> 证明了开发一个纯用户端并不再需要应用服务器的类谷歌文档应用的可能性。\n
</li>\n
<li>2011 -\n
<a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC</a> 提供了浏览器网络通信的基础。\n
</li>\n
<li>2011 -\n
<a href="http://bellard.org/jslinux/">LinuxJS</a> 证明了Javascript快到足以赶超个人计算机。这个在理论上打开了一条通往基于使用网络落浏览器作为服务器的HTML5技术的弹性计算的通道。\n
</li>\n
<li>2011 -\n
<a href="http://j-io.org/">JIO</a> 提供了一个在离线HTML5应用中获取本地和远程内容的抽象概念。\n
</li>\n
<li>2013 -\n
<a href="">???</a>. Chrome 网络浏览器有能力作为在插口上听取的类服务器。\n
</li>\n
<li>2013 -\n
<a href="http://ozan.io/p/">P</a> 提供了一个基于WebRTC上的弹性覆盖网络。这个在理论上打开了一条通往基于WebRTC覆盖网络的HTML5技术上的弹性计算的通道。\n
</li>\n
<li>2013 -\n
<a href="http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html">jor1k ethmac</a> Javascript中的网络虚拟化提供了实施IP协议栈的可能性,并超出操作系统所有权的局限,增强了HTML5的网络安全性。\n
</li>\n
<li>2013 -\n
<a href="http://www.officejs.com">OfficeJS</a> OfficeJS是在Tech Crunch上海展会上介绍的第一家提供离线HTML5应用的独立平台应用商店。\n
</li>\n
\n
</ul>\n
\n
<h2>第四章: Cookbook</h2>\n
\n
<h3>制作方法 1: JQM + JIO</h3>\n
\n
<p><i>即将公布</i></p>\n
\n
<h3>制作方法 2: Emscripten</h3>\n
\n
<p><i>即将公布</i></p>\n
\n
\n
<h2>参考资料</h2>\n
\n
<ul>\n
\n
<li><a href="http://iwgcr.org/availability-ranking-of-world-cloud-computing-2012-update">Availability Ranking of World Cloud Computing – June 2013 Update</a></li>\n
\n
<li><a href="http://www.huffingtonpost.com/john-glaser/america-as-economic-spy-n_b_4190948.html">America as Economic Spy: NSA\'s Mission Is Self-Aggrandizement, Not Fighting Terrorism</a></li>\n
\n
<li><a href="http://www.europarl.europa.eu/RegData/etudes/etudes/join/1999/168184/DG-4-JOIN_ET%281999%29168184_EN.pdf">DEVELOPMENT OF SURVEILLANCE TECHNOLOGY AND RISK OF ABUSE OF ECONOMIC INFORMATION</a></li>\n
\n
<li><a href="http://www.infoworld.com/d/cloud-computing/the-danger-the-coming-big-cloud-monopolies-114">The danger of the coming \'big cloud\' monopolies</a></li>\n
\n
<li><a href="http://latimesblogs.latimes.com/technology/2011/04/greenpeace-report-cloud-and-internet-use-sucks-energy-emits-co2.html">Cloud computing and Internet use suck energy, emit CO2, says Greenpeace</a></li>\n
\n
<li><a href="https://github.com/redecentralize/alternative-internet">Alternative Internet</a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
<li><a href=""></a></li>\n
\n
</ul>\n
\n
<h2>关于本页</h2>\n
\n
<p>这个页面的服务器主机是一个被放置在私人家里的微型服务器。所呈现给您的内容是来自于中国的一个<a href="http://aliyun.com/">阿里云</a> 代理服务器缓存区。</p>\n
\n
\n
\n
</article>\n
\n
</div> <!-- #main -->\n
</div>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CORS test to Qiniu</title>
<link rel="stylesheet" href="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/qunit/qunit.css" />
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/qunit/qunit.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/rsvp/rsvp-custom.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/sha1.amd.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/sha2.amd.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/hmac-sha1.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/jio.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/complex_queries.js"></script>
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/jio.storage/qiniustorage.js"></script>
<script src="testaccess.js"></script>
</head>
<body>
<h1 id="qunit-header">QUnit CORS Qiniu test suite</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>
......@@ -22,41 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\r\n
<html lang="en">\r\n
<head>\r\n
<meta charset="utf-8" />\r\n
<title>CORS test to Qiniu</title>\r\n
<link rel="stylesheet" href="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/qunit/qunit.css" />\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/qunit/qunit.js"></script>\r\n
\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/lib/rsvp/rsvp-custom.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/sha1.amd.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/sha2.amd.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/hmac-sha1.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/jio.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/complex_queries.js"></script>\r\n
<script src="http://git.erp5.org/gitweb/jio.git/blob_plain/HEAD:/src/jio.storage/qiniustorage.js"></script>\r\n
\r\n
<script src="testaccess.js"></script>\r\n
</head>\r\n
<body>\r\n
<h1 id="qunit-header">QUnit CORS Qiniu test suite</h1>\r\n
<h2 id="qunit-banner"></h2>\r\n
<div id="qunit-testrunner-toolbar"></div>\r\n
<h2 id="qunit-userAgent"></h2>\r\n
<ol id="qunit-tests"></ol>\r\n
<div id="qunit-fixture">test markup, will be hidden</div>\r\n
</body>\r\n
</html>\r\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
......@@ -10,10 +10,6 @@
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62868270.85</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>testaccess.js</string> </value>
......@@ -26,10 +22,6 @@
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>4303</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>Nexedi ERP5 | Computer</title>
<!-- TODO: gadget mobile meta -->
<!-- TODO: schema.org? -->
<!-- TODO: all JQM widgets should have enhanced markup vs letting JQM enhance -->
<!-- JQM structure -->
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">
<!-- JQM extensions -->
<link rel="stylesheet" href="css/extensions.css">
<!-- fontawesome icons -->
<link rel="stylesheet" href="css/fontawesome.css">
<!-- JQM custom themes (slapos-white, slapos-black, slapos-active) -->
<link rel="stylesheet" href="css/themes.css">
<!-- generic CSS -->
<link rel="stylesheet" href="css/css.css">
</head>
<body>
<div id="computer" data-role="page" data-theme="slapos-white">
<!-- left panel -->
<div data-role="panel" id="menu_computer" data-theme="slapos-black" class="panel" data-position="left" data-display="push">
<div class="panel_element panel_element_first panel_header">
<input type="search" data-role="button" value="" placeholder="Search" class="panel_search" />
<a href="#menu" class="panel-close" data-role="button" data-iconpos="notext" data-icon="remove" data-rel="close">Close</a>
</div>
<div class="panel_element">
<!-- gadget modules -->
<ul data-role="listview" class="listview" data-theme="slapos-black">
<li data-role="list-divider">Modules</li>
<li class="listview_item listview_icon"><a href="webpages.html"><span class="ui-li-icon ui-li-icon-custom ui-icon-file-alt ui-icon">&nbsp;</span><h3>Webpages</h3><p>Generated Webpages</p></a></li>
</ul>
</div>
<div class="panel_element">
<ul data-role="listview" class="listview" data-theme="slapos-black">
<li data-role="list-divider">General</li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-folder-open-alt ui-icon">&nbsp;</span><h3>Software</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-book ui-icon">&nbsp;</span><h3>Documentation</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-cloud-download ui-icon">&nbsp;</span><h3>Download</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-comments ui-icon">&nbsp;</span><h3>Forum</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-microphone ui-icon">&nbsp;</span><h3>Blog</h3></a></li>
</ul>
</div>
<div class="panel_element" data-theme="slapos-black">
<ul class="list mini">
<li><a href="http://nexedi.com/">Nexedi &copy; 2013</a></li>
</ul>
</div>
</div>
<!-- header -->
<div data-role="header" data-position="fixed">
<div class="wrap left">
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">
<a href="#menu_computer" data-rel="panel" data-role="button" data-icon="reorder" class="responsive">Navigate</a>
<a href="#" data-role="button" data-icon="save" class="responsive ui-btn-active save_object">Save</a>
</div>
</div>
<h1>Computer</h1>
<div class="wrap right">
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">
<a href="#popup_computer" data-rel="popup" data-transition="pop" data-position-to="window" data-role="button" data-icon="user" class="responsive">Login</a>
<a href="#communicate_computer" data-rel="panel" data-role="button" data-icon="comments" class="responsive">Communicate</a>
</div>
</div>
</div>
<!-- popup login -->
<div data-role="popup" id="popup_computers" data-overlay-theme="slapos-black" data-tolerance="30,30,30,30" data-shadow="false" data-theme="slapos-white" class="popup login ui-content">
<div class="popup_element logo_wrap">
<img src="img/slapos.png" alt="slapos logo" />
</div>
<div class="popup_element">
<p>Sign in using</p>
<div data-role="controlgroup">
<a href="#" data-role="button" class="signin_google" data-iconpos="left" data-icon="google-plus-sign">Google</a>
<a href="#" data-role="button" class="signin_fb" data-iconpos="left" data-icon="facebook-sign">Facebook</a>
</div>
<p>Classic login</p>
<div data-role="controlgroup" data-type="horizontal" class="input_board">
<label class="ui-hidden-accessible">Login</label>
<input name="login" type="text" value="" placeholder="Login" data-icon="user" />
<label class="ui-hidden-accessible">Password</label>
<input name="password" type="password" value="" placeholder="Password" data-icon="lock" />
</div>
<span class="mini right note">
<a href="#">Forgot Password</a>
</span>
</div>
<div class="popup_element">
<p class="mini">
<span class="note">Please note:</span>
To maintain sufficient resources, a minimal fee of 1 EUR will be
charged if you use SlapOS services for <strong>more than 24
hours</strong>. By clicking on one of the signup buttons, you
agree that you are subscribing to a payable service. All services
you request will be invoiced to you at the end of the month.
</p>
<p>
To find out more, please refer to
</p>
<a href="pricing.html" data-role="button" data-iconpos="left" data-icon="euro">SlapOS Pricing</a>
</div>
</div>
<!-- content -->
<div class="ui-content">
<div class="content_element content_element_fullscreen">
<div class="erp5_single" data-gadaget="tabs" data-gadget-id="tabs_01">
<!-- dynamic -->
</div>
</div>
<!--
<div class="content_element content_element_fullscreen">
<form class="display_object">
<input type="hidden" name="computer_type" value="" />
<div data-role="collapsible-set" data-type="tabs" data-tabs="5" data-theme="slapos-white" data-content-theme="slapos-white">
<div data-role="collapsible" data-theme="slapos-white" data-icon="false" data-collapsed="false">
<h1>View</h1>
<div class="content_element">
<div class="ui-fieldcontain" title="">
<label>Title</label>
<input name="computer_title" value="" type="text" data-clear-btn="true" />
</div>
<div class="ui-fieldcontain" title="">
<label>Reference</label>
<input name="computer_reference" value="" type="text" data-clear-btn="true" data-action-btn="true" data-action-btn-icon="cog" data-action-btn-text="Pick from Selection" />
</div>
</div>
<div class="content_element">
</div>
<div class="content_element content_element_fullscreen">
<div class="ui-fieldcontain" title="">
<label>Description</label>
<textarea name="computer_description" rows="5" cols="30"></textarea>
</div>
</div>
</div>
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">
<h1>Partitions</h1>
</div>
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">
<h1>TCP Port Numbers</h1>
</div>
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">
<h1>History</h1>
</div>
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">
<h1>Metadata</h1>
<div class="content_element">
<div class="ui-fieldcontain" title="">
<label>ID</label>
<input type="text" disabled name="computer__id" value="" />
<input type="hidden" name="computer__id" value="" />
</div>
<div class="ui-fieldcontain" title="">
<label>Title</label>
<input name="computer_title" value="" type="text" data-clear-btn="true" />
</div>
<div class="ui-fieldcontain" title="">
<label>Description</label>
<textarea name="computer_description" rows="5" cols="30"></textarea>
</div>
<div class="ui-fieldcontain" title="">
<input type="hidden" name="computer_date" value="" />
<input type="hidden" name="computer_created" value="" />
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Creation Date</legend>
<label>Year</label>
<select name="computer_created_year">
<option disabled="disabled" value=""></option>
</select>
<label>Month</label>
<select name="computer_created_month">
<option disabled="disabled" value=""></option>
</select>
<label>Day</label>
<select name="computer_created_day">
<option disabled="disabled" value=""></option>
</select>
</fieldset>
</div>
<div class="ui-fieldcontain" title="">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Modification Date</legend>
<select name="computer_modified_year">
<option disabled="disabled" value=""></option>
</select>
<label>Month</label>
<select name="computer_modified_month">
<option disabled="disabled" value=""></option>
</select>
<label>Day</label>
<select name="computer_modified_day">
<option disabled="disabled" value=""></option>
</select>
</fieldset>
</div>
<div class="ui-fieldcontain" title="">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Effective Date</legend>
<label>Year</label>
<select name="computer_effective_date_year">
<option disabled="disabled">Year</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
</select>
<label>Month </label>
<select name="computer_effective_date_month">
<option disabled="disabled">Month</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<label>Day</label>
<select name="computer_effective_date_day">
<option disabled="disabled">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</fieldset>
</div>
<div class="ui-fieldcontain" title="">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Effective Date</legend>
<label>Year</label>
<select name="computer_expiration_date_year">
<option disabled="disabled">Year</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
</select>
<label>Month</label>
<select name="computer_expiration_date_month">
<option disabled="disabled">Month</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<label>Day</label>
<select name="computer_expiration_date_day">
<option disabled="disabled">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</fieldset>
</div>
</div>
<div class="content_element">
<div class="ui-fieldcontain" title="">
<label>Language</label>
<input name="computer_language" value="" type="text" data-clear-btn="true" data-action-btn="true" data-action-btn-icon="cog" data-action-btn-text="Pick from selection" />
</div>
<div class="ui-fieldcontain" title="">
<label>Contributors</label>
<textarea name="computer_contributor" rows="5" cols="30"></textarea>
</div>
<div class="ui-fieldcontain" title="">
<label>Categories</label>
<textarea name="computer_category" rows="5" cols="30"></textarea>
</div>
</div>
</div>
</div>
</form>
</div>
-->
</div>
<!-- footer -->
<div data-role="footer" data-position="fixed">
<div data-role="navbar" class="navbar">
<ul>
<li><a href="#" data-icon="compass">Browse</a></li>
<li><a class="new_item" href="computer.html?mode=add" data-icon="plus"><span class="navbar_add">Add</span>/<span class="navbar_clone">Clone</span></a></li>
<li><a class="remove_item" href="#" data-icon="minus">Remove</a></li>
<li><a href="#" data-icon="cog">Action</a></li>
<li><a href="#" data-icon="share">Import/Export</a></li>
</ul>
</div>
</div>
<!-- right panel -->
<div data-role="panel" id="communicate_computer" data-theme="slapos-black" class="panel" data-position="right" data-display="push">
</div>
</div>
<!-- Jquery, JQM, JQM extensions -->
<script src="js/libs/jquery/jquery.js"></script>
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>
<script src="js/extensions.js"></script>
<!-- JIO -->
<script src="js/libs/jio/sha256.amd.js"></script>
<script src="js/libs/jio/jio.js"></script>
<script src="js/libs/jio/complex_queries.js"></script>
<script src="js/libs/jio/localstorage.js"></script>
<!-- custom script -->
<script src="js/erp5_loader.js"></script>
</body>
</html>
......@@ -22,412 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<html>\n
<head>\n
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
<meta name="viewport" content="width=device-width, user-scalable=no" />\n
<title>Nexedi ERP5 | Computer</title>\n
\n
<!-- TODO: gadget mobile meta -->\n
<!-- TODO: schema.org? -->\n
<!-- TODO: all JQM widgets should have enhanced markup vs letting JQM enhance -->\n
\n
<!-- JQM structure -->\n
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">\n
<!-- JQM extensions -->\n
<link rel="stylesheet" href="css/extensions.css">\n
<!-- fontawesome icons -->\n
<link rel="stylesheet" href="css/fontawesome.css">\n
<!-- JQM custom themes (slapos-white, slapos-black, slapos-active) -->\n
<link rel="stylesheet" href="css/themes.css">\n
<!-- generic CSS -->\n
<link rel="stylesheet" href="css/css.css">\n
\n
</head>\n
<body>\n
\n
<div id="computer" data-role="page" data-theme="slapos-white">\n
\n
<!-- left panel -->\n
<div data-role="panel" id="menu_computer" data-theme="slapos-black" class="panel" data-position="left" data-display="push">\n
<div class="panel_element panel_element_first panel_header">\n
<input type="search" data-role="button" value="" placeholder="Search" class="panel_search" />\n
<a href="#menu" class="panel-close" data-role="button" data-iconpos="notext" data-icon="remove" data-rel="close">Close</a>\n
</div>\n
\n
<div class="panel_element">\n
<!-- gadget modules -->\n
<ul data-role="listview" class="listview" data-theme="slapos-black">\n
<li data-role="list-divider">Modules</li>\n
<li class="listview_item listview_icon"><a href="webpages.html"><span class="ui-li-icon ui-li-icon-custom ui-icon-file-alt ui-icon">&nbsp;</span><h3>Webpages</h3><p>Generated Webpages</p></a></li>\n
</ul>\n
</div>\n
\n
<div class="panel_element">\n
<ul data-role="listview" class="listview" data-theme="slapos-black">\n
<li data-role="list-divider">General</li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-folder-open-alt ui-icon">&nbsp;</span><h3>Software</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-book ui-icon">&nbsp;</span><h3>Documentation</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-cloud-download ui-icon">&nbsp;</span><h3>Download</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-comments ui-icon">&nbsp;</span><h3>Forum</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-microphone ui-icon">&nbsp;</span><h3>Blog</h3></a></li>\n
</ul>\n
</div>\n
<div class="panel_element" data-theme="slapos-black">\n
<ul class="list mini">\n
<li><a href="http://nexedi.com/">Nexedi &copy; 2013</a></li>\n
</ul>\n
</div>\n
</div>\n
\n
<!-- header -->\n
<div data-role="header" data-position="fixed">\n
<div class="wrap left">\n
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">\n
<a href="#menu_computer" data-rel="panel" data-role="button" data-icon="reorder" class="responsive">Navigate</a>\n
<a href="#" data-role="button" data-icon="save" class="responsive ui-btn-active save_object">Save</a>\n
</div>\n
</div>\n
<h1>Computer</h1>\n
<div class="wrap right">\n
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">\n
<a href="#popup_computer" data-rel="popup" data-transition="pop" data-position-to="window" data-role="button" data-icon="user" class="responsive">Login</a>\n
<a href="#communicate_computer" data-rel="panel" data-role="button" data-icon="comments" class="responsive">Communicate</a>\n
</div>\n
</div>\n
</div>\n
\n
<!-- popup login -->\n
<div data-role="popup" id="popup_computers" data-overlay-theme="slapos-black" data-tolerance="30,30,30,30" data-shadow="false" data-theme="slapos-white" class="popup login ui-content">\n
<div class="popup_element logo_wrap">\n
<img src="img/slapos.png" alt="slapos logo" />\n
</div>\n
<div class="popup_element">\n
<p>Sign in using</p>\n
<div data-role="controlgroup">\n
<a href="#" data-role="button" class="signin_google" data-iconpos="left" data-icon="google-plus-sign">Google</a>\n
<a href="#" data-role="button" class="signin_fb" data-iconpos="left" data-icon="facebook-sign">Facebook</a>\n
</div>\n
<p>Classic login</p>\n
<div data-role="controlgroup" data-type="horizontal" class="input_board">\n
<label class="ui-hidden-accessible">Login</label>\n
<input name="login" type="text" value="" placeholder="Login" data-icon="user" />\n
<label class="ui-hidden-accessible">Password</label>\n
<input name="password" type="password" value="" placeholder="Password" data-icon="lock" />\n
</div>\n
<span class="mini right note">\n
<a href="#">Forgot Password</a>\n
</span>\n
</div>\n
\n
<div class="popup_element">\n
<p class="mini">\n
<span class="note">Please note:</span>\n
To maintain sufficient resources, a minimal fee of 1 EUR will be\n
charged if you use SlapOS services for <strong>more than 24\n
hours</strong>. By clicking on one of the signup buttons, you\n
agree that you are subscribing to a payable service. All services\n
you request will be invoiced to you at the end of the month.\n
</p>\n
\n
<p>\n
To find out more, please refer to\n
</p>\n
\n
<a href="pricing.html" data-role="button" data-iconpos="left" data-icon="euro">SlapOS Pricing</a>\n
</div>\n
</div>\n
\n
<!-- content -->\n
<div class="ui-content">\n
<div class="content_element content_element_fullscreen">\n
<div class="erp5_single" data-gadaget="tabs" data-gadget-id="tabs_01">\n
<!-- dynamic -->\n
</div>\n
</div>\n
\n
<!--\n
<div class="content_element content_element_fullscreen">\n
<form class="display_object">\n
<input type="hidden" name="computer_type" value="" />\n
<div data-role="collapsible-set" data-type="tabs" data-tabs="5" data-theme="slapos-white" data-content-theme="slapos-white">\n
<div data-role="collapsible" data-theme="slapos-white" data-icon="false" data-collapsed="false">\n
<h1>View</h1>\n
<div class="content_element">\n
<div class="ui-fieldcontain" title="">\n
<label>Title</label>\n
<input name="computer_title" value="" type="text" data-clear-btn="true" />\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<label>Reference</label>\n
<input name="computer_reference" value="" type="text" data-clear-btn="true" data-action-btn="true" data-action-btn-icon="cog" data-action-btn-text="Pick from Selection" />\n
</div>\n
</div>\n
<div class="content_element">\n
\n
</div>\n
<div class="content_element content_element_fullscreen">\n
<div class="ui-fieldcontain" title="">\n
<label>Description</label>\n
<textarea name="computer_description" rows="5" cols="30"></textarea>\n
</div>\n
</div>\n
</div>\n
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">\n
<h1>Partitions</h1>\n
</div>\n
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">\n
<h1>TCP Port Numbers</h1>\n
</div>\n
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">\n
<h1>History</h1>\n
</div>\n
<div data-role="collapsible" data-theme="slapos-white" data-icon="false">\n
<h1>Metadata</h1>\n
<div class="content_element">\n
<div class="ui-fieldcontain" title="">\n
<label>ID</label>\n
<input type="text" disabled name="computer__id" value="" />\n
<input type="hidden" name="computer__id" value="" />\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<label>Title</label>\n
<input name="computer_title" value="" type="text" data-clear-btn="true" />\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<label>Description</label>\n
<textarea name="computer_description" rows="5" cols="30"></textarea>\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<input type="hidden" name="computer_date" value="" />\n
<input type="hidden" name="computer_created" value="" />\n
<fieldset data-role="controlgroup" data-type="horizontal">\n
<legend>Creation Date</legend>\n
<label>Year</label>\n
<select name="computer_created_year">\n
<option disabled="disabled" value=""></option>\n
</select>\n
<label>Month</label>\n
<select name="computer_created_month">\n
<option disabled="disabled" value=""></option>\n
</select>\n
<label>Day</label>\n
<select name="computer_created_day">\n
<option disabled="disabled" value=""></option>\n
</select>\n
</fieldset>\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<fieldset data-role="controlgroup" data-type="horizontal">\n
<legend>Modification Date</legend>\n
<select name="computer_modified_year">\n
<option disabled="disabled" value=""></option>\n
</select>\n
<label>Month</label>\n
<select name="computer_modified_month">\n
<option disabled="disabled" value=""></option>\n
</select>\n
<label>Day</label>\n
<select name="computer_modified_day">\n
<option disabled="disabled" value=""></option>\n
</select>\n
</fieldset>\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<fieldset data-role="controlgroup" data-type="horizontal">\n
<legend>Effective Date</legend>\n
<label>Year</label>\n
<select name="computer_effective_date_year">\n
<option disabled="disabled">Year</option>\n
<option value="2013">2013</option>\n
<option value="2014">2014</option>\n
<option value="2015">2015</option>\n
<option value="2016">2016</option>\n
<option value="2017">2017</option>\n
</select>\n
<label>Month </label>\n
<select name="computer_effective_date_month">\n
<option disabled="disabled">Month</option>\n
<option value="1">01</option>\n
<option value="2">02</option>\n
<option value="3">03</option>\n
<option value="4">04</option>\n
<option value="5">05</option>\n
<option value="6">06</option>\n
<option value="7">07</option>\n
<option value="8">08</option>\n
<option value="9">09</option>\n
<option value="10">10</option>\n
<option value="11">11</option>\n
<option value="12">12</option>\n
</select>\n
<label>Day</label>\n
<select name="computer_effective_date_day">\n
<option disabled="disabled">Day</option>\n
<option value="1">1</option>\n
<option value="2">2</option>\n
<option value="3">3</option>\n
<option value="4">4</option>\n
<option value="5">5</option>\n
<option value="6">6</option>\n
<option value="7">7</option>\n
<option value="8">8</option>\n
<option value="9">9</option>\n
<option value="10">10</option>\n
<option value="11">11</option>\n
<option value="12">12</option>\n
<option value="13">13</option>\n
<option value="14">14</option>\n
<option value="15">15</option>\n
<option value="16">16</option>\n
<option value="17">17</option>\n
<option value="18">18</option>\n
<option value="19">19</option>\n
<option value="20">20</option>\n
<option value="21">21</option>\n
<option value="22">22</option>\n
<option value="23">23</option>\n
<option value="24">24</option>\n
<option value="25">25</option>\n
<option value="26">26</option>\n
<option value="27">27</option>\n
<option value="28">28</option>\n
<option value="29">29</option>\n
<option value="30">30</option>\n
<option value="31">31</option>\n
</select>\n
</fieldset>\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<fieldset data-role="controlgroup" data-type="horizontal">\n
<legend>Effective Date</legend>\n
<label>Year</label>\n
<select name="computer_expiration_date_year">\n
<option disabled="disabled">Year</option>\n
<option value="2013">2013</option>\n
<option value="2014">2014</option>\n
<option value="2015">2015</option>\n
<option value="2016">2016</option>\n
<option value="2017">2017</option>\n
</select>\n
<label>Month</label>\n
<select name="computer_expiration_date_month">\n
<option disabled="disabled">Month</option>\n
<option value="01">01</option>\n
<option value="02">02</option>\n
<option value="03">03</option>\n
<option value="04">04</option>\n
<option value="05">05</option>\n
<option value="06">06</option>\n
<option value="07">07</option>\n
<option value="08">08</option>\n
<option value="09">09</option>\n
<option value="10">10</option>\n
<option value="11">11</option>\n
<option value="12">12</option>\n
</select>\n
<label>Day</label>\n
<select name="computer_expiration_date_day">\n
<option disabled="disabled">Day</option>\n
<option value="1">1</option>\n
<option value="2">2</option>\n
<option value="3">3</option>\n
<option value="4">4</option>\n
<option value="5">5</option>\n
<option value="6">6</option>\n
<option value="7">7</option>\n
<option value="8">8</option>\n
<option value="9">9</option>\n
<option value="10">10</option>\n
<option value="11">11</option>\n
<option value="12">12</option>\n
<option value="13">13</option>\n
<option value="14">14</option>\n
<option value="15">15</option>\n
<option value="16">16</option>\n
<option value="17">17</option>\n
<option value="18">18</option>\n
<option value="19">19</option>\n
<option value="20">20</option>\n
<option value="21">21</option>\n
<option value="22">22</option>\n
<option value="23">23</option>\n
<option value="24">24</option>\n
<option value="25">25</option>\n
<option value="26">26</option>\n
<option value="27">27</option>\n
<option value="28">28</option>\n
<option value="29">29</option>\n
<option value="30">30</option>\n
<option value="31">31</option>\n
</select>\n
</fieldset>\n
</div>\n
</div>\n
\n
<div class="content_element">\n
<div class="ui-fieldcontain" title="">\n
<label>Language</label>\n
<input name="computer_language" value="" type="text" data-clear-btn="true" data-action-btn="true" data-action-btn-icon="cog" data-action-btn-text="Pick from selection" />\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<label>Contributors</label>\n
<textarea name="computer_contributor" rows="5" cols="30"></textarea>\n
</div>\n
<div class="ui-fieldcontain" title="">\n
<label>Categories</label>\n
<textarea name="computer_category" rows="5" cols="30"></textarea>\n
</div>\n
</div>\n
\n
</div>\n
</div>\n
</form>\n
</div>\n
-->\n
</div>\n
\n
<!-- footer -->\n
<div data-role="footer" data-position="fixed">\n
<div data-role="navbar" class="navbar">\n
<ul>\n
<li><a href="#" data-icon="compass">Browse</a></li>\n
<li><a class="new_item" href="computer.html?mode=add" data-icon="plus"><span class="navbar_add">Add</span>/<span class="navbar_clone">Clone</span></a></li>\n
<li><a class="remove_item" href="#" data-icon="minus">Remove</a></li>\n
<li><a href="#" data-icon="cog">Action</a></li>\n
<li><a href="#" data-icon="share">Import/Export</a></li>\n
</ul>\n
</div>\n
</div>\n
\n
<!-- right panel -->\n
<div data-role="panel" id="communicate_computer" data-theme="slapos-black" class="panel" data-position="right" data-display="push">\n
\n
</div>\n
</div>\n
\n
<!-- Jquery, JQM, JQM extensions -->\n
<script src="js/libs/jquery/jquery.js"></script>\n
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>\n
<script src="js/extensions.js"></script>\n
<!-- JIO -->\n
<script src="js/libs/jio/sha256.amd.js"></script>\n
<script src="js/libs/jio/jio.js"></script>\n
<script src="js/libs/jio/complex_queries.js"></script>\n
<script src="js/libs/jio/localstorage.js"></script>\n
<!-- custom script -->\n
<script src="js/erp5_loader.js"></script>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>Nexedi ERP5 | Computers</title>
<!-- TODO: gadget mobile meta -->
<!-- TODO: schema.org? -->
<!-- TODO: all JQM widgets should have enhanced markup vs letting JQM enhance -->
<!-- normalize -->
<link rel="stylesheet" href="css/normalize.css">
<!-- JQM structure -->
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">
<!-- JQM extensions -->
<link rel="stylesheet" href="css/extensions.css">
<!-- fontawesome icons -->
<link rel="stylesheet" href="css/fontawesome.css">
<!-- JQM custom themes (slapos-white, slapos-black, slapos-active) -->
<link rel="stylesheet" href="css/themes.css">
<!-- generic CSS -->
<link rel="stylesheet" href="css/css.css">
</head>
<body>
<div id="computers" data-role="page" data-theme="slapos-white">
<!-- left panel -->
<div data-role="panel" id="menu_computers" data-theme="slapos-black" class="panel" data-position="left" data-display="push">
<div class="panel_element panel_element_first panel_header">
<input type="search" data-role="button" value="" placeholder="Search" class="panel_search" />
<a href="#menu" class="panel-close" data-role="button" data-iconpos="notext" data-icon="remove" data-rel="close">Close</a>
</div>
<div class="panel_element">
<!-- gadget modules -->
<ul data-role="listview" class="listview" data-theme="slapos-black">
<li data-role="list-divider">Modules</li>
<li class="listview_item listview_icon"><a href="webpages.html"><span class="ui-li-icon ui-li-icon-custom ui-icon-file-alt ui-icon">&nbsp;</span><h3>Webpages</h3><p>Generated Webpages</p></a></li>
</ul>
</div>
<div class="panel_element">
<ul data-role="listview" class="listview" data-theme="slapos-black">
<li data-role="list-divider">General</li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-folder-open-alt ui-icon">&nbsp;</span><h3>Software</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-book ui-icon">&nbsp;</span><h3>Documentation</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-cloud-download ui-icon">&nbsp;</span><h3>Download</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-comments ui-icon">&nbsp;</span><h3>Forum</h3></a></li>
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-microphone ui-icon">&nbsp;</span><h3>Blog</h3></a></li>
</ul>
</div>
<div class="panel_element" data-theme="slapos-black">
<ul class="list mini">
<li><a href="http://nexedi.com/">Nexedi &copy; 2013</a></li>
</ul>
</div>
</div>
<!-- gadget header -->
<div data-role="header" data-position="fixed">
<div class="wrap left">
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">
<a href="#menu_computers" data-rel="panel" data-role="button" data-icon="reorder" class="responsive">Navigate</a>
</div>
</div>
<h1>Computers</h1>
<div class="wrap right">
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">
<a href="#popup_computers" data-rel="popup" data-transition="pop" data-position-to="window" data-role="button" data-icon="user" class="responsive">Login</a>
<a href="#communicate_computers" data-rel="panel" data-role="button" data-icon="comments" class="responsive">Communicate</a>
</div>
</div>
</div>
<!-- popup login -->
<div data-role="popup" id="popup_computers" data-overlay-theme="slapos-black" data-tolerance="30,30,30,30" data-shadow="false" data-theme="slapos-white" class="popup single ui-content">
<div class="popup_element logo_wrap">
<img src="img/slapos.png" alt="slapos logo" />
</div>
<div class="popup_element">
<p>Sign in using</p>
<div data-role="controlgroup">
<a href="#" data-role="button" class="signin_google" data-iconpos="left" data-icon="google-plus-sign">Google</a>
<a href="#" data-role="button" class="signin_fb" data-iconpos="left" data-icon="facebook-sign">Facebook</a>
</div>
<p>Classic login</p>
<div data-role="controlgroup" data-type="horizontal" class="input_board">
<label class="ui-hidden-accessible">Login</label>
<input name="login" type="text" value="" placeholder="Login" data-icon="user" />
<label class="ui-hidden-accessible">Password</label>
<input name="password" type="password" value="" placeholder="Password" data-icon="lock" />
</div>
<span class="mini right note">
<a href="#">Forgot Password</a>
</span>
</div>
<div class="popup_element">
<p class="mini">
<span class="note">Please note:</span>
To maintain sufficient resources, a minimal fee of 1 EUR will be
charged if you use SlapOS services for <strong>more than 24
hours</strong>. By clicking on one of the signup buttons, you
agree that you are subscribing to a payable service. All services
you request will be invoiced to you at the end of the month.
</p>
<p>
To find out more, please refer to
</p>
<a href="pricing.html" data-role="button" data-iconpos="left" data-icon="euro">SlapOS Pricing</a>
</div>
</div>
<!-- content -->
<div class="ui-content">
<div class="content_element content_element_fullscreen">
<table class="table_default erp5_gadget" data-gadget="listbox" data-gadget-id="listbox_01">
<!-- dynamic -->
</table>
</div>
<div class="content_element content_element_fullscreen">
<table class="table_default erp5_gadget" data-gadget="listbox" data-gadget-id="listbox_02">
<!-- dynamic -->
</table>
</div>
</div>
<!-- footer -->
<div data-role="footer" data-position="fixed">
<div data-role="navbar" class="navbar">
<ul>
<li><a href="#" data-icon="compass">Browse</a></li>
<li><a class="new_item" href="computer.html?mode=add" data-icon="plus"><span class="navbar_add">Add</span>/<span class="navbar_clone">Clone</span></a></li>
<li><a class="remove_item" href="#" data-icon="minus">Remove</a></li>
<li><a href="#" data-icon="cog">Action</a></li>
<li><a href="#" data-icon="share">Import/Export</a></li>
</ul>
</div>
</div>
<!-- right panel -->
<div data-role="panel" id="communicate_computers" data-theme="slapos-black" class="panel" data-position="right" data-display="push">
</div>
</div>
<!-- Jquery, JQM, JQM extensions -->
<script src="js/libs/jquery/jquery.js"></script>
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>
<script src="js/extensions.js"></script>
<!-- dragdrop -->
<script src="http://view.jqueryui.com/master/ui/jquery.ui.mouse.js" ></script>
<script src="http://view.jqueryui.com/master/ui/jquery.ui.sortable.js" ></script>
<script src="https://rawgithub.com/furf/jquery-ui-touch-punch/master/jquery.ui.touch-punch.min.js" ></script>
<script>
$.ui.sortable.initSelector = ":jqmData(sortable='true')";
</script>
<!-- JIO -->
<script src="js/libs/jio/sha256.amd.js"></script>
<script src="js/libs/jio/jio.js"></script>
<script src="js/libs/jio/complex_queries.js"></script>
<script src="js/libs/jio/localstorage.js"></script>
<!-- custom script -->
<script src="js/erp5_loader.js"></script>
</body>
</html>
......@@ -22,187 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<html>\n
<head>\n
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
<meta name="viewport" content="width=device-width, user-scalable=no" />\n
<title>Nexedi ERP5 | Computers</title>\n
\n
<!-- TODO: gadget mobile meta -->\n
<!-- TODO: schema.org? -->\n
<!-- TODO: all JQM widgets should have enhanced markup vs letting JQM enhance -->\n
<!-- normalize -->\n
<link rel="stylesheet" href="css/normalize.css">\n
<!-- JQM structure -->\n
<link rel="stylesheet" href="css/jquery-mobile/jquery-mobile.latest.css">\n
<!-- JQM extensions -->\n
<link rel="stylesheet" href="css/extensions.css">\n
<!-- fontawesome icons -->\n
<link rel="stylesheet" href="css/fontawesome.css">\n
<!-- JQM custom themes (slapos-white, slapos-black, slapos-active) -->\n
<link rel="stylesheet" href="css/themes.css">\n
<!-- generic CSS -->\n
<link rel="stylesheet" href="css/css.css">\n
\n
</head>\n
<body>\n
\n
<div id="computers" data-role="page" data-theme="slapos-white">\n
\n
<!-- left panel -->\n
<div data-role="panel" id="menu_computers" data-theme="slapos-black" class="panel" data-position="left" data-display="push">\n
<div class="panel_element panel_element_first panel_header">\n
<input type="search" data-role="button" value="" placeholder="Search" class="panel_search" />\n
<a href="#menu" class="panel-close" data-role="button" data-iconpos="notext" data-icon="remove" data-rel="close">Close</a>\n
</div>\n
\n
<div class="panel_element">\n
<!-- gadget modules -->\n
<ul data-role="listview" class="listview" data-theme="slapos-black">\n
<li data-role="list-divider">Modules</li>\n
<li class="listview_item listview_icon"><a href="webpages.html"><span class="ui-li-icon ui-li-icon-custom ui-icon-file-alt ui-icon">&nbsp;</span><h3>Webpages</h3><p>Generated Webpages</p></a></li>\n
</ul>\n
</div>\n
\n
<div class="panel_element">\n
<ul data-role="listview" class="listview" data-theme="slapos-black">\n
<li data-role="list-divider">General</li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-folder-open-alt ui-icon">&nbsp;</span><h3>Software</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-book ui-icon">&nbsp;</span><h3>Documentation</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-cloud-download ui-icon">&nbsp;</span><h3>Download</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-comments ui-icon">&nbsp;</span><h3>Forum</h3></a></li>\n
<li class="listview_item listview_icon"><a href=""><span class="ui-li-icon ui-li-icon-custom ui-icon-microphone ui-icon">&nbsp;</span><h3>Blog</h3></a></li>\n
</ul>\n
</div>\n
<div class="panel_element" data-theme="slapos-black">\n
<ul class="list mini">\n
<li><a href="http://nexedi.com/">Nexedi &copy; 2013</a></li>\n
</ul>\n
</div>\n
</div>\n
\n
<!-- gadget header -->\n
<div data-role="header" data-position="fixed">\n
<div class="wrap left">\n
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">\n
<a href="#menu_computers" data-rel="panel" data-role="button" data-icon="reorder" class="responsive">Navigate</a>\n
</div>\n
</div>\n
<h1>Computers</h1>\n
<div class="wrap right">\n
<div data-role="controlgroup" data-type="horizontal" class="buttongroup">\n
<a href="#popup_computers" data-rel="popup" data-transition="pop" data-position-to="window" data-role="button" data-icon="user" class="responsive">Login</a>\n
<a href="#communicate_computers" data-rel="panel" data-role="button" data-icon="comments" class="responsive">Communicate</a>\n
</div>\n
</div>\n
</div>\n
\n
<!-- popup login -->\n
<div data-role="popup" id="popup_computers" data-overlay-theme="slapos-black" data-tolerance="30,30,30,30" data-shadow="false" data-theme="slapos-white" class="popup single ui-content">\n
<div class="popup_element logo_wrap">\n
<img src="img/slapos.png" alt="slapos logo" />\n
</div>\n
<div class="popup_element">\n
<p>Sign in using</p>\n
<div data-role="controlgroup">\n
<a href="#" data-role="button" class="signin_google" data-iconpos="left" data-icon="google-plus-sign">Google</a>\n
<a href="#" data-role="button" class="signin_fb" data-iconpos="left" data-icon="facebook-sign">Facebook</a>\n
</div>\n
<p>Classic login</p>\n
<div data-role="controlgroup" data-type="horizontal" class="input_board">\n
<label class="ui-hidden-accessible">Login</label>\n
<input name="login" type="text" value="" placeholder="Login" data-icon="user" />\n
<label class="ui-hidden-accessible">Password</label>\n
<input name="password" type="password" value="" placeholder="Password" data-icon="lock" />\n
</div>\n
<span class="mini right note">\n
<a href="#">Forgot Password</a>\n
</span>\n
</div>\n
\n
<div class="popup_element">\n
<p class="mini">\n
<span class="note">Please note:</span>\n
To maintain sufficient resources, a minimal fee of 1 EUR will be\n
charged if you use SlapOS services for <strong>more than 24\n
hours</strong>. By clicking on one of the signup buttons, you\n
agree that you are subscribing to a payable service. All services\n
you request will be invoiced to you at the end of the month.\n
</p>\n
\n
<p>\n
To find out more, please refer to\n
</p>\n
\n
<a href="pricing.html" data-role="button" data-iconpos="left" data-icon="euro">SlapOS Pricing</a>\n
</div>\n
</div>\n
\n
<!-- content -->\n
<div class="ui-content">\n
\n
<div class="content_element content_element_fullscreen">\n
<table class="table_default erp5_gadget" data-gadget="listbox" data-gadget-id="listbox_01">\n
<!-- dynamic -->\n
</table>\n
</div>\n
\n
<div class="content_element content_element_fullscreen">\n
<table class="table_default erp5_gadget" data-gadget="listbox" data-gadget-id="listbox_02">\n
<!-- dynamic -->\n
</table>\n
</div>\n
</div>\n
\n
<!-- footer -->\n
<div data-role="footer" data-position="fixed">\n
<div data-role="navbar" class="navbar">\n
<ul>\n
<li><a href="#" data-icon="compass">Browse</a></li>\n
<li><a class="new_item" href="computer.html?mode=add" data-icon="plus"><span class="navbar_add">Add</span>/<span class="navbar_clone">Clone</span></a></li>\n
<li><a class="remove_item" href="#" data-icon="minus">Remove</a></li>\n
<li><a href="#" data-icon="cog">Action</a></li>\n
<li><a href="#" data-icon="share">Import/Export</a></li>\n
</ul>\n
</div>\n
</div>\n
\n
<!-- right panel -->\n
<div data-role="panel" id="communicate_computers" data-theme="slapos-black" class="panel" data-position="right" data-display="push">\n
\n
</div>\n
</div>\n
\n
<!-- Jquery, JQM, JQM extensions -->\n
<script src="js/libs/jquery/jquery.js"></script>\n
<script src="js/libs/jquery-mobile/jquery-mobile.js"></script>\n
<script src="js/extensions.js"></script>\n
<!-- dragdrop -->\n
<script src="http://view.jqueryui.com/master/ui/jquery.ui.mouse.js" ></script>\n
<script src="http://view.jqueryui.com/master/ui/jquery.ui.sortable.js" ></script>\n
<script src="https://rawgithub.com/furf/jquery-ui-touch-punch/master/jquery.ui.touch-punch.min.js" ></script>\n
<script>\n
$.ui.sortable.initSelector = ":jqmData(sortable=\'true\')";\n
</script>\n
\n
<!-- JIO -->\n
<script src="js/libs/jio/sha256.amd.js"></script>\n
<script src="js/libs/jio/jio.js"></script>\n
<script src="js/libs/jio/complex_queries.js"></script>\n
<script src="js/libs/jio/localstorage.js"></script>\n
<!-- custom script -->\n
<script src="js/erp5_loader.js"></script>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>
\ No newline at end of file
......@@ -22,17 +22,6 @@
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html><body><h1>It works!</h1>\n
<p>This is the default web page for this server.</p>\n
<p>The web server software is running but no content has been added, yet.</p>\n
</body></html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment