iSeries Projects
December 18, 2007
I used to say the only reasons for using iSeries projects was:
- Disconnected development
- More structured development (i.e. organizing applications into projects which ideally are finer grained than the large libraries typically used today)
- Change management (being able to store your RPG, COBOL, CL and DDS in the same repository as your Java and Web pages)
However, I have recently been surprised by the uptake of iSeries projects for different reasons. One person on the midrange.com WDSC mailing list was being forced to keep their html files used with CGIDEV2 in a source physical file member on the System i. This makes it very difficult to use a graphical editor like the Page Designer in WDSC because the graphical HTML editors can’t handle the sequence number and timestamp fields. In WDSC 7.0 we added a feature that can have iSeries projects automatically strip off the sequence numbers and timestamp field from each line when the member is downloaded. Using this feature the user was able to use iSeries projects and Page Designer to edit their HTML source members.
Others use iSeries projects to edit their RPG, COBOL, CL or DDS source members solely for the ability to have the workspace track the changes. As you save changes to a local workspace file, the workspace support tracks the changes as a local history. You can then right click on the member at any time and select Compare With > Local History to see each saved change and compare your current edition to any of the saved changes. This capability is not available when editing from the RSE.
This can even work if nobody else on your team is using iSeries projects. Before you make changes to your member, right click on it in the RSE and select “Make Available Offline” (nevermind the fact that you are not working offline). Then from iSeries projects, make your changes to the member. When you are done, right click on the member in iSeries projects and select Remote Actions > Push Selected.
There are a couple things to consider here. When you edit members with the RSE they are locked on the System i just like when you edit them with SEU. So nobody can makes changes to the member while you are editing it. With iSeries projects the member is not locked. So when you go to push your changes you might get a warning that the member has been modified while you were changing it. How likely this will happen and steps you could take to reduce / eliminate this will vary depending on how your shop has it’s development environment setup.
Of course, implementing a change management system would solve the locking problem and give you the ability to track changes :)
I have a COMMON Webcast on iSeries projects coming up in January if you are interested in learning more. You can also find some older presentations and tutorials on iSeries projects here.