2

These are more high level questions, but our team is new to developing with APEX. We are currently a team of 3. We are using APEX 19.2, but are planning to upgrade up to 21.1

  1. How do others handle the development flow, versioning, and releases of their projects when working in APEX?

We put majority of the business logic (validations, source sql, and process handling) in packages. So I feel it is pretty easy to version those files as they are outside of the APEX UI and can version in Git accordingly, but how do others version control all the APEX UI changes (pages, regions, items, DAs, etc...)?

I've searched and haven't really stumbled upon best practices of how teams, that use APEX, conduct their development process. One thing I'm nervous about is branching changes inside APEX UI. Sometimes we are given a requirement (say A) and we are asked to hold that release, but start working on requirement B. We may even release B before A gets final approval.

  1. Are there any best practices, to ensure that developers working in the same workspace do not collide with others work? Luckily most of our project tasks do not overlap, but curious how others handle this

Any links or tips to this would be appreciated as we are new to APEX and trying to work these things out up front.

2 Answers 2

1

I'm probably not the right person to answer as my Apex team consists of 1 (one) member - me.

However:

We put majority of the business logic (validations, source sql, and process handling) in packages.

Me too, I found that to be the best option. Keep as little code on pages themselves as possible.


As of team development, did you read Managing the Application Life Cycle with Team Development?

Tracking Features might be particularly interesting for you. For example, it contains

Approval status of the feature. Indicates if the feature is to be implemented and the current progress.

which sounds like what you asked for.


I hope that someone - who really works in a team - will see your question and answer; I'd be interested in reading about their experiences and suggestions as well.

Sign up to request clarification or add additional context in comments.

6 Comments

Thanks @littlefoot. I hope so too ;) I'll check those links out. How do you handle releases? do you group packages and an export of the application for each version or feature release and move to testing/prd workspaces?
I run a script that creates new tables, alters existing ones, updates rows and similar. Packages (specifications and bodies) are kept in their own .pks and .pkb files and are ran separately. Also, there's a testing database which is "refreshed" per request (our DBAs do that).
Someone on oracle forums provided this white paper (2016) from oracle themselves: oracle.com/technetwork/developer-tools/apex/learnmore/…. Thought I would share here for others.
Thank you! Also, apologies - I forgot about the application(s) themselves: yes, I export them (to a .SQL file) and import them into production.
thanks, just wish there was a more "standard" solution for devops using APEX.
|
0

When we export application as zip , we can see there is folder structure. So in git we have to follow the same directory structure so it is easy to review and for versioning.

Thanks, Nagaraju P

2 Comments

That's not a good idea and I recommend you to switch to version manager software and artifactory software.
Are you saying thanks for a comment or an answer here? Which one?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.