Std DependencyGraph/ro: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
(38 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav |
|||
|[[Std_SceneInspector|SceneInspector]] |
|||
|[[Std_ProjectUtil|ProjectUtil]] |
|||
|[[Std_Tools_Menu|Std Tools Menu]] |
|||
|IconL=Std_SceneInspector.svg |
|||
|IconR=Std_ProjectUtil.svg |
|||
|IconC=Freecad.svg |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
|||
{{GuiCommand |
{{GuiCommand |
||
|Name=Std DependencyGraph |
|Name=Std DependencyGraph |
||
Line 5: | Line 16: | ||
|Workbenches=All |
|Workbenches=All |
||
}} |
}} |
||
</div> |
|||
<span id="Description"></span> |
|||
==Descriere== |
==Descriere== |
||
<div class="mw-translate-fuzzy"> |
|||
'''Dependency graph''' afișează dependețele între obiecte în documentul activ sub formă de graf. Spre deosebire de arborescența Model, obiectele sunt listate în ordine cronologică inversă, cu primul obiect creat în partea de jos. |
'''Dependency graph''' afișează dependețele între obiecte în documentul activ sub formă de graf. Spre deosebire de arborescența Model, obiectele sunt listate în ordine cronologică inversă, cu primul obiect creat în partea de jos. |
||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
It can be useful in analyzing a FreeCAD document and locating forks in a tree. The dependency graph layout will depend on which workbench was used to create the objects in the document. For example, in FreeCAD 0.16, a model exclusively made in the PartDesign workbench should display a linear dependency graph with a single vertical branch. A model made with Part operations will have many branches, but for a single part they will join up at the top after Boolean operations. If they don't, it means that they are separate objects. |
|||
Poate fi util în analizarea unui document FreeCAD și în localizarea ramurilor într-o arborescență. Schema de dependență a graficului va depinde de ce Atelier de lucru a fost folosit pentru a crea obiectele din document. De exemplu, în FreeCAD 0.16, un model realizat exclusiv în Atelierul PartDesign ar trebui să afișeze un grafic de dependență liniară cu o singură ramificație verticală. Un model realizat cu Atelierul Part va avea multe ramuri, dar pentru o singură parte se vor alătura la început după operațiunile booleene. Dacă nu, înseamnă că acestea sunt obiecte separate. |
|||
</div> |
|||
Graficul de dependență este pur și simplu un instrument de vizualizare, prin urmare nu poate fi editat; se actualizează automat dacă se fac modificări ale modelului. |
|||
The dependency graph is purely a visualization tool, therefore it cannot be edited; it automatically updates if changes are made to the model. |
|||
[[Image:Std_DependencyGraph_example.svg|400px]] |
|||
[[Image:DependencyGraph1.png|DependencyGraph1.png]] |
[[Image:DependencyGraph1.png|DependencyGraph1.png]] |
||
{{clear}} |
{{clear}} |
||
==Installation== |
==Installation== |
||
To use the Dependency graph, a third-party software named [http://graphviz.org/ Graphviz] needs to be installed first. If you do not have it pre-installed or it is installed in an unconventional location, FreeCAD will display the following dialogue: |
|||
[[File:FreeCAD-0.17-missing-Graphviz-error-dialogue.png|center]] |
|||
==Instalarea== |
|||
Pentru a se utiliza Dependency graph, un software terț numit [http://graphviz.org/ Graphviz] trebuie să fie instalat prima dată. Dacă nu-l aveți preinstalat sau este instalat într-o locație neconvențională, FreeCAD va afișa următorul dialog: [[File:FreeCAD-0.17-missing-Graphviz-error-dialogue.png|center]] |
|||
[[File:FreeCAD-0.17-missing-Graphviz-error-dialogue.png]] |
|||
===Windows=== |
|||
<div class="mw-translate-fuzzy"> |
|||
===Windows=== |
===Windows=== |
||
Descărcați programul '''graphviz-2.xx.msi''' de instalare de la [https://graphviz.gitlab.io/_pages/Download/Download_windows.html Graphviz Download page] și lansați-l pentru a instala |
|||
</div> |
|||
===macOS=== |
|||
<div class="mw-translate-fuzzy"> |
|||
===Mac/OSX=== |
===Mac/OSX=== |
||
Puteți instala graphviz folosind [https://brew.sh/ Homebrew]: |
|||
</div> |
|||
{{Code|code= |
|||
$ brew install graphviz |
|||
{{Code|lang=text|code= |
|||
brew install graphviz |
|||
}} |
}} |
||
This installs the graphviz binaries under /usr/local/bin. Unfortunately we can't navigate directly there from the file dialog that comes up from FreeCAD → Tools → Dependency graph. |
|||
<div class="mw-translate-fuzzy"> |
|||
When you get the file selection dialog use the keys Cmd+Shift+G to get an input field for the path. Enter |
|||
Aceasta instalează binarele graphviz sub / usr / local / bin. Din păcate, nu putem naviga direct din dialogul de fișiere care apare din FreeCAD → Instrumente → Graficul dependenței. |
|||
{{Code|code= |
|||
Când obțineți dialogul de selectare a fișierelor, utilizați tastele Cmd + Shift + G pentru a obține un câmp de introducere pentru cale. Introduceți |
|||
/usr/local/bin |
|||
</div> |
|||
{{Code|lang=text|code= |
|||
/usr/local/bin |
|||
}} |
}} |
||
and confirm the input field and the file selection dialog. |
|||
or: |
|||
In case the Graphviz binaries are installed in a non-standard location try to find the program with the command |
|||
{{Code|code= |
|||
{{Code|lang=text|code= |
|||
$ type dot |
|||
/opt/homebrew/bin |
|||
}} |
}} |
||
It will output something like |
|||
și confirmați câmpul de introducere și dialogul de selectare a fișierelor. |
|||
{{Code|code= |
|||
dot is /usr/local/bin/dot |
|||
<div class="mw-translate-fuzzy"> |
|||
În cazul în care fișierele binare Graphviz sunt instalate într-o locație nestandard, încercați să găsiți programul împreună cu comanda: |
|||
</div> |
|||
{{Code|lang=text|code= |
|||
type dot |
|||
}} |
}} |
||
And therefore you can tell FreeCAD to look in that directory. |
|||
<div class="mw-translate-fuzzy"> |
|||
Se va emite ceva de genul |
|||
</div> |
|||
{{Code|lang=text|code= |
|||
dot is /usr/local/bin/dot |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
|||
Și, prin urmare, puteți să îi spuneți lui FreeCAD să se uite în acel director. |
|||
</div> |
|||
If you don't have macOS Big Sur (11) (or higher) Homebrew might not work, but you can use [https://www.macports.org/index.php MacPorts] instead. Just download the [https://www.macports.org/install.php appropriate version for your OS]. Once the installation is complete, enter this command in the [https://en.wikipedia.org/wiki/Terminal_(macOS) Terminal]: |
|||
{{Code|lang=text|code= |
|||
sudo port install graphviz |
|||
}} |
|||
Enter your password and wait while the dependencies are downloaded and installed (it can take some time). |
|||
The Graphviz binaries may be under {{FileName|/usr/local/bin}} or {{FileName|/opt/local/bin/dot}}. FreeCAD may automatically find the Graphviz program with the file dialog that comes up from {{MenuCommand|Tools → Dependency graph...}}, if not enter this command: |
|||
{{Code|lang=text|code= |
|||
type dot |
|||
}} |
|||
It will output something like: |
|||
{{Code|lang=text|code= |
|||
dot is /opt/local/bin/dot |
|||
}} |
|||
And you can tell FreeCAD to look in that directory as explained before. |
|||
It is also possible to make the opt directory visible with this command: |
|||
{{Code|lang=text|code= |
|||
defaults write com.apple.finder AppleShowAllFiles YES; |
|||
}} |
|||
then: |
|||
{{Code|lang=text|code= |
|||
killall Finder /System/Library/CoreServices/Finder.app; |
|||
}} |
|||
Therefore you can tell FreeCAD to follow this path. It has been successfully tested on macOS 10.13 (High Sierra). |
|||
===Linux=== |
|||
<div class="mw-translate-fuzzy"> |
|||
===Linux=== |
===Linux=== |
||
Sub cele mai multe distribuții Linux (Debian / Ubuntu, Fedora, OpenSUSE), trebuie doar să instalați pachetul grafic din colecțiile de depozitare. Cu toate acestea, în mod similar cu MacOSX, în cazurile în care binarele Graphviz sunt instalate într-o locație nestandardă, încercați să găsiți programul cu comanda: |
|||
</div> |
|||
{{Code|code= |
|||
$ type dot |
|||
{{Code|lang=text|code= |
|||
type dot |
|||
}} |
}} |
||
It may output something like |
|||
Poate ieși ceva asemănător |
|||
{{Code|code= |
|||
dot is /usr/local/bin/dot |
|||
{{Code|lang=text|code= |
|||
dot is /usr/local/bin/dot |
|||
}} |
}} |
||
And therefore you can point FreeCAD to look in that directory. |
|||
Și, prin urmare, puteți orienta FreeCAD să se uite în acel director. |
|||
==Configurare== |
|||
You shouldn't need any configuration of FreeCAD preferences. If FreeCAD cannot find the utility "dot" (from the Graphviz package) then a dialog comes up and asks the user for its path: set the path to the folder that contains the "dot" executable, do not select the executable itself. FreeCAD then tries to start the utility again and in case it succeeds the value is written automatically to the user parameters. |
|||
==Usage== |
|||
<div class="mw-translate-fuzzy"> |
|||
==Cum se folosește== |
==Cum se folosește== |
||
# |
# Mergeți la meniu '''Tools → Dependency graph...''' |
||
# |
# Un nou tab întitulat '''Dependency graph''' |
||
se deschide în zona principală a ferestrei FreeCAD. |
|||
# Use the mouse scroll wheel to zoom in / zoom out. |
|||
# Utilizați rotița de derulare a mouse-ului pentru a mări / micșora imaginea. |
|||
# Use the horizontal slider at the bottom of the screen to pan the view sideways. |
|||
# Utilizați cursorul orizontal din partea inferioară a ecranului pentru a panorama în lateral. |
|||
</div> |
|||
==Save== |
|||
<div class="mw-translate-fuzzy"> |
|||
==Save/Export== |
==Save/Export== |
||
Puteți salva / exporta graficul de dependență afișat ca fișier imagine. În timp ce tab-ul Dependency graph este în prim plan: |
|||
* Just choose '''File''' → [[Std_SaveAs|Save As]] to save the graph as a picture (PNG/BMP/GIF/JPG), a vector graphic (SVG) or as a PDF document. |
* Just choose '''File''' → [[Std_SaveAs|Save As]] to save the graph as a picture (PNG/BMP/GIF/JPG), a vector graphic (SVG) or as a PDF document. |
||
* '''File''' → [[Std_Export|Export]] or '''Tools''' → [[Std ViewScreenShot|Save picture]] will '''NOT''' work. |
* '''File''' → [[Std_Export|Export]] or '''Tools''' → [[Std ViewScreenShot|Save picture]] will '''NOT''' work. |
||
</div> |
|||
<span id="General_principles"></span> |
|||
==Principii Generale== |
==Principii Generale== |
||
<div class="mw-translate-fuzzy"> |
|||
* The graph shows objects in reverse chronological order, from the bottom to the top. |
|||
* Graficul afișează obiectele în ordine cronologică inversă, de jos în sus. |
|||
* The direction of arrows showing dependencies should always point down, from the child object to the parent object. An arrow pointing up indicates a cyclic dependency, an issue that needs to be resolved. |
|||
* Direcția săgeților care arată dependențele trebuie să fie întotdeauna în jos, de la obiectul copil la obiectul părinte. O săgeată îndreptată indică o dependență ciclică, o problemă care trebuie rezolvată. |
|||
* A sketch that contains links to [[Sketcher External|external geometry]] will have a number with an "x" suffix besides the arrow linking it to its parent, showing the number of external geometry linked in the sketch. |
|||
* O schiță care conține legături către [[Sketcher External | geometry extern]] va avea un număr cu un sufix "x", în afară de săgeata care o leagă de părinți, indicând numărul de geometrie externă legat în schiță. |
|||
* Objects can have dependencies to multiple parents. For example, for a model built in PartDesign, a Pocket may be linked to its Sketch and to the Pad feature that came before it. |
|||
* Obiectele pot avea dependențe față de mai mulți părinți. De exemplu, pentru un model construit în PartDesign, un buzunar poate fi legat de schița sa și de caracteristica Pad (Protrusion) care a venit înainte. |
|||
* Disallowed dependencies (for example, between a Draft/Part operation and an element inside a [[PartDesign Body]]) will show with a red arrow. This type of link usually shows a "Links go out of allowed scope" error in the report view. |
|||
* Se vor afișa dependențe nepermise (de exemplu, între o operațiune de Draft/Part și un element din cadrul unui [[PartDesign Body]]) cu o săgeată roșie. Acest tip de link afișează, de obicei, o eroare "Links go out of allowed scope" în afișarea raportului. |
|||
* [[Std Part|Part container]] and [[PartDesign Body|PartDesign Body]] enclose their content inside a frame with a randomly colored background. Their Origin also enclose their content (standard planes and axes) in a frame. |
|||
* [[Std Part|Container]] și [[PartDesign_Body|PartDesign_Body]] își înglobează conținutul într-un cadru cu fundal aleatoriu colorat. Originea acestora include, de asemenea, conținutul lor (planuri și axe standard) într-un cadru. |
|||
* [[Std Group|Group]] is displayed as a single element linked to its content. |
|||
* [[Std Group | Group]] este afișat ca un singur element legat de conținutul său. |
|||
</div> |
|||
<span id="Limitations"></span> |
|||
==Limite== |
==Limite== |
||
<div class="mw-translate-fuzzy"> |
|||
* The dependency graph cannot help with issues caused by [[Glossary#Topological Naming|topological naming]]. If a sketch switches faces of a feature after an edit, it is still linked to the feature; even if some features are broken, the dependency graph will remain unchanged. |
|||
* Graficul de dependență nu poate ajuta la problemele cauzate de [[Glossary#Topological Naming|topological naming]]. Dacă o schiță comută fețe ale unei caracteristici după o editare, ea este încă legată de caracteristică; chiar dacă unele funcții sunt rupte, graficul de dependență va rămâne neschimbat. |
|||
* A bug in v0.17/v0.18 causes a Body to disappear from the graph and its content to disseminate if a Part or Draft object is created from the Body. This otherwise does not affect the model. |
|||
* Un bug în v0.17 / v0.18 determină ca un corp să dispară din grafic și conținutul acestuia să disemineze dacă o Piesă sau un obiect Drafr este creat din Corp. Acest lucru nu afectează altfel modelul. |
|||
</div> |
|||
{{clear}} |
|||
{{Docnav |
|||
|[[Std_SceneInspector|SceneInspector]] |
|||
|[[Std_ProjectUtil|ProjectUtil]] |
|||
|[[Std_Tools_Menu|Std Tools Menu]] |
|||
|IconL=Std_SceneInspector.svg |
|||
|IconR=Std_ProjectUtil.svg |
|||
|IconC=Freecad.svg |
|||
}} |
|||
{{Std Base navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
|||
[[Category:3rd Party{{#translation:}}]] |
Latest revision as of 11:47, 21 April 2024
Std DependencyGraph |
Menu location |
---|
Tools → Dependency graph... |
Workbenches |
All |
Default shortcut |
None |
Introduced in version |
- |
See also |
None |
Descriere
Dependency graph afișează dependețele între obiecte în documentul activ sub formă de graf. Spre deosebire de arborescența Model, obiectele sunt listate în ordine cronologică inversă, cu primul obiect creat în partea de jos.
Poate fi util în analizarea unui document FreeCAD și în localizarea ramurilor într-o arborescență. Schema de dependență a graficului va depinde de ce Atelier de lucru a fost folosit pentru a crea obiectele din document. De exemplu, în FreeCAD 0.16, un model realizat exclusiv în Atelierul PartDesign ar trebui să afișeze un grafic de dependență liniară cu o singură ramificație verticală. Un model realizat cu Atelierul Part va avea multe ramuri, dar pentru o singură parte se vor alătura la început după operațiunile booleene. Dacă nu, înseamnă că acestea sunt obiecte separate.
Graficul de dependență este pur și simplu un instrument de vizualizare, prin urmare nu poate fi editat; se actualizează automat dacă se fac modificări ale modelului.
Installation
Instalarea
Pentru a se utiliza Dependency graph, un software terț numit Graphviz trebuie să fie instalat prima dată. Dacă nu-l aveți preinstalat sau este instalat într-o locație neconvențională, FreeCAD va afișa următorul dialog:
Windows
Windows
Descărcați programul graphviz-2.xx.msi de instalare de la Graphviz Download page și lansați-l pentru a instala
macOS
Mac/OSX
Puteți instala graphviz folosind Homebrew:
brew install graphviz
Aceasta instalează binarele graphviz sub / usr / local / bin. Din păcate, nu putem naviga direct din dialogul de fișiere care apare din FreeCAD → Instrumente → Graficul dependenței. Când obțineți dialogul de selectare a fișierelor, utilizați tastele Cmd + Shift + G pentru a obține un câmp de introducere pentru cale. Introduceți
/usr/local/bin
or:
/opt/homebrew/bin
și confirmați câmpul de introducere și dialogul de selectare a fișierelor.
În cazul în care fișierele binare Graphviz sunt instalate într-o locație nestandard, încercați să găsiți programul împreună cu comanda:
type dot
Se va emite ceva de genul
dot is /usr/local/bin/dot
Și, prin urmare, puteți să îi spuneți lui FreeCAD să se uite în acel director.
If you don't have macOS Big Sur (11) (or higher) Homebrew might not work, but you can use MacPorts instead. Just download the appropriate version for your OS. Once the installation is complete, enter this command in the Terminal:
sudo port install graphviz
Enter your password and wait while the dependencies are downloaded and installed (it can take some time).
The Graphviz binaries may be under /usr/local/bin or /opt/local/bin/dot. FreeCAD may automatically find the Graphviz program with the file dialog that comes up from Tools → Dependency graph..., if not enter this command:
type dot
It will output something like:
dot is /opt/local/bin/dot
And you can tell FreeCAD to look in that directory as explained before.
It is also possible to make the opt directory visible with this command:
defaults write com.apple.finder AppleShowAllFiles YES;
then:
killall Finder /System/Library/CoreServices/Finder.app;
Therefore you can tell FreeCAD to follow this path. It has been successfully tested on macOS 10.13 (High Sierra).
Linux
Linux
Sub cele mai multe distribuții Linux (Debian / Ubuntu, Fedora, OpenSUSE), trebuie doar să instalați pachetul grafic din colecțiile de depozitare. Cu toate acestea, în mod similar cu MacOSX, în cazurile în care binarele Graphviz sunt instalate într-o locație nestandardă, încercați să găsiți programul cu comanda:
type dot
Poate ieși ceva asemănător
dot is /usr/local/bin/dot
Și, prin urmare, puteți orienta FreeCAD să se uite în acel director.
Usage
Cum se folosește
- Mergeți la meniu Tools → Dependency graph...
- Un nou tab întitulat Dependency graph
se deschide în zona principală a ferestrei FreeCAD.
- Utilizați rotița de derulare a mouse-ului pentru a mări / micșora imaginea.
- Utilizați cursorul orizontal din partea inferioară a ecranului pentru a panorama în lateral.
Save
Save/Export
Puteți salva / exporta graficul de dependență afișat ca fișier imagine. În timp ce tab-ul Dependency graph este în prim plan:
- Just choose File → Save As to save the graph as a picture (PNG/BMP/GIF/JPG), a vector graphic (SVG) or as a PDF document.
- File → Export or Tools → Save picture will NOT work.
Principii Generale
- Graficul afișează obiectele în ordine cronologică inversă, de jos în sus.
- Direcția săgeților care arată dependențele trebuie să fie întotdeauna în jos, de la obiectul copil la obiectul părinte. O săgeată îndreptată indică o dependență ciclică, o problemă care trebuie rezolvată.
- O schiță care conține legături către geometry extern va avea un număr cu un sufix "x", în afară de săgeata care o leagă de părinți, indicând numărul de geometrie externă legat în schiță.
- Obiectele pot avea dependențe față de mai mulți părinți. De exemplu, pentru un model construit în PartDesign, un buzunar poate fi legat de schița sa și de caracteristica Pad (Protrusion) care a venit înainte.
- Se vor afișa dependențe nepermise (de exemplu, între o operațiune de Draft/Part și un element din cadrul unui PartDesign Body) cu o săgeată roșie. Acest tip de link afișează, de obicei, o eroare "Links go out of allowed scope" în afișarea raportului.
- Container și PartDesign_Body își înglobează conținutul într-un cadru cu fundal aleatoriu colorat. Originea acestora include, de asemenea, conținutul lor (planuri și axe standard) într-un cadru.
- Group este afișat ca un singur element legat de conținutul său.
Limite
- Graficul de dependență nu poate ajuta la problemele cauzate de topological naming. Dacă o schiță comută fețe ale unei caracteristici după o editare, ea este încă legată de caracteristică; chiar dacă unele funcții sunt rupte, graficul de dependență va rămâne neschimbat.
- Un bug în v0.17 / v0.18 determină ca un corp să dispară din grafic și conținutul acestuia să disemineze dacă o Piesă sau un obiect Drafr este creat din Corp. Acest lucru nu afectează altfel modelul.
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub