📑 Bookmark Organizer: Personalized Navigation System🎯(English version)
📑 Organizador de Bookmarks: Sistema de Navegación Personalizada🎯
Si alguna vez un usuario o tú has tenido la necesidad de organizar las distintas páginas de Business Central para el trabajo diario y los roles asignados son muy extensos u ofrecen acceso a muchas páginas que no necesitas usar frecuentemente, espero que esta publicación te de alguna idea de como abordarlo.
Y estamos hablando de algunos escenarios de organización para el trabajo diario, el onboarding de nuevos usuarios, o procesos específicos del negocio.
- Acceso directo organizado por flujo de trabajo.
- Onboarding: Ruta de aprendizaje estructurada.
- Estructura de carpetas y páginas para abordar procesos específicos.
¿Se pueden usar los roles y los bookmarks nativos de bc? Claro que sí, no se trata de reemplazar sino de complementar ambas funcionalidades. ¿Entonces que complementa o es diferente?
- Roles: son administrados por Admin/IT y no por el usuario final, se crean por roles específicos pero no por personas dentro del rol, es en cierta manera estático y no es extendido por el usuario directamente, las configuraciones no pueden ser compartidas entre usuarios.
- Bookmark nativo: es limitado a la vista del usuario, es una lista plana, no se puede compartir, no se organizan por carpetas.
Por lo mencionado, la idea se basa en la siguiente arquitectura, donde el flujo de trabajo sería:
- Configuras tu estructura: Usuario configura carpetas y bookmarks.
- Visualizas en tu Role Center: Página incrustada que muestra un árbol jerárquico.
- Export/Import: Permite compartir configuraciones vía JSON.

A) Un usuario crea su estructura personalizada
📁 SALES: Morning Routine
├── 📄 Sales Orders (Page 9305)
├── 📄 Customers (Page 22)
├── 📄 Item Availability by Location (Page 492)
└── 📄 Sales Quotes (Page 9300)
📁 SALES: Order Processing
├── 📄 Sales Order List (Page 9305)
├── 📄 Customer Price Lists (Page 7002)
├── 📄 Item Substitutions (Page 5716)
└── 📄 Sales Line (Page 516)
📁 SALES: Post-Sales
├── 📄 Posted Sales Invoices (Page 143)
├── 📄 Customer Ledger Entries (Page 25)
├── 📄 Sales Return Orders (Page 9304)
└── 📄 Posted Sales Credit Memos (Page 144)
📁 SALES: Analytics & Monitoring
├── 📄 Sales Analysis Views (Page 9371)
├── 📄 Sales Statistics (Page 160)
└── 📄 Sales Invoice Statistics (Page 397)
B) Un responsable crea una estructura de onboarding
📁 WEEK1-DAY1: Basic Concepts
├── 📄 Vendors (Page 27)
├── 📄 Items (Page 31)
└── 📄 Purchase Orders (Page 9307)
📁 WEEK1-DAY2: First Quote
├── 📄 Vendors (Page 27)
├── 📄 Purchase Quotes (Page 9306)
└── 📄 Vendor Item Catalog (Page 297)
📁 WEEK1-DAY3: Converting to Order
├── 📄 Purchase Quotes (Page 9306)
└── 📄 Purchase Orders (Page 9307)
📁 WEEK1-DAY4: Receiving & Invoicing
├── 📄 Posted Purchase Receipts (Page 145)
├── 📄 Purchase Invoices (Page 9308)
└── 📄 Vendor Ledger Entries (Page 29)
C) Un responsable crea estructuras por proceso
📁 FIN: Month-End Close
├── 📄 General Journal (Page 39)
├── 📄 Bank Account Reconciliation (Page 379)
├── 📄 G/L Register (Page 116)
└── 📄 Item Ledger Entries (Page 38)
📁 SALES: Lead to Quote
├── 📄 Contacts (Page 5052)
├── 📄 Opportunities (Page 5123)
└── 📄 Sales Quotes (Page 9300)
📁 WH: Receiving
├── 📄 Purchase Orders (Page 9307)
├── 📄 Posted Purchase Receipts (Page 145)
├── 📄 Warehouse Receipts (Page 7332)
└── 📄 Bin Contents (Page 7303)
La propuesta se compone de dos páginas principales que trabajan juntas para crear el sistema de navegación, 📁Bookmark Folders: El sistema de carpetas organizacional donde defines la estructura jerárquica de tus bookmarks
- View Bookmarks: Ver todas las páginas asociadas a cada carpeta.
- Import Template: Cargar estructuras predefinidas desde archivos JSON.
- Export Template: Compartir tu organización con otros usuarios o crear backups.
- Delete All: Limpiar toda la estructura si necesitas empezar desde cero

