transposer

Options

dear all, has anyone used the TRANSPOSER in order to separate board environment in development and production? 

Regards

Answers

  • Leone Scaburri
    Options

    Dear PIETRO DI CINO,

     

    actually the proper name is "Transporter". It allows the BOARD developer to review and analyze the impact of a design change of the data model, or of the application, and promote it to the production server, whilst keeping the system’s availability.

    For a correct use of this tool DEV db should always be an "evolution" of PROD db.

     

    Regards,

    Leone

  • Pietro Di Cino
    Options

    Thanks a lot Leone Scaburri . Does it exists a guideline about:

     - where to download setup package for 10.1.3;

     - how to setup the two different environment.

     - how to manage the licences.

    Thanks

  • Federico Cazzalini
    Options

    Hello PIETRO DI CINO,

    the Transporter is installed automatically with the Board Server; you can find it in the installation folder, tipically:

     

    C:\Program Files\Board\Board Server\HBMP Transporter

     

    You can find all the informations in the dedicated page of the manual.

     

    Every Board Version brings an "updated" version of the Transporter, so please take always a look also to the Board Release Notes.

     

    Hope this helps,

    regards,

    federico

  • Pietro Di Cino
    Options

    ciao Federico Cazzalini

    thanks a lot for your instruction. What do you think if the development environment is on a local engine and the public environment is on a server?

    Thanks

  • Federico Cazzalini
    Options

    Ciao PIETRO DI CINO

    could you explain better the architecture you're thinking about?

    I spoke with your colleague Nicola Pizzi in Perugia the last wednesday: did you discuss the topic also with him?

     

    federico

  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options

    Hello Federico,
    what do we have to do if the transporter does not appear in our server?
    I mean, I cannot find anything equal or similar to the transporter in any BOARD folder. Is there anything more to dowload?
    Board version I am using is 10.8 and in the system administration tab everything seems ready to run the transporter (client using on-premise architecture, developing only from web browser).
    I also searched into the release notes and I didn't find anything helpful.

    If something's not clear, please let me know.

    Best,
    Marco

    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------
  • Salvatore Capuano
    edited November 2021
    Options
    Hello Marco,

    Are you searching the Transporter in the web environment? If yes, it's in the System Administration section of the upper left menu.

    Best,
    Salvatore

    ------------------------------
    Salvatore Capuano
    Technology Manager
    Board Community
    ------------------------------
    -------------------------------------------
  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options

    Hello Salvatore,
    thanks for the reply.
    Unfortunately, this is not the question I was asking; I try to reshape the question, maybe it's more straightforward: is the transporter embedded and ready to be used in the 10.8 Board version?

    Since Federico said that you have to run the transporter.exe application and I couldn't find it in the machine where the Board engine is installed, I was asking whether the transporter I find in the upper left menu of the web environment was already enough to promote the developments from Dev to Prod or I need to run/install/do something else.

    I hope the question is clear. Thanks again for your time.

    Best,
    Marco

    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------
  • Salvatore Capuano
    edited November 2021
    Options
    Hello Marco,

    You do not need anything else. The EXE that was mentioned is the old version of the transporter that is not compatible with the new databases. You just need the transporter you can find in the web enviroment under System Administration. Do you need some hints on how to use it?

    Best,
    Salvatore

    ------------------------------
    Salvatore Capuano
    Technology Manager
    Board Community
    ------------------------------
    -------------------------------------------
  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options
    Hello Salvatore,
    thanks for making the issue clear.
    Yes, can you give me some hints to use it? I saw something on the Board manual page but I think it's something obsolete...

    Thanks,
    Marco

    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------
  • Salvatore Capuano
    edited November 2021
    Options
    Hello Marco,

    These are the actions you need to perform:

    1. Go on the Dev Environment, take a snapshot of the database you need to transport
    2. Supposing you do not have a shared repository, the best is to download the snapshot
    3. Go on the Prod Environment, take a snapshot of the database
    4. Upload the snapshot downloaded on 2
    5. Select the 2 snapshots and click on Transporter Package (the arrow at the center allows you to switch the direction of the transport operation)
    6. Select all the elements you need to transport and generate the package
    7. Run the package

    Warning: the transporter performs the exact operation you performed in dev, this means that if you did an operation that cleared a cube or an entity in dev, the same will happen on prod when you execute the transporter. This means that it could be necessary to extract and reload the elements that will be cleared. By definition, the transporter cannot move data from dev to production, it only brings the structural changes. 

    Let me know if you have any question.

    Kind Regards,
    Salvatore

    ------------------------------
    Salvatore Capuano
    Technology Manager
    Board Community
    ------------------------------
    -------------------------------------------
  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options
    Hello Salvatore,
    I think you should include the extraction and reload of trees and cubes since some operations (like the fix of a max item number) will clear the cubes therefore you will lose data. The same for trees and entities, I guess. Am I wrong?
    Moreover, the logs are in a lot of cases empty so you do not understand what's really going to happen to that entity/cube/procedure etc.

    it would useful also to other users, I guess.

    Anyway, thanks for your tips.

    Best,
    Marco



    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------
  • Salvatore Capuano
    edited November 2021
    Options
    Hello Marco,

    You are right some operations will clear the data: the transporter performs exactly the same operations you performed on the dev environment but automatically so in the end you will have the same result. By definition the transporter brings in production the structure changes and not the data. 

    Regards,
    Salvatore

    ------------------------------
    Salvatore Capuano
    Technology Manager
    Board Community
    ------------------------------
    -------------------------------------------
  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options
    Hello Salvatore,
    do you have any evidence of block references completely messed up after the transport has been done and completed successfully?
    In a screen of the BFC Process capsule, we have some block references in a screen about the IC reconciliation; it worked and now it's not. We are pointing the references from scratch and it seems it's coming back to the previous (correct) functioning showing numbers. 
    For your info, the relationships are all linked and well managed, meaning that we have the accounts related to the right aggregation code.

    If you have any tip/evidence/something that could be useful to avoid such situations after transports, they are more than appreciated.

    Best,
    Marco

    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------
  • Salvatore Capuano
    edited November 2021
    Options
    Hello Marco,

    when  you clear and reload an entity the saved selects or the block references related to that entity will be lost because they use an internal unique id to identify the items. This is something that is crucial for the performance of the system. We have plans to change this behaviour in the future but it's not an easy task and we do not have any release date yet.

    Regards,
    Salvatore

    ------------------------------
    Salvatore Capuano
    Technology Manager
    Board Community
    ------------------------------
    -------------------------------------------
  • Dominik Borchert
    Dominik Borchert Customer
    First Comment 5 Up Votes First Anniversary Photogenic
    edited November 2021
    Options
    This "behaviour" regarding the "internal unique id" (that is pretty much a blackbox for a developer) of board is actually a major issue for us.

    Whenever master data is loaded in a different sequence (when the internal unique id is created) in the prod-environment than in the development environment and this data is then used for any selection (in a screen, layout object or procedure) that is transported / copied, you will have this behaviour that the selection in the prod-environment will be wrong. You basically need to check every object you have transported over and over again. Sometimes the selection in the prod reaches into the void, sometimes you have just an offset. In procedures the shown selection in the overview might also be wrong in this context. You basically need to open / change every selection to see the real selection behind.

    The workaround here is that we try to keep your environment completely synchronous regarding master data. Regarding csv-imports this is feasible (even though we also have often issues here when business side changes the master data sequence in the csv-file or deletes rows on production side..). If you have different source systems with different data sets connected it is basically not practicable.

    Our workaround here is that we import the prod-backup into the dev-environment after every transport to keep the systems / data models synchronous regarding the internal unique id's. Whenever you start a new development you have to be sure that you work on the same unique ids... otherwise you will risk offsets or wrong selections. In other sceanrios we have started to connect productive source systems to the dev-board system... But here you can get into trouble when we are talking about sensitive data...

    I really wonder how bigger companies / groups manage 3-tier landscapes with DEV->QUAL->PRD systems with board - especially when there are more developers working in one data model / different projects... Maybe you have additional tips here?

    To summarize: I would really appreciate if you could fix this behaviour of board - I would like to have only one technical key here - what you see is what you get... everything else is always creating issues, especially when we try to explain this to our business customers who are also creating screens in our setup (and copy them from dev to prod together with IT)...

    Best regards, Dominik


    ------------------------------
    Dominik Borchert
    Consultant
    Flughafen Berlin Brandenburg GmbH
    Germany
    ------------------------------
    -------------------------------------------
  • Marco Giacomini
    Marco Giacomini Active Partner
    First Comment First Anniversary
    edited November 2021
    Options
    Hello Dominik,
    I completely agree with what you said about the unique ID on master data. 
    In my opinion, the biggest issue is when you perform ordinary activities on the database structures (like transportations from dev to prod or the fix of a "broken" max item number) you have to put in place so many control activities that the old way (backup of prod and dev, extracting all cubes and tress from dev, reloading them on dev, check any rejected record (if any take appropriate actions), then backup of dev and restore of the dev database with prod data in the prod environment) seems still more attractive than the new, automated one. And this is not good, to me, because I would to save time and efforts through automated tools.

    Best,
    Marco

    ------------------------------
    Marco Giacomini
    Senior Consultant
    PRICEWATERHOUSECOOPERS ADVISORY SPA
    Italy
    ------------------------------
    -------------------------------------------