Any suggestion to handle DAServer with tray icon in windows service

Hi,
Currently, I need to quit DAServer and update the new DAServer. So all users need to quit the application

Hi,

You can put a new schema to specific folder. Server app can check this folder for new files every XXX seconds via TTimer and load it.

by other hand, you can provide admin method and upload a new schema via it

Hi,
How to build admin method to update new schema? Any sample like Relativity Server Admin Tool?

Hi,

  • create a new service (AdminService), add a new method that will accept binary as a parameter.
  • assign a service group (admin) to this service
  • create a new server component, it should use personal port. assign the same service group.

see more about service groups at the Service Group feature

I hope you can load schema from binary w/o my code :slight_smile:

Hi,
Where can I found the following screen?

Hi,

Noted with thanks.

Hi,
Sorry that would you have any simple demo to handle update schema without quit DAServer?

Thanks!

Hi,

check testcase:
VCLApplication.zip (189.1 KB)

Hi,
Thanks for your testcase. I tried to compile DA server. It has the following error.
image

Hi,

use this .RODL
VCLApplicationServer.RODL (1.5 KB)

Hi,
I tested it that is OK now. Tks a lot.

Hi,
I tried to double click “Schema” in client application. It has an error. Is it normal? Should I only use “Schema.LoadFromFile” to update client’s schema first?

Hi,

You should assign ConnectionManager if you want to open this schema in Schema Modeler.

By other hand, you can use TFileStream/TMemoryStream that reads .daSchema and upload this stream to server.

Hi,

Noted with thanks. I have one more questions. If I have some new or changed tables, I still need to upload the full set of .daSchema or not?
If using your testcase, I can register DAServer as Windows services and use client to update the new schema. Right?

Hi,

up to your decision.
if you upload only changed tables, you have to implement code that merges changed tables to global schema.

Yes, you can.

Hi,
Noted with thanks. Schema.SaveToStream is merge the schema or overwrite schema. My .daSchema size is over 8Mb now. I guess it may grow up around 50Mb later. Is it normal? If overwrite global schema, the speed performance is OK when using Schema.SaveToStream?

Hi,

overwrite

we have added .json format since .1565 so your schema will be smaller in comparing with .xml.

also .json deserialization works faster than .xml one so it will be ok.

Noted with thanks.