Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
erp5
Commits
07fcb8d5
Commit
07fcb8d5
authored
Jun 17, 2024
by
Roque
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_monitoring: update opml portal type (and app impact)
parent
fc9ca479
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
346 additions
and
1039 deletions
+346
-1039
bt5/erp5_web_monitoring/PathTemplateItem/portal_types/Opml/monitoring_view.xml
...ng/PathTemplateItem/portal_types/Opml/monitoring_view.xml
+1
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.js
...web_page_module/gadget_erp5_page_ojsm_import_export_js.js
+8
-7
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.xml
...eb_page_module/gadget_erp5_page_ojsm_import_export_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_settings_configurator_js.js
..._page_module/gadget_erp5_page_settings_configurator_js.js
+3
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_html.html
...m/web_page_module/gadget_officejs_jio_opml_view_html.html
+0
-29
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_html.xml
...em/web_page_module/gadget_officejs_jio_opml_view_html.xml
+0
-358
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_js.js
...eItem/web_page_module/gadget_officejs_jio_opml_view_js.js
+0
-246
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_js.xml
...Item/web_page_module/gadget_officejs_jio_opml_view_js.xml
+0
-358
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring.configuration.xml
..._page_module/gadget_officejs_monitoring.configuration.xml
+4
-4
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.js
...eb_page_module/gadget_officejs_monitoring_opml_edit_js.js
+17
-3
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.xml
...b_page_module/gadget_officejs_monitoring_opml_edit_js.xml
+6
-4
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_router_html.html
...b_page_module/gadget_officejs_monitoring_router_html.html
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_router_html.xml
...eb_page_module/gadget_officejs_monitoring_router_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
...TemplateItem/web_page_module/monitoring_jio_storage_js.js
+5
-4
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.xml
...emplateItem/web_page_module/monitoring_jio_storage_js.xml
+2
-2
bt5/erp5_web_monitoring/PortalTypeTemplateItem/portal_types/Opml.xml
...b_monitoring/PortalTypeTemplateItem/portal_types/Opml.xml
+1
-1
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring.xml
...rtal_skins/erp5_web_monitoring/Opml_viewForMonitoring.xml
+2
-1
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_active.xml
.../erp5_web_monitoring/Opml_viewForMonitoring/my_active.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_password.xml
...rp5_web_monitoring/Opml_viewForMonitoring/my_password.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_slapos_master_url.xml
...onitoring/Opml_viewForMonitoring/my_slapos_master_url.xml
+284
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_title.xml
...s/erp5_web_monitoring/Opml_viewForMonitoring/my_title.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_translated_state.xml
...monitoring/Opml_viewForMonitoring/my_translated_state.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_url.xml
...ins/erp5_web_monitoring/Opml_viewForMonitoring/my_url.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_username.xml
...rp5_web_monitoring/Opml_viewForMonitoring/my_username.xml
+0
-0
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_verify.xml
.../erp5_web_monitoring/Opml_viewForMonitoring/my_verify.xml
+0
-0
bt5/erp5_web_monitoring/bt/template_keep_last_workflow_history_only_path_list
...ing/bt/template_keep_last_workflow_history_only_path_list
+1
-3
bt5/erp5_web_monitoring/bt/template_keep_path_list
bt5/erp5_web_monitoring/bt/template_keep_path_list
+2
-2
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
+1
-3
bt5/erp5_web_monitoring/bt/template_path_list
bt5/erp5_web_monitoring/bt/template_path_list
+1
-3
bt5/erp5_web_monitoring/bt/template_portal_type_id_list
bt5/erp5_web_monitoring/bt/template_portal_type_id_list
+2
-2
No files found.
bt5/erp5_web_monitoring/PathTemplateItem/portal_types/
o
pml/monitoring_view.xml
→
bt5/erp5_web_monitoring/PathTemplateItem/portal_types/
O
pml/monitoring_view.xml
View file @
07fcb8d5
...
...
@@ -75,7 +75,7 @@
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
string:${object_url}/
o
pml_viewForMonitoring
</string>
</value>
<value>
<string>
string:${object_url}/
O
pml_viewForMonitoring
</string>
</value>
</item>
</dictionary>
</pickle>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.js
View file @
07fcb8d5
...
...
@@ -5,6 +5,7 @@
URLSearchParams
)
{
"
use strict
"
;
var
OPML_PORTAL_TYPE
=
"
Opml
"
;
var
gadget_klass
=
rJS
(
window
),
templater
=
gadget_klass
.
__template_element
,
notify_msg_template
=
Handlebars
.
compile
(
...
...
@@ -19,8 +20,9 @@
function
getMonitorSetting
(
gadget
)
{
return
gadget
.
jio_allDocs
({
select_list
:
[
"
basic_login
"
,
"
url
"
,
"
title
"
,
"
active
"
,
"
state
"
],
query
:
'
(portal_type:"opml")
'
select_list
:
[
"
basic_login
"
,
"
url
"
,
"
title
"
,
"
active
"
,
"
state
"
,
"
slapos_master_url
"
],
query
:
'
(portal_type:"
'
+
OPML_PORTAL_TYPE
+
'
")
'
})
.
push
(
function
(
opml_result
)
{
var
i
,
...
...
@@ -194,7 +196,7 @@
title
:
configuration_dict
.
opml_description
[
i
].
title
,
url
:
configuration_dict
.
opml_description
[
i
].
href
,
active
:
configuration_dict
.
opml_description
[
i
].
active
,
portal_type
:
"
opml
"
,
portal_type
:
OPML_PORTAL_TYPE
,
has_monitor
:
configuration_dict
.
opml_description
[
i
]
.
href
.
startsWith
(
"
https://
"
),
state
:
configuration_dict
.
opml_description
[
i
].
state
||
"
Started
"
...
...
@@ -220,7 +222,7 @@
}
else
{
for
(
i
=
0
;
i
<
configuration_dict
.
opml_description_list
.
length
;
i
+=
1
)
{
item
=
configuration_dict
.
opml_description_list
[
i
];
item
.
portal_type
=
"
opml
"
;
item
.
portal_type
=
OPML_PORTAL_TYPE
;
cred_list
=
atob
(
item
.
basic_login
).
split
(
'
:
'
);
item
.
username
=
cred_list
[
0
];
item
.
password
=
cred_list
[
1
];
...
...
@@ -381,7 +383,7 @@
}
if
(
instance_tree_list
[
uid_dict
[
tmp_uid
]])
{
opml_list
.
push
({
portal_type
:
"
opml
"
,
portal_type
:
OPML_PORTAL_TYPE
,
title
:
instance_tree_list
[
uid_dict
[
tmp_uid
]]
.
title
,
relative_url
:
instance_tree_list
[
uid_dict
[
tmp_uid
]]
...
...
@@ -613,8 +615,7 @@
return
[];
})
.
push
(
function
(
opml_list
)
{
var
i
,
push_queue
=
new
RSVP
.
Queue
();
var
i
,
push_queue
=
new
RSVP
.
Queue
();
function
pushOPML
(
opml_dict
)
{
push_queue
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.xml
View file @
07fcb8d5
...
...
@@ -260,7 +260,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
4.43844.29599.4367
3
</string>
</value>
<value>
<string>
101
7.21736.40219.184
3
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -280,7 +280,7 @@
</tuple>
<state>
<tuple>
<float>
17
08448979.03
</float>
<float>
17
18659745.0
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_settings_configurator_js.js
View file @
07fcb8d5
...
...
@@ -3,6 +3,7 @@
(
function
(
window
,
rJS
,
RSVP
,
Handlebars
)
{
"
use strict
"
;
var
OPML_PORTAL_TYPE
=
"
Opml
"
;
var
gadget_klass
=
rJS
(
window
),
templater
=
gadget_klass
.
__template_element
,
...
...
@@ -101,7 +102,7 @@
.
push
(
function
()
{
element
.
setAttribute
(
"
disabled
"
,
"
disabled
"
);
return
gadget
.
jio_allDocs
({
query
:
'
portal_type: "
opml
"
'
,
query
:
'
portal_type: "
'
+
OPML_PORTAL_TYPE
+
'
"
'
,
select_list
:
[
'
title
'
]
})
.
push
(
function
(
result
)
{
...
...
@@ -317,7 +318,7 @@
"
key
"
:
"
monitoring_setting_listbox
"
,
"
lines
"
:
20
,
"
list_method
"
:
"
portal_catalog
"
,
"
query
"
:
"
urn:jio:allDocs?query=portal_type%3A%22
opml
%22
"
,
"
query
"
:
"
urn:jio:allDocs?query=portal_type%3A%22
"
+
OPML_PORTAL_TYPE
+
"
%22
"
,
"
portal_type
"
:
[],
"
search_column_list
"
:
column_list
,
"
sort_column_list
"
:
column_list
,
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_html.html
deleted
100644 → 0
View file @
fc9ca479
<!doctype html>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<title>
OfficeJS Jio Web Page View
</title>
<link
href=
"gadget_officejs_monitoring_custom.css"
rel=
"stylesheet"
type=
"text/css"
/>
<script
src=
"rsvp.js"
></script>
<script
src=
"renderjs.js"
></script>
<script
src=
"gadget_officejs_jio_opml_view.js"
></script>
</head>
<body>
<div
class=
"template-view"
></div>
<form
class=
"save_form ui-body-c"
novalidate
>
<button
type=
"submit"
class=
"ui-btn ui-btn-b ui-btn-inline
ui-icon-edit ui-btn-icon-right ui-screen-hidden"
></button>
<div
data-gadget-url=
"gadget_officejs_monitoring_opml_edit.html"
data-gadget-scope=
"opml_gadget"
data-gadget-sandbox=
"public"
></div>
<div
data-gadget-url=
"gadget_erp5_form.html"
data-gadget-scope=
"form_view"
data-gadget-sandbox=
"public"
>
</div>
</form>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_html.xml
deleted
100644 → 0
View file @
fc9ca479
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Page"
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>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<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>
Assignee
</string>
<string>
Assignor
</string>
<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>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
classification/collaborative/team
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
gadget_officejs_jio_opml_view.html
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
gadget_officejs_jio_opml_view_html
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Page
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
OfficeJS Jio OPML View
</string>
</value>
</item>
<item>
<key>
<string>
url_string
</string>
</key>
<value>
<none/>
</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>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</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_alive
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1506358065.91
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<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>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
963.29465.32349.33501
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1510675412.13
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<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>
detect_converted_file
</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>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1506358032.88
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_js.js
deleted
100644 → 0
View file @
fc9ca479
/*global window, rJS, RSVP, Handlebars */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(
function
(
window
,
rJS
,
RSVP
,
Rusha
)
{
"
use strict
"
;
var
rusha
=
new
Rusha
();
rJS
(
window
)
/////////////////////////////////////////////////////////////////
// Acquired methods
/////////////////////////////////////////////////////////////////
.
declareAcquiredMethod
(
"
updateHeader
"
,
"
updateHeader
"
)
.
declareAcquiredMethod
(
"
getUrlFor
"
,
"
getUrlFor
"
)
.
declareAcquiredMethod
(
"
notifySubmitting
"
,
"
notifySubmitting
"
)
.
declareAcquiredMethod
(
"
notifySubmitted
"
,
'
notifySubmitted
'
)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.
onEvent
(
'
submit
'
,
function
()
{
var
gadget
=
this
,
doc
,
opml_gadget
;
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
gadget
.
getDeclaredGadget
(
'
opml_gadget
'
);
})
.
push
(
function
(
g
)
{
opml_gadget
=
g
;
return
gadget
.
getDeclaredGadget
(
'
form_view
'
);
})
.
push
(
function
(
form_gadget
)
{
return
form_gadget
.
getContent
();
})
.
push
(
function
(
form_doc
)
{
doc
=
form_doc
;
if
(
doc
.
password
!==
gadget
.
state
.
password
)
{
// password was modified, update on backend
doc
.
new_password
=
doc
.
password
;
doc
.
confirm_new_password
=
doc
.
new_password
;
doc
.
password
=
gadget
.
state
.
password
;
doc
.
verify_password
=
1
;
}
else
{
doc
.
verify_password
=
(
doc
.
verify_password
===
"
on
"
)
?
1
:
0
;
}
return
opml_gadget
.
checkOPMLForm
(
doc
);
})
.
push
(
function
(
state
)
{
if
(
state
)
{
return
gadget
.
notifySubmitting
()
.
push
(
function
()
{
var
verify_opml
=
doc
.
title
===
""
||
doc
.
title
===
undefined
||
doc
.
verify_password
===
1
;
if
(
gadget
.
state
.
active
===
false
&&
doc
.
active
===
"
on
"
)
{
verify_opml
=
true
;
}
doc
.
title
=
gadget
.
state
.
opml_title
;
return
opml_gadget
.
saveOPML
(
doc
,
verify_opml
);
})
.
push
(
function
(
state
)
{
var
msg
=
{
message
:
'
Document Updated
'
,
status
:
'
success
'
};
if
(
!
state
.
status
)
{
msg
=
{
message
:
'
Document update failed
'
,
status
:
"
error
"
};
}
return
RSVP
.
all
([
gadget
.
notifySubmitted
(
msg
),
state
]);
})
.
push
(
function
(
result
)
{
if
(
result
[
1
].
status
)
{
return
gadget
.
changeState
({
"
password
"
:
doc
.
password
});
}
});
}
});
})
.
declareMethod
(
"
triggerSubmit
"
,
function
()
{
return
this
.
element
.
querySelector
(
'
button[type="submit"]
'
).
click
();
})
.
declareMethod
(
"
render
"
,
function
(
options
)
{
var
gadget
=
this
,
doc
=
options
.
doc
;
return
RSVP
.
Queue
()
.
push
(
function
()
{
return
gadget
.
changeState
({
"
opml_title
"
:
doc
.
title
||
""
,
"
opml_key
"
:
options
.
jio_key
,
"
password
"
:
doc
.
password
,
"
active
"
:
doc
.
active
});
})
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
getDeclaredGadget
(
'
form_view
'
)
]);
})
.
push
(
function
(
result
)
{
return
result
[
0
].
render
({
erp5_document
:
{
"
_embedded
"
:
{
"
_view
"
:
{
"
my_title
"
:
{
"
description
"
:
"
The name of OPML
"
,
"
title
"
:
"
Title
"
,
"
default
"
:
doc
.
title
||
""
,
"
css_class
"
:
""
,
"
required
"
:
0
,
"
editable
"
:
0
,
"
key
"
:
"
title
"
,
"
hidden
"
:
doc
.
title
===
undefined
?
1
:
0
,
"
type
"
:
"
StringField
"
},
"
my_url
"
:
{
"
description
"
:
""
,
"
title
"
:
"
OPML URL
"
,
"
default
"
:
doc
.
url
||
options
.
url
||
""
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
url
"
,
"
hidden
"
:
0
,
"
type
"
:
"
StringField
"
},
"
my_username
"
:
{
"
description
"
:
"
Username for access private URLs
"
,
"
title
"
:
"
Username
"
,
"
default
"
:
doc
.
username
||
""
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
0
,
"
key
"
:
"
username
"
,
"
hidden
"
:
0
,
"
type
"
:
"
StringField
"
},
"
my_password
"
:
{
"
description
"
:
"
Password for access private URLs
"
,
"
title
"
:
"
Password
"
,
"
default
"
:
doc
.
password
||
""
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
password
"
,
"
hidden
"
:
0
,
"
type
"
:
"
PasswordField
"
},
"
my_requested_state
"
:
{
"
description
"
:
"
Instance tree state
"
,
"
title
"
:
"
Requested State
"
,
"
default
"
:
doc
.
state
||
(
doc
.
active
?
"
Started
"
:
"
Stopped
"
),
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
0
,
"
key
"
:
"
state
"
,
"
hidden
"
:
0
,
"
type
"
:
"
StringField
"
},
"
my_active
"
:
{
"
description
"
:
"
Sync this opml or not
"
,
"
title
"
:
"
Active (Enable Sync)
"
,
"
default
"
:
doc
.
active
||
doc
.
active
===
undefined
?
1
:
0
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
active
"
,
"
hidden
"
:
0
,
"
type
"
:
"
CheckBoxField
"
},
"
my_new_password
"
:
{
"
description
"
:
"
Change current OPML password
"
,
"
title
"
:
"
New Password
"
,
"
default
"
:
""
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
new_password
"
,
"
hidden
"
:
1
,
"
type
"
:
"
PasswordField
"
},
"
my_verify_password
"
:
{
"
description
"
:
"
Check if this OPML is valid, and also verify that password match
"
,
"
title
"
:
"
Verify OPML & Password
"
,
"
default
"
:
0
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
verify_password
"
,
"
hidden
"
:
0
,
"
type
"
:
"
CheckBoxField
"
}
}},
"
_links
"
:
{
"
type
"
:
{
// form_list display portal_type in header
name
:
""
}
}
},
form_definition
:
{
group_list
:
[[
"
left
"
,
[[
"
my_title
"
],
[
"
my_url
"
],
[
"
my_username
"
],
[
"
my_password
"
],
[
"
my_requested_state
"
],
[
"
my_active
"
],
[
"
my_verify_password
"
],
[
"
my_new_password
"
]]
]]
}
});
})
.
push
(
function
()
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
var
hosting_key
=
rusha
.
digestFromString
(
gadget
.
state
.
opml_key
);
return
RSVP
.
all
([
gadget
.
getUrlFor
({
command
:
'
history_previous
'
}),
gadget
.
getUrlFor
({
command
:
'
selection_previous
'
}),
gadget
.
getUrlFor
({
command
:
'
selection_next
'
}),
gadget
.
getUrlFor
({
command
:
'
push_history
'
,
options
:
{
page
:
"
ojsm_jump
"
,
jio_key
:
hosting_key
,
title
:
gadget
.
state
.
opml_title
,
view_title
:
"
Related Instance Tree
"
}}),
gadget
.
getUrlFor
({
command
:
'
change
'
,
options
:
{
page
:
'
ojsm_opml_delete
'
,
jio_key
:
gadget
.
state
.
opml_key
,
return_url
:
'
settings_configurator
'
}})
]);
})
.
push
(
function
(
url_list
)
{
return
gadget
.
updateHeader
({
page_title
:
options
.
doc
.
title
||
"
OPML View
"
,
selection_url
:
url_list
[
0
],
previous_url
:
url_list
[
1
],
next_url
:
url_list
[
2
],
jump_url
:
url_list
[
3
],
delete_url
:
url_list
[
4
],
save_action
:
true
});
});
});
});
}(
window
,
rJS
,
RSVP
,
Rusha
));
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_jio_opml_view_js.xml
deleted
100644 → 0
View file @
fc9ca479
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Script"
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>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<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>
Assignee
</string>
<string>
Assignor
</string>
<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>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
classification/collaborative/public
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/javascript
</string>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
gadget_officejs_jio_opml_view.js
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
gadget_officejs_jio_opml_view_js
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Script
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
OfficeJS Jio Monitoring OPML view JS
</string>
</value>
</item>
<item>
<key>
<string>
url_string
</string>
</key>
<value>
<none/>
</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>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</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_alive
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1507911358.15
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<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>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
971.63925.15236.1962
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1543595657.95
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<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>
detect_converted_file
</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>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1506357952.51
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring.configuration.xml
View file @
07fcb8d5
...
...
@@ -87,7 +87,7 @@
<item>
<key>
<string>
text_content
</string>
</key>
<value>
<string>
CONFIGURATION MANIFEST\n
# generated on
Fri May 24 14:46:38
2024\n
# generated on
Mon Jun 3 13:55:24
2024\n
CACHE:\n
\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1NvZnR3YXJlIEluc3RhbmNl\n
...
...
@@ -97,9 +97,9 @@ hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1NvZnR3YXJlIEluc3RhbmNlL21vbml
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfd2ViX21vbml0b3JpbmcvU29mdHdhcmVJbnN0YW5jZV92aWV3Rm9yTW9uaXRvcmluZ1Jlc291cmNlcw==\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1NvZnR3YXJlIEluc3RhbmNlL21vbml0b3JpbmdfcHJvY2Vzc2VzX3ZpZXc=\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfd2ViX21vbml0b3JpbmcvU29mdHdhcmVJbnN0YW5jZV92aWV3Rm9yTW9uaXRvcmluZ1Byb2Nlc3Nlcw==\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL
2
9wbWw=\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL
2
9wbWwvbW9uaXRvcmluZ192aWV3\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfd2ViX21vbml0b3Jpbmcv
b
3BtbF92aWV3Rm9yTW9uaXRvcmluZw==\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL
0
9wbWw=\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL
0
9wbWwvbW9uaXRvcmluZ192aWV3\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfd2ViX21vbml0b3Jpbmcv
T
3BtbF92aWV3Rm9yTW9uaXRvcmluZw==\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL0luc3RhbmNlIFRyZWU=\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL0luc3RhbmNlIFRyZWUvbW9uaXRvcmluZ192aWV3\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfd2ViX21vbml0b3JpbmcvSW5zdGFuY2VUcmVlX3ZpZXdGb3JNb25pdG9yaW5n\n
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.js
View file @
07fcb8d5
...
...
@@ -3,6 +3,7 @@
(
function
(
window
,
rJS
,
RSVP
,
btoa
,
XMLHttpRequest
,
Handlebars
,
jIO
)
{
"
use strict
"
;
var
OPML_PORTAL_TYPE
=
"
Opml
"
;
var
gadget_klass
=
rJS
(
window
),
templater
=
gadget_klass
.
__template_element
,
notify_msg_template
=
Handlebars
.
compile
(
...
...
@@ -139,9 +140,9 @@
function
saveOPML
(
gadget
,
doc
,
verify_password
)
{
var
opml_dict
=
{
type
:
"
opml
"
,
type
:
OPML_PORTAL_TYPE
,
title
:
doc
.
title
,
portal_type
:
"
opml
"
,
portal_type
:
OPML_PORTAL_TYPE
,
url
:
doc
.
url
,
basic_login
:
btoa
(
doc
.
username
+
'
:
'
+
doc
.
password
),
username
:
doc
.
username
,
...
...
@@ -151,7 +152,12 @@
state
:
doc
.
state
||
(
doc
.
active
===
"
on
"
?
"
Started
"
:
"
Stopped
"
)
},
update_password_list
=
[],
allow_force
=
false
;
allow_force
=
false
,
return_dict
;
if
(
doc
.
slapos_master_url
&&
doc
.
slapos_master_url
!==
undefined
&&
doc
.
slapos_master_url
!==
""
)
{
opml_dict
.
slapos_master_url
=
doc
.
slapos_master_url
;
}
gadget
.
state
.
message
.
textContent
=
""
;
function
validateOPML
()
{
...
...
@@ -328,6 +334,13 @@
});
}
return
{
status
:
status
,
can_force
:
allow_force
};
})
.
push
(
function
(
dict
)
{
return_dict
=
dict
;
return
gadget
.
setSetting
(
"
latest_import_date
"
,
new
Date
().
getTime
());
})
.
push
(
function
(
dict
)
{
return
return_dict
;
});
}
...
...
@@ -359,6 +372,7 @@
// Acquired methods
/////////////////////////////////////////////////////////////////
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
jio_put
"
,
"
jio_put
"
)
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.xml
View file @
07fcb8d5
...
...
@@ -79,7 +79,9 @@
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/javascript
</string>
</value>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
...
...
@@ -236,7 +238,7 @@
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<
string>
zope
</string
>
</value>
<value>
<
unicode>
zope
</unicode
>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
...
...
@@ -250,7 +252,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
971.63860.22689.21760
</string>
</value>
<value>
<string>
1016.62588.18488.24661
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -270,7 +272,7 @@
</tuple>
<state>
<tuple>
<float>
1
543593317.26
</float>
<float>
1
717178789.09
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_router_html.html
View file @
07fcb8d5
...
...
@@ -25,7 +25,7 @@
<!-- new router -->
<script
data-renderjs-configuration=
"portal_skin_folder"
type=
"text/x-renderjs-configuration"
>
erp5_web_monitoring
</script>
<script
data-renderjs-configuration=
"app_view_reference"
type=
"text/x-renderjs-configuration"
>
monitoring_view
</script>
<script
data-renderjs-configuration=
"app_actions"
type=
"text/x-renderjs-configuration"
>
(
'
Software Instance | monitoring_view
'
,
'
Software Instance | monitoring_resources_view
'
,
'
Software Instance | monitoring_processes_view
'
,
'
Software Instance Module | monitoring_view
'
,
'
Instance Tree | monitoring_view
'
,
'
Instance Tree Module | monitoring_view
'
,
'
Promise Module | monitoring_view
'
,
'
Promise | monitoring_view
'
,
'
o
pml | monitoring_view
'
)
</script>
<script
data-renderjs-configuration=
"app_actions"
type=
"text/x-renderjs-configuration"
>
(
'
Software Instance | monitoring_view
'
,
'
Software Instance | monitoring_resources_view
'
,
'
Software Instance | monitoring_processes_view
'
,
'
Software Instance Module | monitoring_view
'
,
'
Instance Tree | monitoring_view
'
,
'
Instance Tree Module | monitoring_view
'
,
'
Promise Module | monitoring_view
'
,
'
Promise | monitoring_view
'
,
'
O
pml | monitoring_view
'
)
</script>
<script
data-renderjs-configuration=
"app_allowed_sub_types"
type=
"text/x-renderjs-configuration"
>
(
'
Software Instance Module | Software Instance
'
,
'
Instance Tree Module | Instance Tree
'
,
'
Software Instance | Promise
'
)
</script>
<script
data-renderjs-configuration=
"app_configurator"
type=
"text/x-renderjs-configuration"
>
ojsm_import_export
</script>
<script
data-renderjs-configuration=
"software_instance_module_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
1
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
1
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
0
,
"
history_previous_link
"
:
0
,
"
title
"
:
"
Software Instances Status
"
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
}
</script>
...
...
@@ -34,6 +34,6 @@
<script
data-renderjs-configuration=
"instance_tree_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
0
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
0
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
1
,
"
history_previous_link
"
:
1
,
"
title
"
:
"
Instance Tree:
"
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
,
"
custom_header
"
:
"
gadget_officejs_monitoring_options_header.html
"
,
"
view
"
:
"
instance_tree
"
,
"
custom_submit
"
:
"
gadget_officejs_monitoring_submit.html
"
}
</script>
<script
data-renderjs-configuration=
"promise_module_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
1
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
1
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
0
,
"
history_previous_link
"
:
0
,
"
title
"
:
"
Monitoring Promises Status
"
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
}
</script>
<script
data-renderjs-configuration=
"promise_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
0
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
0
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
1
,
"
history_previous_link
"
:
1
,
"
title
"
:
"
Promise:
"
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
,
"
custom_header
"
:
"
gadget_officejs_monitoring_options_header.html
"
,
"
view
"
:
"
promise
"
,
"
custom_submit
"
:
"
gadget_officejs_monitoring_submit.html
"
}
</script>
<script
data-renderjs-configuration=
"opml_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
0
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
0
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
1
,
"
history_previous_link
"
:
1
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
,
"
custom_header
"
:
"
gadget_officejs_monitoring_options_header.html
"
,
"
view
"
:
"
opml
"
}
</script>
<script
data-renderjs-configuration=
"opml_dict"
type=
"text/x-renderjs-configuration"
>
{
"
front_page
"
:
0
,
"
upload_button
"
:
0
,
"
download_button
"
:
0
,
"
editable
"
:
0
,
"
hide_add_button
"
:
1
,
"
jump_button
"
:
0
,
"
fast_input_button
"
:
0
,
"
export_button
"
:
0
,
"
filter_action
"
:
0
,
"
panel_action
"
:
1
,
"
previous_next_button
"
:
1
,
"
history_previous_link
"
:
1
,
"
hide_listbox_buttons
"
:
1
,
"
blob_type
"
:
""
,
"
blob_create_object_url
"
:
0
,
"
custom_header
"
:
"
gadget_officejs_monitoring_options_header.html
"
,
"
view
"
:
"
opml
"
,
"
custom_submit
"
:
"
gadget_officejs_monitoring_submit.html
"
}
</script>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_router_html.xml
View file @
07fcb8d5
...
...
@@ -265,7 +265,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1016.
14833.52348.59392
</string>
</value>
<value>
<string>
1016.
62603.53500.56064
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -285,7 +285,7 @@
</tuple>
<state>
<tuple>
<float>
171
4498936.34
</float>
<float>
171
7428289.21
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
View file @
07fcb8d5
...
...
@@ -35,6 +35,7 @@
PROMISE_TYPE
=
"
Promise
"
,
SOFTWARE_INSTANCE_TYPE
=
"
Software Instance
"
,
INSTANCE_TREE_TYPE
=
"
Instance Tree
"
,
OPML_PORTAL_TYPE
=
"
Opml
"
,
ZONE_LIST
=
[
"
-1200
"
,
"
-1100
"
,
...
...
@@ -154,7 +155,7 @@
var
storage
=
this
.
_local_sub_storage
;
return
storage
.
get
(
id
)
.
push
(
function
(
doc
)
{
if
(
doc
.
portal_type
!==
'
opml
'
)
{
if
(
doc
.
portal_type
!==
OPML_PORTAL_TYPE
)
{
return
storage
.
remove
(
id
);
}
function
removeOPMLTree
(
url
)
{
...
...
@@ -809,7 +810,7 @@
function
syncOpmlStorage
(
context
)
{
return
context
.
_local_sub_storage
.
allDocs
({
query
:
'
(portal_type:"
opml
") AND (active:true) AND (url:"https://%")
'
,
query
:
'
(portal_type:"
'
+
OPML_PORTAL_TYPE
+
'
") AND (active:true) AND (url:"https://%")
'
,
select_list
:
[
"
title
"
,
"
url
"
,
"
basic_login
"
]
})
.
push
(
function
(
storage_result
)
{
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.xml
View file @
07fcb8d5
...
...
@@ -249,7 +249,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.32774.1126.37956
</string>
</value>
<value>
<string>
101
7.22812.19597.42137
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -269,7 +269,7 @@
</tuple>
<state>
<tuple>
<float>
171
2157668.63
</float>
<float>
171
8724260.35
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PortalTypeTemplateItem/portal_types/
o
pml.xml
→
bt5/erp5_web_monitoring/PortalTypeTemplateItem/portal_types/
O
pml.xml
View file @
07fcb8d5
...
...
@@ -24,7 +24,7 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
o
pml
</string>
</value>
<value>
<string>
O
pml
</string>
</value>
</item>
<item>
<key>
<string>
init_script
</string>
</key>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring.xml
View file @
07fcb8d5
...
...
@@ -105,6 +105,7 @@
<string>
my_url
</string>
<string>
my_username
</string>
<string>
my_password
</string>
<string>
my_slapos_master_url
</string>
<string>
my_active
</string>
<string>
my_verify
</string>
<string>
my_translated_state
</string>
...
...
@@ -122,7 +123,7 @@
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
o
pml_viewForMonitoring
</string>
</value>
<value>
<string>
O
pml_viewForMonitoring
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_active.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_active.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_password.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_password.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Opml_viewForMonitoring/my_slapos_master_url.xml
0 → 100644
View file @
07fcb8d5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"StringField"
module=
"Products.Formulator.StandardFields"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_slapos_master_url
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
external_validator_failed
</string>
</key>
<value>
<string>
The input failed the external validator.
</string>
</value>
</item>
<item>
<key>
<string>
required_not_found
</string>
</key>
<value>
<string>
Input is required but no input given.
</string>
</value>
</item>
<item>
<key>
<string>
too_long
</string>
</key>
<value>
<string>
Too much input was given.
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
overrides
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
autocomplete
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_maxwidth
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
input_type
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
truncate
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
autocomplete
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_maxwidth
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
input_type
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
truncate
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
autocomplete
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
not provided
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_maxwidth
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
display_width
</string>
</key>
<value>
<int>
20
</int>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
input_type
</string>
</key>
<value>
<string>
text
</string>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Slapos master URL
</string>
</value>
</item>
<item>
<key>
<string>
truncate
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_title.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_title.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_translated_state.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_translated_state.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_url.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_url.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_username.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_username.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
o
pml_viewForMonitoring/my_verify.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/
O
pml_viewForMonitoring/my_verify.xml
View file @
07fcb8d5
File moved
bt5/erp5_web_monitoring/bt/template_keep_last_workflow_history_only_path_list
View file @
07fcb8d5
image_module/gadget_officejs_appstore_rapid_spage
portal_types/Instance Tree Module/monitoring_view
portal_types/Instance Tree/monitoring_view
portal_types/Opml/monitoring_view
portal_types/Promise Module/monitoring_view
portal_types/Promise/monitoring_view
portal_types/Software Instance Module/monitoring_view
portal_types/Software Instance/monitoring_processes_view
portal_types/Software Instance/monitoring_resources_view
portal_types/Software Instance/monitoring_view
portal_types/opml/monitoring_view
web_page_module/gadget_erp5_field_status_*
web_page_module/gadget_erp5_page_ojsm_*
web_page_module/gadget_erp5_page_settings_configurator_*
web_page_module/gadget_officejs_jio_opml_view_html
web_page_module/gadget_officejs_jio_opml_view_js
web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
...
...
bt5/erp5_web_monitoring/bt/template_keep_path_list
View file @
07fcb8d5
portal_types/Instance Tree Module/monitoring_view
portal_types/Instance Tree/monitoring_view
portal_types/Opml/monitoring_view
portal_types/Promise Module/monitoring_view
portal_types/Promise/monitoring_view
portal_types/Software Instance Module/monitoring_view
portal_types/Software Instance/monitoring_processes_view
portal_types/Software Instance/monitoring_resources_view
portal_types/Software Instance/monitoring_view
\ No newline at end of file
portal_types/opml/monitoring_view
\ No newline at end of file
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
View file @
07fcb8d5
image_module/gadget_officejs_appstore_rapid_spage
portal_types/Instance Tree Module/monitoring_view
portal_types/Instance Tree/monitoring_view
portal_types/Opml/monitoring_view
portal_types/Promise Module/monitoring_view
portal_types/Promise/monitoring_view
portal_types/Software Instance Module/monitoring_view
portal_types/Software Instance/monitoring_processes_view
portal_types/Software Instance/monitoring_resources_view
portal_types/Software Instance/monitoring_view
portal_types/opml/monitoring_view
web_page_module/gadget_erp5_field_status_*
web_page_module/gadget_erp5_page_ojsm_*
web_page_module/gadget_erp5_page_settings_configurator_*
web_page_module/gadget_officejs_jio_opml_view_html
web_page_module/gadget_officejs_jio_opml_view_js
web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
...
...
bt5/erp5_web_monitoring/bt/template_path_list
View file @
07fcb8d5
image_module/gadget_officejs_appstore_rapid_spage
portal_types/Instance Tree Module/monitoring_view
portal_types/Instance Tree/monitoring_view
portal_types/Opml/monitoring_view
portal_types/Promise Module/monitoring_view
portal_types/Promise/monitoring_view
portal_types/Software Instance Module/monitoring_view
portal_types/Software Instance/monitoring_processes_view
portal_types/Software Instance/monitoring_resources_view
portal_types/Software Instance/monitoring_view
portal_types/opml/monitoring_view
web_page_module/gadget_erp5_field_status_*
web_page_module/gadget_erp5_page_ojsm_*
web_page_module/gadget_erp5_page_settings_configurator_*
web_page_module/gadget_officejs_jio_opml_view_html
web_page_module/gadget_officejs_jio_opml_view_js
web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
...
...
bt5/erp5_web_monitoring/bt/template_portal_type_id_list
View file @
07fcb8d5
Instance Tree
Instance Tree Module
Opml
Promise
Promise Module
Software Instance
Software Instance Module
\ No newline at end of file
opml
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment