You are not logged in.
Hi, I'm taking the old documentation in: https://synopse.info/files/html/Synopse … 01.18.html
and trying to convert it to mORMot2, as-is, just changing the old class/method names from the old to the new convention. I'm also working on adapting all the code examples and code snippets so they at least compile with mORMot2
Chapters with all code validated: 5, 8, 16, 25
The temporal address for it is: http://wp.cyber.es/mORMot2-SAD-Index.html
I'ts split in chapter-sized documents linked from an index and from chapter to chapter
Would be grateful to know if what I'm doing is useful, useless, or whatever in the middle.
If it's useful, once finished I'd pass it to the boss so it does whatever he wants with it.
Offline
It could be better to work at documentation source level, i.e. on the SynProject .pro text file itself.
That is, update
https://github.com/synopse/mORMot2/blob … ormot2.pro
from
https://github.com/synopse/mORMot/blob/ … mework.pro
I guess only some part of the original source could be added, some of the "architecture blabling" could be just ignored.
Offline
Hi ab ![]()
If what I'm doing is worth anything, I can adapt it to the .pro format, but first I'd like to know if what I'm doing is useful or just garbage
Offline
If you start from the existing mormot2.pro file, and append some content from the mORMot 1 .pro file, and make pull requests after proper corrections/renaming, I would add them.
But please only a few core part of the mORMOt 1 .pro file.
Anyway, your existing content is very interresting.
Do you use some AI to help you?
Offline
Hi ab
If what I'm doing is worth anything, I can adapt it to the .pro format, but first I'd like to know if what I'm doing is useful or just garbage
Hey, Javierus
Your work is pretty impressive! mORMot is a great framework, but the learning curve is steep. The way you organized the topics and the samples shown will definitely help many users, from newbies to those already "initiated" in the mORMot world.
Best regards!
Offline
Do you use some AI to help you?
After 45 years of daily coding, these days 99% of the code I produce every day is through AI. Had you asked me one year ago if this was possible, I would have thought you were crazy.
The documentation updating from mORMot(1) to mORMot2 is 100% done with AI
The code examples are all compiled to be sure it's syntactically correct; even the snippets are enclosed in a fake project so it can be compiled
I'm using more mORMot2 now than before; yesterday just remade an MCP server I had made with the GDK MCP server, with mORMot2. The very excellent code documentation inlined everywhere in mORMot2 makes the AI understand it perfectly; way better than me.
In my mORMot2 copy, every folder has a CLAUDE.md documenting it, and then a main .md document with a global description and links to all the folder documents
Offline
I'll make a pull request for it , just with the MD files
I have a folder with this documentation I'm translating, just as html files for now, and all the code and projects for all the examples. It's not adequate for publishing: it is for Delphi 12.3 and has some search paths for my codebase structure, but if you feel curious, I could make a separate pull request, so you can get it and reject the request
I was also thinking on adapting all the DMVCframework examples but adapted to mORMot2, except the ones that are very specific and can't be adapted. If you believe it could be helpful, tell me and I'll do it
Offline
I am trying to migrate the examples of Mormot 1.18 to Mormot 2 using Claude Code. Once all are successful, I will share the mormot2-migration skill, which may be helpful to others who wish to use Claude Code. Here is the progress:
| # | Project Path | Status |
| --- | --------------------------------------------------------- | ------- |
| 1 | 01 - In Memory ORM/Project01.lpi | SUCCESS |
| 2 | 02 - Embedded SQLite3 ORM/Project02.lpi | SUCCESS |
| 3 | 03 - NamedPipe Client-Server/Project03Client.lpi | SUCCESS |
| 4 | 03 - NamedPipe Client-Server/Project03Server.lpi | SUCCESS |
| 5 | 04 - HTTP Client-Server/Project04Client.lpi | SUCCESS |
| 6 | 04 - HTTP Client-Server/Project04Server.lpi | SUCCESS |
| 7 | 06 - Remote JSON REST Service/Project06Client.lpi | SUCCESS |
| 8 | 06 - Remote JSON REST Service/Project06Server.lpi | SUCCESS |
| 9 | 09 - HttpApi web server/HttpApiServer.lpi | SUCCESS |
| 10 | 10 - Background Http service/httpservice.lpi | SUCCESS |
| 11 | 10 - Background Http service/httpserviceSetup.lpi | SUCCESS |
| 12 | 11 - Exception logging/LogView.lpi | SUCCESS |
| 13 | 13 - StandAlone JSON SQL server/JSONSQLClient.lpi | SUCCESS |
| 14 | 13 - StandAlone JSON SQL server/JSONSQLServer.lpi | SUCCESS |
| 15 | 14 - Interface based services/Project14Client.lpi | SUCCESS |
| 16 | 14 - Interface based services/Project14ServerHttp.lpi | SUCCESS |
| 17 | 14 - Interface based services/Project14ServerHttpWeak.lpi | SUCCESS |
| 18 | 14 - Interface based services/Project14ServerInMemory.lpi | SUCCESS |
| 19 | 27 - CrossPlatform Clients/FPC/JSONconsole.lpi | SUCCESS |
| 20 | 27 - CrossPlatform Clients/FPC/LCLClient.lpi | SUCCESS |
| 21 | 31 - WebSockets/Project31LongWorkClient.lpi | SUCCESS |
| 22 | 31 - WebSockets/Project31LongWorkServer.lpi | SUCCESS |
| 23 | 31 - WebSockets/Project31WinHTTPEchoServer.lpi | SUCCESS |
| 24 | 33 - ECC/ECC.lpi | SUCCESS |
| 25 | 36 - Simple REST Benchmark/RESTBenchmark.lpi | SUCCESS |
| 26 | 37 - FishShop Service/FishShopDaemon.lpi | SUCCESS |
| 27 | 37 - FishShop Service/TestFishShop.lpi | SUCCESS |Offline
I will share the mormot2-migration skill, which may be helpful to others who wish to use Claude Code
I'm interested, will wait for it
Offline
I found this AI genetared useful:
https://zread.ai/synopse/mORMot2
and
https://zread.ai/synopse/mORMot
Offline
zen010101 wrote:I will share the mormot2-migration skill, which may be helpful to others who wish to use Claude Code
I'm interested, will wait for it
Here is my skill file: ~/.cluade/skill/mormot2-migration/SKILL.md : https://gist.github.com/zen010101/ace68 … 0e1039e312
Here is the progress using it to migrate all the Samples shipped with mORMot 1.18 :
# mORMot 1 Examples Migration Progress
**Updated**: 2025-12-14 | **Target**: Compile with `{$define PUREMORMOT2}`
## Summary
| Compiler | Total | Pass | Fail |
|----------|-------|------|------|
| FPC | 35 | 34 | 1 |
| Delphi | 60 | 50 | 10 |
| **All** | 95 | 84 | 11 |
**Overall: 84/95 (88%) projects compile successfully**
---
## FPC Compilation Results (.lpi)
| # | Project | Status | Notes |
|----|-----------------------------------|--------|--------------------------------|
| 1 | 01/Project01.lpi | PASS | |
| 2 | 02/Project02.lpi | PASS | |
| 3 | 03/Project03Client.lpi | PASS | |
| 4 | 03/Project03Server.lpi | PASS | |
| 5 | 04/Project04Client.lpi | PASS | |
| 6 | 04/Project04Server.lpi | PASS | |
| 7 | 06/Project06Client.lpi | PASS | |
| 8 | 06/Project06Server.lpi | PASS | |
| 9 | 09/HttpApiServer.lpi | PASS | |
| 10 | 10/httpservice.lpi | PASS | |
| 11 | 10/httpserviceSetup.lpi | PASS | |
| 12 | 11/LogView.lpi | FAIL | mormot.ui.controls (VCL only) |
| 13 | 13/JSONSQLClient.lpi | PASS | |
| 14 | 13/JSONSQLServer.lpi | PASS | |
| 15 | 14/Project14Client.lpi | PASS | |
| 16 | 14/Project14ServerHttp.lpi | PASS | |
| 17 | 14/Project14ServerHttpWeak.lpi | PASS | |
| 18 | 14/Project14ServerInMemory.lpi | PASS | |
| 19 | 15/PerfTest.lpi | PASS | Fixed TRestBatch pattern |
| 20 | 15/PerfTestConsole.lpi | PASS | Fixed TRestBatch pattern |
| 21 | 24/MongoDBTests.lpi | PASS | Fixed TRestBatch pattern |
| 22 | 25/JSONPerfTests.lpi | PASS | Fixed comment syntax |
| 23 | 27/FPC/JSONconsole.lpi | PASS | |
| 24 | 27/FPC/LCLClient.lpi | PASS | |
| 25 | 30/MVCServer.lpi | PASS | Fixed TOrmTable, TRestBatch |
| 26 | 30/MVCServerMongoDB.lpi | PASS | Fixed PBKDF2_SHA3 import |
| 27 | 30/MVCServerPostgreSQL.lpi | PASS | Fixed TSqlDBConnectionProperties |
| 28 | 31/Project31LongWorkClient.lpi | PASS | |
| 29 | 31/Project31LongWorkServer.lpi | PASS | |
| 30 | 31/Project31SimpleEchoServer.lpi | PASS | Fixed WebSocket API |
| 31 | 31/Project31WinHTTPEchoServer.lpi | PASS | |
| 32 | 33/ECC.lpi | PASS | |
| 33 | 36/RESTBenchmark.lpi | PASS | |
| 34 | 37/FishShopDaemon.lpi | PASS | |
| 35 | 37/TestFishShop.lpi | PASS | |
**FPC: 34/35 (97%) passed**
---
## Delphi Compilation Results (.dpr/.dproj)
### Passed (50)
| # | Project | Notes |
|----|--------------------------------------|-------------------------|
| 1 | 04/Project04ServerStatic.dpr | |
| 2 | 05/SynPdfFormCanvas.dpr | |
| 3 | 05/SynPdfLayers.dpr | |
| 4 | 05/TestSQLite3Pages.dpr | |
| 5 | 07/SynTest.dpr | |
| 6 | 11/LibraryTest.dpr | |
| 7 | 11/LoggingTest.dpr | |
| 8 | 11/RemoteLoggingTest.dpr | |
| 9 | 11/MyLibrary.dpr | |
| 10 | 11/UnSynLz.dpr | |
| 11 | 11/Map2Mab.dpr | |
| 12 | 11/thread512.dpr | |
| 13 | 12/DBSynLZ.dpr | |
| 14 | 14/Project14Server.dpr | |
| 15 | 14/Project14ServerExternal.dpr | |
| 16 | 15/mORMotBatchInsert.dpr | |
| 17 | 15/PerfTest.dpr | Fixed TRestBatch pattern |
| 18 | 15/PerfTestConsole.dpr | Fixed TRestBatch pattern |
| 19 | 16/Project16Client.dpr | |
| 20 | 16/Project16ServerHttp.dpr | |
| 21 | 17/mORMotVCLTest.dpr | Full PUREMORMOT2 |
| 22 | 18/Project18Server.dpr | |
| 23 | 19/Project19Server.dpr | |
| 24 | 20/Project20Client.dpr | |
| 25 | 20/Project20ServerInMemory.dpr | |
| 26 | 21/Project21HttpClient.dpr | |
| 27 | 21/Project21HttpServer.dpr | |
| 28 | 24/MongoDBTests.dpr | Fixed TRestBatch pattern |
| 29 | 25/JSONPerfTests.dpr | Fixed comment syntax |
| 30 | 26/RESTClient.dpr | |
| 31 | 26/RESTserver.dpr | |
| 32 | 27/Project14ServerHttpWrapper.dpr | |
| 33 | 27/RegressionTestsServer.dpr | |
| 34 | 28/RESTserver.dpr | |
| 35 | 28/RESTclient.dpr | |
| 36 | 30/MVCServer.dpr | Fixed TOrmTable, TRestBatch |
| 37 | 30/MVCServerMongoDB.dpr | Fixed PBKDF2_SHA3 import |
| 38 | 30/MVCServerPostgreSQL.dpr | Fixed TSqlDBConnectionProperties |
| 39 | 31/Project31ChatServer.dpr | |
| 40 | 31/Project31ChatClient.dpr | |
| 41 | 31/Project31SimpleEchoServer.dpr | Fixed WebSocket API |
| 42 | 34/Project34RTSPproxy.dpr | |
| 43 | 35/01/ServBook.dpr | |
| 44 | 35/01/TestAll.dpr | |
| 45 | 35/02/ServBook.dpr | |
| 46 | 35/02/TestAll.dpr | |
| 47 | 35/03/ServBook.dpr | |
| 48 | 35/03/TestAll.dpr | |
| 49 | 35/04/ServBook.dpr | |
| 50 | 35/04/TestAll.dpr | |
| 51 | 35/05/ServBook.dpr | |
| 52 | 35/05/TestAll.dpr | |
### Failed (10) - Permanently Blocked
| # | Project | Error | Status |
|----|----------------------------------|---------------------------------------|------------------------------|
| 1 | 08/TaskDialogTest.dpr | mormot.ui.login not found | Blocked: UI unit missing |
| 2 | 11/LogView.dpr | SynMemoEx not found | Blocked: SynMemoEx removed |
| 3 | 12/SynDBExplorer.dpr | mormot.ui.orm not found | Blocked: UI framework |
| 4 | 22/JSHttpApiServer.dpr | Executable undeclared (SynSM) | Blocked: SynSM removed |
| 5 | 23/TestMustache.dpr | SynSM not found | Blocked: SynSM removed |
| 6 | 23/TestSynSM.dpr | SynSM.inc not found | Blocked: SynSM removed |
| 7 | 27/FMClient.dpr | SynCrossPlatformJSON not found | Blocked: CrossPlatform removed |
| 8 | 27/VCLClient.dpr | SynCrossPlatformJSON not found | Blocked: CrossPlatform removed |
| 9 | 27/RegressionTests.dpr | SynCrossPlatform.inc not found | Blocked: CrossPlatform removed |
| 10 | 27/MobileClient.dpr | SynCrossPlatformJSON not found | Blocked: CrossPlatform removed |
| 11 | 28/RESTserver_wrappers.dpr | Delphi-only (ODBC), no .lpi | Blocked: No FPC project file |
| 12 | 30/MVCServerFirebird.dpr | TSqlDBZeosConnectionProperties | Blocked: No Zeos/FireDAC driver |
| 13 | MainDemo/SynFile.dpr | mORMoti18n not found | Blocked: UI framework removed |
**Delphi: 52/65 (80%) passed** (excluding permanently blocked projects)Those who are interested can continue to improve the SKILL.md file, and then use Claude Code to migrate the remaining Samples files to mORMot 2.
Offline
The temporal address for it is: http://wp.cyber.es/mORMot2-SAD-Index.html
I really like this version. Even if it doesn't end up being selected as the official version, please keep it.
Thank you again, Javierus, for presenting us with such concise and impactful mORMot 2 materials. I believe this will help many people. ![]()
Offline