Commit 440ac70e authored by Alain Takoudjou's avatar Alain Takoudjou

erp5_mynij_appstore: Add mynij_appstore bt5

parent 69e56ace
{
"portal_type_source": "Applications",
"portal_type_title": "application",
"portal_type_fields": "application_fieldlist",
"initial_query": {"sort": ["int_index", "descending"], "include_documents": true, "limit":[0,32]},
"form": null,
"id":"all_apps",
"property_dict": {},
"children": [{
"generate": "widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"type": "input",
"direct": {"id":"search_all_apps", "className": "translate"},
"attributes": {"data-enhanced":"true", "data-i18n": "[placeholder]pages.all.search","placeholder":"Search All Apps", "data-icon":"search", "data-action-btn":"true", "data-type":"search", "type":"search"},
"logic":{"clear":"true", "action":"search"}
},{
"type": "div",
"direct": {"className":"info"},
"attributes": {"data-info":"records"}
}]
}, {
"type": "p",
"direct": {"className": "translate ui-content-element responsive"},
"attributes": {"data-i18n":"pages.home.info_officejs"},
"logic": {"text": "Mynij Store has Sitemaps source for various website available for install in one click in mynij search app. No login required."}
}, {
"generate":"widget",
"type": "listview",
"class_list": "responsive",
"theme": "slapos-white",
"property_dict": {
"inset":"true",
"filter": "true",
"input": "#search_all_apps"
},
"children": []
}, {
"generate":"widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"generate": "widget",
"type": "controlgroup",
"class_list": "pagination",
"property_dict": {
"direction": "horizontal"
},
"children": [
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.first", "data-action":"first", "data-icon":"step-backward", "data-iconpos":"notext"}, "logic": {"text":"First"}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.previous", "data-action":"prev", "data-icon":"backward", "data-iconpos":"notext"}, "logic": {"text":"Step Backward"}},
{"type":"select", "direct":{"id":"paginate_reports_apps", "className":"action"},"attributes": {"data-icon":"reorder", "data-action":"limit", "data-iconpos":"notext"},"logic": {"options":[{"value": "16", "text": "16", "text_i18n":"global.pagination.16"},{"value": "32", "text": "32", "text_i18n":"global.pagination.32"},{"value": "64", "text": "64", "text_i18n":"global.pagination.64"}, {"value": "128", "text": "128", "text_i18n":"global.pagination.128"}]}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.next", "data-action":"next", "data-icon":"forward", "data-iconpos":"notext"}, "logic": {"text":"Step Forward"}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.last", "data-action":"last", "data-icon":"step-forward", "data-iconpos":"notext"}, "logic": {"text": "Last"}}
]
}]
},
{
"generate":"widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"type": "a",
"attributes": {"href":"http://www.miitbeian.gov.cn", "style": "padding-top: 1em;" },
"logic": {"text": "沪ICP备14008524号"}
}]
}]
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>89844647e16493423f39504266f2ab61</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>data/all_apps.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_appstore_data_all_apps_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>all_apps.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.83</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
[{
"generate": "widget",
"type": "panel",
"theme": "slapos-black",
"property_dict": {
"close": true
},
"children": [{
"type": "input",
"direct": {
"id": "global_search",
"className": "translate"
},
"attributes": {
"data-enhanced": "true",
"data-i18n": "[placeholder]global.search_apps",
"placeholder": "Search Apps",
"data-icon": "search",
"data-action-btn": "true",
"data-type": "search",
"type": "search"
},
"logic": {
"clear": "true",
"action": "search"
}
}, {
"generate": "widget",
"type": "listview",
"class_list": null,
"theme": "slapos-black",
"form": null,
"property_dict": {
"filter": "true",
"input": "#global_search"
},
"children": [{
"type": "divider",
"center": {
"text": [{
"type": "h1",
"text": "Applications",
"text_i18n": "category.title"
}]
}
}, {
"type": "item",
"href": "#contacts",
"left": {
"icon": "group"
},
"center": {
"text": [{
"type": "h1",
"text": "Contacts",
"text_i18n": "category.custom.contacts.title"
}, {
"type": "p",
"text": "Customer Relationship Management",
"text_i18n": "category.custom.contacts.description"
}]
}
}, {
"type": "item",
"href": "#documents",
"left": {
"icon": "file-text-alt"
},
"center": {
"text": [{
"type": "h1",
"text": "Documents",
"text_i18n": "category.custom.documents.title"
}, {
"type": "p",
"text": "Productivity Tools",
"text_i18n": "category.custom.documents.description"
}]
}
}, {
"type": "item",
"href": "#database",
"left": {
"icon": "cogs"
},
"center": {
"text": [{
"type": "h1",
"text": "Database",
"text_i18n": "category.custom.database.title"
}, {
"type": "p",
"text": "Form Workflows",
"text_i18n": "category.custom.database.description"
}]
}
}, {
"type": "item",
"href": "#projects",
"left": {
"icon": "tasks"
},
"center": {
"text": [{
"type": "h1",
"text": "Projects",
"text_i18n": "category.custom.projects.title"
}, {
"type": "p",
"text": "Task Planning",
"text_i18n": "category.custom.projects.description"
}]
}
}, {
"type": "item",
"href": "#drawings",
"left": {
"icon": "edit"
},
"center": {
"text": [{
"type": "h1",
"text": "Drawings",
"text_i18n": "category.custom.drawings.title"
}, {
"type": "p",
"text": "Drawing Images",
"text_i18n": "category.custom.drawings.description"
}]
}
}, {
"type": "item",
"href": "#reports",
"left": {
"icon": "filter"
},
"center": {
"text": [{
"type": "h1",
"text": "Reports",
"text_i18n": "category.custom.reports.title"
}, {
"type": "p",
"text": "Data Analysis",
"text_i18n": "category.custom.reports.description"
}]
}
}, {
"type": "item",
"href": "#development",
"left": {
"icon": "filter"
},
"center": {
"text": [{
"type": "h1",
"text": "Development",
"text_i18n": "category.custom.development.title"
}, {
"type": "p",
"text": "Development Tools",
"text_i18n": "category.custom.development.description"
}]
}
}, {
"type": "divider",
"center": {
"text": [{
"type": "h1",
"text": "Support",
"text_i18n": "support.title"
}]
}
}, {
"type": "item",
"href": "#apps?mode=new",
"left": {
"icon": "question-sign"
},
"center": {
"text": [{
"type": "h1",
"text": "Developers",
"text_i18n": "support.submit.title"
}, {
"type": "p",
"text": "Add your application",
"text_i18n": "support.submit.description"
}]
}
}]
}]
}, {
"generate": "widget",
"type": "popup",
"class_list": "popup single ui-content",
"theme": "slapos-white",
"property_dict": {
"shadow": true,
"overlay_theme": "slapos-black"
}
}, {
"generate": "widget",
"type": "header",
"theme": "slapos-white",
"property_dict": {
"fixed": true,
"title": "",
"title_i18n": "global.default_page_title"
},
"children": [{
"generate": "widget",
"type": "controlgroup",
"property_dict": {
"direction": "horizontal"
},
"children": [{
"type": "a",
"direct": {
"href": "#global_panel",
"className": "responsive translate"
},
"attributes": {
"data-rel": "panel",
"data-icon": "reorder",
"data-i18n": "global.menu",
"style": "display:none"
},
"logic": {
"text": "Menu"
}
}]
}, {
"generate": "widget",
"type": "controlgroup",
"property_dict": {
"direction": "horizontal"
},
"children": [{
"type": "select",
"direct": {
"id": "switch_language",
"className": "action responsive translate"
},
"attributes": {
"data-action": "translate",
"data-icon": "flag"
},
"logic": {
"wrapper_class_list": "flag",
"options": [{
"value": "",
"text": "Languages:",
"text_i18n": "languages.pick",
"selected": true
}, {
"value": "en-EN",
"text": "English",
"text_i18n": "languages.english"
}, {
"value": "zh-CN",
"text": "Chinese",
"text_i18n": "languages.chinese"
}]
}
}, {
"type": "a",
"direct": {
"href": "#all",
"className": "responsive translate"
},
"attributes": {
"data-icon": "home",
"data-i18n": "global.home"
},
"logic": {
"text": "Home"
}
}]
}]
}]
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>00d4f5a4df641f81dd83ed934712bb50</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>data/global.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_appstore_data_global_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>global.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.82</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{
"global": {
"home": "Home",
"search_apps": "Search Apps",
"default_page_title": "Mynij Store",
"menu": "Menu",
"pagination": {
"first": "First",
"last": "Last",
"previous": "Previous",
"next": "Next",
"16": "16",
"32": "32",
"64": "64",
"128": "128"
},
"action_list": {
"reset": "Reset",
"submit": "Submit",
"no_items": "No items found",
"back": "Back",
"clear": "Delete"
}
},
"pages": {
"submit": {
"title": "Submit Your App",
"submission_info": "Adding an application to officeJS only requires 1 URL and 1 click. Please read the specifications for applications before submitting your own app. Only applications that meet the specifications will be published."
},
"contacts": {
"title": "Contacts Apps",
"search": "Search Contact Apps"
},
"home": {
"title": "Office JS App Store",
"info_officejs": "Mynij Store has Sitemaps source for various websites. They are available for install in one click in Mynij PWA. No login required."
},
"documents": {
"title": "Document Apps",
"search": "Search Document Apps"
},
"database": {
"title": "Database Apps",
"search": "Search Database Apps"
},
"drawings": {
"title": "Drawing Apps",
"search": "Search Drawing Apps"
},
"planning": {
"title": "Planning Apps",
"search": "Search Planning Apps"
},
"projects": {
"title": "Project Management Apps",
"search": "Search Project Management Apps"
},
"reports": {
"title": "Reporting Apps",
"search": "Search Reporting Apps"
}
},
"validation": {
"external": "The input failed the external validator.",
"required": "Field is required but not found.",
"too_much_input": "Too much input given.",
"too_many_lines": "You have entered too many lines.",
"too_many_chars": "You have entered too many characters.",
"too_long_lines": "One or more lines you have entered are too long.",
"not_valid_datetime": "The date/time you entered has no valid format.",
"out_of_range_datetime": "The date/time you entered is out of range.",
"option_not_available": "You selected on option not on the menu."
},
"languages": {
"english": "English",
"chinese": "中文",
"pick": "Languages:"
},
"category": {
"title": "Categories",
"custom": {
"contacts": {
"title": "Contacts",
"description": "Customer Relationship Management"
},
"documents": {
"title": "Documents",
"description": "Productivity Tools"
},
"database": {
"title": "Database",
"description": "Form Workflows"
},
"projects": {
"title": "Projects",
"description": "Task Planning"
},
"drawings": {
"title": "Drawings",
"description": "Image Drawings"
},
"reports": {
"title": "Reports",
"description": "Data Analysis"
}
},
"field_list": {
"title": {
"title": "Title",
"description":"The name of a category."
},
"portal_type": {
"title":"Portal Type",
"description": "The portal_type this category was generated for."
},
"description": {
"title": "Description",
"description":"The description of a category."
},
"image_url": {
"title": "Image",
"description": "The image associated with this category."
},
"image_type": {
"title": "Image Type",
"description": "The type of image (image, icon...?)."
},
"url_parameter": {
"title": "URL Parameter",
"description": "The url parameter to be used for this category."
},
"description_i18n": {
"title": "Description i18n Lookup",
"description": "The pointer to the translation for this field"
},
"title_18n": {
"title": "Title i18n Lookup",
"description": "The pointer to the translation for this field"
}
}
},
"application": {
"title": "Applications",
"custom": {
"task_manager_js": {
"title": "Task Manager JS",
"description": "The Task Manager is a web mobile applicaion based on HTML5, CSS3, Javascript, Jquery, Jquery Mobile, Grunt, Requirejs and many other plugins, no servers side language like php, java and so on... is needed. Data are fetch and retrieved by a more powerfull API named JIO. busness rules are now implemented by the client layer, data can be store either on localstorage for the browser or on remote storage like S3, Webdav, xwiki, dropbox and so on. The librairy named jIO provide methods(get, post, put, allDocs) for manipulating data. The application is integrating webapp, enabling offline support. At runtime, all files are downloaded into the user's device (browser cache), witch make the application faster the new time. It can run on laptop, tablets, smartphone and all devices having a web browser regardless of the OS."
},
"media_player": {
"title": "Media Player",
"description": "Media Player and Manager in full HTML5."
},
"jabber_client": {
"title": "Jabber client",
"description": "A simple web based jabber client."
},
"text_editor_js": {
"title": "Web Texts",
"description": "Simple Web Texts Editor"
},
"workflow_js": {
"title": "Workflow JS",
"description": "COMING SOON"
},
"contacts_js": {
"title": "Contacts JS",
"description": "COMING SOON"
},
"spreadsheet_editor": {
"title": "Spreadsheet Editor",
"description": "Task manager application with Spreadsheet documents."
},
"svg_editor": {
"title": "Web Illustrations",
"description": "Web Editor of SVG"
},
"monitor_js": {
"title": "Monitor",
"description": "Cloud Monitoring Tool"
},
"wallsearch": {
"title": "WallSearch",
"description": "Search your Facebook posts"
}
},
"field_list": {
"url": {
"title":"URL",
"description": "The URL an application will be fetched from."
},
"description": {
"title": "Description",
"description": "The description of the application."
},
"time_stamp_submitted": {
"title": "Submission Date",
"description": "Date the application was submitted."
},
"time_stamp_published": {
"title": "Publication Date",
"description": "Date the application was published."
},
"terms_accept": {
"title": "I accept the terms and conditions of officeJS apps.",
"description": "Please confirm our terms and conditions to continue."
},
"image_url": {
"title": "Image/Icon",
"description": "The icon/image for this application."
},
"image_type": {
"title": "Image Type",
"description":"Type of Image (Icon/Image)"
},
"title": {
"title": "Title",
"description": "The name of the application."
},
"category": {
"title": "Category",
"description": "The category of the application"
},
"upload": {
"title": "Upload",
"description": "Please upload your image here."
}
}
},
"support": {
"title": "Support",
"submit": {
"title": "Developers",
"description": "Submit Your Own App"
}
}
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>6c5d4a303964571f88c66d8b9286eb96</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>lang/en-EN/dict.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_appstore_lang_en-EN_dict_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dict.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.81</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{
"global": {
"home": "主页",
"search_apps": "搜索引擎",
"default_page_title": "Mynij 应用商店",
"menu": "菜单",
"pagination": {
"first": "首页",
"last": "末页",
"previous": "上一页",
"next": "下一页",
"16": "16",
"32": "32",
"64": "64",
"128": "128"
},
"action_list": {
"reset": "重设",
"submit": "提交",
"no_items": "无法找到该项目",
"back": "后退",
"clear": "删除"
}
},
"pages": {
"submit": {
"title": "提交您的应用",
"submission_info": "向OfficeJS添加一个应用只需要一个URL和一次轻松地点击。 请在提交您的应用前仔细阅读提交说明。 我们将只发布符合提交规范的应用。"
},
"contacts": {
"title": "联系应用程序",
"search": "搜索联系应用程序"
},
"home": {
"title": "Office JS 应用商店",
"info_officejs": "Mynij 是唯一可以与Windows, MacOS,安卓,火狐OS, Linux, 小米,Bada, Tizen等系统兼容的应用商店。 开始匿名浏览并使用应用程序."
},
"documents": {
"title": "文档应用程序",
"search": "搜索文档应用程序"
},
"database": {
"title": "数据库应用程序",
"search": "搜索数据库应用程序"
},
"drawings": {
"title": "制图应用程序",
"search": "搜索制图应用程序"
},
"planning": {
"title": "策划应用程序",
"search": "搜索策划应用程序"
},
"projects": {
"title": "项目管理应用程序",
"search": "搜索项目管理应用程序"
},
"reports": {
"title": "报告应用程序",
"search": "搜索报告应用程序"
}
},
"validation": {
"external": "外部验证输入内容有误.",
"required": "未发现所需领域.",
"too_much_input": "输入内容过多.",
"too_many_lines": "输入横线过多.",
"too_many_chars": "输入过多字符.",
"too_long_lines": "输入一条或多条过长横线.",
"not_valid_datetime": "输入日期/时间格式不正确.",
"out_of_range_datetime": "输入的日期/时间超出范围.",
"option_not_available": "所选的项目不存在."
},
"languages": {
"english": "English",
"chinese": "中文",
"pick": "语言:"
},
"category": {
"title": "类别",
"custom": {
"contacts": {
"title": "联系",
"description": "客户关系管理"
},
"documents": {
"title": "文档",
"description": "生产工具"
},
"database": {
"title": "数据库",
"description": "形成工作流程"
},
"projects": {
"title": "项目",
"description": "任务计划"
},
"drawings": {
"title": "制图",
"description": "图形绘制"
},
"reports": {
"title": "报告",
"description": "数据分析"
}
},
"field_list": {
"title": {
"title": "标题",
"description":"类别名称."
},
"portal_type": {
"title":"门户格式",
"description": "门户格式是由每一类别所管理的."
},
"description": {
"title": "描述",
"description":"对每个类别的描述."
},
"image_url": {
"title": "图像",
"description": "图像与这个类别相关."
},
"image_type": {
"title": "图像格式",
"description": "图像的格式(图像,图标...)."
},
"url_parameter": {
"title": "URL 参数",
"description": "被这一类别使用的URL参数."
},
"description_i18n": {
"title": "查阅i18n描述",
"description": "为这一类别翻译的指针"
},
"title_18n": {
"title": "查阅i18n标题",
"description": "为这一类别翻译的指针"
}
}
},
"application": {
"title": "应用程序",
"custom": {
"task_manager_js": {
"title": "任务管理 JS",
"description": "任务管理是一个基于HTML5,CSS3,Javascript,Jquery,Jquery移动,Grunt,Requirejs 以及许多其他插件技术上的移动网络应用,无需任何php,java等服务器方语言。 数据是从一个叫做JIO的更强大的应用程序接口中提取和恢复. 商务指令由用户方执行,数据可以被储存在浏览器的本地存储区或是远程存储器例如S3,Webdav,xwiki,dropbox等。这个叫做JIO的程序库可以提供操控数据的指令(get,post,put,allDocs)。这个程序整合了基于Web的系统和应用,并提供离线支持。在运行的时候,所有的文件都被下载到用户的设备中(浏览器缓存),从而使程序运行的更快。无论使用的是哪种操作系统,它都可以在电脑,平板,智能手机以及所有只要具有网络浏览器的设备上运行。"
},
"media_player": {
"title": "媒体播放器",
"description": "一款基于html的离线媒体播放器,接受文件格式mp3和webm"
},
"jabber_client": {
"title": "Jabber客户端",
"description": "一款基于renderJS模板的jabber客户端"
},
"text_editor_js": {
"title": "文本编辑",
"description": "一款简易的云端数据同步的文本编辑"
},
"workflow_js": {
"title": "工作流程",
"description": "COMING SOON."
},
"contacts_js": {
"title": "联络",
"description": "COMING SOON"
},
"spreadsheet_editor": {
"title": "电子表格编辑",
"description": "电子表格式的任务管理应用."
},
"svg_editor": {
"title": "SVG 编辑",
"description": "SVG文件任务管理应用"
},
"monitor_js": {
"title": "监测",
"description": "云监测工具"
}
},
"field_list": {
"url": {
"title":"网址",
"description": "用来提取相对应应用程序的URL."
},
"description": {
"title": "描述",
"description": "对应用程序的描述."
},
"time_stamp_submitted": {
"title": "提交日期",
"description": "应用程序被提交的日期."
},
"time_stamp_published": {
"title": "发布日期",
"description": "应用程序被发表的日期."
},
"terms_accept": {
"title": "我接受OfficeJS应用商店的条款和规定.",
"description": "请确认遵守我们的条款和规定以进行下一步操作."
},
"image_url": {
"title": "图像/图标",
"description": "这个应用程序的图像/图标."
},
"image_type": {
"title": "图像格式",
"description":"图像的格式 (图标/图像)"
},
"title": {
"title": "标题",
"description": "应用程序的名称."
},
"category": {
"title": "类别",
"description": "应用程序所属的类别"
},
"upload": {
"title": "上传",
"description": "请在这里上传您的图片."
},
"description_i18n": {
"title": "查阅i18n描述",
"description": "为这一类别翻译的指针"
},
"title_18n": {
"title": "查阅i18n标题",
"description": "为这一类别翻译的指针"
}
}
},
"support": {
"title": "支持",
"submit": {
"title": "开发者",
"description": "提交您自己的应用程序"
}
}
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>1358d7d139a90379346990f05617577c</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>lang/zh-CN/dict.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_appstore_lang_zh-CN_dict_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dict.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.8</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{
"portal_type_source": "Applications",
"portal_type_title": "application",
"portal_type_fields": "application_fieldlist",
"initial_query": {"sort": ["int_index", "descending"], "include_documents": true, "limit":[0,32]},
"form": null,
"id":"all_apps",
"property_dict": {},
"children": [{
"generate": "widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"type": "input",
"direct": {"id":"search_all_apps", "className": "translate"},
"attributes": {"data-enhanced":"true", "data-i18n": "[placeholder]pages.all.search","placeholder":"Search All Apps", "data-icon":"search", "data-action-btn":"true", "data-type":"search", "type":"search"},
"logic":{"clear":"true", "action":"search"}
},{
"type": "div",
"direct": {"className":"info"},
"attributes": {"data-info":"records"}
}]
}, {
"type": "p",
"direct": {"className": "translate ui-content-element responsive"},
"attributes": {"data-i18n":"pages.home.info_officejs"},
"logic": {"text": "Mynij Store has Sitemaps source for various website available for install in one click in mynij search app. No login required."}
}, {
"generate":"widget",
"type": "listview",
"class_list": "responsive",
"theme": "slapos-white",
"property_dict": {
"inset":"true",
"filter": "true",
"input": "#search_all_apps"
},
"children": []
}, {
"generate":"widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"generate": "widget",
"type": "controlgroup",
"class_list": "pagination",
"property_dict": {
"direction": "horizontal"
},
"children": [
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.first", "data-action":"first", "data-icon":"step-backward", "data-iconpos":"notext"}, "logic": {"text":"First"}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.previous", "data-action":"prev", "data-icon":"backward", "data-iconpos":"notext"}, "logic": {"text":"Step Backward"}},
{"type":"select", "direct":{"id":"paginate_reports_apps", "className":"action"},"attributes": {"data-icon":"reorder", "data-action":"limit", "data-iconpos":"notext"},"logic": {"options":[{"value": "16", "text": "16", "text_i18n":"global.pagination.16"},{"value": "32", "text": "32", "text_i18n":"global.pagination.32"},{"value": "64", "text": "64", "text_i18n":"global.pagination.64"}, {"value": "128", "text": "128", "text_i18n":"global.pagination.128"}]}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.next", "data-action":"next", "data-icon":"forward", "data-iconpos":"notext"}, "logic": {"text":"Step Forward"}},
{"type": "a", "direct":{"className":"action", "href":""}, "attributes":{"data-i18n":"global.pagination.last", "data-action":"last", "data-icon":"step-forward", "data-iconpos":"notext"}, "logic": {"text": "Last"}}
]
}]
},
{
"generate":"widget",
"type": "controlbar",
"class_list": "responsive",
"children": [{
"type": "a",
"attributes": {"href":"http://www.miitbeian.gov.cn", "style": "padding-top: 1em;" },
"logic": {"text": "沪ICP备14008524号"}
}]
}]
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>89844647e16493423f39504266f2ab61</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>data/all_apps.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>store_officejs_data_all_apps_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>all_apps.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
[{
"generate": "widget",
"type": "panel",
"theme": "slapos-black",
"property_dict": {
"close": true
},
"children": [{
"type": "input",
"direct": {
"id": "global_search",
"className": "translate"
},
"attributes": {
"data-enhanced": "true",
"data-i18n": "[placeholder]global.search_apps",
"placeholder": "Search Apps",
"data-icon": "search",
"data-action-btn": "true",
"data-type": "search",
"type": "search"
},
"logic": {
"clear": "true",
"action": "search"
}
}, {
"generate": "widget",
"type": "listview",
"class_list": null,
"theme": "slapos-black",
"form": null,
"property_dict": {
"filter": "true",
"input": "#global_search"
},
"children": [{
"type": "divider",
"center": {
"text": [{
"type": "h1",
"text": "Applications",
"text_i18n": "category.title"
}]
}
}, {
"type": "item",
"href": "#contacts",
"left": {
"icon": "group"
},
"center": {
"text": [{
"type": "h1",
"text": "Contacts",
"text_i18n": "category.custom.contacts.title"
}, {
"type": "p",
"text": "Customer Relationship Management",
"text_i18n": "category.custom.contacts.description"
}]
}
}, {
"type": "item",
"href": "#documents",
"left": {
"icon": "file-text-alt"
},
"center": {
"text": [{
"type": "h1",
"text": "Documents",
"text_i18n": "category.custom.documents.title"
}, {
"type": "p",
"text": "Productivity Tools",
"text_i18n": "category.custom.documents.description"
}]
}
}, {
"type": "item",
"href": "#database",
"left": {
"icon": "cogs"
},
"center": {
"text": [{
"type": "h1",
"text": "Database",
"text_i18n": "category.custom.database.title"
}, {
"type": "p",
"text": "Form Workflows",
"text_i18n": "category.custom.database.description"
}]
}
}, {
"type": "item",
"href": "#projects",
"left": {
"icon": "tasks"
},
"center": {
"text": [{
"type": "h1",
"text": "Projects",
"text_i18n": "category.custom.projects.title"
}, {
"type": "p",
"text": "Task Planning",
"text_i18n": "category.custom.projects.description"
}]
}
}, {
"type": "item",
"href": "#drawings",
"left": {
"icon": "edit"
},
"center": {
"text": [{
"type": "h1",
"text": "Drawings",
"text_i18n": "category.custom.drawings.title"
}, {
"type": "p",
"text": "Drawing Images",
"text_i18n": "category.custom.drawings.description"
}]
}
}, {
"type": "item",
"href": "#reports",
"left": {
"icon": "filter"
},
"center": {
"text": [{
"type": "h1",
"text": "Reports",
"text_i18n": "category.custom.reports.title"
}, {
"type": "p",
"text": "Data Analysis",
"text_i18n": "category.custom.reports.description"
}]
}
}, {
"type": "item",
"href": "#development",
"left": {
"icon": "filter"
},
"center": {
"text": [{
"type": "h1",
"text": "Development",
"text_i18n": "category.custom.development.title"
}, {
"type": "p",
"text": "Development Tools",
"text_i18n": "category.custom.development.description"
}]
}
}, {
"type": "divider",
"center": {
"text": [{
"type": "h1",
"text": "Support",
"text_i18n": "support.title"
}]
}
}, {
"type": "item",
"href": "#apps?mode=new",
"left": {
"icon": "question-sign"
},
"center": {
"text": [{
"type": "h1",
"text": "Developers",
"text_i18n": "support.submit.title"
}, {
"type": "p",
"text": "Add your application",
"text_i18n": "support.submit.description"
}]
}
}]
}]
}, {
"generate": "widget",
"type": "popup",
"class_list": "popup single ui-content",
"theme": "slapos-white",
"property_dict": {
"shadow": true,
"overlay_theme": "slapos-black"
}
}, {
"generate": "widget",
"type": "header",
"theme": "slapos-white",
"property_dict": {
"fixed": true,
"title": "",
"title_i18n": "global.default_page_title"
},
"children": [{
"generate": "widget",
"type": "controlgroup",
"property_dict": {
"direction": "horizontal"
},
"children": [{
"type": "a",
"direct": {
"href": "#global_panel",
"className": "responsive translate"
},
"attributes": {
"data-rel": "panel",
"data-icon": "reorder",
"data-i18n": "global.menu",
"style": "display:none"
},
"logic": {
"text": "Menu"
}
}]
}, {
"generate": "widget",
"type": "controlgroup",
"property_dict": {
"direction": "horizontal"
},
"children": [{
"type": "select",
"direct": {
"id": "switch_language",
"className": "action responsive translate"
},
"attributes": {
"data-action": "translate",
"data-icon": "flag"
},
"logic": {
"wrapper_class_list": "flag",
"options": [{
"value": "",
"text": "Languages:",
"text_i18n": "languages.pick",
"selected": true
}, {
"value": "en-EN",
"text": "English",
"text_i18n": "languages.english"
}, {
"value": "zh-CN",
"text": "Chinese",
"text_i18n": "languages.chinese"
}]
}
}, {
"type": "a",
"direct": {
"href": "#all",
"className": "responsive translate"
},
"attributes": {
"data-icon": "home",
"data-i18n": "global.home"
},
"logic": {
"text": "Home"
}
}]
}]
}]
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>00d4f5a4df641f81dd83ed934712bb50</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>data/global.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>store_officejs_data_global_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>global.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.86</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{
"global": {
"home": "Home",
"search_apps": "Search Apps",
"default_page_title": "Mynij Store",
"menu": "Menu",
"pagination": {
"first": "First",
"last": "Last",
"previous": "Previous",
"next": "Next",
"16": "16",
"32": "32",
"64": "64",
"128": "128"
},
"action_list": {
"reset": "Reset",
"submit": "Submit",
"no_items": "No items found",
"back": "Back",
"clear": "Delete"
}
},
"pages": {
"submit": {
"title": "Submit Your App",
"submission_info": "Adding an application to officeJS only requires 1 URL and 1 click. Please read the specifications for applications before submitting your own app. Only applications that meet the specifications will be published."
},
"contacts": {
"title": "Contacts Apps",
"search": "Search Contact Apps"
},
"home": {
"title": "Office JS App Store",
"info_officejs": "Mynij Store has Sitemaps source for various websites. They are available for install in one click in Mynij PWA. No login required."
},
"documents": {
"title": "Document Apps",
"search": "Search Document Apps"
},
"database": {
"title": "Database Apps",
"search": "Search Database Apps"
},
"drawings": {
"title": "Drawing Apps",
"search": "Search Drawing Apps"
},
"planning": {
"title": "Planning Apps",
"search": "Search Planning Apps"
},
"projects": {
"title": "Project Management Apps",
"search": "Search Project Management Apps"
},
"reports": {
"title": "Reporting Apps",
"search": "Search Reporting Apps"
}
},
"validation": {
"external": "The input failed the external validator.",
"required": "Field is required but not found.",
"too_much_input": "Too much input given.",
"too_many_lines": "You have entered too many lines.",
"too_many_chars": "You have entered too many characters.",
"too_long_lines": "One or more lines you have entered are too long.",
"not_valid_datetime": "The date/time you entered has no valid format.",
"out_of_range_datetime": "The date/time you entered is out of range.",
"option_not_available": "You selected on option not on the menu."
},
"languages": {
"english": "English",
"chinese": "中文",
"pick": "Languages:"
},
"category": {
"title": "Categories",
"custom": {
"contacts": {
"title": "Contacts",
"description": "Customer Relationship Management"
},
"documents": {
"title": "Documents",
"description": "Productivity Tools"
},
"database": {
"title": "Database",
"description": "Form Workflows"
},
"projects": {
"title": "Projects",
"description": "Task Planning"
},
"drawings": {
"title": "Drawings",
"description": "Image Drawings"
},
"reports": {
"title": "Reports",
"description": "Data Analysis"
}
},
"field_list": {
"title": {
"title": "Title",
"description":"The name of a category."
},
"portal_type": {
"title":"Portal Type",
"description": "The portal_type this category was generated for."
},
"description": {
"title": "Description",
"description":"The description of a category."
},
"image_url": {
"title": "Image",
"description": "The image associated with this category."
},
"image_type": {
"title": "Image Type",
"description": "The type of image (image, icon...?)."
},
"url_parameter": {
"title": "URL Parameter",
"description": "The url parameter to be used for this category."
},
"description_i18n": {
"title": "Description i18n Lookup",
"description": "The pointer to the translation for this field"
},
"title_18n": {
"title": "Title i18n Lookup",
"description": "The pointer to the translation for this field"
}
}
},
"application": {
"title": "Applications",
"custom": {
"task_manager_js": {
"title": "Task Manager JS",
"description": "The Task Manager is a web mobile applicaion based on HTML5, CSS3, Javascript, Jquery, Jquery Mobile, Grunt, Requirejs and many other plugins, no servers side language like php, java and so on... is needed. Data are fetch and retrieved by a more powerfull API named JIO. busness rules are now implemented by the client layer, data can be store either on localstorage for the browser or on remote storage like S3, Webdav, xwiki, dropbox and so on. The librairy named jIO provide methods(get, post, put, allDocs) for manipulating data. The application is integrating webapp, enabling offline support. At runtime, all files are downloaded into the user's device (browser cache), witch make the application faster the new time. It can run on laptop, tablets, smartphone and all devices having a web browser regardless of the OS."
},
"media_player": {
"title": "Media Player",
"description": "Media Player and Manager in full HTML5."
},
"jabber_client": {
"title": "Jabber client",
"description": "A simple web based jabber client."
},
"text_editor_js": {
"title": "Web Texts",
"description": "Simple Web Texts Editor"
},
"workflow_js": {
"title": "Workflow JS",
"description": "COMING SOON"
},
"contacts_js": {
"title": "Contacts JS",
"description": "COMING SOON"
},
"spreadsheet_editor": {
"title": "Spreadsheet Editor",
"description": "Task manager application with Spreadsheet documents."
},
"svg_editor": {
"title": "Web Illustrations",
"description": "Web Editor of SVG"
},
"monitor_js": {
"title": "Monitor",
"description": "Cloud Monitoring Tool"
},
"wallsearch": {
"title": "WallSearch",
"description": "Search your Facebook posts"
}
},
"field_list": {
"url": {
"title":"URL",
"description": "The URL an application will be fetched from."
},
"description": {
"title": "Description",
"description": "The description of the application."
},
"time_stamp_submitted": {
"title": "Submission Date",
"description": "Date the application was submitted."
},
"time_stamp_published": {
"title": "Publication Date",
"description": "Date the application was published."
},
"terms_accept": {
"title": "I accept the terms and conditions of officeJS apps.",
"description": "Please confirm our terms and conditions to continue."
},
"image_url": {
"title": "Image/Icon",
"description": "The icon/image for this application."
},
"image_type": {
"title": "Image Type",
"description":"Type of Image (Icon/Image)"
},
"title": {
"title": "Title",
"description": "The name of the application."
},
"category": {
"title": "Category",
"description": "The category of the application"
},
"upload": {
"title": "Upload",
"description": "Please upload your image here."
}
}
},
"support": {
"title": "Support",
"submit": {
"title": "Developers",
"description": "Submit Your Own App"
}
}
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>6c5d4a303964571f88c66d8b9286eb96</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>lang/en-EN/dict.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>store_officejs_lang_en-EN_dict_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dict.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.85</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{
"global": {
"home": "主页",
"search_apps": "搜索引擎",
"default_page_title": "Mynij 应用商店",
"menu": "菜单",
"pagination": {
"first": "首页",
"last": "末页",
"previous": "上一页",
"next": "下一页",
"16": "16",
"32": "32",
"64": "64",
"128": "128"
},
"action_list": {
"reset": "重设",
"submit": "提交",
"no_items": "无法找到该项目",
"back": "后退",
"clear": "删除"
}
},
"pages": {
"submit": {
"title": "提交您的应用",
"submission_info": "向OfficeJS添加一个应用只需要一个URL和一次轻松地点击。 请在提交您的应用前仔细阅读提交说明。 我们将只发布符合提交规范的应用。"
},
"contacts": {
"title": "联系应用程序",
"search": "搜索联系应用程序"
},
"home": {
"title": "Office JS 应用商店",
"info_officejs": "Mynij 是唯一可以与Windows, MacOS,安卓,火狐OS, Linux, 小米,Bada, Tizen等系统兼容的应用商店。 开始匿名浏览并使用应用程序."
},
"documents": {
"title": "文档应用程序",
"search": "搜索文档应用程序"
},
"database": {
"title": "数据库应用程序",
"search": "搜索数据库应用程序"
},
"drawings": {
"title": "制图应用程序",
"search": "搜索制图应用程序"
},
"planning": {
"title": "策划应用程序",
"search": "搜索策划应用程序"
},
"projects": {
"title": "项目管理应用程序",
"search": "搜索项目管理应用程序"
},
"reports": {
"title": "报告应用程序",
"search": "搜索报告应用程序"
}
},
"validation": {
"external": "外部验证输入内容有误.",
"required": "未发现所需领域.",
"too_much_input": "输入内容过多.",
"too_many_lines": "输入横线过多.",
"too_many_chars": "输入过多字符.",
"too_long_lines": "输入一条或多条过长横线.",
"not_valid_datetime": "输入日期/时间格式不正确.",
"out_of_range_datetime": "输入的日期/时间超出范围.",
"option_not_available": "所选的项目不存在."
},
"languages": {
"english": "English",
"chinese": "中文",
"pick": "语言:"
},
"category": {
"title": "类别",
"custom": {
"contacts": {
"title": "联系",
"description": "客户关系管理"
},
"documents": {
"title": "文档",
"description": "生产工具"
},
"database": {
"title": "数据库",
"description": "形成工作流程"
},
"projects": {
"title": "项目",
"description": "任务计划"
},
"drawings": {
"title": "制图",
"description": "图形绘制"
},
"reports": {
"title": "报告",
"description": "数据分析"
}
},
"field_list": {
"title": {
"title": "标题",
"description":"类别名称."
},
"portal_type": {
"title":"门户格式",
"description": "门户格式是由每一类别所管理的."
},
"description": {
"title": "描述",
"description":"对每个类别的描述."
},
"image_url": {
"title": "图像",
"description": "图像与这个类别相关."
},
"image_type": {
"title": "图像格式",
"description": "图像的格式(图像,图标...)."
},
"url_parameter": {
"title": "URL 参数",
"description": "被这一类别使用的URL参数."
},
"description_i18n": {
"title": "查阅i18n描述",
"description": "为这一类别翻译的指针"
},
"title_18n": {
"title": "查阅i18n标题",
"description": "为这一类别翻译的指针"
}
}
},
"application": {
"title": "应用程序",
"custom": {
"task_manager_js": {
"title": "任务管理 JS",
"description": "任务管理是一个基于HTML5,CSS3,Javascript,Jquery,Jquery移动,Grunt,Requirejs 以及许多其他插件技术上的移动网络应用,无需任何php,java等服务器方语言。 数据是从一个叫做JIO的更强大的应用程序接口中提取和恢复. 商务指令由用户方执行,数据可以被储存在浏览器的本地存储区或是远程存储器例如S3,Webdav,xwiki,dropbox等。这个叫做JIO的程序库可以提供操控数据的指令(get,post,put,allDocs)。这个程序整合了基于Web的系统和应用,并提供离线支持。在运行的时候,所有的文件都被下载到用户的设备中(浏览器缓存),从而使程序运行的更快。无论使用的是哪种操作系统,它都可以在电脑,平板,智能手机以及所有只要具有网络浏览器的设备上运行。"
},
"media_player": {
"title": "媒体播放器",
"description": "一款基于html的离线媒体播放器,接受文件格式mp3和webm"
},
"jabber_client": {
"title": "Jabber客户端",
"description": "一款基于renderJS模板的jabber客户端"
},
"text_editor_js": {
"title": "文本编辑",
"description": "一款简易的云端数据同步的文本编辑"
},
"workflow_js": {
"title": "工作流程",
"description": "COMING SOON."
},
"contacts_js": {
"title": "联络",
"description": "COMING SOON"
},
"spreadsheet_editor": {
"title": "电子表格编辑",
"description": "电子表格式的任务管理应用."
},
"svg_editor": {
"title": "SVG 编辑",
"description": "SVG文件任务管理应用"
},
"monitor_js": {
"title": "监测",
"description": "云监测工具"
}
},
"field_list": {
"url": {
"title":"网址",
"description": "用来提取相对应应用程序的URL."
},
"description": {
"title": "描述",
"description": "对应用程序的描述."
},
"time_stamp_submitted": {
"title": "提交日期",
"description": "应用程序被提交的日期."
},
"time_stamp_published": {
"title": "发布日期",
"description": "应用程序被发表的日期."
},
"terms_accept": {
"title": "我接受OfficeJS应用商店的条款和规定.",
"description": "请确认遵守我们的条款和规定以进行下一步操作."
},
"image_url": {
"title": "图像/图标",
"description": "这个应用程序的图像/图标."
},
"image_type": {
"title": "图像格式",
"description":"图像的格式 (图标/图像)"
},
"title": {
"title": "标题",
"description": "应用程序的名称."
},
"category": {
"title": "类别",
"description": "应用程序所属的类别"
},
"upload": {
"title": "上传",
"description": "请在这里上传您的图片."
},
"description_i18n": {
"title": "查阅i18n描述",
"description": "为这一类别翻译的指针"
},
"title_18n": {
"title": "查阅i18n标题",
"description": "为这一类别翻译的指针"
}
}
},
"support": {
"title": "支持",
"submit": {
"title": "开发者",
"description": "提交您自己的应用程序"
}
}
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>1358d7d139a90379346990f05617577c</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/json</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>lang/zh-CN/dict.json</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>store_officejs_lang_zh-CN_dict_json</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>File</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dict.json</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634649307.84</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*global window, rJS, URL, jIO, RSVP*/
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, URL, jIO) {
"use strict";
rJS(window)
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("redirect", "redirect")
.declareMethod('render', function (options) {
var value,
css_class = "ui-btn orange",
url_options,
url;
if (options.state === "Accepted") {
if (options.select) {
value = "Active";
css_class = "ui-btn-disabled green";
} else {
value = "Select";
css_class = "ui-btn blue";
url = new URL('./' + options.jio_key + '/SoftwarePublication_selectVersion', new URL(window.location.pathname, window.location.origin));
}
} else if (options.state === "Submitted") {
value = "Ask Publication";
css_class = 'blue';
url_options = {
command: 'display_erp5_action',
options: {page: 'open_action', jio_key: options.jio_key}
};
} else if (options.state === "Draft") {
value = "Wait For Submit";
} else {
value = "Wait For Approval";
}
return this.changeState({
value: value,
css_class: css_class,
url: url,
url_options: url_options
});
})
.onStateChange(function (modification_dict) {
var a = this.element.querySelector("a");
if (modification_dict.hasOwnProperty('value')) {
a.textContent = modification_dict.value;
}
if (modification_dict.hasOwnProperty('css_class')) {
a.setAttribute('class', this.state.css_class);
}
})
.onEvent('click', function () {
var gadget = this;
if (gadget.state.url) {
return new RSVP.Queue()
.push(function () {
return jIO.util.ajax({
type: 'POST',
url: gadget.state.url
});
})
.push(function () {
return gadget.redirect({command: 'change', options: {}});
});
}
if (gadget.state.url_options) {
return gadget.redirect(gadget.state.url_options);
}
})
.declareMethod('getContent', function () {
return {};
});
}(window, rJS, URL, jIO, RSVP));
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Sheet" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>AppstoreSystemPreference</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Sheet</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>mynij.com</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_system_appstore_app_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: \'https://mynij.com\'</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>preferred_system_appstore_app_url</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>app.officejs.com</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_system_appstore_wildcard_domain_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: \'\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>http / https</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_system_appstore_wildcard_protocol_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: \'https\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<registered_skin_selection>
<skin_folder_selection>
<skin_folder>erp5_mynij_credential</skin_folder>
<skin_selection>RJS</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_mynij_sourcestore</skin_folder>
<skin_selection>Hal,HalRestricted,RJS</skin_selection>
</skin_folder_selection>
</registered_skin_selection>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>99.3</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_mynij_credential</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Mynij Credential</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>login_form</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title tal:content="python: here.getPortalObject().getTitle()"></title>
<link rel="stylesheet" href="gadget_erp5_nojqm.css">
</head>
<body tal:define="form_action string:WebSite_login;">
<div data-gadget-scope='header'>
<div class="ui-header">
<h1><span i18n:domain="ui" i18n:translate="">Connect</span></h1>
</div>
</div>
<div data-gadget-scope='panel'>
<div data-role="header">
<div class="panel_img">
<img alt="OfficeJS" src="officejs_logo.png"/>
</div>
</div>
</div>
<div data-role="page">
<div class="gadget-content">
<article>
<section>
<div class="ui-field-contain">
<h2 style="
padding-bottom: 20px;
color: hsl(0, 0%, 42%);
font-size: .9em;
font-style: italic;
">For now, contributing sources is an experimental feature open to beta testers. If you are interested to contribute sources to the Source Store, please contact us at <a href="mailto:contributor@mynij.com">contributor@mynij.com</a> to get your account.</h2>
</div>
<form method="post" tal:attributes="action python: '%s/' % context.absolute_url()">
<div class="ui-field-contain">
<label i18n:domain="ui" i18n:translate="" >Login</label>
<div><input autofocus type="text" name="__ac_name" value="" required=""></div>
</div>
<div class="ui-field-contain">
<label i18n:domain="ui" i18n:translate="" >Password</label>
<div><input type="password" name="__ac_password" value="" required=""></div>
</div>
<div class="ui-field-contain">
<label></label>
<div tal:define="absolute_url python:context.absolute_url()">
<a i18n:domain="ui" i18n:translate="" tal:attributes="href python: '%s/WebSite_viewRecoverAccount?came_from=%s' % (absolute_url, absolute_url)">I forgot my password!</a>
</div>
</div>
<div class="ui-field-contain">
<label></label>
<div><input type="submit" value='Login' i18n:attributes="value" i18n:domain="ui" tal:attributes="name python: '%s:method' % (form_action, )"/></div>
</div>
<!--<div class="ui-field-contain">
<label></label>
<div><a tal:attributes="href string:join_form"
i18n:translate="" i18n:domain="ui" class="zocial secondary"> Create New Account </a>
</div>
</div>-->
<input type="hidden" name="url" tal:attributes="value python: context.absolute_url()" />
<input tal:condition="exists: request/came_from"
type="hidden" name="came_from"
tal:attributes="value request/came_from" />
</form>
</section>
<section>
</section>
</article>
</div>
<tal:block tal:condition="exists: request/portal_status_message">
<div data-gadget-scope="notification" data-gadget-sandbox="public" class="visible" onclick="this.setAttribute('class', '');">
<button tal:attributes="data-i18n request/portal_status_message; class request/notification_status" type="submit" class="success" tal:content="request/portal_status_message"></button>
</div>
</tal:block>
</div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>90.5</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_mynij_sourcestore</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
import json
from DateTime import DateTime
portal = context.getPortalObject()
preference_tool = portal.portal_preferences
software_product_list = portal.portal_catalog(portal_type='Software Product', validation_state='validated')
appstore_data = []
logo_url_list = []
i = 0
def getManifestData(version):
doc = portal.portal_catalog.getResultValue(
portal_type="File",
version=version
)
if not doc:
return
try:
json_doc = json.loads(doc.getData())[0]
except ValueError:
return
logo_src = ""
if json_doc.has_key('logo') and isinstance(json_doc['logo'], dict):
logo_src = json_doc['logo'].get('url', '')
return {
"short_name": json_doc['title'],
"name": json_doc['title'],
"filename": doc.getFilename(),
"description": json_doc['description'],
"icons": [{
"src": logo_src,
"sizes": "128x128",
"type": "image/png"
}],
"start_url": "../../",
"display": "standalone"
}
for software_product in software_product_list:
web_site = software_product.SoftwareProduct_getRelatedWebSite()
version = web_site.getLayoutProperty('configuration_latest_version')
# allow to have application without web manifest
data = getManifestData(version)
logo = None
if data is not None:
src_icon = data['icons'][0]['src']
logo_src = None
if src_icon == '':
logo = portal.portal_catalog.getResultValue(reference='default_web_site_logo.png', portal_type='File')
elif src_icon.startswith('data:image'):
logo_src = src_icon
else:
logo = portal.portal_catalog.getResultValue(reference='%' + src_icon, version=version, portal_type='File')
if logo is not None:
logo_src = logo.getReference()
logo_url_list.append('appstore/' + logo_src)
if logo_src is not None:
# Future domain could be defined by user
app_domain = software_product.getFollowUpId(portal_type="Web Section")
appstore_data.append({
"int_index": str(i),
"application_image_type": 'image',
"application_image_url": logo_src,
"application_toc_accept": 'true',
"application_published": 'some_date',
"application_submitted": 'other_date',
"application_description": data["description"] if "description" in data else data["name"],
"application_url": "https://mynij.app.officejs.com/#/?page=load_source&url=%s://%s/%s/%s/%s" % (
preference_tool.getPreferredSystemAppstoreWildcardProtocol(),
preference_tool.getPreferredSystemAppstoreWildcardDomain(),
app_domain,
version,
data['filename']
),
"application_title": data["short_name"],
"application_category": data['category'] if "category" in data else "Documents",
"application_title_i18n": "application.custom.%s.title" % app_domain,
"application_description_i18n": "application.custom.%s.description" % app_domain
})
i+=1
json_data = json.dumps(appstore_data)
json_document = portal.document_module['store_officejs_data_application_sample_json']
if (json_data != json_document.getData()):
# Do not modify document history with edit if nothing changed
json_document.edit(data=json.dumps(appstore_data))
manifest_content = portal.web_page_module['store_officejs_base_appcache'].getTextContent()
# Ensure the appcache content is modified when the json is too
logo_url_list.append('# %s' % DateTime())
portal.web_page_module['store_officejs_appcache'].edit(text_content=manifest_content.replace('${logo_list}', '\n'.join(logo_url_list)))
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Alarm_updateAppstoreWebSite</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
import hashlib
from DateTime import DateTime
portal = context.getPortalObject()
software_product = context
now = DateTime()
version_title = str(now)
# Generate Version Number
# XXX Should Check that version of this software doesn't already exists
version = hashlib.sha224("%s-%s" % (version_title, now)).hexdigest()[:10]
tag = "new_software_publication_" + version
# Create Software Publication
# It carries the software publication process
software_publication = portal.software_publication_module.newContent(
portal_type="Software Publication",
description=changelog,
source=software_product.getSource(),
# We should probably use a more simple reference using an incremental id generator
reference="SP-" + version,
title='%s publication %s' % (software_product.getTitle(), version_title),
start_date=now,
#Wait for all related documents indexation, to avoid issue with officejs submit alarm.
activate_kw={"after_tag": tag}
)
# Create Software Release
# This is the result of the publication process. It is an aggregate of the line
software_release = portal.software_release_module.newContent(
portal_type="Software Release",
reference=version,
title='%s release %s-%s' % (software_product.getTitle(), version_title, version),
version=version_title,
follow_up_value=software_product,
activate_kw={"tag": tag}
)
# Create Software Publication Line
software_publication.newContent(
portal_type="Software Publication Line",
title=software_publication.getTitle() + " Publication",
aggregate_list=[software_release.getRelativeUrl(), software_product.getSaleSupplyLineAggregate()],
resource_value=software_product,
activate_kw={"tag": tag}
)
software_publication.Base_contribute(
file=file,
attach_document_to_context=True,
portal_type="File",
publication_section="publication_section/application/package",
redirect_to_document=False,
version=version,
activate_kw={"tag": tag}
)
return software_publication.Base_redirect(
"",
keep_items={
'portal_status_message': portal.Base_translateString("Your demand is being processed, please wait status to move to 'Submitted' and use test URL to review your source.")
}
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>file, changelog="", **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SoftwareProduct_updateApplication</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
software_publication_line_list = context.objectValues(portal_type="Software Publication Line")
if len(software_publication_line_list) == 0:
return
software_publication_line = software_publication_line_list[0]
software_release = software_publication_line.getAggregateValue(portal_type="Software Release")
software_product = software_publication_line.getResourceValue(portal_type="Software Product")
if not software_product or not software_release or not software_product.getFollowUpId(portal_type="Web Section"):
return
portal = context.getPortalObject()
preference_tool = portal.portal_preferences
document = portal.portal_catalog.getResultValue(
portal_type="File",
version=software_release.getReference()
)
#return "%s://%s.%s/%s/" % (
# preference_tool.getPreferredSystemAppstoreWildcardProtocol(),
# software_product.getFollowUpId(portal_type="Web Section"),
# preference_tool.getPreferredSystemAppstoreWildcardDomain(),
# software_release.getReference(),
#)
return "https://mynij.com/#/?page=load_source&url=%s://%s/%s/%s/%s" % (
preference_tool.getPreferredSystemAppstoreWildcardProtocol(),
preference_tool.getPreferredSystemAppstoreWildcardDomain(),
software_product.getFollowUpId(portal_type="Web Section"),
software_release.getReference(),
document.getFilename()
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>as_link=True</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SoftwarePublication_getTestUrl</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
software_publication = context
if software_publication.getSimulationState() != "draft":
return
software_publication_line = software_publication.objectValues(
portal_type="Software Publication Line",
)[0]
software_product = software_publication_line.getResourceValue(portal_type="Software Product")
if not software_product:
return
portal = context.getPortalObject()
application_publication_section = portal.portal_categories.publication_section.application
json_file = portal.portal_catalog.getResultValue(
portal_type="File",
strict_publication_section_uid=application_publication_section.package.getUid(),
strict_follow_up_uid=software_publication.getUid(),
)
if not json_file:
# XXX Do something?
return
software_release = software_publication_line.getAggregateValue(portal_type="Software Release")
from cStringIO import StringIO
#import json
#import zipfile
#zipbuffer = StringIO()
#zipbuffer.write(str(zip_file.getData()))
#zip_reader = zipfile.ZipFile(zipbuffer)
user_login = software_publication.getSourceReference()
version = software_release.getReference()
"""def extractWebManifest(html_file):
html = context.Base_parseHtml(html_file)
for tag in html:
if tag[0] == 'starttag' and tag[1] == 'link' and ('rel', 'manifest') in tag[2]:
for attribute in tag[2]:
if attribute[0] == 'href':
return attribute[1]"""
software_release_url = software_release.getRelativeUrl()
tag = "preparing_sr_%s" % software_release_url
publication_section = application_publication_section.getRelativeUrl()
url = json_file.getFilename()
document = portal.portal_contributions.newContent(
file=StringIO(json_file.getData()),
filename=url,
redirect_to_document=False,
user_login=user_login,
reference=version + "/" + url,
title=url,
version=version,
publication_section_value=publication_section,
follow_up=software_release_url,
portal_type="File",
)
# XX Hackish
document.setCategoryList(
document.getCategoryList() + ["contributor/" + software_publication.getSource()])
document.activate(tag=tag).publish()
software_release.SoftwareRelease_fixRelatedWebSection(default_page="", web_manifest=None)
if portal.portal_workflow.isTransitionPossible(json_file, 'publish'):
json_file.publish()
if portal.portal_workflow.isTransitionPossible(software_release, 'submit'):
software_release.submit()
software_publication.activate(after_tag=tag).submit()
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SoftwarePublication_submitSoftwarePublication</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_preferred_system_appstore_wildcard_protocol</string>
<string>my_preferred_system_appstore_wildcard_domain</string>
<string>my_preferred_system_appstore_app_url</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SystemPreference_viewAppstore</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>SystemPreference_viewAppstore</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Appstore</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
erp5_officejs_appstore_website
\ No newline at end of file
GPL
\ No newline at end of file
document_module/gadget_officejs_appstore_data_all_apps_json
document_module/gadget_officejs_appstore_data_global_json
document_module/gadget_officejs_appstore_lang_en-EN_dict_json
document_module/gadget_officejs_appstore_lang_zh-CN_dict_json
document_module/store_officejs_data_all_apps_json
document_module/store_officejs_data_global_json
document_module/store_officejs_lang_en-EN_dict_json
document_module/store_officejs_lang_zh-CN_dict_json
web_page_module/gadget_ojs_appstore_publish_button_js
portal_preferences/officejs_system_preference
\ No newline at end of file
document_module/gadget_officejs_appstore_data_all_apps_json
document_module/gadget_officejs_appstore_data_global_json
document_module/gadget_officejs_appstore_lang_en-EN_dict_json
document_module/gadget_officejs_appstore_lang_zh-CN_dict_json
document_module/store_officejs_data_all_apps_json
document_module/store_officejs_data_global_json
document_module/store_officejs_lang_en-EN_dict_json
document_module/store_officejs_lang_zh-CN_dict_json
web_page_module/gadget_ojs_appstore_publish_button_js
portal_preferences/officejs_system_preference
\ No newline at end of file
document_module/gadget_officejs_appstore_data_all_apps_json
document_module/gadget_officejs_appstore_data_global_json
document_module/gadget_officejs_appstore_lang_en-EN_dict_json
document_module/gadget_officejs_appstore_lang_zh-CN_dict_json
document_module/store_officejs_data_all_apps_json
document_module/store_officejs_data_global_json
document_module/store_officejs_lang_en-EN_dict_json
document_module/store_officejs_lang_zh-CN_dict_json
portal_preferences/officejs_system_preference
web_page_module/gadget_ojs_appstore_publish_button_js
\ No newline at end of file
AppstoreSystemPreference
\ No newline at end of file
erp5_mynij_credential | RJS
erp5_mynij_sourcestore | Hal
erp5_mynij_sourcestore | HalRestricted
erp5_mynij_sourcestore | RJS
\ No newline at end of file
erp5_mynij_credential
erp5_mynij_sourcestore
\ No newline at end of file
erp5_mynij_appstore
erp5_mynij_appstore
\ No newline at end of file
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