{"id":302373,"date":"2026-06-12T09:08:19","date_gmt":"2026-06-12T09:08:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/doli-training-management\/"},"modified":"2026-06-12T09:08:06","modified_gmt":"2026-06-12T09:08:06","slug":"doli-training-management","status":"publish","type":"plugin","link":"https:\/\/hi.wordpress.org\/plugins\/doli-training-management\/","author":9386139,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Doli Training Management","header_author":"Aplose","header_description":"Int\u00e9gration du gestionnaire de formations TrainingManagement (Dolibarr) pour WordPress","assets_banners_color":"184e8c","last_updated":"2026-06-12 09:08:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/aplose.fr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":54,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"oandrade","date":"2026-06-12 09:08:06"}},"upgrade_notice":{"1.0.1":"<p>Maintenance and WordPress.org review alignment.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3569828,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3569828,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Training catalog embedded on the front end.","2":"Plugin settings (Dolibarr URL and API key)."}},"plugin_section":[],"plugin_tags":[2777,167174,166504,597,4775],"plugin_category":[],"plugin_contributors":[250587],"plugin_business_model":[],"class_list":["post-302373","plugin","type-plugin","status-publish","hentry","plugin_tags-catalog","plugin_tags-dolibarr","plugin_tags-formations","plugin_tags-integration","plugin_tags-training","plugin_contributors-oandrade","plugin_committers-oandrade"],"banners":{"banner":"https:\/\/ps.w.org\/doli-training-management\/assets\/banner-772x250.png?rev=3569828","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/doli-training-management\/assets\/icon.svg?rev=3569828","icon":"https:\/\/ps.w.org\/doli-training-management\/assets\/icon.svg?rev=3569828","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Doli Training Management<\/strong> connects WordPress to <strong>your<\/strong> Dolibarr instance (with the Training Management module). Site administrators enter the Dolibarr base URL and API key in the plugin settings. Visitors see the training catalog through the <code>[doli-training-management]<\/code> shortcode.<\/p>\n\n<ul>\n<li>No calls to the plugin author's servers for catalog data: HTTP requests go only to the Dolibarr URL you configure.<\/li>\n<li>Optional link to create a hosted Training Management \/ Ma Gestion Cloud trial account (third-party commercial service); not required to use the plugin with your own Dolibarr.<\/li>\n<li>Self-hosted fonts (Roboto, Material Icons) bundled with the front-end assets \u2014 no Google Fonts CDN.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to external services to display catalog data and process training inquiries.<\/p>\n\n<p>1) <strong>Your Dolibarr instance<\/strong> (required)\n- <strong>Service purpose:<\/strong> read the training catalog and create inquiry tickets.\n- <strong>What is sent \/ when:<\/strong> when a visitor loads the widget, the plugin proxies catalog requests to the Dolibarr URL configured by the site administrator. When a visitor submits the inquiry form, the submitted contact fields (name, email, phone\/company if provided, message, preferred date\/time, selected training identifiers) are sent to that same Dolibarr API endpoint.\n- <strong>Service provider:<\/strong> chosen and configured by the site owner (your own Dolibarr host or managed Dolibarr provider).\n- <strong>Terms \/ privacy:<\/strong> depend on your Dolibarr provider and hosting contract.<\/p>\n\n<p>2) <strong>Ma Gestion Cloud signup page<\/strong> (optional link in admin settings)\n- <strong>Service purpose:<\/strong> optional account creation link for users who want a hosted Training Management \/ Dolibarr service.\n- <strong>What is sent \/ when:<\/strong> no background data transfer by the plugin. Data is only sent if an administrator voluntarily clicks the signup link and submits the external form.\n- <strong>Terms of service:<\/strong> https:\/\/www.ma-gestion-cloud.fr\/conditions-generales-dutilisation-des-services\/\n- <strong>Privacy policy:<\/strong> https:\/\/www.ma-gestion-cloud.fr\/politique-de-confidentialite\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The WordPress plugin PHP lives in this package. The front-end is built with <strong>Angular<\/strong> from TypeScript \/ HTML \/ SCSS sources in the author\u2019s development repository.<\/p>\n\n<p><strong>Public Angular source repository:<\/strong> https:\/\/git.aplose-dev.fr\/aplose\/DolibarrTrainingManagement.git<\/p>\n\n<p><strong>Shipped JavaScript:<\/strong> The files under <code>assets\/doli-training-management\/browser\/<\/code> (including <code>main.js<\/code> and <code>polyfills.js<\/code>) are built with <strong><code>npm run build:wordpress<\/code><\/strong> (optimized\/minified distribution build). Human-readable TypeScript \/ HTML \/ SCSS sources and build tooling are publicly available in the repository above.<\/p>\n\n<p><strong>Third-party front-end libraries<\/strong> (npm): Angular, Angular Material, RxJS, ngx-translate, Zone.js, tslib, and <strong>Fontsource<\/strong> packages <code>@fontsource\/roboto<\/code> and <code>@fontsource\/material-icons<\/code> (font files under Apache 2.0 \/ SIL OFL as per each package). See each package\u2019s <code>LICENSE<\/code> in <code>node_modules<\/code> when developing from source.<\/p>\n\n<h3>Build (regenerate browser assets)<\/h3>\n\n<p>From the Angular project root (same machine as your clone of the plugin sources):<\/p>\n\n<ol>\n<li>Install dependencies: <code>npm ci<\/code> (use <code>npm ci --legacy-peer-deps<\/code> if npm reports peer dependency conflicts).<\/li>\n<li>Optimized distribution build (used for WordPress.org package): <code>npm run build:wordpress<\/code><\/li>\n<li>Optional default production build: <code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>Output is written to <code>wp-content\/plugins\/doli-training-management\/assets\/doli-training-management\/<\/code> in this repository layout.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Doli Training<\/strong> \u2192 <strong>Settings<\/strong> and set your Dolibarr URL and API key.<\/li>\n<li>Add <code>[doli-training-management]<\/code> to a page or post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20does%20the%20plugin%20send%20data%3F\"><h3>Where does the plugin send data?<\/h3><\/dt>\n<dd><p>Catalog and inquiry requests are proxied through WordPress <code>admin-ajax.php<\/code> to the <strong>Dolibarr REST API<\/strong> at the URL you save in settings, using your API key on the server. The plugin does not send that traffic to the plugin author's infrastructure.<\/p><\/dd>\n<dt id=\"why%20do%20scripts%20load%20only%20on%20some%20pages%3F\"><h3>Why do scripts load only on some pages?<\/h3><\/dt>\n<dd><p>Front-end JavaScript and CSS load only when the current singular post content contains the <code>[doli-training-management]<\/code> shortcode (for performance). Use <code>add_filter( 'doli_training_management_force_enqueue_assets', '__return_true' );<\/code> if you embed the shortcode outside post content (advanced).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>WordPress.org <code>readme.txt<\/code>, uninstall cleanup, conditional front-end assets, nonce on training inquiry AJAX, admin-only error traces, signup URL fix.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Embed your Dolibarr Training Management catalog in WordPress via a shortcode and a server-side proxy to your own Dolibarr instance.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302373"}],"author":[{"embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/oandrade"}],"wp:attachment":[{"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302373"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302373"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302373"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302373"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302373"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}