220 lines
11 KiB
Markdown
220 lines
11 KiB
Markdown
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/disable_odoo_online (2026-04-22)
|
|
|
|
## Corpus Check
|
|
- 22 files · ~5,870 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
|
|
## Summary
|
|
- 106 nodes · 119 edges · 27 communities detected
|
|
- Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 3 edges (avg confidence: 0.8)
|
|
- Token cost: 0 input · 0 output
|
|
|
|
## Community Hubs (Navigation)
|
|
- [[_COMMUNITY_Community 0|Community 0]]
|
|
- [[_COMMUNITY_Community 1|Community 1]]
|
|
- [[_COMMUNITY_Community 2|Community 2]]
|
|
- [[_COMMUNITY_Community 3|Community 3]]
|
|
- [[_COMMUNITY_Community 4|Community 4]]
|
|
- [[_COMMUNITY_Community 5|Community 5]]
|
|
- [[_COMMUNITY_Community 6|Community 6]]
|
|
- [[_COMMUNITY_Community 7|Community 7]]
|
|
- [[_COMMUNITY_Community 8|Community 8]]
|
|
- [[_COMMUNITY_Community 9|Community 9]]
|
|
- [[_COMMUNITY_Community 10|Community 10]]
|
|
- [[_COMMUNITY_Community 11|Community 11]]
|
|
- [[_COMMUNITY_Community 12|Community 12]]
|
|
- [[_COMMUNITY_Community 13|Community 13]]
|
|
- [[_COMMUNITY_Community 14|Community 14]]
|
|
- [[_COMMUNITY_Community 15|Community 15]]
|
|
- [[_COMMUNITY_Community 16|Community 16]]
|
|
- [[_COMMUNITY_Community 17|Community 17]]
|
|
- [[_COMMUNITY_Community 18|Community 18]]
|
|
- [[_COMMUNITY_Community 19|Community 19]]
|
|
- [[_COMMUNITY_Community 20|Community 20]]
|
|
- [[_COMMUNITY_Community 21|Community 21]]
|
|
- [[_COMMUNITY_Community 22|Community 22]]
|
|
- [[_COMMUNITY_Community 23|Community 23]]
|
|
- [[_COMMUNITY_Community 24|Community 24]]
|
|
- [[_COMMUNITY_Community 25|Community 25]]
|
|
- [[_COMMUNITY_Community 26|Community 26]]
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `_is_blocked_url()` - 6 edges
|
|
2. `IrConfigParameter` - 5 edges
|
|
3. `_post_init_hook()` - 4 edges
|
|
4. `IrModuleModule` - 4 edges
|
|
5. `IrCron` - 4 edges
|
|
6. `ResConfigSettings` - 4 edges
|
|
7. `PublisherWarrantyContract` - 4 edges
|
|
8. `_blocked_request()` - 4 edges
|
|
9. `_blocked_get()` - 4 edges
|
|
10. `_blocked_post()` - 4 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- None detected - all connections are within the same source files.
|
|
|
|
## Communities
|
|
|
|
### Community 0 - "Community 0"
|
|
Cohesion: 0.14
|
|
Nodes (16): _get_message(), _get_sys_logs(), IrCron, IrHttp, IrModuleModule, _pre_dispatch(), PublisherWarrantyContract, Disable module update checks from Odoo store. (+8 more)
|
|
|
|
### Community 1 - "Community 1"
|
|
Cohesion: 0.26
|
|
Nodes (10): Base, _check_database_enterprise_expiration(), check_database_expiration(), DatabaseExpirationCheck, _get_database_expiration_date(), get_param(), IrConfigParameter, Override config parameters to prevent expiration and protect license values. (+2 more)
|
|
|
|
### Community 2 - "Community 2"
|
|
Cohesion: 0.27
|
|
Nodes (10): _blocked_get(), _blocked_post(), _blocked_request(), _is_blocked_url(), patch_requests(), Check if the URL should be blocked., Intercept and block requests to Odoo domains., Intercept and block GET requests. (+2 more)
|
|
|
|
### Community 3 - "Community 3"
|
|
Cohesion: 0.22
|
|
Nodes (7): create(), IrHttp, Override session info to prevent frontend from detecting license status. Thi, Override session info to set permanent valid subscription data. This pre, Override user creation/modification to prevent subscription checks. When use, Override write to log user modifications., ResUsers
|
|
|
|
### Community 4 - "Community 4"
|
|
Cohesion: 0.24
|
|
Nodes (5): Override set_param to prevent external processes from changing protected values., DISABLED: Do not send any data to Odoo servers. Just update local parame, Ensure certain settings stay disabled., _post_init_hook(), Set all configuration parameters to disable external Odoo services. This run
|
|
|
|
### Community 5 - "Community 5"
|
|
Cohesion: 0.33
|
|
Nodes (7): autocomplete(), enrich_company(), Disable partner autocomplete from Odoo API., Disable company autocomplete features., read_by_vat(), ResCompany, ResPartner
|
|
|
|
### Community 6 - "Community 6"
|
|
Cohesion: 0.4
|
|
Nodes (4): _disabled_iap_jsonrpc(), patch_iap_tools(), DISABLED: Block all IAP JSON-RPC calls. Returns empty/success response inste, Monkey-patch the iap_jsonrpc function to block external calls. This is calle
|
|
|
|
### Community 7 - "Community 7"
|
|
Cohesion: 0.53
|
|
Nodes (4): _get_gravatar_image(), _get_rates_from_provider(), ResCurrencyDisabled, ResPartnerDisabled
|
|
|
|
### Community 8 - "Community 8"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 9 - "Community 9"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 10 - "Community 10"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 11 - "Community 11"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 12 - "Community 12"
|
|
Cohesion: 1.0
|
|
Nodes (1): Set database to never expire.
|
|
|
|
### Community 13 - "Community 13"
|
|
Cohesion: 1.0
|
|
Nodes (1): Override get_param to return permanent values for protected params.
|
|
|
|
### Community 14 - "Community 14"
|
|
Cohesion: 1.0
|
|
Nodes (1): Override to prevent fetching from Odoo Apps store. Only scan local addon
|
|
|
|
### Community 15 - "Community 15"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Do not contact Odoo servers. Returns fake successful response.
|
|
|
|
### Community 16 - "Community 16"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty message.
|
|
|
|
### Community 17 - "Community 17"
|
|
Cohesion: 1.0
|
|
Nodes (1): Log and potentially block external service routes.
|
|
|
|
### Community 18 - "Community 18"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty rates.
|
|
|
|
### Community 19 - "Community 19"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return False to skip gravatar lookup.
|
|
|
|
### Community 20 - "Community 20"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty results instead of calling Odoo's partner API.
|
|
|
|
### Community 21 - "Community 21"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty data instead of calling Odoo's enrichment API.
|
|
|
|
### Community 22 - "Community 22"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty data instead of calling Odoo's VAT lookup API.
|
|
|
|
### Community 23 - "Community 23"
|
|
Cohesion: 1.0
|
|
Nodes (1): DISABLED: Return empty results for company autocomplete.
|
|
|
|
### Community 24 - "Community 24"
|
|
Cohesion: 1.0
|
|
Nodes (1): Override create to ensure no external subscription check is triggered. T
|
|
|
|
### Community 25 - "Community 25"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 26 - "Community 26"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
## Knowledge Gaps
|
|
- **39 isolated node(s):** `Set all configuration parameters to disable external Odoo services. This run`, `Override config parameters to prevent expiration and protect license values.`, `Set permanent valid subscription on module init.`, `Set database to never expire.`, `Override get_param to return permanent values for protected params.` (+34 more)
|
|
These have ≤1 connection - possible missing edges or undocumented components.
|
|
- **Thin community `Community 8`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 9`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 10`** (1 nodes): `__manifest__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 11`** (1 nodes): `__manifest__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 12`** (1 nodes): `Set database to never expire.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 13`** (1 nodes): `Override get_param to return permanent values for protected params.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 14`** (1 nodes): `Override to prevent fetching from Odoo Apps store. Only scan local addon`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 15`** (1 nodes): `DISABLED: Do not contact Odoo servers. Returns fake successful response.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 16`** (1 nodes): `DISABLED: Return empty message.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 17`** (1 nodes): `Log and potentially block external service routes.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 18`** (1 nodes): `DISABLED: Return empty rates.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 19`** (1 nodes): `DISABLED: Return False to skip gravatar lookup.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 20`** (1 nodes): `DISABLED: Return empty results instead of calling Odoo's partner API.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 21`** (1 nodes): `DISABLED: Return empty data instead of calling Odoo's enrichment API.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 22`** (1 nodes): `DISABLED: Return empty data instead of calling Odoo's VAT lookup API.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 23`** (1 nodes): `DISABLED: Return empty results for company autocomplete.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 24`** (1 nodes): `Override create to ensure no external subscription check is triggered. T`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 25`** (1 nodes): `disable_external_links.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 26`** (1 nodes): `disable_external_links.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
|
|
## Suggested Questions
|
|
_Questions this graph is uniquely positioned to answer:_
|
|
|
|
- **Why does `IrConfigParameter` connect `Community 1` to `Community 4`?**
|
|
_High betweenness centrality (0.069) - this node is a cross-community bridge._
|
|
- **Why does `ResConfigSettings` connect `Community 0` to `Community 4`?**
|
|
_High betweenness centrality (0.042) - this node is a cross-community bridge._
|
|
- **Why does `PublisherWarrantyContract` connect `Community 0` to `Community 4`?**
|
|
_High betweenness centrality (0.042) - this node is a cross-community bridge._
|
|
- **What connects `Set all configuration parameters to disable external Odoo services. This run`, `Override config parameters to prevent expiration and protect license values.`, `Set permanent valid subscription on module init.` to the rest of the system?**
|
|
_39 weakly-connected nodes found - possible documentation gaps or missing edges._
|
|
- **Should `Community 0` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.14 - nodes in this community are weakly interconnected._ |