DEx was developed with its own library maintenance function. This is integral to managing versioning and overall integrity of the libraries. At the time of initial development, SVN was the open source choice for library control but did not enforce what was needed for version control. This was, and still is, a challenge to using general purpose tools when constraints are desired to get a consistent outcome across a variety of developers and companies.
The use of an internal library maintenance function however has produced its own problems. It presents a learning curve for new users and has not worked well in group efforts. The pattern has largely been a group works on the model updates desired to be given to one person to actually put then in DEx. This unfortunately is a choke point for development.
Git, and the access program GitHub, were designed for collaborative efforts. They allow repositories to be duplicated (forked) so that multiple teams can work separately with a means to sync the repos back up. OpenTravel is providing a process for DEx and Git to be used together “as is” while we learn what changes to DEx would make this cooperation more seamless.
The use case we are focusing on is to support model library workgroups. Provide the option for workgroups to subdivide the model work and assign multiple teams to delineated work areas. Each team would be provided a forked copy of the repo. This would allow the team to make any changes they need without impacting other teams. When complete, they submit a pull request to the library maintainer who follows a process to do a merge back into the main repo.
What has been determined thru testing is one can take an exported copy of the 2.0 repo and import it into Git using GitHub. The graphic “drag and drop” function in GitHub works to move base file folder (.ota2) into Git and all the subdirectories (unzipped). If someone knows how to move the zip file into GitHub and unzip it there, let us know. This creates the base repo in GitHub which can be updated or forked for others to update. Using DEx, one can find the area they want to work on, such as
and open the HospitalityOffers_2_0_0.otm file. This causes DEx to pull in all associated files for, in this case, Offers. You can open any other .otm files as needed to add to your DEx project. DEx is now treating all the Git based files you pulled into your project as a local repo. Any updates you make on these files will be reflected in GitHub. To sum up, DEx will manage the local repo as it always has, but that local repo happens to be in GitHub as well.
A workgroup can use the common functions of GitHub, such as fork, to manage individual or sub team updates and merge them back into a common (local) repo. When complete your workgroup leader will work with Open Travel to follow the process to merge the updates into the online (production) repo and publish the new version.
Use the form to request repository access. There is a checkbox to request repo access and a copy for download. If you already have repo access, check the box for repo only.
This capability is intended for OpenTravel workgroups that intend to propose model changes. However it can be used to take a copy of the repo “behind the firewall” for your internal company use. We do encourage you to join or start a workgroup with OpenTravel to donate back model changes that would benefit the community. Changes not unique to your company process or infrastructure like a legacy backend. This would help to avoid future model conflicts when you company needs to catch up with community changes. Your updates will already be part of the release.