Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    13.0d Reify sample screenInputsReifyNewSample questions / feedback

    Hi Isomorphic,

    I had a look at this Reify sample (SNAPSHOT_v13.0d_2021-08-17) and have a few understanding questions and some feedback:
    • I can see the Reify login data and wonder if this is OK and would also be this way in production. Or should reading there always be possible, even without a login? Also, I can't log in under https://create.reify.com with the data from the sample
    • DataContext docs and the sample code in the docs say it's an String->Record mapping of DataSource IDs to Records, while the sample itself uses the DataSource instance, not the ID.
    • How does the line var screenInput = project.createScreen(project.screens[0].ID, ... work, when project.screens[0] does not exist, yet?
    • CM_Order source in it's tab is formatted as XML, the other CM_* DataSource tabs aren't formatted at all
    • The Response of the project.createScreen() call to create.reify.com is a bit unclear to me:
      • Why does it seem to contain a record (search for "Saveley & Henriot"), when this is about screen metadata?
      • Would it be possible to format the "Raw response" tab in Developer Console, possibly in a 2nd tab? This JSON in JSON-String with a lot of \n is completely unreadable for the human eye. You also can't really feed it to https://codebeautify.org/jsonviewer or similar, either.
    I hope these questions / ideas make sense.

    Thank you & Best regards
    Blama

    #2
    Originally posted by Blama View Post
    Hi Isomorphic,

    I had a look at this Reify sample (SNAPSHOT_v13.0d_2021-08-17) and have a few understanding questions and some feedback:

    I can see the Reify login data and wonder if this is OK and would also be this way in production. Or should reading there always be possible, even without a login?
    You can live-load in a production app from Reify.com or from a Reify OnSite server (that is behind your organization's firewall). This is both extremely powerful (update a live app in literally seconds) and dangerous (you could break it), so it's definitely a choice to consider carefully.

    Even if you don't use live loading in production, live loading at development time or in test environments is extremely useful.

    Also, I can't log in under https://create.reify.com with the data from the sample
    You can't log in to Reify.com with the credentials shown in the sample because it's a special account for public samples, and it does not allow logins. If you create things at Reify.com with your own account (your smartclient.com login works there) then you can live load them by putting in your credentials in the sample.

    DataContext docs and the sample code in the docs say it's an String->Record mapping of DataSource IDs to Records, while the sample itself uses the DataSource instance, not the ID.
    The instance is just used to get the ID.

    How does the line var screenInput = project.createScreen(project.screens[0].ID, ... work, when project.screens[0] does not exist, yet?
    Not clear what the question is here - this particular sample creates "project" as a global variable and you can see it obtains a value via the Reify.loadProject() callback.

    CM_Order source in it's tab is formatted as XML, the other CM_* DataSource tabs aren't formatted at all
    Thanks for pointing that out, we'll fix that.

    The Response of the project.createScreen() call to create.reify.com is a bit unclear to me:

    Why does it seem to contain a record (search for "Saveley & Henriot"), when this is about screen metadata?
    See canvas.dataContext & testDataContext - Reify screens can contain test data so that they can be run on their own for testing, and then this test data is ignored if the Reify screen is loaded inside of a real app, which provides a real dataContext.

    Would it be possible to format the "Raw response" tab in Developer Console, possibly in a 2nd tab? This JSON in JSON-String with a lot of \n is completely unreadable for the human eye. You also can't really feed it to https://codebeautify.org/jsonviewer or similar, either.
    We plan to add a feature to all of these samples where you can view the Reify Component XML of the screens, so you don't have to read the JSON.

    Comment


      #3
      Hi Isomorphic,

      thanks for the answers. W.r.t project.screens[0]: I did not inspect the JSON in the RPCRequest answer, you are right.
      Thanks for the hint on testDataContext. I did only read dataContext docs before.

      W.r.t. JSON in JSON-String: If you mean an extra tab in the sample, that's of course good. But in real life this does not help. If a formatted view in Developer Console is somehow possible, this definitely would be a good thing.

      Main thing "Reify in general":
      • Am I right in thinking that if one wants to test Reify, one should start with Isomorphic-hosted version Reify.com, as this is easier to use/setup than Reify OnSite server?
      • Where could one download Reify OnSite?
      • Is isc.RPCManager.loadScreen from this sample similar/equivalent to isc.Reify.loadProject here? Could one save the output of Reify.com locally and then only use the "normal" RPCManager.loadScreen? Is this a good workflow? Perhaps for production-only?
      Best regards
      Blama

      Comment


        #4
        Yes, we would recommend starting at Reify.com. ReifyOnSite builds are not yet publicly available but you can get one free or charge as part of our evaluation program.

        RPCManager.loadProject() (not loadScreen) is the equivalent to Reify.loadProject() and can be used with an exported Reify project. You can also take the screens out of an exported project and use them individually. The Reify for Developers overview in the SmartClient Reference covers this (in 13.0 reference).

        Comment

        Working...