intERPrise Sample RDi to iProject(RDi) setup

While the development environment is a personal choice and we do not force any specific IDE on the contributors we are still building the layouts for the code which will meet the requirements of GitHub. A recent issue raised on GitHub has highlighted the need to provide some kind of base setup for those wishing to use RDi as the IDE for updating and contributing to the repository. We ask EVERYONE to please add your support to the RFE requesting a FREE version of RDI (RDI Lite) be made available to the IBM i developer community. Unless we see IBM respond and deliver something which can be used by all without limitations we cannot support RDi as the IDE of choice for this project.

The problem we are trying to address is how to modularise the the content in GitHub while working within the iProject limitations (iProjects are linked to a specific Library on the IBM i so we cannot sub-tree below that). I did notice ‘related iProjects’ selection in the project properties but not sure how that works? Also please note that while using the IFS would offer some easement it does add a lot more restrictions for ILE based content compilation.

The following is one way to set up the iProject and GitHub content in a way that allows it to integrate together with minimal problems. Again while this is the way we have set it up, I am sure there are plenty of others. 

First create a new workspace in RDi (we have called it newIRP)

New Workspace

New Workspace for intERPrise


Now you can open the Workbench and start to configure the connection to the IBM i that you are going to use. Once the connection has been defined and tested create a couple of new libraries on the system to accept the iProject content. We have used IRP for the Database_services and IRPT for the Transport_Services content.
Next we need to clone the repository into the local PC directory. It is suggested that you isolate the content and do not use the default paths supplied by git. In our case we added to a new directory D:\Projects\intNew (we have already copied the code to D:\Projects\intERPrise as part of the ongoing development activity for the repository) so we retrieved a new clone copy.
NOTE: We are cloning our branch ‘Chris_Transport’ not the master as the new directory structure is being updated as part of this branch.
Clone repository dialogue 1

Cloning repository 1

 

clone dialog 2

Clone repository dialog 2

 

clone dialog 3

Clone repository dialog 3

 

clone finished

Clone repository finished

Now that we have the git content store on our PC we need to set up the iProjects to link the content with the IBM i. The 2 libraries we have created above will be used to store the content. The fact that we have 3 levels in the repository allows us to easily link the relevant content with libraries on the IBM i. If in the future we add new module directories in git hub you just need to add a new project and link to a relevant library.
Open the iProject perspective in RDi (Window,Perspective,Open,i Projects).
Create a new project for each sub-directory in the repository, we have called the iProject the same name as the sub directory to keep things simple.

create iProject dialog 1

Create iProject dialog 1

 

iProject dialog 2

iProject dialog 2

Do the same for the Transport Services, the library we will link to is IRPT.
You should now see 2 iProjects defined in the iProjects perspective.

iProjects created

IProject created in perspective

Now we need to push this content to the IBM i so it is stored in the libraries we have defined.

Push changes

Push Changes to IBM i

The content should now exist on the IBM i. You can use either remote explorer or iProjects to update and compile the code etc. If you use Remote Explorer you need to remember to always select ‘Add to iProject’ (right click the file) once you have updated it or the changes will not be seen by git or the iProject.

Everything is now set up to allow easy management via iProjects and git.

I would suggest you review the MiWorkPlace editor as a suitable alternative to RDi. It will be made available for free to anyone who continuously contributes to this project.

Chris…