You are on page 1of 49

Getting started with OpenEdge

Architect / Progress Developer


Studio for OpenEdge
A quick start guide

Mike Fechner, Consultingwerk Ltd.

Mike Fechner, Consultingwerk Ltd.

Independent IT consulting organization


Focusing on OpenEdge and .NET
Located in Cologne, Germany
Customers in Germany, Europe, USA
Vendor of tools and consulting programs
(specialized on GUI for .NET, Modernization)
23 years of Progress experience (V5 V11.2)
OpenEdge Architect user since 10.1A beta

Getting started with OpenEdge Architect

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
AppServer Modules
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

Reasons to migrate to OpenEdge Architect


GUI for .NET (10.2A)
Visual Designer, Class Browser
object-oriented coding
no class template in AppBuilder
AppServer Development support (10.2B)
Progress Tools Strategy
other development tools also Eclipse based
(i.e. Sonic MQ/Sonic ESB/Savvion/OpenEdge
BPM, Corticon, )
Getting started with OpenEdge Architect

Reasons to migrate to OpenEdge Architect


OpenEdge Mobile (11.2)
New AppBuilder Integration (11.2)
OpenEdge 10.2B is a good release to start with
OpenEdge Architect
Attractive to young developers
OpenEdge Archtect or Progress Developer
Studio product provides ALL functionality of
OpenEdge Studio!
Getting started with OpenEdge Architect

OpenEdge Architect
Eclipse based extensible IDE available since
10.1A (continuously enhanced since then)
Alternative to the OpenEdge Studio
Requires a separate license (included in PSDN
SDK)
AppBuilder is integrated
Extensible using 3rd party plug-ins (commercial,
community based)
Successful adoption requires acceptance of
Eclipse paradigms
Getting started with OpenEdge Architect

OpenEdge Architect
Eclipse works best with local source code
SCM plug-ins (team providers) are the way to do
team work
Shared network folders with source code are not
recommended (at least by myself)
OEA adoption may go along with introduction of
a SCM tool
SVN, Perforce, Roundtable, MS TFS,
Getting started with OpenEdge Architect

OpenEdge Architect Resources


Workspace

Projects
Resources (Programs, Files, Documentation, )

All objects are contained in a workspace

Resources are accessible only in the context


of a project

Getting started with OpenEdge Architect

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
AppServer Modules
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

Workspaces in OpenEdge Architect

What is a
Workspace?

A physical directory
containing projects, folders,
files and state data
Multiple projects of
different kinds can co-exist
in the same workspace e.g.
OpenEdge, Web, Sonic
etc

Workspace Root

metadata
Project

Folder
Files
Files

Why have
multiple
workspaces?

Different applications
Different releases
Different environments:
development, testing,
deployment

Getting started with OpenEdge Architect

10

Workspaces in OpenEdge Architect


A workspace is referenced by a physical folder
on your hard drive, should be considered:
local and private to a single developer (and
machine)
an important resource (backup)
Contains most configuration information made in
OpenEdge Architect
Contains .metadata directory dont touch that!

Getting started with OpenEdge Architect

11

Workspaces in OpenEdge Architect


A workspace will be created when you open it
(.metadata folder)
Workspaces can be moved to a different folder
(even on another computer)
Workspaces should not cross-mixed between
different OpenEdge releases
Update of workspace is possible, just open it
from a newer release of OpenEdge Architect
The location of the workspace is really not
important to anything but yourself
Getting started with OpenEdge Architect

12

Create a new workspace and explore it!

Getting started with OpenEdge Architect

13

Getting started with OpenEdge Architect

14

Getting started with OpenEdge Architect

15

Workspaces in OpenEdge Architect


Workspace is locked when used by an instance
of Eclipse / OpenEdge Architect
Workspace contains also configuration of
Window Layout, font sizes, and colors
Different workspace on multiple PCs is desirable
(i.e. PC with 27 inch screens and Netbook with
11 inch screen)

Getting started with OpenEdge Architect

16

Workspaces in OpenEdge Architect


Demo:
Views and perspectives in OpenEdge
Architect
How to move them around
How to open and close them
Quick Views

Getting started with OpenEdge Architect

17

Demo of integrated features

Search & Replace


Class Browser
Visual Designer
New AppBuilder (11.2)
(OpenEdge Mobile, AppBuilder)
ABL online help

Getting started with OpenEdge Architect

18

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

19

Workspace preferences in OEA


Main menu-bar, Window -> Preferences

Getting started with OpenEdge Architect

20

Workspace preferences in OEA


General Editors Text Editors
Insert spaces for Tabs, Tab width, show line
numbers
General Search
Reuse editors turned off
OpenEdge Architect Editor
As you type: Case (upper or lower), case
keywords, depending on your style: expand
keywords
Getting started with OpenEdge Architect