📄 Bookmark Pages: El contenido de cada carpeta donde defines qué páginas específicas incluir.
- Open Page: Lanzar directamente la página seleccionada.
- Delete All Bookmarks: Vaciar todo el contenido de bookmarks en el sistema.
Donde también:
- Sort Order controla el orden de visualización de carpetas/páginas.
- Custom Label permite renombrar bookmarks con nombres personalizados.

Una vez configuradas tus carpetas y páginas, puedes acceder a tus bookmarks desde:
- 📂 Bookmark Tree: Acceso directo desde el menú de búsqueda (Tell Me) para gestionar tu estructura completa.
- 🌳 Bookmark Tree (RoleCenter): Integrado directamente en tu Role Center. El árbol expandible te permite navegar por carpetas y subcarpetas.


El código se encuentra aquí, por si quieres revisarlo: Blog/GDRGDev_BookmarkOrganizer at main · gdrgdev/Blog
La solución se compone:
- GDRGBookmarkManager.Codeunit.al – Lógica de negocio para Import/Export JSON con JsonObject/JsonArray.
- GDRGBookmarkPermissions.PermissionSet.al – Define permisos.
- GDRGBookmarkTreeBuilder.Codeunit.al – Construye la jerarquía de carpetas y bookmarks.
- GDRGBookmarkTreePart.Page.al – Widget de Role Center (ListPart) con árbol expandible y navegación directa.
- GDRGBookmarkTreeView.Page.al – Navegador completo con árbol jerárquico.
- GDRGBusinessManagerRCExt.PageExt.al – Extension del Business Manager Role Center agregando el widget de bookmarks.
- GDRGFolderBookmark.Table.al – Almacena la estructura de carpetas jerárquicas por usuario.
- GDRGFolderBookmarkList.Page.al – Página de gestión de carpetas.
- GDRGPageBookmark.Table.al – Contiene los bookmarks individuales con Custom Label.
- GDRGPageBookmarkList.Page.al – Página de gestión de bookmarks.
- GDRGSystemPageBrowser.Page.al – Búsqueda de páginas.
Desde mi punto de vista, creo que esta solución es una facilidad real que puede transformar tu día a día, y espero que esta herramienta te sirva de alguna manera y te ayude a ahorrar algunos minutos diarios.
Espero que esta información te ayude.
📑 Bookmark Organizer: Personalized Navigation System🎯
If you or a user have ever needed to organize the various Business Central pages for daily work, and the assigned roles are too extensive or offer access to many pages that you don’t need to use frequently, I hope this post gives you some insight into how to approach this.
And we’re talking about some organizational scenarios for daily work, new user onboarding, or specific business processes.
- Shortcut organized by workflow.
- Onboarding: Structured learning path.
- Folder and page structure to address specific processes.
Can bc’s native roles and bookmarks be used? Of course, it’s not meant to replace but rather complement both features. So what complements or differentiates it?
- Roles: These are managed by Admin/IT and not by the end user. They are created for specific roles but not by individuals within the role. They are somewhat static and cannot be extended directly by the user. Settings cannot be shared between users.
- Native Bookmark: These are limited to the user’s view; they are a flat list, cannot be shared, and are not organized by folders.
For the reasons mentioned above, the idea is based on the following architecture, where the workflow would be:
- Configure your structure: User configures folders and bookmarks.
- View in your Role Center: Embedded page showing a hierarchical tree.
- Export/Import: Allows you to share configurations via JSON.

