{"id":18780671,"url":"https://github.com/simplicitesoftware/module-demo-datalink","last_synced_at":"2026-02-02T03:32:33.136Z","repository":{"id":80897081,"uuid":"543155235","full_name":"simplicitesoftware/module-demo-datalink","owner":"simplicitesoftware","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-17T07:31:26.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-24T22:41:59.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplicitesoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-29T14:03:52.000Z","updated_at":"2022-09-29T14:03:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd3220ae-340f-4175-b027-4072dec60338","html_url":"https://github.com/simplicitesoftware/module-demo-datalink","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simplicitesoftware/module-demo-datalink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplicitesoftware%2Fmodule-demo-datalink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplicitesoftware%2Fmodule-demo-datalink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplicitesoftware%2Fmodule-demo-datalink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplicitesoftware%2Fmodule-demo-datalink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplicitesoftware","download_url":"https://codeload.github.com/simplicitesoftware/module-demo-datalink/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplicitesoftware%2Fmodule-demo-datalink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29003228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T01:32:03.847Z","status":"online","status_checked_at":"2026-02-02T02:00:07.448Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T20:27:35.104Z","updated_at":"2026-02-02T03:32:33.009Z","avatar_url":"https://github.com/simplicitesoftware.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n ___ _            _ _    _ _    __\n/ __(_)_ __  _ __| (_)__(_) |_ /_/\n\\__ \\ | '  \\| '_ \\ | / _| |  _/ -_)\n|___/_|_|_|_| .__/_|_\\__|_|\\__\\___|\n            |_| \n--\u003e\n![](https://docs.simplicite.io//logos/logo250.png)\n* * *\n\n`DemoDataLink` module definition\n================================\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=simplicite-modules-DemoProject\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=simplicite-modules-DemoProject)\n\n### Introduction\n\nThis is an addon to demo **order management** application to explain the **DataLink** behavior:\n- Between 2 hosts = 2 instances of the platform\n- The instances must have the Demo installed, or at least the 2 object definitions: `DemoSupplier` and `DemoProduct`\n- The DetaLink synchronises those objects between a master and a slave host\n\t- Slave is notified on the fly when the master updates those objetcs thru synchronous API calls\n\t- A cron job will make a resync from the last scan/timestamp if the slave is not available\n\n### Import\n\nTo import this DataLink demo:\n\n- First install the module `Demo` in 2 isolated instances (V5.3+)\n- Create for each a module named `DemoDataLink`\n- Set the settings as:\n\n```json\n{\n\t\"type\": \"git\",\n\t\"origin\": {\n\t\t\"uri\": \"https://github.com/simplicitesoftware/module-demo-datalink.git\"\n\t}\n}\n```\n\n- Click on the _Import module_ button\n\n### Configure\n\nOpen the DataLink from the menu (operation or settings) to change the Hosts URL/credentials\n\n- Host name:\n\t- same as the `SERVER_URL` or `DIRECT_URL` to be accessed from a public URL by API\n\t- or a logical name forced on startup with `setApplicationName(\"myAppName\")` in the PlatformHooks (needs to restart the server)\n\n```java\npublic class PlatformHooks extends com.simplicite.util.engine.PlatformHooksInterface {\n\tpublic String postPlatformInit(Grant sys) {\n\t\tGlobals.setApplicationName(\"SLAVE_NAME\" /* or \"MASTER_NAME\" */);\n\t\treturn null;\n\t}\n}\n```\n\n- URL : the public URL to application (ex `https://myapp.domain.com`)\n- User/Password: \n\t- API credentials to get a token from slave instance\n\t- The user must have full access to `DemoSupplier` and `DemoProduct` (designer is granted)\n\nMake sure the Crontab contains the `DataLink` job and activate it to desired times.\n\nMake sure `USE_API` services is available.\n\nClear the platforms caches.\n\n### Test\n\n- Create, update or delete Suppliers/Products on the master with admin profile\n- Check on the salve host that updates are applied automatically to local data\n- See server logs on both sides to audit issues\n\n### Quality\n\nThis module can be analysed by the **SonarQube** analysis tool\nusing this command:\n\n```bash\nmvn verify sonar:sonar\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplicitesoftware%2Fmodule-demo-datalink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplicitesoftware%2Fmodule-demo-datalink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplicitesoftware%2Fmodule-demo-datalink/lists"}