21

Workspace preferences in OEA


General Workspace
Refresh automatically

Getting started with OpenEdge Architect

22

Workspace preferences in OEA


OpenEdge Architect Editor Build
Auto check syntax (while typing)
Maximum number of errors reported per build:
much higher than 100 (e.g. 100,000) when
you have
templates or scratch files
migration routines that typically never
compile

Getting started with OpenEdge Architect

23

Workspace preferences in OEA


OpenEdge Architect Editor Templates
Fix MES Template (Message statement)
mfe Template

Getting started with OpenEdge Architect

24

Demo
defevent editor
macro/template

Getting started with OpenEdge Architect

25

Link with Editor (Resource view)


Keeps resource view
(file browser) and current
editor in sync when
switching editor tabs

Getting started with OpenEdge Architect

26

Error filters
Use error filters dialog to configure filters
default (show all) usually not helpful on large
projects
my preference is selected element and its
children
or use working sets

Getting started with OpenEdge Architect

27

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
AppServer Modules
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

28

Projects in OpenEdge Architect


collection of folders and files
and some meta data

What is a
Project?

enables different
functionalities i.e.
OpenEdge, Sonic etc
What is a Project
Type?

Getting started with OpenEdge Architect

29

Creating a project
A project is required to work with files (aka
resources) in Eclipse
Different natures of project
OpenEdge project: Ability to compile ABL source
code
project: good to maintain text files (ini, pf)
Projects cannot be nested
Projects can be opened and closed in OEA
Projects can be in more than a single workspace
Projects may even be on a network folder
Getting started with OpenEdge Architect

30

Getting started with OpenEdge Architect

31

Possible issue
Eclipse and prowin32.exe (aka Project AVM)
communicate using network protocol
Network outage (Wifi) may cause the AVM to
become unresponsible to Eclipse
Fix with Project -> Restart OpenEdge AVM
Eclipse is multi-threaded, Project AVM is singlethreaded

Getting started with OpenEdge Architect

32

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

33

Run configurations
A run configuration defines how OpenEdge
Architect launches your source code to test (and
debug)
Application can be executed in a new AVM (default)
or the Project runtime (not recommended)
New AVM for launch requires DB server (review
n on server)
By default the project settings will be copied to the
run configuration
.ini file is NOT responsible for PROPATH
Getting started with OpenEdge Architect

34

Run configurations
Create a default Run Configuration by opening a
procedure file in the editor
Hit the Run button

Getting started with OpenEdge Architect

35

Run configurations
Open Run Configurations Dialog

Getting started with OpenEdge Architect

36

Run configurations

Getting started with OpenEdge Architect

37

Shared File
A Shared File may be used to distribute Run Config
to team members (.launch file checked in to SCM)

Getting started with OpenEdge Architect

38

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

39

Opening files from ABL code


Eclipse (Java) and ABL runtime separate
processes
Communication via network protocol
Java to AVM (compile command)
AVM to Java (certain UI operations)
ABL code may use OS-GETENV (OEA_PORT)
to determine the network port

Customizing OpenEdge Architect

40

Opening files form ABL code


Public APIs defined in
adecomm/oeideservice.i
Supports querying basic project properties,
opening views for ABL windows (like OEUnit
does) and opening files
getProjectName ()
openEditor ()

Customizing OpenEdge Architect

41

Sample Open Debug Listing

Function prototype defined


in oeideservice.i
Customizing OpenEdge Architect

42

Sample Open Debug Listing

Customizing OpenEdge Architect

43

_idestartup.p
Optional ABL procedure file (create it when
needed)
Will be executed once when Project AVM is
started
May be used to initialize developers Framework
code, when required for Visual Designer or
AppBuilder, etc.

Customizing OpenEdge Architect

44

Agenda

A (short) review of OpenEdge Architect


Creating a workspace
(Personal) preferences in OpenEdge Architect
Creating a first project
Creating a run configuration
ABL Utilities
Some useful keyboard shortcuts

Getting started with OpenEdge Architect

45

A selection of keyboard shortcuts

Ctrl-Shift-R: Open Resource


Ctrl-O: Quick Outline in code editor
Ctrl dot: Toggle between errors in code editor
Ctrl-Shift-C: Check syntax
Ctrl-S:Safe
Ctrl-3: Open view, menu item, editor, (almost
everything)
Alt-Shift-P, Alt-Shift-F: New procedure, function
Alt-Shift-M, Alt-Shift-Y: New method, new prop.
Getting started with OpenEdge Architect

46

Ctrl-Shift-L
Lists more shortcuts
Not all may be
relevant to
OpenEdge Architect

Getting started with OpenEdge Architect

47

Questions

Getting started with OpenEdge Architect

?
48

Thank you!

Getting started with OpenEdge Architect

49

You might also like