A) A user creates his custom structure
📁 SALES: Morning Routine
├── 📄 Sales Orders (Page 9305)
├── 📄 Customers (Page 22)
├── 📄 Item Availability by Location (Page 492)
└── 📄 Sales Quotes (Page 9300)
📁 SALES: Order Processing
├── 📄 Sales Order List (Page 9305)
├── 📄 Customer Price Lists (Page 7002)
├── 📄 Item Substitutions (Page 5716)
└── 📄 Sales Line (Page 516)
📁 SALES: Post-Sales
├── 📄 Posted Sales Invoices (Page 143)
├── 📄 Customer Ledger Entries (Page 25)
├── 📄 Sales Return Orders (Page 9304)
└── 📄 Posted Sales Credit Memos (Page 144)
📁 SALES: Analytics & Monitoring
├── 📄 Sales Analysis Views (Page 9371)
├── 📄 Sales Statistics (Page 160)
└── 📄 Sales Invoice Statistics (Page 397)
B) A manager creates an onboarding structure
📁 WEEK1-DAY1: Basic Concepts
├── 📄 Vendors (Page 27)
├── 📄 Items (Page 31)
└── 📄 Purchase Orders (Page 9307)
📁 WEEK1-DAY2: First Quote
├── 📄 Vendors (Page 27)
├── 📄 Purchase Quotes (Page 9306)
└── 📄 Vendor Item Catalog (Page 297)
📁 WEEK1-DAY3: Converting to Order
├── 📄 Purchase Quotes (Page 9306)
└── 📄 Purchase Orders (Page 9307)
📁 WEEK1-DAY4: Receiving & Invoicing
├── 📄 Posted Purchase Receipts (Page 145)
├── 📄 Purchase Invoices (Page 9308)
└── 📄 Vendor Ledger Entries (Page 29)
C) A manager creates structures by process
📁 FIN: Month-End Close
├── 📄 General Journal (Page 39)
├── 📄 Bank Account Reconciliation (Page 379)
├── 📄 G/L Register (Page 116)
└── 📄 Item Ledger Entries (Page 38)
📁 SALES: Lead to Quote
├── 📄 Contacts (Page 5052)
├── 📄 Opportunities (Page 5123)
└── 📄 Sales Quotes (Page 9300)
📁 WH: Receiving
├── 📄 Purchase Orders (Page 9307)
├── 📄 Posted Purchase Receipts (Page 145)
├── 📄 Warehouse Receipts (Page 7332)
└── 📄 Bin Contents (Page 7303)
The proposal is made up of two main pages that work together to create the navigation system, 📁Bookmark Folders: The organizational folder system where you define the hierarchical structure of your bookmarks
- View Bookmarks: View all pages associated with each folder.
- Import Template: Load predefined structures from JSON files.
- Export Template: Share your organization with other users or create backups.
- Delete All: Clear the entire structure if you need to start from scratch.

📄 Bookmark Pages: The contents of each folder where you define which specific pages to include.
- Open Page: Launch the selected page directly.
- Delete All Bookmarks: Clear all bookmarks from the system.
It is worth noting that:
- Sort Order controls the display order of folders/pages.
- Custom Label allows you to rename bookmarks with custom names.

Once you’ve set up your folders and pages, you can access your bookmarks from:
- 📂 Bookmark Tree: Direct access from the search menu (Tell Me) to manage your entire structure.
- 🌳 Bookmark Tree (RoleCenter): Integrated directly into your Role Center. The expandable tree allows you to navigate through folders and subfolders.


The code is here, if you want to check it out: Blog/GDRGDev_BookmarkOrganizer at main · gdrgdev/Blog
The solution is composed of these objects
- GDRGBookmarkManager.Codeunit.al: Business logic for importing and exporting JSON using JsonObject/JsonArray.
- GDRGBookmarkPermissions.PermissionSet.al: Defines permissions.
- GDRGBookmarkTreeBuilder.Codeunit.al: Builds the folder and bookmark hierarchy.
- GDRGBookmarkTreePart.Page.al: Role Center widget (ListPart) with expandable tree and direct navigation.
- GDRGBookmarkTreeView.Page.al: Full-featured navigator with hierarchical tree.
- GDRGBusinessManagerRCExt.PageExt.al: Business Manager Role Center extension adding the bookmark widget.
- GDRGFolderBookmark.Table.al: Stores the hierarchical folder structure per user.
- GDRGFolderBookmarkList.Page.al: Folder management page.
- GDRGPageBookmark.Table.al: Contains individual bookmarks with a Custom Label.
- GDRGPageBookmarkList.Page.al: Bookmark management page.
- GDRGSystemPageBrowser.Page.al: Page search.
From my perspective, I think this solution is a real convenience that can transform your daily life, and I hope this tool helps you in some way and saves you a few minutes every day.
I hope this information helps you.
Más información / More information:



Deja un comentario