ibridgesgui 2.1.2__tar.gz → 2.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/workflows/linter.yml +2 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/workflows/tests.yml +12 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.gitignore +4 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/PKG-INFO +2 -2
- ibridgesgui-2.1.3/_quarto.yml +41 -0
- ibridgesgui-2.1.3/_styles/callouts.css +39 -0
- ibridgesgui-2.1.3/_styles/code.css +6 -0
- ibridgesgui-2.1.3/_styles/hyperlinks.css +24 -0
- ibridgesgui-2.1.3/_styles/ibridges.css +127 -0
- ibridgesgui-2.1.3/_styles/navbar.css +13 -0
- ibridgesgui-2.1.3/_styles/search_icon.css +13 -0
- ibridgesgui-2.1.3/_styles/toc.css +44 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/coverage.svg +1 -1
- ibridgesgui-2.1.3/docs/developers.qmd +127 -0
- ibridgesgui-2.1.3/docs/faq.qmd +64 -0
- ibridgesgui-2.1.3/docs/getting-started.qmd +176 -0
- ibridgesgui-2.1.3/docs/info.qmd +92 -0
- ibridgesgui-2.1.3/docs/userdoc.qmd +157 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/_version.py +3 -3
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/browsertab/irods_browser_service.py +8 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/gui_utils.py +7 -1
- ibridgesgui-2.1.3/ibridgesgui/icons/logo.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/rescTree.ui +3 -3
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/PKG-INFO +2 -2
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/SOURCES.txt +8 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/requires.txt +1 -1
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/scm_file_list.json +124 -116
- ibridgesgui-2.1.3/ibridgesgui.egg-info/scm_version.json +8 -0
- ibridgesgui-2.1.3/index.qmd +54 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/pyproject.toml +1 -1
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/unit/test_gui_utils.py +14 -0
- ibridgesgui-2.1.2/_quarto.yml +0 -25
- ibridgesgui-2.1.2/docs/developers.qmd +0 -12
- ibridgesgui-2.1.2/docs/faq.qmd +0 -36
- ibridgesgui-2.1.2/docs/getting-started.qmd +0 -101
- ibridgesgui-2.1.2/docs/info.qmd +0 -68
- ibridgesgui-2.1.2/docs/userdoc.qmd +0 -148
- ibridgesgui-2.1.2/ibridgesgui.egg-info/scm_version.json +0 -8
- ibridgesgui-2.1.2/index.qmd +0 -14
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.flake8 +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/dependabot.yml +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/workflows/nuitka_release.yml +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/workflows/publish.yml +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/.github/workflows/pypi_release.yml +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/LICENSE +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/README.md +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/build_tools/build_script.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/build_tools/ui_to_py.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/add_check_config.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/add_new_config.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/browser.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/login.png +0 -0
- {ibridgesgui-2.1.2/ibridgesgui/icons → ibridgesgui-2.1.3/docs/screenshots}/logo.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/metadata.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/permissions.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/replicas.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/search.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/start_ibridges.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/docs/screenshots/sync.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/__main__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/browsertab/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/browsertab/browser.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/browsertab/browser_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/browsertab/browser_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/config.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/arrow-left.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/arrow-right.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/arrow-up.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/christmas-logo.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/home.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/iBridges.ico +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/loading_circle.gif +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/nosync.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/refresh.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/icons/syncing.png +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/info.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/irods_tree_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/login.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/logviewer.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/config_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/main_window.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/plugin_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/session_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/mainmenu/tab_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/md_schemas/ibridges_metadata_schema.json +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/base.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/check_config.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/create_collection.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/create_directory.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/download_data.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/rename_item.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/resc_tree.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/popup_widgets/upload_data.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/searchtab/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/searchtab/search.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/searchtab/search_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/searchtab/search_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/synctab/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/synctab/sync.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/synctab/sync_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/synctab/sync_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/threads.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/MainMenu.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/MainMenu.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/__init__.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/configCheck.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/configCheck.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/createCollection.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/createCollection.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/downloadData.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/downloadData.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/irodsLogin.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/irodsLogin.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/renameItem.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/renameItem.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/rescTree.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabBrowser.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabBrowser.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabInfo.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabInfo.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabLogging.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabLogging.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabSearch.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabSearch.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabSync.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/tabSync.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/transferData.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/transferData.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/uploadData.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/uploadData.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/welcome.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/ui_files/welcome.ui +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui/welcome.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/dependency_links.txt +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/ibridgesgui.egg-info/top_level.txt +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/setup.cfg +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/browser/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/browser/test_browser_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/browser/test_browser_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/browser/test_irods_browser_service.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/gui/test_info_tab.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/gui/test_login.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/gui/test_main.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/main_window/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/main_window/test_config_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/main_window/test_main_window.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/main_window/test_session_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/main_window/test_tab_manager.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/test_check_config.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/test_download_data.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/test_simple_dialogs.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/test_transfer_dialog_base.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/popup/test_upload_data.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/search/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/search/test_search_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/search/test_search_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/sync/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/sync/test_sync_controller.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/sync/test_sync_model.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/threads/conftest.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/threads/test_search_thread.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/threads/test_sync_thread.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/threads/test_transfer_thread.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/unit/test_config.py +0 -0
- {ibridgesgui-2.1.2 → ibridgesgui-2.1.3}/tests/unit/test_irods_tree_model.py +0 -0
|
@@ -3,7 +3,19 @@ name: Tests
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches: [main, develop]
|
|
6
|
+
paths-ignore:
|
|
7
|
+
- 'docs/**'
|
|
8
|
+
- 'README.md'
|
|
9
|
+
- '_quarto.yml'
|
|
10
|
+
- '_styles/**'
|
|
11
|
+
- 'index.qmd'
|
|
6
12
|
pull_request:
|
|
13
|
+
paths-ignore:
|
|
14
|
+
- 'docs/**'
|
|
15
|
+
- 'README.md'
|
|
16
|
+
- '_quarto.yml'
|
|
17
|
+
- '_styles/**'
|
|
18
|
+
- 'index.qmd'
|
|
7
19
|
|
|
8
20
|
permissions:
|
|
9
21
|
contents: write
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ibridgesgui
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: Graphical user interface for accessing data and metadata on iRODS servers.
|
|
5
5
|
Author-email: Christine Staiger <c.staiger@uu.nl>
|
|
6
6
|
License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
@@ -522,7 +522,7 @@ Description-Content-Type: text/markdown
|
|
|
522
522
|
License-File: LICENSE
|
|
523
523
|
Requires-Dist: PySide6>=6.8.1
|
|
524
524
|
Requires-Dist: ibridges<2.2,>=2.1.0
|
|
525
|
-
Requires-Dist: setproctitle==1.3.
|
|
525
|
+
Requires-Dist: setproctitle==1.3.8
|
|
526
526
|
Requires-Dist: importlib-resources; python_version <= "3.10"
|
|
527
527
|
Requires-Dist: jsonschema
|
|
528
528
|
Provides-Extra: test
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
project:
|
|
2
|
+
type: website
|
|
3
|
+
output-dir: ./_html
|
|
4
|
+
|
|
5
|
+
website:
|
|
6
|
+
title: "iBridges GUI"
|
|
7
|
+
navbar:
|
|
8
|
+
title: false
|
|
9
|
+
logo: docs/screenshots/logo.png
|
|
10
|
+
left:
|
|
11
|
+
- href: index.qmd
|
|
12
|
+
text: Home
|
|
13
|
+
- href: docs/info.qmd
|
|
14
|
+
text: What is iBridges-Gui?
|
|
15
|
+
- href: docs/getting-started.qmd
|
|
16
|
+
text: Getting started
|
|
17
|
+
- href: docs/userdoc.qmd
|
|
18
|
+
text: Documentation
|
|
19
|
+
- href: docs/developers.qmd
|
|
20
|
+
text: Contributing to iBridges
|
|
21
|
+
- href: docs/faq.qmd
|
|
22
|
+
text: FAQ
|
|
23
|
+
tools:
|
|
24
|
+
- icon: github
|
|
25
|
+
menu:
|
|
26
|
+
- text: Source Code
|
|
27
|
+
url: https://github.com/iBridges-for-iRODS/iBridges-GUI
|
|
28
|
+
- text: Report and Issue
|
|
29
|
+
url: https://github.com/iBridges-for-iRODS/iBridges-GUI/issues
|
|
30
|
+
format:
|
|
31
|
+
html:
|
|
32
|
+
theme: flatly
|
|
33
|
+
css:
|
|
34
|
+
- _styles/ibridges.css
|
|
35
|
+
- _styles/hyperlinks.css
|
|
36
|
+
- _styles/toc.css
|
|
37
|
+
- _styles/callouts.css
|
|
38
|
+
- _styles/code.css
|
|
39
|
+
- _styles/navbar.css
|
|
40
|
+
- _styles/search_icon.css
|
|
41
|
+
toc: true
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* Base header override */
|
|
2
|
+
.callout-header {
|
|
3
|
+
background-color: #a8e3d7 !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/* Note callout */
|
|
7
|
+
.callout.callout-note {
|
|
8
|
+
border-left-color: #548641 !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Warning callout */
|
|
12
|
+
.callout.callout-warning {
|
|
13
|
+
border-left-color: #E67E22 !important;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* ----------------------------------------------------------
|
|
17
|
+
TIP CALLOUT — iBridges style
|
|
18
|
+
---------------------------------------------------------- */
|
|
19
|
+
|
|
20
|
+
/* Main accent colour */
|
|
21
|
+
.callout.callout-tip {
|
|
22
|
+
border-left-color: #15a589 !important;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Lighter background (15a589 → lighten by ~35%) */
|
|
26
|
+
.callout.callout-tip .callout-header {
|
|
27
|
+
background-color: #c8efe6 !important; /* soft mint */
|
|
28
|
+
color: #0f7f68 !important; /* darker accent for text */
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Icon in main accent colour */
|
|
32
|
+
.callout.callout-tip .callout-icon svg {
|
|
33
|
+
fill: #15a589 !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Body text in accent colour */
|
|
37
|
+
.callout.callout-tip .callout-body {
|
|
38
|
+
color: #0f7f68 !important;
|
|
39
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* Default link color (brand green) */
|
|
2
|
+
#quarto-content a {
|
|
3
|
+
color: #58585a !important;
|
|
4
|
+
font-weight: normal;
|
|
5
|
+
text-decoration: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Hover: bold + darker green */
|
|
9
|
+
#quarto-content a:hover {
|
|
10
|
+
color: #58585a !important; /* darker shade derived from #528641 */
|
|
11
|
+
font-weight: bold;
|
|
12
|
+
text-decoration: underline; /* remove if you prefer no underline */
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Active (clicked) */
|
|
16
|
+
#quarto-content a:active {
|
|
17
|
+
color: #58585a !important;
|
|
18
|
+
font-weight: bold;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Visited links (keep consistent) */
|
|
22
|
+
#quarto-content a:visited {
|
|
23
|
+
color: #58585a !important;
|
|
24
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*-- scss:defaults --*/
|
|
2
|
+
|
|
3
|
+
/* Fonts */
|
|
4
|
+
@import url('https://fonts.googleapis.com/css?family=Merriweather:wght@300&family=Open+Sans&display=swap');
|
|
5
|
+
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;800&display=swap');
|
|
6
|
+
|
|
7
|
+
$font-family-sans-serif: 'Nunito', Tahoma, sans-serif !default;
|
|
8
|
+
|
|
9
|
+
/* Headings */
|
|
10
|
+
$presentation-heading-font: 'Merriweather', Tahoma, sans-serif !default;
|
|
11
|
+
$presentation-heading-color: #000000 !default;
|
|
12
|
+
$h1-font-size: 3.0em !default;
|
|
13
|
+
$h2-font-size: 2.7em !default;
|
|
14
|
+
$h3-font-size: 2.15em !default;
|
|
15
|
+
|
|
16
|
+
/*-- scss:rules --*/
|
|
17
|
+
|
|
18
|
+
/* Title slide h1 */
|
|
19
|
+
section.slide h1 {
|
|
20
|
+
margin-left: 5vw;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Section headings */
|
|
24
|
+
section.slide h2 {
|
|
25
|
+
color: black !important;
|
|
26
|
+
background-color: #d3d3d3 !important;
|
|
27
|
+
width: 100%;
|
|
28
|
+
position: relative;
|
|
29
|
+
left: -30vw;
|
|
30
|
+
|
|
31
|
+
padding-left: 20vw;
|
|
32
|
+
padding-right: 20vw;
|
|
33
|
+
padding-top: 5px;
|
|
34
|
+
padding-bottom: 10px;
|
|
35
|
+
margin-left: 5vw;
|
|
36
|
+
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: space-between;
|
|
39
|
+
align-items: center;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Theme section blocks */
|
|
43
|
+
.theme-section {
|
|
44
|
+
text-align: left;
|
|
45
|
+
margin-top: 1.2em;
|
|
46
|
+
margin-left: 5vw;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Code blocks */
|
|
50
|
+
.reveal pre code {
|
|
51
|
+
background-color: #FFFFFF;
|
|
52
|
+
font-size: 0.8em;
|
|
53
|
+
padding: 0.4em;
|
|
54
|
+
margin: 0.2em;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.cell {
|
|
58
|
+
margin: 1em;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Subtitle + author */
|
|
62
|
+
.subtitle,
|
|
63
|
+
.author {
|
|
64
|
+
color: #000000;
|
|
65
|
+
font-size: $h2-font-size;
|
|
66
|
+
font-family: $presentation-heading-font;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Footer */
|
|
70
|
+
.reveal .footer {
|
|
71
|
+
color: #000000;
|
|
72
|
+
font-family: $presentation-heading-font;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Slide numbers */
|
|
76
|
+
.reveal .slide-number {
|
|
77
|
+
font-family: $presentation-heading-font;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.slide-number {
|
|
81
|
+
bottom: 10px !important;
|
|
82
|
+
right: 10px !important;
|
|
83
|
+
top: unset !important;
|
|
84
|
+
color: #000000 !important;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Lists */
|
|
88
|
+
.reveal li {
|
|
89
|
+
padding: 10px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Center helper */
|
|
93
|
+
.center-x {
|
|
94
|
+
text-align: center;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Dark background links */
|
|
98
|
+
section.has-dark-background a,
|
|
99
|
+
section.has-dark-background a:hover {
|
|
100
|
+
color: #d3d3d3;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.reveal .controls {
|
|
104
|
+
color: #15a588 !important;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.reveal .controls button {
|
|
108
|
+
color: #15a588 !important;
|
|
109
|
+
opacity: 1 !important; /* ensures they don’t fade */
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.reveal .progress span {
|
|
113
|
+
background-color: #15a588 !important;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
a,
|
|
117
|
+
a:visited {
|
|
118
|
+
color: #15a588 !important;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
a:hover,
|
|
122
|
+
a:focus {
|
|
123
|
+
color: #0f7f68 !important; /* slightly darker hover */
|
|
124
|
+
}
|
|
125
|
+
.navbar {
|
|
126
|
+
background-color: #c8efe6 !important;
|
|
127
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.navbar {
|
|
2
|
+
background-color: #c8efe6 !important;
|
|
3
|
+
}
|
|
4
|
+
/* Move tools to the left side */
|
|
5
|
+
.quarto-navbar-tools {
|
|
6
|
+
order: -1 !important;
|
|
7
|
+
margin-right: 1rem !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.navbar-nav.ms-auto {
|
|
11
|
+
margin-left: auto !important; /* keep right menu spacing intact */
|
|
12
|
+
}
|
|
13
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* Ultimate override for Quarto search icon */
|
|
2
|
+
.navbar button.quarto-search-button svg,
|
|
3
|
+
.navbar button.quarto-search-button svg *,
|
|
4
|
+
.navbar .quarto-search-icon,
|
|
5
|
+
.navbar .quarto-search-icon *,
|
|
6
|
+
.navbar svg[role="img"],
|
|
7
|
+
.navbar svg[role="img"] *,
|
|
8
|
+
.navbar svg,
|
|
9
|
+
.navbar svg * {
|
|
10
|
+
fill: #15a589 !important;
|
|
11
|
+
stroke: #15a589 !important;
|
|
12
|
+
color: #15a589 !important;
|
|
13
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* Default TOC text (black) */
|
|
2
|
+
#quarto-margin-sidebar #TOC .nav-link {
|
|
3
|
+
color: #000000 !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/* Hover state (your green) */
|
|
7
|
+
#quarto-margin-sidebar #TOC .nav-link:hover {
|
|
8
|
+
color: #15a588 !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Active section (your green) */
|
|
12
|
+
#quarto-margin-sidebar #TOC .nav-link.active {
|
|
13
|
+
color: #15a588 !important;
|
|
14
|
+
font-weight: 600;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Override Bootstrap link variables inside this TOC only */
|
|
18
|
+
#quarto-margin-sidebar #TOC {
|
|
19
|
+
--bs-link-color: #000000;
|
|
20
|
+
--bs-link-hover-color: #15a588;
|
|
21
|
+
--bs-link-active-color: #15a588;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* 1. Restore the original light gray left border for ALL TOC items */
|
|
25
|
+
#quarto-margin-sidebar #TOC .nav-link {
|
|
26
|
+
border-left: 1px solid #dee2e6 !important; /* original Quarto/Cosmo gray */
|
|
27
|
+
box-shadow: none !important; /* remove Cosmo's blue shadow */
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* 2. Hover: green bar */
|
|
31
|
+
#quarto-margin-sidebar #TOC .nav-link:hover {
|
|
32
|
+
border-left: 2px solid #15a588 !important;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* 3. Active (but NOT the first item): green bar */
|
|
36
|
+
#quarto-margin-sidebar #TOC ul > li:not(:first-child) > .nav-link.active {
|
|
37
|
+
border-left: 2px solid #15a588 !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* 4. First item active: keep the light gray line, no green, no blue */
|
|
41
|
+
#quarto-margin-sidebar #TOC ul > li:first-child > .nav-link.active {
|
|
42
|
+
border-left: 1px solid #dee2e6 !important; /* restore gray */
|
|
43
|
+
box-shadow: none !important; /* kill Cosmo's blue shadow */
|
|
44
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 83.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 83.05%"><title>coverage: 83.05%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#67ac09"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="865" y="150" fill-opacity=".8" filter="url(#blur)" textLength="430">83.05%</text><text x="865" y="150" fill-opacity=".3" textLength="430">83.05%</text></g><text x="865" y="140" textLength="430">83.05%</text></g></g></svg>
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Developer Guide"
|
|
3
|
+
format:
|
|
4
|
+
html:
|
|
5
|
+
toc: true
|
|
6
|
+
toc-location: right
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Extending iBridges‑GUI {#extending-ibridges-gui}
|
|
10
|
+
|
|
11
|
+
iBridges‑GUI supports a modular plugin system that allows developers to add new functionality through custom tabs.
|
|
12
|
+
Your plugin is automatically detected and integrated into the main application at runtime.
|
|
13
|
+
|
|
14
|
+
A minimal example and template structure are available in the
|
|
15
|
+
**[plugin example repository](https://github.com/iBridges-for-iRODS/ibridges-gui-tab-example)**.
|
|
16
|
+
|
|
17
|
+
## Contributing {#contributing}
|
|
18
|
+
|
|
19
|
+
iBridges‑GUI is an open‑source project, and we welcome contributions of all kinds — from bug reports and feature ideas to full pull requests.
|
|
20
|
+
|
|
21
|
+
Main repository:
|
|
22
|
+
**[iBridges‑GUI on GitHub](https://github.com/iBridges-for-iRODS/iBridges-GUI)**
|
|
23
|
+
|
|
24
|
+
### Contribution workflow
|
|
25
|
+
|
|
26
|
+
1. Fork the repository
|
|
27
|
+
2. Create a feature branch from `develop`
|
|
28
|
+
3. Implement your changes
|
|
29
|
+
4. Submit a pull request back to `develop`
|
|
30
|
+
|
|
31
|
+
This workflow helps us review changes efficiently and maintain a clean development history.
|
|
32
|
+
|
|
33
|
+
## Code structure overview {#code-structure-overview}
|
|
34
|
+
|
|
35
|
+
The core application lives in the
|
|
36
|
+
**[`ibridgesgui`](https://github.com/iBridges-for-iRODS/iBridges-GUI/tree/develop/ibridgesgui)**
|
|
37
|
+
package. Its architecture is modular, separating UI, logic, and iRODS operations into clear components.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Top-level modules {#top-level-modules}
|
|
41
|
+
|
|
42
|
+
These modules provide the core functionality used across the application:
|
|
43
|
+
|
|
44
|
+
- `__main__.py` — application entry point
|
|
45
|
+
- `config.py` — configuration handling
|
|
46
|
+
- `gui_utils.py` — shared GUI helpers
|
|
47
|
+
- `threads.py` — background worker threads
|
|
48
|
+
- `info.py` — application metadata
|
|
49
|
+
- `irods_tree_model.py` — iRODS tree model
|
|
50
|
+
- `login.py` — authentication
|
|
51
|
+
- `logviewer.py` — log viewer tab
|
|
52
|
+
- `welcome.py` — startup screen
|
|
53
|
+
- `md_schemas/` — metadata schema definitions
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### mainmenu/ {#mainmenu}
|
|
57
|
+
|
|
58
|
+
The orchestration layer of the application:
|
|
59
|
+
|
|
60
|
+
- `main_window.py` — main Qt window hosting all tabs
|
|
61
|
+
- `tab_manager.py` — loads and organizes built‑in tabs
|
|
62
|
+
- `plugin_manager.py` — discovers and loads plugin tabs
|
|
63
|
+
- `session_manager.py` — manages user session state
|
|
64
|
+
- `config_manager.py` — handles configuration files and user-defined settings
|
|
65
|
+
|
|
66
|
+
This directory is the best starting point for understanding how the application is assembled.
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### browsertab/ {#browsertab}
|
|
70
|
+
|
|
71
|
+
Implements the iRODS browser tab using a model–controller–view structure:
|
|
72
|
+
|
|
73
|
+
- `browser_model.py` — data model
|
|
74
|
+
- `browser_controller.py` — navigation and logic
|
|
75
|
+
- `browser.py` — UI
|
|
76
|
+
- `irods_browser_service.py` — iRODS operations
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### searchtab/ {#searchtab}
|
|
80
|
+
|
|
81
|
+
Implements the search interface:
|
|
82
|
+
|
|
83
|
+
- `search_model.py` — query state and results
|
|
84
|
+
- `search_controller.py` — executes searches and handles filters
|
|
85
|
+
- `search.py` — UI for building queries and viewing results
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### synctab/ {#synctab}
|
|
89
|
+
|
|
90
|
+
Implements synchronization:
|
|
91
|
+
|
|
92
|
+
- `sync_model.py` — sync state and configuration
|
|
93
|
+
- `sync_controller.py` — sync logic and background tasks
|
|
94
|
+
- `sync.py` — UI for managing sync jobs
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
### popup_widgets/ {#popup-widgets}
|
|
98
|
+
|
|
99
|
+
Reusable dialogs for:
|
|
100
|
+
|
|
101
|
+
- creating collections
|
|
102
|
+
- creating directories
|
|
103
|
+
- uploading/downloading
|
|
104
|
+
- renaming
|
|
105
|
+
- metadata editing
|
|
106
|
+
- configuration checks
|
|
107
|
+
- resource tree dialogs
|
|
108
|
+
|
|
109
|
+
Each dialog has its own file, making them easy to reuse or extend.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
### ui_files/ {#ui-files}
|
|
113
|
+
|
|
114
|
+
Contains:
|
|
115
|
+
|
|
116
|
+
- Qt Designer `.ui` files
|
|
117
|
+
- auto‑generated Python wrappers
|
|
118
|
+
- matching controller/view logic
|
|
119
|
+
|
|
120
|
+
This keeps UI layout editable without touching logic.
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
### icons/ {#icons}
|
|
124
|
+
|
|
125
|
+
Contains all icons used in the GUI, including navigation arrows, sync indicators, loading animations, and the application logo.
|
|
126
|
+
|
|
127
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Frequently asked Questions"
|
|
3
|
+
format:
|
|
4
|
+
html:
|
|
5
|
+
toc: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
If your question isn’t listed here, you may also find answers in the [**API and CLI FAQ**](https://ibridges.readthedocs.io/en/latest/faq.html).
|
|
9
|
+
|
|
10
|
+
::: {.callout-tip collapse="true" title="I found a bug or have a feature request — where should I go?"}
|
|
11
|
+
All development happens on **GitHub**.
|
|
12
|
+
|
|
13
|
+
Check the *Issues* section to see whether your bug or idea has already been reported.
|
|
14
|
+
If not, feel free to open a new issue — we actively monitor the tracker and usually respond within a few days.
|
|
15
|
+
:::
|
|
16
|
+
|
|
17
|
+
::: {.callout-tip collapse="true" title="I’m getting a “NetworkError” when transferring large files"}
|
|
18
|
+
This error usually appears when the **checksum calculation** exceeds the default iBridges timeout of **25,000 seconds** (~7 hours).
|
|
19
|
+
The transfer itself typically succeeds, but if the server is busy or the file is extremely large, the checksum step may run longer than the timeout.
|
|
20
|
+
|
|
21
|
+
You can increase the timeout by adding this entry to your `irods_environment.json`:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
"connection_timeout": <time in seconds>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The maximum allowed value is:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
"connection_timeout": 9208512000
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
which corresponds to roughly **292 years**.
|
|
34
|
+
:::
|
|
35
|
+
|
|
36
|
+
::: {.callout-tip collapse="true" title="My metadata keys starting with `org_` don’t appear in iBridges"}
|
|
37
|
+
iBridges hides metadata keys beginning with `org_` by default.
|
|
38
|
+
This behaviour is intentional on Yoda systems for data‑security reasons.
|
|
39
|
+
|
|
40
|
+
If you need to access these keys, you can do so via the
|
|
41
|
+
[**iBridges API**](https://ibridges.readthedocs.io/en/latest/faq.html#my-metadata-with-keys-starting-with-org-do-not-show-up-in-the-ibridges-metadata).
|
|
42
|
+
:::
|
|
43
|
+
|
|
44
|
+
::: {.callout-tip collapse="true" title="How can I download files that match a pattern but aren’t in the same collection?"}
|
|
45
|
+
Use the **Search** tab.
|
|
46
|
+
The search interface lets you filter for files regardless of their location.
|
|
47
|
+
Once the results appear, select the items you want to download.
|
|
48
|
+
:::
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
::: {.callout-tip collapse="true" title="How do I find all the data I have access to?"}
|
|
52
|
+
Shared data in iRODS doesn’t always appear in your home or project collection.
|
|
53
|
+
|
|
54
|
+
However, shared objects must always reside in a collection you can access — that’s an iRODS rule.
|
|
55
|
+
|
|
56
|
+
To list all accessible collections:
|
|
57
|
+
|
|
58
|
+
1. Open **Search**
|
|
59
|
+
2. Set the search path to `/yourZone/home`
|
|
60
|
+
3. Use `Obj/Coll name: %`
|
|
61
|
+
4. Select **Collections** and unselect **Data Objects**
|
|
62
|
+
|
|
63
|
+
The results will show every collection you have permission to access.
|
|
64
|
+
:::
|